Technical Support

技术支援

8051系列问题

请问8051的外部中断是Low动作还是High动作呢?

一般标准的8051都是Low动作或是Falling edge动作。


如果要设定为Falling edge动作请将IT0(1)设为1。


需注意的是如果要设为Falling edge需先设IT0(1)再清IE0(1),最后再开启Interrupt。


例:


           IT0 = 1;                   //set falling edge


           IE0 = 0;                   //clean External Interrupt flag


           IE = 0x81;    //enable External Interrupt 0

笙泉有哪些烧录器,各有什么特点?

有U1 Writer,U2 Writer,ISP Programmer,OCD ICE。


U1 Writer:可在线或脱机烧录笙泉8051所有型号IC;可以烧录硬件选项,ISP引导码。适合用于需要更改硬件选项或ISP代码。


U2 Writer:可在线或脱机烧录程序,需要IC内有ISP引导码(笙泉出厂默认已经有ISP引导码(USB系列除外));可在U2座子上烧录,或连线到目标板(三根线:VCC,SDA,GND)烧录; 连线到目标板烧录可选目标板或U2供电。


ISP Programmer:小巧方便携带;可在线或脱机烧录程序,需要IC内有ISP引导码(笙泉出厂默认已经有ISP引导码(USB系列除外));需连线到目标板(三根线:VCC,SDA,GND)烧录;只能由目标板供电。


OCD ICE:仅支持部分IC;可在线或脱机烧录程序;可以烧录硬件选项,ISP引导码;可用于仿真;需连线到目标板,并由目标板供电;适合用于开发阶段。

有哪些型号出厂默认支持串口烧录?

MA825Axx
MA82G5Bxx
MA82G5Cxx
MA82G5Dxx

MA805-xx
MA806-xx
MA807
MA808
MA816

MG87Fx04
MG82FE216

MG103/MG104

Flash划分的三个区域AP区,IAP区,ISP区有什么区别?

AP区: 用来存储用户的应用程序。

IAP区: 用来存储用户资料,类似于EEPROM。但和EEPROM在写数据时有些区别,需先擦除一个页面(512字节),然后才能写入数据,擦写的次数会小于EEPROM的次数,且MTP和Flash 会不同,具体请参考说明书。

ISP区: 用来存储ISP引导码,该引导码可用来更新用户程序。

请问笙泉的IC 出厂的AP、IAP、ISP默认设置的地址分别是多少?

出厂设置详见如下:























































































































名称 AP地址 IAP地址 ISP地址
MPC89x51 0x0000~0x0FFF(4KB) 0x1000~0x37FF(10KB) 0x3800~0x3BFF(1KB)
MPC89x52 0x0000~0x1FFF(8KB) 0x2000~0x37FF(6KB) 0x3800~0x3BFF(1KB)
MPC89x53 0x0000~0x37FF(14KB) Non 0x3800~0x3BFF(1KB)
MPC89x54 0x0000~0x3FFF(16KB) 0x4000~0xF7FF(46KB) 0xF800~0xFBFF(1KB)
MPC89x58 0x0000~0x7FFF(32KB) 0x8000~0xF7FF(30KB) 0xF800~0xFBFF(1KB)
MPC89x515 0x0000~0xF7FF(62KB) Non 0xF800~0xFBFF(1KB)
MPC82x52 0x0000~0x17FF(6KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MPC82x54 0x0000~0x33FF(13KB) 0x3400~0x37FF(1KB) 0x3800~0x3DFF(1.5KB)
MPC82G516 0x0000~0xEFFF(60KB) 0xF000~0xFBFF(3KB) 0xFC00~0xFFFF(1KB)
MA82G5A32 0x0000~0x7FFF(32KB) 0x8000~0xF9FF(30.5KB) 0xFA00~0xFFFF(1.5KB)
MA82G5A64 0x0000~0xEFFF(60KB) 0xF000~0xF9FF(2.5KB) 0xFA00~0x3BFF(1.5KB)
MA82G5B08 0x0000~0x15FF(5.5KB) 0x1600~0x19FF(1KB) 0x1A00~0x1FFF(1.5KB)
MA82G5B16 0x0000~0x35FF(13.5KB) 0x3600~0x39FF(1KB) 0x3A00~0x3FFF(1.5KB)
MA82G5B32 0x0000~0x75FF(29.5KB) 0x7600~0x79FF(1KB) 0x7A00~0x7FFF(1.5KB)
MA82G5C32 0x0000~0x75FF(29.5KB) 0x7600~0x79FF(1KB) 0x7A00~0x7FFF(1.5KB)
MA82G5C64 0x0000~0xEFFF(60KB) 0xF000~0xF9FF(2.5KB) 0xFA00~0xFFFF(1.5KB)
MA82G5D08 0x0000~0x15FF(5.5KB) 0x1600~0x19FF(1KB) 0x1A00~0x1FFF(1.5KB)
MA82G5D16 0x0000~0x35FF(13.5KB) 0x3600~0x39FF(1KB) 0x3A00~0x3FFF(1.5KB)















































































名称 AP地址 IAP地址 ISP地址
MG84FL54 0x0000~0x33FF(13KB) 0x3400~0x37FF(1KB) 0x3800~0x3FFF(2KB)
MG84G564 0x0000~0xEFFF(60KB) 0xF000~0xF5FF(1.5KB) 0xF600~0xFFFF(2.5KB)
MG87x52 0x0000~0x1FFF(8KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MG87Fx2051 0x0000~0x07FF(2KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MG87Fx4051 0x0000~0x0FFF(4KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MG87Fx6051 0x0000~0x17FF(6KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MA86x104 0x0000~0x07FF(2KB) 0x0800~0x0BFF(1KB) 0x0C00~0x0FFF(1KB)
MA86x508 0x0000~0x17FF(6KB) 0x1800~0x1BFF(1KB) 0x1C00~0x1FFF(1KB)
MA805/6-24 0x0000~0x5FFF(24KB) 0x6000~0x69FF(2.5KB) 0xFA00~0xFFFF(1.5KB)
MA805/6-32 0x0000~0x7FFF(32KB) 0x8000~0x89FF(2.5KB) 0xFA00~0xFFFF(1.5KB)
MA805/6-64 0x0000~0xEFFF(60KB) 0xF000~0xF9FF(2.5KB) 0xFA00~0xFFFF(1.5KB)

为何使用小鱿鱼或U2烧录时,经常不能烧录?

确定以下3点,一定能正常烧录
   A、先脱机下载,如果能下载成功,一般证明工具没有问题。
   B、如果目标芯片选的是外振,要确认晶振已经接好。
   C、口诀:先连接,后上电,再按按键。

如何确认IC 是新的?

新的IC有原厂的出厂信息。笙泉的IC ,出厂前都有自己出厂信息,可以用U2读取到。
如MPC89E52:

用工具烧录过后,不再有此信息。

用户程序如何操作IAP存储资料?

MA86系列(MTP型)
步骤1:将要修改的数据直接写入到MTP

其它系列(FLASH型)
步骤1:保存Flash数据到缓存
步骤2:擦除此页(使用页擦除模式)
步骤3:在缓存里修改要更新的数据
步骤4:将缓存里的数据写入到Flash(使用字节编程模式)
// 页擦除
        bit bEA=EA;
        IFADRH = ByteAddr;        //送地址高字节
        IFADRL= 0x00;               //送地址低字节;
        EA = 0;                        //关中断
        ISPCR = 0x80;               //允许ISP/IAP操作
        IFMT =0x03;                 //页擦除
        SCMD = 0x46;
        SCMD = 0xB9;
        nop();
        IFMT=0;
        ISPCR = 0;                    //清ISP/IAP特殊寄存器
        EA = bEA;                     //恢复中断


// 字节编程
        bit bEA=EA;
        IFD = ByteData;             //送所要写的数据    
        IFADRH = ByteAddr>>8;   //送地址高字节
        IFADRL= ByteAddr;          //送地址低字节;
        EA = 0;                         //关中断
        ISPCR = 0x80;                //允许ISP/IAP操作
        IFMT =0x02;                  // 字节编程
        SCMD = 0x46;
        SCMD = 0xB9;
        nop();
        IFMT=0;
        ISPCR = 0;                    //清ISP/IAP特殊寄存器
        EA = bEA;                     //恢复中断

// 字节读取
        bit bEA=EA;
        IFADRH = ByteAddr>>8;  //送地址高字节
        IFADRL= ByteAddr;         //送地址低字节;
        EA = 0;                        //关中断
        ISPCR = 0x80;               //允许ISP/IAP操作
        IFMT = 0x01;                //字节读取
        SCMD = 0x46;
        SCMD = 0xB9;
        nop();
        IFMT=0;
        ISPCR = 0;                   //清ISP/IAP特殊寄存器
        EA = bEA;                    //恢复中断
        return IFD;

哪些型号支持在线仿真(OCD)?

MA82G5Axx,
MA82G5Bxx,
MA82G5Cxx,
MA82G5Dxx,
MA805-xx,MA806-xx,
MA84G564,
MG82FE232
MPC82G516

page

top

我們的網站會透過瀏覽器 Cookies 提供您客製化操作體驗、社群媒體功能,並會透過其分析網站流量等統計數據,若繼續使用本網站,代表您同意我們使用瀏覽器 Cookies 為您提供服務。《了解更多