- 2
- 0
- 约5.05千字
- 约 39页
- 2017-08-21 发布于广东
- 举报
第08章 led显示与键盘扫描
第8章 LED显示与键盘扫描 本 章 主要内容: 掌握LED显示原理和多位显示原理 理解键盘的基本工作原理,包括矩阵结构、行扫描法原理 掌握解决抖动和重键方法的原理 数码管显示与接口技术 数码管(LED)工作原理 八段(七段)发光管a、b…h组成,h是一个小数点DP。通过a~g的不同组合,显示数字0~9和字母A~F,共16种(十六进制数)。 LED结构 共阳极 低电平有效,即低时a~h发光; 共阴极 高电平有效,即高时a~h发光; LED的应用举例 LED的应用举例 LED的应用举例 ②软件译码法(显示一位数字) 将0~F或0~9对应的七段数码管编码组成一个表。例:共阴极(共阳极与它相反)的编码表如下: LED的应用举例 ②软件译码法(显示一位数字的程序) ZIXING DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH DISP: MOV AL, 2 ;如果要显示2 LEA BX , ZIXING;数字编码首地址送BX XLAT ;查字型码表 MOV DX, P_8255; OUT DX, AL ;数字输出到LED显示 LED的应用举例 ②软件译码法(显示一位数字的程序) ZIXING DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH DISP: MOV SI, 2 ;如果要显示2 LEA BX , ZIXING;数字编码首地址送BX MOV AL, [BX+SI] ;查字型码表 MOV DX, P_8255; OUT DX, AL ;数字输出到LED显示 : 多位数码管(LED)显示电路 实际应用中需要多位显示,这时需要将多个数码管并联,如果每一个LED占用一个独立的输出端口,则多位需要多个 ,通常从硬件和软件来解决。 用两个输出端口,一个为位控制输出端口;例如共阴极LED,当位控制端口输出的控制码某一位为低电平时,此位对应的LED显示数据。另一个为段控制输出端口,输出8段译码值。 实验箱中键盘及LED连线方式 实验箱中LED详细连线方式 动态LED控制方式(实验室) 首先是位选控制 位选控制概念:若干个LED中,控制当前时刻选择哪一个LED显示数字。 方法:控制8255的引脚PA0~PA3的输出(控制数码管的共阴极),这4位任意时刻只能由1位输出低电平,哪一位是低电平就选中哪一位点亮 然后是段选控制 段选控制概念:控制LED显示什么数字 方法:控制8255的引脚PB0~PB7的输出(控制数码管的a~g这些段),要显示什么数字,就把该数字所对应的字型码从这些引脚中输出 LED显示子程序SHOW的流程 SHOW PROC 保护现场 SI?字型码表的偏移地址 CX?循环次数 BL?位选码初值(选中最左面的LED亮) AA:把位选码在8255的A口输出 取得显示缓冲区的第0项单元内容从8255的B口输出 延迟一定时间 修改BL,使之选中后一个LED 修改SI,指向显示缓冲区的下一个单元的地址 如果没有显示完4个,跳转到AA地方去执行 恢复现场 RET SHOW ENDP 实验代码—主程序 MY8255_A EQU 0A860H MY8255_B EQU 0A861H MY8255_C EQU 0A862H MY8255_MODE EQU 0A863H DATA SEGMENT ZIXING DB 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H,7FH;字型码表 COUNT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX GOON: CALL I8255 ;完成8255的初始化 CALL BREAK ;判断程序是否要退出 CALL SHOW ;将显示缓冲区中的内容在LED灯上显示出来 。。。 CODE ENDS END START 实验代码—延迟子程序DELAY ;延时程序。当一位数码管上的内容显示出来之后,应该让它维持一段时间 DELAY PROC PUSH CX PUSH AX MOV CX,3FFH D1: MOV AX, 0FFFH D2: DEC AX JN
原创力文档

文档评论(0)