在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 24C02(EEPROM)記憶開機(jī)次數(shù)程序

            24C02(EEPROM)記憶開機(jī)次數(shù)程序

            作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
            24C02記憶開機(jī)次數(shù),開機(jī)次數(shù)存放地址為00H,做此實(shí)驗(yàn)時(shí),先用地址清0程序?qū)?0H清0,再去做記憶開機(jī)次數(shù)實(shí)驗(yàn)?。?!

            計(jì)數(shù)地址清0程序如下:

            本文引用地址:http://www.biyoush.com/article/201611/317444.htm

            ;/////////////////////////////////////////////////////
            ;將AT24C02(EEPROM)的00H單元的地址清0
            ;AT24C02存儲(chǔ)開機(jī)次數(shù)(準(zhǔn)備程序)
            ;////////////////////////////////////////////////////
            WP BIT P1.0
            SCL BIT P1.1
            SDA BIT P1.2

            WRDA EQU 41H

            ORG 0000H
            SJMP MAIN
            ORG 0030H
            MAIN:CLR WP
            MOV SP,70H
            LCALL START
            MOV WRDA,#0AEH
            LCALL SEND
            LCALL SACK
            MOV WRDA,#00H
            LCALL SEND
            LCALL SACK
            MOV WRDA,#00H
            LCALL SEND
            LCALL SACK
            LCALL STOP
            CLR P1.7
            SJMP $

            ;24C02開始數(shù)據(jù)傳送信號(hào)
            START:SETB SDA
            SETB SCL
            LCALL D5U
            CLR SDA
            LCALL D5U
            CLR SCL
            RET
            ;寫一個(gè)字節(jié)子程序
            SEND: MOV R0,#08H
            MOV A,WRDA
            D1:RLC A
            MOV SDA,C
            LCALL D5U
            SETB SCL
            LCALL D5U
            CLR SCL
            DJNZ R0,D1
            RET
            ;24c02應(yīng)答信號(hào)子程序
            SACK: SETB SDA
            LCALL D5U
            SETB SCL
            LCALL D5U
            D2:MOV C,SDA
            JC D2
            CLR SCL
            RET
            ;STOP子程序
            STOP: CLR SDA
            LCALL D5U
            SETB SCL
            LCALL D5U
            SETB SDA
            LCALL D5U
            CLR SCL
            RET
            ;延時(shí)子程序
            D5U: NOP
            NOP
            NOP
            NOP
            NOP
            RET

            END

            ................................記憶開機(jī)次數(shù)程序(已調(diào)試過).....................................

            ;/////////////////////////////////////////////////
            ;AT24C02(EEPROM)存儲(chǔ)開機(jī)次數(shù)
            ;開機(jī)次數(shù)存儲(chǔ)地址為00H,在記憶前以清0
            ;////////////////////////////////////////////////
            WP BIT P1.0
            SCL BIT P1.1
            SDA BIT P1.2

            WRDA EQU 40H;寫入數(shù)據(jù)暫存器
            RDDA EQU 41H;讀出數(shù)據(jù)暫存器
            OPUN EQU 42H;開機(jī)次數(shù)暫存器

            ORG 0000H
            SJMP MAIN
            ORG 0030H
            MAIN:CLR WP;開寫保護(hù)
            MOV SP,70H
            LCALL READ
            MOV A,RDDA
            MOV DPTR,#TAB
            INC A
            MOV R1,A
            CJNE R1,#16,D4
            CLR A
            D4:MOV OPUN,A;將開機(jī)次數(shù)存入暫存器
            MOVC A,@A+DPTR
            CLR P2.0
            MOV P0,A;顯示開機(jī)次數(shù)
            LCALL WIRT
            SJMP $
            ;讀24C02子程序
            READ:LCALL START
            MOV WRDA,#0AEH
            LCALL SEND
            LCALL SACK
            MOV WRDA,#00H
            LCALL SEND
            LCALL SACK

            LCALL START
            MOV WRDA,#0AFH
            LCALL SEND
            LCALL SACK
            LCALL REBY
            LCALL STOP
            RET
            ;寫C2402子程序
            WIRT:LCALL START
            MOV WRDA,#0AEH
            LCALL SEND
            LCALL SACK
            MOV WRDA,#00H
            LCALL SEND
            LCALL SACK
            MOV A,OPUN
            MOV WRDA,A
            LCALL SEND
            LCALL SACK
            LCALL STOP
            RET

            ;24C02開始子程序
            START:SETB SDA
            SETB SCL
            LCALL DE5U
            CLR SDA
            LCALL DE5U
            CLR SCL
            RET
            ;讀一個(gè)字節(jié)子程序
            REBY: MOV R0,#08H
            SETB SDA
            D3:LCALL DE5U
            SETB SCL
            LCALL DE5U
            MOV C,SDA
            RLC A
            CLR SCL
            SETB SDA
            DJNZ R0,D3
            MOV RDDA,A
            RET

            ;傳送一個(gè)字節(jié)子程序
            SEND: MOV R0,#08H
            MOV A,WRDA
            D1:RLC A
            MOV SDA,C
            LCALL DE5U
            SETB SCL
            LCALL DE5U
            CLR SCL
            DJNZ R0,D1
            RET
            ;24C02應(yīng)答信號(hào)檢測(cè)子程序
            SACK: SETB SDA
            LCALL DE5U
            SETB SCL
            LCALL DE5U
            D2:MOV C,SDA
            JC D2
            CLR SCL
            RET
            ;24C02停止通信子程序
            STOP: CLR SDA
            LCALL DE5U
            SETB SCL
            LCALL DE5U
            SETB SDA
            LCALL DE5U
            CLR SCL
            RET
            ;5U延時(shí)子程序
            DE5U: NOP
            NOP
            NOP
            NOP
            NOP
            RET
            ;顯示數(shù)據(jù)表
            TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H
            DB 0F8H,080H,090H,088H,083H,0C6H,0A1H
            DB 086H,08EH

            END

            ................................帶復(fù)位的記憶開機(jī)次數(shù)程序(已調(diào)試過).....................................

            wp bit p1.0
            scl bit p1.1
            sda bit p1.2

            count equ 30h;開機(jī)次數(shù)計(jì)數(shù)器
            date equ 31h;IIC數(shù)據(jù)緩沖器

            org 0000h
            sjmp main
            org 0003h
            ljmp inx0
            org 000bh
            ljmp itx0
            org 0030h
            main:clr wp
            clr ea
            mov sp,#40h
            mov dptr,#tab
            lcall init
            lcall reiic
            mov count,date
            inc count
            mov r1,count
            lcall wriic
            setb ea
            sjmp $

            /*=============INT0,TO中斷初始化程序===================*/

            init:mov tmod,#00000001b
            mov th0,#0d8h
            mov tl0,#00h
            setb et0
            setb it0
            setb ex0
            setb tr0
            ret

            /*=============LED動(dòng)態(tài)顯示程序===================*/

            itx0:mov th0,#0d8h
            mov tl0,#00h
            mov a,count
            mov b,#100
            div ab
            mov r0,a
            movc a,@a+dptr
            mov p0,a
            cjne r0,#0,n1
            sjmp n2
            n1:clr p2.2
            lcall d2ms
            setb p2.2
            n2:mov a,b
            mov b,#10
            div ab
            mov r0,a
            movc a,@a+dptr
            mov p0,a
            cjne r0,#0,n3
            sjmp n4
            n3:clr p2.1
            lcall d2ms
            setb p2.1
            n4:mov a,b
            movc a,@a+dptr
            mov p0,a
            clr p2.0
            lcall d2ms
            setb p2.0
            reti

            /*=============復(fù)位程序===================*/

            inx0:clr tr0
            mov r1,#00h
            lcall wriic
            lcall d10ms
            lcall reiic
            mov count,date
            setb tr0
            reti

            /*=============AT24C02讀寫程序===================*/
            wriic:lcall start
            mov date,#10101110b
            lcall write
            lcall wack
            mov date,#00h
            lcall write
            lcall wack
            mov date,r1
            lcall write
            lcall wack
            lcall stop
            ret

            reiic:lcall start
            mov date,#10101110b
            lcall write
            lcall wack
            mov date,#00h
            lcall write
            lcall wack
            lcall start
            mov date,#10101111b
            lcall write
            lcall wack
            lcall read
            lcall stop
            ret

            read: mov r3,#08h
            e1:setb sda
            setb scl
            lcall d5u
            mov c,sda
            rlc a
            clr scl
            lcall d5u
            djnz r3,e1
            mov date,a
            ret

            start:setb sda
            setb scl
            lcall d5u
            clr sda
            lcall d5u
            clr scl
            ret

            write:mov a,date
            mov r4,#08h
            w1:rlc a
            mov sda,c
            lcall d5u
            setb scl
            lcall d5u
            clr scl
            lcall d5u
            djnz r4,w1
            ret

            wack: setb sda
            setb scl
            lcall d5u
            w2:mov c,sda
            jc w2
            clr scl
            ret

            stop: clr sda
            setb scl
            lcall d5u
            setb sda
            lcall d5u
            clr scl
            ret

            tab:DB 0C0H,0F9H,0A4H,0B0H,99H
            DB 92H,82H,0F8H,80H,90H

            d5u: nop
            nop
            nop
            nop
            nop
            ret

            D10ms: ;誤差 -0.000000000002us
            MOV R6,#0F9H
            DL0:
            MOV R5,#22H
            DJNZ R5,$
            DJNZ R6,DL0
            RET

            d2ms: ;誤差 -0.217013888889us
            MOV R6,#0b0H
            DL1:
            MOV R5,#0AH
            DJNZ R5,$
            DJNZ R6,DL1
            RET

            end



            關(guān)鍵詞: 24C02EEPROM開機(jī)次

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉