第9章应用系统配置及接口技术.pptVIP

  • 2
  • 0
  • 约9.26千字
  • 约 71页
  • 2019-08-10 发布于广东
  • 举报
串口6位显示 org 0000h ;*************标准6位串口显示测试子程序***************** led1 equ 31h;显示缓冲区地址LED1-LED6 赋值 led2 equ 32h led3 equ 33h led4 equ 34h led5 equ 35h led6 equ 36h mov led1,#1 ;显示测试数据1、2、3、4、5、6 先进的为最后一位显示数据 mov led2,#2 mov led3,#3 mov led4,#4 mov led5,#5 mov led6,#6 dis:mov r0,#led1 mov r2,#6 dis1:mov a,@r0 mov dptr,#tab movc a,@a+dptr mov sbuf,a jnb ti,$ clr ti inc r0 djnz r2,dis1 tab: DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H;特制板显示字型码 9.1.3 串行口控制的键盘/LED显示器接口电路 89C51的串行口RXD和TXD为一个全双工串行通信口,但工作在方式0下可作同步移位寄存器用,其数据由RXD(P3.0)端串行输出或输入;而同步移位时钟由TXD(P3.1)端串行输出,在同步时钟作用下,实现由串行到并行的数据通信。 在不需要使用串行通信的场合,利用串行口加外围芯片74HC164就可构成一个或多个并行输入/输出口,用于串并转换、并串转换、键盘驱动或显示器LED驱动。 74HC164是串行输入、并行输出移位寄存器,并带有清除端。其引脚如图9-16所示。 其中: Q0~Q7:(QA~QH) 并行输出端。 A、B: 串行输入端。 CLR: 清除端,零电平时,使74LS164输出清0。 CLK: 时钟脉冲输入端,在脉冲的上升沿实现移位。 当CLK=0、CLR=1时,74HC164保持原来的数据状态。 图9-16 74HC164引脚图 1. 硬件电路 如图9-17所示,图中“与”门的作用是避免键盘操作时对显示器的影响,即仅当P1.2=1时,才开放显示器传送。 图9-17 串行控制键盘扫描和显示器接口电路 静态显示 2X8的行列式键盘 0——9 数字键 A——F 功能键 “与”门的作用 2. 程序清单 KEY: MOV A,#00H;向串行口数据缓冲器送全0 判有无键按下送全扫描字 MOV SBUF,A;串行口发送命令 KL0: JNB TI,KL0;等待8位数据发送完毕 CLR TI;清中断标志 KL1: JNB P1.0,PK1;第1行有键按下吗? JB P1.1,KL1;第2行有键按下吗?若无则继续扫描 PK1: ACALL D10MS;有键按下,延时10 ms,消除键抖动 前沿 JNB P1.0,PK2;确定是否键抖动引起 闭和稳定否 JB P1.1,KL1 PK2: MOV R7,#08H;不是键抖动引起则逐列扫描 MOV R6,#0FEH;选中第0列 MOV R3,#00H;记下列号初值 列号 PL5: MOV A,R6;使某一列为低 MOV SUBF,A KL2: JNB TI,KL2 CLR TI JNB P1.0,PK4;是第1行吗? JNB P1.1,PK5;是第2行吗? MOV A,R6;不是本列,则继续下一列 RL A MOV R6,A INC R3;列号加1 DJNZ R7,PL5;若8列扫描完仍未找到,则退出,等待执行下一次扫描 RET PK5: MOV R4,#08H;是第2行,则R4送初值08H AJMP PK3;转键处理 PK4: MOV R4,#00H;行号 是第1行,则R4送初值00H 1行首键号 PK3: MOV A,#00H;等待键释放 MOV SBUF,A KL3: JNB TI,KL3 CLR TI KL4: JNB P1.0,KL4;等待键释放 JNB P1.1,KL4 MOV A,R4;取键号 行号 ADD A,R3;列号 SUBB A,#0AH;是命令键吗?上减 JNC KL6;转命令键处理程序 MOV DPTR,#TABL;字形码表初值送DPTR ADD A,#0AH;恢复键号 上减 下加 MOVC A,@A+DPTR;取字形码数据 MOV R0,60H/#58H;取显示缓冲区(首地址58H-60H)指

文档评论(0)

1亿VIP精品文档

相关文档