《(7.2)--4.2数码管静态显示原理与应用.ppt》由会员分享,可在线阅读,更多相关《(7.2)--4.2数码管静态显示原理与应用.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数码管静态显示原理与应用单片机单片机I/OI/O口方式的应用口方式的应用第四章第四章数码管静态显示原理与应用第第 节节4.2 4.2 数码管静态显示数码管静态显示原理与应用原理与应用2 2数码管静态显示原理与应用4.2 数码管数码管静态显示与按键处理静态显示与按键处理LED显示元件作为人机交互输出设备:作用:指示中间运行结果与运行状态,特点:具有显示亮度高、响应速度快等优点范围:家电及工业控制中有着广泛的应用七段显示器内部由7个条形发光二极管和一个小圆点发光二极管组成数码管静态显示原理与应用 点式点式字段式字段式点阵式点阵式光柱式光柱式LED 的类的类型型LED有共阴极和共阳极两种类型数码管静
2、态显示原理与应用引脚配置七段式LED数码管(Proteus:7-Segment Display)共阳极型共阴极型公共端接“0”公共端接“1”数码管静态显示原理与应用字符的显示码或字模与数码管的类型有关共阴极型共阴极型部分字符的显示码(字模)为:七段LED数码管的标准显示字符标准显示字符为09,AF显示字符显示字符显示码(共阴)显示码(共阴)其它字符:0011 1000B=0 x38“L”字符的显示码“H”字符的显示码0111 0110B=0 x76数码管静态显示原理与应用实例实例5 LED数码管显示在P0口连接一个共阴极数码管,使之循环显示09数字,间隔为500循环步。数码管静态显示原理与应用
3、分析:分析:由于数码管的显示字符与显示字模之间没有特别的规律可循,需要采取查表方式进行操作:将显示码按序按序存放在一个数组中,顺序号与代表的显示顺序号与代表的显示字符相对应字符相对应(如,char led_mod =x1,x2,.,xn);数码管静态显示原理与应用使用时,只需用待显示值作为下标变量调用该数组,通过查表语句(如,P0=led_modei)输出显示码。数码管静态显示原理与应用实例5的源程序#include /51头文件charled_mod=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/LED显示字模voi
4、d delay(unsigned int time)unsigned int j=0;for(;time0;time-)/采用传入的实参值作为time初值for(j=0;j125;j+);数码管静态显示原理与应用void main()char i=0;while(1)/无限循环 for(i=0;i=9;i+)/循环语句 初值为0,0到9 共10次,步长为1,对应显示码数组的0-9元素 P0=led_modi;/提取字模输出到P0口delay(1500);数码管静态显示原理与应用实例5仿真运行仿真运行表明,数码循环显示功能已满足题意要求,实例5程序设计结束。数码管静态显示原理与应用【实例6】计数
5、显示器图为某计数显示器的电路原理图,根据如下共阴极型数码管电路,编程实现计数显示功能,即以十进制形式显示击键次数,次数大于99后重新由0开始。个位LED接P2口,十位LED接P0口按钮接P3.7,抬起时为1电平,按压时为0电平。数码管静态显示原理与应用编程分析:编程分析:两个新问题:按键的处理按键的处理问题问题如何避免按键压下时被连续计数?计数值的拆分显示问题,如何将计数值拆解成个位和十位两个数?设置一个按键闭合次数变量count,并将其值送到P0和P2口即可实现题意要求。数码管静态显示原理与应用编程分析:本题只要设置一个按键闭合次数变量count,并将其值送到PO和P口即可实现题意要求。然而
6、有两个关键问题却需要特别注意。按键的处理按键的处理问题问题计数值的拆分显示问题数码管静态显示原理与应用解题分析解题分析:按键的处理问题按键的处理问题按键通常为机械式弹性开关。当机械触点断开、闭合时,由于触点的弹性作用,按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴在闭合及断开的瞬间均伴随有一连串的抖动,抖动造成电压的波动随有一连串的抖动,抖动造成电压的波动。数码管静态显示原理与应用显然按键抖动会造成难以判断按键闭合状态按键抖动会造成难以判断按键闭合状态的问题按键消抖最简单的方法是软件消抖法按键消抖最简单的方法是软件消抖法,即当检测到有键按下时,先用软件
7、延时软件延时10ms,然后再次检测按键的状态。若仍是闭合状态电平,则可认为是真正有键按下。反之则应作为误判处理。同理,按键释放时的检测也需做类似的处理。虽然电路仿真时不可能有按键抖动问题,但在程序设计时还是应该按实际电路的消抖考虑。数码管静态显示原理与应用此外,为避免按键在压下期间被连续统计,确保一次点击确保一次点击仅能被统计一次仅能被统计一次,计数值应该在按键先被压下然后又被释放之后才能更新。数码管静态显示原理与应用计数值的拆分显示原理 使计数器变量count中的两位十进制数能分别显示在两只数码管上,将计数值先进行拆分再送交显示。拆分原理拆分原理:将count用取模运算(count%10)拆
8、出个位值,用整除运算(count/10)拆出十位值。取模运算(%10)个位 P2=tablecount%10;整除10运算(/10)十位 P0=tablecount/10;初始化:P2=P0=table0;数码管静态显示原理与应用下来我们分析其下来我们分析其源程序:源程序:#include /51头文件sbit P3_7=P37;定义位变量P3_7 为P3口的第7引脚unsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;0-9显示码数组数码管静态显示原理与应用unsigned c
9、har count;定义一个无符号变量count计数void delay(unsigned int time)/延时unsigned int j=0;for(;time0;time-)for(j=0;j125;j+);void main()count=0;/计数器赋初值 P0=tablecount/10;/P0口显示初值 P2=tablecount%10;/P2口显示初值while(1)/进入无限循环数码管静态显示原理与应用 if(P3_7=0)/软件消抖,检测按键是否压下 delay(10);if(P3_7=0)/若按键压下count+;/计数器增1 if(count=100)/判断循环是否超限 count=0;P0=tablecount/10;/P0口输出显示P2=tablecount%10;/P2口输出显示 数码管静态显示原理与应用实例6的仿真运行仿真运行表明,循环计数显示功能已满足题意要求,程序设计顺利结束。数码管静态显示原理与应用同学们同学们再见再见