人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234
設(shè)計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

PIC16F676單片機(jī)EEPROM的問題

更新時間: 2019-03-21
閱讀量:340

用軟件仿真沒問題,但燒到片子里,不能正常運(yùn)行。情況是這樣的:假如循環(huán)向EEPROM中寫數(shù)據(jù),9,8,7,6,5,4,3,2,1,然后讀,發(fā)現(xiàn)每一位讀出的都一樣,是寫循環(huán)中第一個寫進(jìn)去的字節(jié),也就是9。其他的并沒有寫進(jìn)去。
       請問各位有遇到過這樣的問題嗎?我是完全按照DATASHEET來的,實(shí)在沒著了,也沒有仿真器?

       分別寫數(shù)據(jù)9和6到地址0和7,然后讀出并顯示。請教其中原因。很奇怪的!
         .
         .
    BSF    STATUS,RP0
         CLRF    EEADR        ;地址0
    MOVLW    .9
    MOVWF    EEDAT        ;待寫數(shù)據(jù)是9
    BSF    EECON1,WREN    ;使能寫
    MOVLW    0X55
    MOVWF    EECON2
    MOVLW    0XAA
    MOVWF    EECON2
    BSF    EECON1,WR        ;開始寫
    NOP
    NOP        ;幾個NOP是另加的,怕對以下操作有影響
    MOVLW    .7
    MOVWF    EEADR        ;地址7
    MOVLW    .6
    MOVWF    EEDAT        ;待寫數(shù)據(jù)是6
    MOVLW    0X55
    MOVWF    EECON2
    MOVLW    0XAA
    MOVWF    EECON2
    BSF    EECON1,WR
    NOP
    BCF    EECON1,WREN    ;禁止寫

    MOVLW    .0        ;地址0
    MOVWF    EEADR
    BSF    EECON1,RD        ;讀
    MOVF    EEDAT,W       ;此處仿真W的內(nèi)容是9, 實(shí)際讀出也是9
    .
    .            ;顯示以及延時程序
    .    
         MOVLW    .7        ;地址7
    MOVWF    EEADR        
    BSF    EECON1,RD        ;讀
    MOVF    EEDAT,W    ;此處仿真W的內(nèi)容是6, 但實(shí)際運(yùn)行, 讀出是9
    .
    .
    .

入EEPROM都有一個非易失性寫周期的,你自己也發(fā)現(xiàn)了延時可以。用EEIF可以用中斷方式而不需要延時方式(干嘛要死等呢?),如果要延時,參考write cycle time參數(shù)。
At the completion of the write cycle, the WR bit is
cleared in hardware and the EE Write Complete
Interrupt Flag bit (EEIF) is set. The user can either
enable this interrupt or poll this bit. The EEIF bit
(PIR<7>) register must be cleared by software.

Data EEPROM Memory
D120 ED Cell Endurance 100K 1M &mdash; E/W -40&deg;C &le; TA &le; +85&deg;C
D120A ED Cell Endurance 10K 100K &mdash; E/W +85&deg;C &le; TA &le; +125&deg;C
D121 VDRW VDD for read/write VMIN &mdash; 5.5 V VMIN = Minimum operating
voltage
D122 TDEW Erase/Write cycle time &mdash; 4(typ)- 8(max) ms


遂平县| 江口县| 岗巴县| 呼伦贝尔市| 保定市| 宜川县| 赤峰市| 南乐县| 乐安县| 大名县| 周口市| 赤峰市| 光山县| 罗平县| 房山区| 铜川市| 清涧县| 樟树市| 安图县| 曲阳县| 云林县| 夏邑县| 曲松县| 灌云县| 武陟县| 右玉县| 新沂市| 太仆寺旗| 六枝特区| 龙川县| 启东市| 冀州市| 九龙坡区| 鲁山县| 维西| 茶陵县| 乡城县| 平阳县| 同德县| 青岛市| 墨脱县|