|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
STC89C52RC的EEPROM的讀寫(xiě) |
| 作者:鮑志華 欄目:單片機(jī) |
有誰(shuí)有調(diào)試成功的用匯編寫(xiě)的STC89C52RC的EEPROM的讀寫(xiě)程序啊!,我寫(xiě)了個(gè)測(cè)試程序如下,先將RAM中的數(shù)據(jù)寫(xiě)到EEPROM中,再由EEPROM中寫(xiě)到RAM中,用仿真器看外部RAM中的兩部分?jǐn)?shù)據(jù)是否一樣.但數(shù)據(jù)有時(shí)一樣,有時(shí)不一樣,請(qǐng)問(wèn)有誰(shuí)能指導(dǎo)一二,謝謝! AUXR equ 8EH AUXR1 equ 0A2H ISP_DATA equ 0E2H ISP_ADDRH equ 0E3H ISP_ADDRL equ 0E4H ISP_CMD equ 0E5H ISP_TRIG equ 0E6H ISP_CONTR equ 0E7H ISP_IAP_BYTE_READ equ 1 ISP_IAP_BYTE_PROGRAM equ 2 ISP_IAP_SECTOR_ERASE equ 3 WAITE_TIME equ 0 DataMake equ 20H Byte_Addr_High equ 21H Byte_Addr_Low equ 22H org 0000H ajmp Reset org 0040H Reset: mov SP, #50H mov AUXR, #02H mov AUXR1, #00H mov dptr, #8001H clr A movx @dptr, A ; Wirte Ram page NUMBER mov dptr, #0000H ErasureLoop: mov R0, dph ;Erasure DATA cjne R0, #0CH, ErasureData ajmp ErasureJmp ErasureData: mov A, #0FFH movx @dptr, A inc dptr ajmp ErasureLoop ErasureJmp: clr A mov DataMake, A mov dptr, #0000H cmpLoop: mov R0, dph ;WRITE DATA cjne R0, #02H, write ajmp looprept write: mov A, DataMake movx @dptr, A inc dptr inc DataMake ajmp cmpLoop looprept: ; ajmp looprept mov ISP_ADDRH, #20H ;送扇區(qū)1地址,擦除扇區(qū)1 mov ISP_ADDRL, #00H clr EA mov ISP_CONTR, #WAITE_TIME orl ISP_CONTR, #80H mov ISP_CMD, #ISP_IAP_SECTOR_ERASE mov ISP_TRIG, #46H mov ISP_TRIG, #0B9H nop mov ISP_CONTR, #00H mov ISP_CMD , #00H mov ISP_TRIG, #00H mov ISP_ADDRH, #0FFH mov ISP_ADDRL, #0FFH setb EA mov dptr, #0000H mov Byte_Addr_High, #20H ;送扇區(qū)1地址 mov Byte_Addr_Low, #00H cmpLoop1: mov A, dph cjne A, #02H, ReadRamWiteEeprom ajmp looprept1 ReadRamWiteEeprom: mov ISP_ADDRH, Byte_Addr_High mov ISP_ADDRL, Byte_Addr_Low movx A, @dptr mov   |
| 2樓: | >>參與討論 |
| 作者: 后學(xué) 于 2005/3/8 12:56:00 發(fā)布:
STC中的好像是FLASH,寫(xiě)之前是需要擦除的 |
|
| 3樓: | >>參與討論 |
| 作者: 鮑志華 于 2005/3/8 13:20:00 發(fā)布:
TO 后學(xué) 我已經(jīng)擦除了,資料上說(shuō)對(duì)字節(jié)編程時(shí),該字節(jié)為FFH時(shí),可對(duì)其編程,我已經(jīng)能寫(xiě)進(jìn)去了,可不是每次都對(duì),不知道是為什么? |
|
| 4樓: | >>參與討論 |
| 作者: 12864 于 2005/3/8 14:28:00 發(fā)布:
似乎不是EEPROM,大概是借用isp FLASH程序空間 |
|
| 5樓: | >>參與討論 |
| 作者: lhlsw 于 2005/3/8 15:18:00 發(fā)布:
同意12864 我也在想 它的速度跟壽命會(huì)不會(huì)有問(wèn)題? |
|
| 6樓: | >>參與討論 |
| 作者: lypD96 于 2005/3/8 21:30:00 發(fā)布:
我試過(guò) 我試了能寫(xiě),我就按他提供的匯編程序?qū)懙模瑳](méi)問(wèn)題,就是要修改數(shù)據(jù)是要把數(shù)據(jù)先讀出來(lái)保存,然后把扇區(qū)搽除再寫(xiě)回去,就是沒(méi)EEPROM方便 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |