|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
請教為什么P89V51的IAP讀字節(jié)函數為什么有問題? |
| 作者:seaman117 欄目:MCU技術 |
請教為什么P89V51的IAP讀字節(jié)函數為什么有問題? static void CallIAP() { #pragma asm CLR EA ANL 0xB1,#0xFC LCALL 0x1FF0 ORL 0xB1,#0x01 SETB EA #pragma endasm } unsigned CHAR ReadCode(unsigned int addr ) { DPH = (unsigned CHAR)(addr >> 8) ; DPL = (unsigned CHAR)(addr & 0x00FF) ; #pragma asm MOV R1,#0x03 #pragma endasm CallIAP(); return ACC ; } bit DownCode(unsigned int addr , unsigned CHAR bcode) { DPH = (unsigned CHAR)(addr >> 8) ; DPL = (unsigned CHAR)(addr & 0x00FF) ; ACC = bcode ; #pragma asm MOV R1,#0x02 #pragma endasm CallIAP(); if(0 == ACC) { return 1 ; } else { return 0 ; } } 現在是可以扇區(qū)擦、字節(jié)寫,但是就是不能直接讀,自己讀后就死機。 調試P89V51IAP.SRC匯編源文件發(fā)現是下面的R4一直賦值為0。 ; SOURCE LINE # 89 ;---- Variable 'addr?442' assigned to Register 'R4/R5' ---- MOV R4,AR6 ; { ; SOURCE LINE # 90 ; DPH = (unsigned CHAR)(addr >> 8) ; ; SOURCE LINE # 91 另:參考的是周立功網站的P89V51RD2yuancheng.pdf,單該文只有前三章,和本地的周立功銷售部門聯系了也不給。 |
| 2樓: | >>參與討論 |
| 作者: zlgmcu 于 2007/3/16 18:16:00 發(fā)布:
其實IAP讀數據僅是使用MOVC指令. 您可以用movc指令試一下. 另關于一些文檔資料,如果銷售部門確認了客戶身份,他們一定會把資料發(fā)給客戶的. |
|
| 3樓: | >>參與討論 |
| 作者: LPC900 于 2007/3/17 9:05:00 發(fā)布:
請注意看這篇文章《P89V51RD2遠程升級解決方案》 下載地址:http://www.zlgmcu.com/philips/80c51/p89v51rd2.asp |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |