汇编AT24C02一个字节程序段.docx
《汇编AT24C02一个字节程序段.docx》由会员分享,可在线阅读,更多相关《汇编AT24C02一个字节程序段.docx(6页珍藏版)》请在冰豆网上搜索。
![汇编AT24C02一个字节程序段.docx](https://file1.bdocx.com/fileroot1/2023-1/23/87582124-3cae-4f6e-a34f-17baf6d0bc14/87582124-3cae-4f6e-a34f-17baf6d0bc141.gif)
汇编AT24C02一个字节程序段
汇编AT24C02-一个字节程序段
;定义引脚
SDABITP3.3
SCLBITP3.2
ORG0000H
MAIN:
MOV30H,#25H;存想存的数字
MOV31H,#34H
MOVR1,30H
LL:
MOVB,R1
CALLW24C02;写入24c02
CALLR24C02;读出24c02
CALLDISPLAY;显示数字
INCR1
JMPLL
;****************************显示*************************************************
DISPLAY:
MOVA,32H
ANLA,#0F0H
SWAPA
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP0,A
CLRP1.0
CALLDELAY;显示延时
SETBP1.0
ANL32H,#0FH
MOVA,32H
MOVDPTR,#TAB1
MOVCA,@A+DPTR
MOVP0,A
CLRP1.1
CALLDELAY;显示延时
RET
TAB1:
DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
RET
DELAY:
MOVR7,#14H;延迟子程序
DLY:
MOVR6,#0F8H
DLY1:
DJNZR6,DLY1
DJNZR7,DLY
RET
;*******************************写入24c02**********************************************
W24C02:
CALLSTART;写入AT24C02的程序段
MOVA,#0A0H
CALLWBYTE
CALLACK
MOVA,#0
CALLWBYTE
CALLACK
MOVA,B
CALLWBYTE
CALLACK
CALLSTOP
CALLS005
RET
S005:
MOVR7,#10;延时程序段
S0051:
MOVR6,#248
DJNZR6,$
DJNZR7,S0051
RET
;*********************************读24c02***************************************************
R24C02:
CALLSTART;读AT24c02程序段
MOVA,#0A0H
CALLWBYTE
CALLACK
MOVA,#0
CALLWBYTE
CALLACK
CALLSTART
MOVA,#0A1H
CALLWBYTE
CALLACK
CALLRBYTE
CALLNACK
CALLSTOP
RET
;*******************************************************
WBYTE:
MOVR7,#8;写程序段
WLOOP:
RLCA
JCWLOOP2
CLRSDA
SETBSCL
NOP
NOP
NOP
NOP
CLRSCL
DJNZR7,WLOOP
RET
WLOOP2:
SETBSDA
SETBSCL
NOP
NOP
NOP
NOP
CLRSCL
CLRSDA
DJNZR7,WLOOP
RET
;******************************************************************************
RBYTE:
MOVR7,#8;读02程序段
RLOOP:
SETBSDA
SETBSCL
MOVC,SDA
MOVA,32H
RLCA
MOV32H,A
CLRSCL
DJNZR7,RLOOP
RET
;*****************************************************
START:
SETBSDA;复位程序段
SETBSCL
NOP
NOP
NOP
NOP
CLRSDA
NOP
NOP
NOP
CLRSCL
NOP
RET
STOP:
CLRSDA
SETBSCL
NOP
NOP
NOP
NOP
SETBSDA
NOP
NOP
NOP
NOP
CLRSCL
NOP
NOP
RET
;***************************************************************
ACK:
CLRSDA;响应程序段应答程序
NOP
SETBSCL
NOP
NOP
NOP
NOP
CLRSCL
NOP
NOP
RET
NACK:
SETBSDA;非应答程序段
NOP
NOP
SETBSCL
NOP
NOP
NOP
NOP
CLRSCL
NOP
RET
END