音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(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ī)
STC89C52RCEEPROM的讀寫(xiě)
  有誰(shuí)有調(diào)試成功的用匯編寫(xiě)的STC89C52RCEEPROM的讀寫(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é)
STC中的好像是FLASH,寫(xiě)之前是需要擦除的
 
3樓: >>參與討論
鮑志華
TO 后學(xué)
 我已經(jīng)擦除了,資料上說(shuō)對(duì)字節(jié)編程時(shí),該字節(jié)為FFH時(shí),可對(duì)其編程,我已經(jīng)能寫(xiě)進(jìn)去了,可不是每次都對(duì),不知道是為什么?

4樓: >>參與討論
12864
似乎不是EEPROM,大概是借用isp FLASH程序空間
 
5樓: >>參與討論
lhlsw
同意12864
我也在想 它的速度跟壽命會(huì)不會(huì)有問(wèn)題?

6樓: >>參與討論
lypD96
我試過(guò)
我試了能寫(xiě),我就按他提供的匯編程序?qū)懙模瑳](méi)問(wèn)題,就是要修改數(shù)據(jù)是要把數(shù)據(jù)先讀出來(lái)保存,然后把扇區(qū)搽除再寫(xiě)回去,就是沒(méi)EEPROM方便

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
關(guān)于040和5043的接口程序問(wèn)題
繼電器跳動(dòng)!!!---求助了!!
遇到奇怪問(wèn)題??大俠們幫忙分析!
那個(gè)牌子的仿真器(51系列)好用?
請(qǐng)教價(jià)格
免費(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)