串行接口LED数码管及键盘管理器件ZLG7289A的原理与应用
CALL SEND
MOV DATA_OUT,#10000000B ;下载数据且译码指令
CALL SEND
MOV DATA_OUT,B ;发送个位数字到ZLG8279A;
CALL SEND
SETB CS
WAIT:JNB KEY,WAIT ;等待按键松开
JMP MAIN
;**** 发送一个字节到ZLG8279A,高位在前
SEND: MOV BIT_COUNT,#8 ;记数器设定
CLR CS ;CS置低电平
CALL LONG_DELAY ;长延时子程序
SEND_LOOP:MOV C,DATA OUT.7 ;输出1位
MOV DAT,C
SETB CLK ;CLK置高电平
MOV A,DATA_OUT ;待发送数据左移
RL A
MOV DATA_OUT,A
CALL SHORT_DELAY ; 短延时子程序
CLR CLK ; CLK置低电平
CALL SHORT_DELAY
DJNZ BIT_COUNT,SEND_LOOP ;8位是否发送完毕
CLR DAT ;发送完毕,返回
RET
;***接收一个字节到ZLG8279A,高位在前
RECEIVE:MOV BIT_COUNT,#8 ;记数器设定
SETB DAT ;设定P1.2(DATA)为高电平输入状态
CALL LONG_DELAY ;
RECEIVE_LOOP: SETB CLK ; CLK置高电平
CALL SHORT_DELAY
MOV A,DATA_IN ;数据左移
RL A
MOV DATA_IN,A
MOV C,DAT ;读取一位数据
MOV DATA_IN.0,C
CLR CLK
CALL SHORT_DELAY
DJNZ BIT_COUNT,RECEIVE_LOOP ; 8位是否接收完毕
CLR DAT ; 重设DAT口为低电平(输出状态)
RET
;**************延时子程序
- 上一篇论文: 图形点阵式液晶显示模块在冲击力监测系统中
- 下一篇论文: OSD技术在ATM数字视频监控系统中的应用