




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三 LED 数码管动态显示及 4 X4 键盘控制实验 一、实验目的1.巩固多位数码管动态显示方法。2.掌握行扫描法矩阵式按键的处理方法。3.熟练应用 AT89S52学习板实验装置,进一步掌握 keil C51的使用方法。 二、实验内容使用 AT89S52学习板上的 4位 LED 数码管和 4 X 4矩阵键盘阵列做多位数码 管动态显示及行扫描法键盘处理功能实验。用 P0口做数据输出,利用 P1做锁存器 74HC573的锁存允许控制,编写程序使 4位 LED 数码管按照动态显示方式显示一 定的数字;按照行扫描法编写程序对 4 X 4矩阵键盘阵列进行定期扫描,计算键值 并在数码管上显示。三、实验
2、系统组成及工作原理1. 4位 LED 数码管和 4 X 4矩阵键盘阵列电路原理图 2. 多位数码管动态显示方式 IO(2说明 4位共阴极 LED 动态显示 3456数字的工作过程首先由 I/O口(1送出数字 3的段选码 4FH 即数据 01001111到 4个 LED 共 同的段选线上,接着由 I/O口(2送出位选码0111到位选线上,其中数据的高 4位 为无效的,唯有送入左边第一个 LED 的 COM 端 D3为低电平 “ 0” ,因此只有该 LED 的发光管因阳极接受到高电平 “ 1” 的 g 、 d 、 c 、 b 、 a 段有电流流过而被点亮, 也就是显示出数字 3, 而其余 3个 L
3、ED 因其 COM 端均为高电平 “ 1” 而无法点亮; 显 示一定时间后,再由 I/O口 (1 送出数字 4的段选码 66H 即 01100110到段选线上, 接着由 I/O口(2送出点亮左边第二个 LED 的位选码1011到位选线上,此时只有该 LED 的发光管因阳极接受到高电平 “ 1” 的 g 、 f 、 c 、 b 段有电流流过因而被点亮,也 就是显示出数字 4,而其余 3位 LED 不亮;如此再依次送出第三个 LED 、第四个 LED 的段选与位选的扫描代码,就能一 一分别点亮各个 LED ,使 4个 LED 从左至右依次显示 3、 4、 5、 6。3.4 X 4 矩阵式按键扫描处
4、理程序行扫描法又称逐行零扫描查询法, 即逐行输出行扫描信号 “ 0” , 使各行依次为低 电平,然后分别读入列数据,检查此(低电平行中是否有键按下。如果读得某列 线为低电平,则表示此(低电平行线与此列线的交叉处有键按下,再对该键进行 译码计算出键值,然后转入该键的功能子程序入口地址;如果没有任何一根列线为 低电平,则说明此 (低电平 行没有键按下。接着进行下一行的 “ 0” 行扫描与列读入, 直到 8行全部查完为止,若无键按下则返回。有时为了快速判断键盘中是否有键按下,也可先将全部行线同时置为低电平, 然后检测列线的电平状态,若所有列线均为高电平,则说明键盘中无键按下,立即 返回;若要有一列的
5、电平为低,则表示键盘中有键被控下,然后再如上那样进行逐 行扫描。四、实验设备和仪器PC 机 一台AT89S52单片机学习板、下载线 一套五、实验步骤1.按时实验要求编写源程序(实验前写进行软件模拟调试。2.软件调试好,连接硬件电路。3.下载程序,进行硬件调试,观察数码管显示的情况,与设计的是否相同。 六、实验参考程序1. 4位 LED 数码管动态显示扫描程序ORG 0000HMAIN:MOV 30H,#0 ; 定义 4个字节空间,放置待显示数字“ 1、 2、 3、 4” MOV 31H,#1MOV 32H,#2MOV 33H,#3MOV P0,#00HDISP:MOV R0,#30H ; 把待
6、显示数字首地址送给 R0寄存器MOV R1,#4 ; 把 R1作为显示数码管位数计数器MOV R2,#0FEH ; 把首位数码管的位选码暂存在 R2寄存器中MOV DPTR,#TAB ; 把段选码存储空间的首地址给 DPTRLOOP1:MOV A,R0 ; 把待显示数字的段选码提取出来MOVC A,A+DPTR;MOV P0,A ; 把段选码放在数据总线上SETB P1.1 ; 段选码锁存器的锁存允许置位NOPCLR P1.1MOV P0, R2 ; 把位选码放在数据总线上SETB P1.2 ; 位选码锁存器的锁存允许置位NOPCLR P1.2RL A ; 下一位待显示数码管位选码预处理MOV
7、 R2,AINC R0ACALL DEL ; 调用延时子程序DJNZ R1,LOOP1;4位没有显示完,转去显示下一位SJMP DISP ;4位显示完,再次进行新一轮的扫描 /*定义段选码 */TAB:DB 0C0H;0DB 0F9H;1DB 0A4H;2DB 0B0H;3DB 099H;4DB 092H;5DB 082H;6DB 0F8H;7DB 080H;8DB 090H;9/*延时 5ms 子程序 */DEL:MOV R7,#10LOOP2:MOV R6,#250DJNZ R6,$DJNZ R7,LOOP2RETEND2. 键盘扫描及数码管动态显示程序ORG 0000HMAIN:MOV
8、30H,#10 ; 定义 4个字节空间,放置待显示数字 MOV 31H,#10MOV 32H,#10MOV 33H,#10MOV P0,#00HMOV 40H,#0FFH;定义 1个字节空间,放置键值天 津 机 电 职 业 技 术 学 院 教 师 备 课 纸 KEY: ACALL KEYSCAN ;调用键盘全扫描子程序 JNC LK1 ;有按键按下,转去延时去抖 ACALL DISPLAY ;无按键按下,调用显示子程序 AJMP KBZ ;送无键按下标志 LK1: ACALL DISPLAY ;两次调用显示,实现延时功能 ACALL DISPLAY ACALL KEYSCAN ;延时去抖后,再
9、次调用键盘全扫描子程序 JNZ LK2 ;确实有按键按下,转入逐行扫描 AJMP KBZ ;抖动,无按键 /*逐行扫描程序模块*/ LK2: MOV R7,#0EFH ;第一行行线置为 0 MOV R6,#00H ;行数寄存器 COL0: MOV P3,R7 ;第一行行线置为 0 MOV A,P3 ;读入列线状态 JB ACC.0,COL1 ;若不是第一列按键按下,转查第二列 MOV A,#01H AJMP LKP ;若是第一列按键按下,则记下列值为 1 ;转去计算键值 COL1: JB ACC.1,COL2;若不是第二列按键按下,转查第三列 MOV A,#02H AJMP LKP ;若是第二
10、列按键按下,则记下列值为 2 ;转去计算键值 COL2: JB ACC.2,COL3;若不是第三列按键按下,转查第四列 MOV A,#03H ;若是第三列按键按下,则记下列值为 3 AJMP LKP COL3: ;转去计算键值 JB ACC.3,NEXTR ;若不是第四列按键按下,转去扫描下一行 MOV A,#04H AJMP LKP ;若是第四列按键按下,则记下列值为 4 ;转去计算键值 /*键值计算程序 键值行值4列值*/ 第 页 天 津 机 电 职 业 技 术 学 院 教 师 备 课 纸 LKP: MOV R5,A; MOV A,R6 MOV B,#04H MUL AB ADD A,R5
11、 MOV 40H,A MOV A,40H MOV B,#10 ; DIV AB MOV 32H,A MOV 33H,B ACALL DISPLAY ; AJMP KEY /*下一行扫描值预处理*/ NEXTR: INC R6; MOV A,R7 ; JNB ACC.7,KBZ ; RL A ; MOV R7,A AJMP COL0 KBZ: MOV 40H,#0FFH;若无按键按下,则用 FF 表示键值 AJMP KEY /*键盘全扫描子程序*/ KEYSCAN: MOV P3,#0FH ; NOP MOV P3,#0FH; MOV A,P3 CPL A ANL A,#0FH RET 第 页
12、天 津 机 电 职 业 技 术 学 院 教 师 备 课 纸 /*LED 数码管显示键值子程序*/ DISPLAY: MOV R0,#30H; MOV R1,#4; MOV R2,#0FEH; MOV DPTR,#TAB; LOOP1: MOV A,R0;把待显示数字的段选码提取出来 MOVC A,A+DPTR; MOV P0,A;把段选码放在数据总线上 SETB P1.1;锁存器的锁存允许置位 NOP CLR P1.1 MOV A,R2;把段选码放在数据总线上 MOV P0,A SETB P1.2; NOP CLR P1.2 RL A MOV R2,A INC R0 ACALL DEL DJNZ R1,LOOP1 RET /*定义段选码*/ TAB: DB 0C0H;0 DB 0F9H;1 DB DB DB DB 0A4H;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小儿糖原贮积病Ⅵ型的临床护理
- 辽宁铁道职业技术学院《大学生职业发展与就业指导I》2023-2024学年第二学期期末试卷
- 铜仁学院《智慧工地》2023-2024学年第二学期期末试卷
- 深圳技术大学《射频识别技术》2023-2024学年第二学期期末试卷
- 上海外国语大学附中2025年高三第二学期第一学段考试语文试题试卷含解析
- 江苏省宜兴市周铁学区重点名校2025年招生考试(三)物理试题模拟试题含解析
- 山东省临沂市罗庄区、河东区、高新区三区市级名校2025年初三仿真(一)语文试题试卷含解析
- 泰宁县2025届四下数学期末复习检测模拟试题含解析
- 台州科技职业学院《筑牢中华民族共同体专题》2023-2024学年第二学期期末试卷
- 江苏省泰州市三中学教育联盟2024-2025学年初三下学期第一次阶段考试物理试题含解析
- 学校财务人员聘任合同书
- 《健康服务与管理导论》期末复习笔记
- 高尔夫球场浇灌施工方案
- 出纳员工考核试题及答案
- 河南省郑州市2024-2025学年高三上学期1月第一次质量预测地理试题2
- 项目启动会模板
- 2025-2030年可穿戴式睡眠监测仪行业深度调研及发展战略咨询报告
- 《圆明园的介绍》课件
- (2025)入团考试题库及答案
- 扫描电子显微镜(SEM)-介绍-原理-结构-应用
- 车厢定做合同范文大全
评论
0/150
提交评论