Technical Support

技术支援

8051系列问题

请问我能够在程序里读取Option Register吗?

不能。

请问Megawin的IC的Device ID要怎么读,每颗的ID是多少?

直接读取SCMD就可以了,当IFADRL为1时可读High Byte,IFADRL为0时可读Low Byte。


以下为Device ID表以及简单的Check Megawin IC Sample code.


























































IC Part number MSB(High Byte) LSB(Low Byte)
MPC89x51 0xF0 0x01
MPC89x52 0xF0 0x02
MPC89x53 0xF0 0x04
MPC89x54 0xF1 0x04
MPC89x58 0xF1 0x08
MPC89x515 0xF1 0x10
MPC82x52 0xF2 0x02
MPC82x54 0xF3 0x04
MPC82G516 0xF4 0x10

 


char check_is_MPC82G516()


{


IFADRL = 0;


If(SCMD != 0x10)


Return FAIL;


IFADRL = 1;


If(SCMD != 0xf4)


Return FAIL;


Return SUCCESS;


}

请问使用第二组DPTR时是否有何限制?

使用DPTR时需注意的是第二组DPTR只能支持 MOVX 这个指令。

什么是ISP 跟 ICP?

ISP & ICP是可以让您不需透过Writer也不需要将IC从板子上拆下来就可以更新固件的装置,详细说明如下:


ISP:首先,在使用ISP之前必须先将ISP的程序烧录至IC中(我们出厂就会先烧好了),当IC有Enable HWBS时,MCU Power On后就会先去执行ISP的程序,此时ISP程序会去侦测是否有插上ISP,有的话会等待Update,没有则跳回AP执行原程序。


ICP:功能跟ISP一样,不过不需要预烧ISP的程序,也不需要重新Power On就可以更新程序,唯只能使用在MPC82G516上。

我可以不要用ISP or ICP而直接用RS232来更新固件吗?

可以,请参考8051 ISP via COM port user manual.


特别注意的是请务必照其操作步骤来操作,操作步骤如下:


1.将ISP Code烧到您的IC的ISP Space区域里,并将HWBS Enable。(ISP_by_COM_v1.00.BIN)


2.将线路接好。RS232 Rx -> 8051 P3.0 and RS232 Tx -> 8051 P3.1


3.执行AP,并且关掉电源。


4.先按下Update Target,然后再打开电源。

请问使用ISP or ICP是要接那一只脚?

使用ISP是接P3.1,使用ICP是接SDASCL,另外需注意VDDGND也需一并接上!

请问使用ISP or ICP时可以接多长?

测试如下:


测试线材为FLAT CABLE STYLE:2651 VW-1(跟IDE扁平电缆一样的线)



























































Length ISP3.0 ISP4.0 ICP4.0
30cm Pass Pass Pass
1m  Pass Pass Pass
2m Pass Pass Pass
3m Pass Pass Fail
4m Pass Pass  
5m Pass Pass  
6m Fail Pass  
7m   Fail  

PS:以上测试不管是否有接上USB的结果都一样



为何我的ISP无法更新?

请依照以下几个方式做确认:

     1. 更新步骤是否正确?


ISP更新的步骤为:


将ISP Programmer插上计算机 ->


载入Hex or Binary file ->


按下”Update Programmer” ->


将ISP Programmer插至电路板 ->


打开板子的电源 ->


按下update bottom


或是以下步骤:


将ISP Programmer同时插上计算机及电路板 ->


载入Hex or Binary file ->


打开板子的电源­ ->


按下”Updata Target”


     2. 确定接线是否正确及硬件是否正常?


确定是否有正确将Vcc, Dat, Gnd接到MCU上的Vcc, P3.1, Gnd上,并确认MCU电压正确以及Crystal有起振成功,


如果P3.1有另做他用请参考ISP/ICP Programmer User Manual的第六章special note for ISP设计电路。


如有示波器,可以确认是否Vcc以及Rst是否正常,如果在使用ISP时Vcc有突波或是Rst有讯号导致MCU Reset则会无法使用ISP更新程序。


     3. 确定IC内部是否有ISP code?


如果手上的IC是笙泉出货的新品都会有将ISP code烧录至IC内,如果无法确认是否为新品可以重新将ISP code烧录至IC内再做更新,烧录ISP code时需注意必须设定ISP memory为1K,Enable HWBS,并将ISP code (ISP_Code_vx.xx.BIN)烧至ISP的地址(ISP地址为IC的最后1K地址)


     4. 测试ISP Programmer是否损坏?


将ISP Programmer插上计算机后是否亮黄灯及绿灯,如果不是则代表ISP损坏。


插上后灯号正常,可试试看加载一程序并按下Update Programmer看看是否能够执行,如果fail则代表ISP损坏。


Update ok后可试着按下update bottom并用示波器量Dat pin,看看是否一直停在high或是low,如果没有数据输出则代表ISP损坏。

请问使用ISP Programmer同时亮红灯跟绿灯时是什么意思?

ISP的灯号显示方式请参考下表:

亮绿灯:一开机的初始灯号以及更新成功之灯号。


红绿同时亮:程序在Erase IC之内容。


红绿闪烁:程序在烧录IC内容。


亮红灯:更新程序失败。


 


另外,在09年之后的MCU在更新程序前会对IC做While Chip Erase(此时红绿会同时亮一段时间)

page

top

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