📄 ex.asm
字号:
SDA BIT P1.7 ;I2C总线定义
SCL BIT P1.6
RST BIT P1.0
KEY_INT BIT P3.2
MTD EQU 40H ;发送数据缓冲器
MRD EQU 49H ;接收数据缓冲区
;定义器件地址,变
ZLG7290 EQU 70H ;ZLG7290的器件地址
ACK BIT 10H ;应答标志位
SLA DATA 50H ;器件的从地址
SUBA DATA 51H ;器件的子地址
NUMBYTE DATA 52H ;读/写的字节数变量
ORG 8000H
LJMP MAIN
ORG 8100H
;-------主程序如下:
MAIN:
MOV SP,#70H
CLR RST
LCALL DELAY
SETB RST
LCALL DELAY
MAINLOOP:
JNB KEY_INT,KEY_HANDLE
SJMP MAINLOOP
KEY_HANDLE:
MOV SLA,#ZLG7290 ;指定器件地址
MOV SUBA,#01H ;指定子地址
MOV NUMBYTE,#01H ;发送2字节数据
LCALL IRDNBYTE ;调用写2字节数据程序
LCALL DELAY
MOV R7,#08H
MOV A,#60H
HANDLELOOP:
MOV MTD,A
PUSH ACC
MOV 30H,R7
MOV MTD+1,MRD
MOV SLA,#ZLG7290 ;指定器件地址
MOV SUBA,#07H ;指定子地址
MOV NUMBYTE,#02H ;发送2字节数据
LCALL IWRNBYTE ;调用写2字节数据程序
LCALL DELAY
USING 2
MOV R7,30H
POP ACC
INC A
DJNZ R7,HANDLELOOP
SJMP MAINLOOP
DELAY:
MOV R7,#80H
MIN: DJNZ R7,YS500
RET
YS500: LCALL YS500US
LJMP MIN
YS500US:MOV R6,#80H
DJNZ R6,$
RET
DELAY1: MOV R7,#20H
DJNZ R7,$
RET
$INCLUDE(VI2C_ASM.INC) ;包含VIIC软件包
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -