您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 实例解读51单片机完全学习与应用 第12章 扫描与显示
实例解读51单片机完全学习与应用Allyouneedtoknowaboutthe8051microcontroller杨欣YangX张延强ZhangY编著莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011.21欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX第12章扫描与显示2第12章扫描与显示多位七段数码管3欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX时钟里,单片机接收键盘的输入信号,判断用户的按键操作。同时向6位七段数码管发送显示数据。这里就涉及多位七段数码管的显示和键盘的扫描等实用技术。第12章扫描与显示12.1■扫描多位七段数码管12.1.1动态扫描的原理4欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuXP2.0~P2.3与7447相连,而7447的输出与4位七段数码管SD0~SD3的亮段控制端a~g相连,且SD0~SD3的亮段控制端a~g是并联在一起的。如果P2.0~P2.3输出0110,在4位七段数码管SD0~SD3都工作的情况下,会同时显示数字“6”。第12章扫描与显示12.1.1动态扫描的原理5欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX4位七段数码管的共阳端分别被三极管开关控制着,4个三极管开关又被单片机的P0.0~P0.3控制着。我们把这4个控制线称为位选线B0、B1、B2、B3。比如B0=1时,也就是P0.0口输出1,第一位七段数码管SD0共阳端上的三极管开关导通,SD0也就获得电流而发光,此时显示的数字由单片机的P2.0~P2.3状态来决定。第12章扫描与显示12.1.1动态扫描的原理6欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX某时刻P0=00000001B、P2=00000001B,则七段数码管SD0共阳端的三极管开关惟一导通,或者说SD0被惟一选通,且显示数据为数字“1”,所以此时只有SD0显示1。其他七段数码管不亮。第12章扫描与显示12.1.1动态扫描的原理7欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX接着,P0=00000010B、P2=00000010B,七段数码管SD1被惟一选通,且显示数据为数字“2”。然后,P0=00000100B、P2=00000011B,SD2被惟一选通,显示“3”。最后,P0=00001000B、P2=00000100B,SD3被惟一选通,显示“4”。第12章扫描与显示12.1.1动态扫描的原理8欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX由于人眼的视觉暂留原理,如果这种依次惟一选通每一位七段数码管的动作在0.1s内完成,就会造成多位七段数码管同时点亮显示各自数字的假象,人眼也就会看到如图12-4所示的4位显示数据“1234”。第12章扫描与显示12.1.2动态扫描操作指南9欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX动态扫描概括起来就是选通一位、送一位数据。采用动态显示时需要注意以下3点问题:•由于每一位七段数码管的点亮时间很短,扫描过程中要保证每一位七段数码管得到足够的工作电流,从而确保亮度,通常取限流电阻阻值为20~100Ω。•在选通下一位七段数码管时,应把上一位熄灭,再将下一位显示数据送出,防止显示数据出现残影。•点亮一遍所有七段数码管的时间应尽量小于0.1s,以保证足够短的时间,使眼睛产生各位七段数码管同时显示的错觉,一般点亮一遍所有七段数码管的时间应小于60ms为宜。第12章扫描与显示12.1.3动态扫描方式程序10欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX控制每一位七段数码管都有4行指令,第一行向P0送出位选数据,第二行向P2输出显示数字数据,第三行是1ms的延时,最后一行“ANLP0,#00H”是把P0与00H做与运算,之后P0=00H,这样所有七段数码管都有熄灭,防止残影的出现。第12章扫描与显示12.2■扫描键盘12.2.1什么是键盘11欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX键盘是最为常见输入外设之一,如图键盘由16个按钮开关以4(行)×4(列)进行排列。从结构上看,键盘就是一个由多个(按钮)开关有机连接形成的功能器件。键盘一般由数据线与单片机的I/O口相连。第12章扫描与显示12.2.2键盘的电路结构12欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX16个按钮以4(行)×4(列)组成开关阵列,单片机的P2.0~P2.3作为行线、P2.4~P2.7作为列线与这个开关阵列相连。每个开关跨接在某一行与某一列之间,如果开关被按下,则对应位置的行与列短路。比如说数字键“1”按下时,P2.0与P2.4就会短路。所以,只要检测行与列是否短路就能判断对应的按键是否被按下。第12章扫描与显示12.2.3键盘按键判断程序13欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX•为了确保上一次的键盘按键已经释放,需要一次性把0输出到所有的行上(P2.0~P2.3),然后检测所有的列(P2.4~P2.7),直到全部列出现1,程序再延时片刻,然后等待检测新一次的按键按下。第12章扫描与显示12.2.3键盘按键判断程序14欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX•为了检测是否有按键被按下,所有的列将一次又一次不停地循环扫描,直到其中一列检测到0。当检测到某一按键按下后,将等待20ms(等待按键释放),之后又开始对所有的列进行扫描。这样做有两个好处:一是保证检测到的确实是按键被按下而不是噪音或干扰,二是通过20ms防止长按下某一按键时被误认为是多次按下动作。第12章扫描与显示12.2.3键盘按键判断程序15欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX•为了能定位是哪一行的按键被按下,一次只某一行输出0,并扫描检测所有的列。如果发现所有的列都是1,这意味着不是该行的按键被按下,于是向下一行输出0并扫描检测所有的列,直到找出出现0的列为止。•为了最终确定是哪一个按钮被按下,依次把列的状态放到进位标志C中进行判断,当找到某列为0,就将对应数据表中的键值取出。第12章扫描与显示12.2.3键盘按键判断程序16欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX•当找到按下按键所在行,就把这个行数作为查表操作的起始地址,程序数据表中保存的是按钮对应的字义,或者叫键值。键值可以是数字,也可以是字母等。第12章扫描与显示12.3■扫描发光二极管点阵12.3.1显示原理17欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX发光二极管点阵器件由8(行)×8(列)独立的发光二极管组成,在器件的正面有64个白色的圆点,这些圆点可以通过背面的管脚控制点亮。显示信息也正是通过点亮发光二极管组合实现的。第12章扫描与显示12.3.1显示原理18欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowaboutthe8051microcontroller编著:杨欣YangX张延强ZhangY主审:莱·诺克斯NokesL王玉凤WangY刘湘黔LiuX要在8×8发光二极管点阵上分别显示“H”、“古”、“9”、“?”4个字符,可按图12-11所示点亮某些位置上的发光二极管即可。第12章扫描与显示12.3.2发光二极管点阵器件结构19欢迎访问“电路飞翔网”获取更多信息《实例解读51单片机完全学习与应用》Allyouneedtoknowab
本文标题:实例解读51单片机完全学习与应用 第12章 扫描与显示
链接地址:https://www.777doc.com/doc-3167188 .html