任务23 矩阵式键盘控制双数码管.ppt

任务23 矩阵式键盘控制双数码管.ppt

ID:48198639

大小:584.50 KB

页数:19页

时间:2020-01-15

任务23 矩阵式键盘控制双数码管.ppt_第1页
任务23 矩阵式键盘控制双数码管.ppt_第2页
任务23 矩阵式键盘控制双数码管.ppt_第3页
任务23 矩阵式键盘控制双数码管.ppt_第4页
任务23 矩阵式键盘控制双数码管.ppt_第5页
资源描述:

《任务23 矩阵式键盘控制双数码管.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务23矩阵式键盘控制双数码管6学时1.掌握矩阵式键盘电路的应用2.巩固单片机数码管静态显示的相关知识3.子程序的编写方法及调用方法一.任务目标二.任务要求任务描述:用S0-S15共16个键盘(排列成4行和4列的形式)去控制2个数码管的显示,要求当有一个键盘按下时,就将该按键对应的键盘码在两个数码管上显示出来,我们规定S0的键盘码为0,S1的键盘码为1……S15的键盘码为15。仿真演示三.相关知识(一)矩阵键盘电路1.概述矩阵键盘电路2.怎样判断矩阵式键盘是否有按键按下(行列扫描法)当行线输出全0时,此时如果没有按键

2、按下,则列线输入的数据就全为1,如果有一个按键按下了,则这个按键对应的列线输入就会变成0,单片机通过对连接到列线的I/O管脚上的输入数据的判断,就可以知道是否有按键按下。3.怎样判断是哪一个按键按下的实际上要判断出是那一个按键按下了,就是要判断出被按下的这个按键在第几行,第几列,也就是要把这个被按下按键的所在的行号和列号找出来,单片机是怎样来找键盘所在行和列的呢?它采用了一种叫做行列扫描法的方法,它是一行一行的扫描,也就一行一行的输出0电平,然后检测列线输入是不是全为1,如果全为1,说明按键不在这一行,继续下一行检测

3、,直到输出某行为0时,列的输入不是全为1,而是某一位为0,说明按键就在正在检测的行,确定出行号,然后再根据列扫描码,求出列号,这样就把按键对应的行列号确定下来了。4.怎样产生键盘码(二)矩阵式键盘电路的编程矩阵式键盘电路的编程基本过程如下1.判断是否有按键按下(注意要经过延时程序延时10ms判断两次,以消除抖动的影响)2.通过行列扫描法得到行列扫描码,并确定出行号和列号3.通过行号和列号与键盘码的关系求被按下按键的键盘码4.根据得到的不同的键盘码采用不同的处理程序四、任务分析1、硬件电路矩阵式键盘电路:由S0-S15

4、共16个按键构成,列线做输入,接到P3口(P3.0-P3.3),行线做输出,接到P1口(P1.0-P1.3),请注意在这个电路中我们没有把4条列线通过4个电阻接电源,以保证没有按键按下时,使列线输入全为1,而是让列线什么也不接,处于悬空壮态,实际上工作原理两者都一样,因为对于单片机的I/O口做输入管脚时,悬空脚相当于接高电平,等效于四根列线接到了电源VCC上。数码管显示电路:由两个8段数码管构成,两个数码管为共阴极数码管,公共端由P1.0输出的电平控制,公共端为低时,数码管显示,公共端为高,数码管不显示,字型码由单片

5、机的P2口输出给数码管,本电路中两个数码管采用的是动态显示,电阻R5为上拉电阻。硬件电路2、软件分析软件分析软件分析软件分析软件分析编写程序流程图查询方式的程序流程图开始定时器初始化,R1=10启动定时器NoYes清除溢出标志,重装计数初值No溢出?YesR1=10,P1.x取反R1-1=0?中断方式的程序流程图开始定时器初始化,中断初始化R1=10主程序:启动定时器,开中断No重装计数初值YesR1=10,P1.x取反R1-1=0?子程序:进入中断子程序中断返回等待中断五.任务实施1、在PROTEUS软件中按图4.

6、1.2搭接好电路;2、在伟福软件中编辑程序,进行编译,得到.HEX格式文件;3、将所得的HEX格式文件在PROTEUS中指定到MCU芯片中;4、运行仿真,观察仿真结果;5、PROTEUS中结果正常后,用实际硬件搭接并调试电路,通过编程器将.HEX格式文件下载到AT89C51中,通电验证实验结果。六、任务总结任务回顾课后作业思考题标志Thankyou!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。