当前位置:文档之家› 双位数码管显示

双位数码管显示

前言
《单片机应用技术》是自动化类专业一门理论较深.实践较强的主干综合专业课,该课程包括检测转换技术,微控技术和可编程控制技术等三大部分。

检测与转换技术主要是实现物理量检测并将被检测的物理量转换成计数机或plc能识别的有效信号,作为控制系统的感知部分。

而微机控制技术和可编程控制技术则在接收感知系统传来的信号技术基础上,根据执行机构的动作要求进行程序编制,形成控制信号,从而驱动动力系统进行各种操作。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

原理图
程序说明
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,h"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

LED数码管动态显示
共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。

原理示意图:
从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。

这样才能显示的。

例:如要显示“0”,则要 a,b,c,d,e,f六个字段亮就显示“0”了,而g和dp字段不亮;这样只要向P0口送出相应的代码即可,编码方法如下表:
dp g f e d c b a 显示的
字符编码
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
0 0 0 1 0 0 1 0 0 0C0H
1 0 1 1 1 0 1 1 1 0F9H 1 1 0 0 0 0 1 0
2 0A4H 1 0 1 0 0 0 1 0
3 0B0H 0 0 1 0 1 0 1 1
4 99H
0 0 1 0 0 1 1 0 5 92H
0 0 0 0 0 1 1 0 6 82H
1 0 1 1 1 0 1 0 7 0F8H 0 0 0 0 0 0 1 0 8 80H
0 0 1 0 0 0 1 0 9 90H
程序使用时,只需将显示数字所对应的编码送P0口,然后打开相应的数码管显示位的电源控制即可显示相应的字符。

多位数码管显示控制程序及说明
START: MOV R0,#0 ;清零
MOV DPTR,#TABLE ;指定查表起始地址LOOP: ACALL DISPLAY ;调用子程序DISPLAY INC R0 ;R0加1
CJNE R0,#100,LOOP ;R0未到100则转换
JMP START ;跳转
DISPLAY: MOV A,R0 ;把R0里的数据送入A MOV B,#10 ;把10送入B
DIV AB ;a b相除
MOV 20H,A ;十位送入20H
MOV 21H,B ;个位送入21H
MOV R3,#50 ;把50送入R3
LOOP1: MOV A,21H ;取个位数
ACALL CHANG ;调用子程序CHANG CLR P2.4 ;开个位显示
ACALL DLY ;调用子程序DLY
SETB P2.4 ;关闭个位显示
MOV A,20H ;取十位数
ACALL CHANG ;调用子程序CHANG CLR P2.5 ;开十位显示
ACALL DLY ;调用子程序DLY
SETB p2.5 ;关闭十位显示
DJNZ R3,LOOP1 ;循环50次
RET ;子程序返回CHANG: MOVC A,@A+DPTR ;查表
MOV P0,A ;查表结果送入P0
RET ;子程序返回
DLY: MOV R6,#20 ;典型延时子程序延时
D1: MOV R7,#248 10ms
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 0C0H,0F9H,0A4H, ;表数据共阳极数码管显示代码 DB 0B0H,99H,92H,82H,
DB 0F8H,80H,90H
总结
时间过的真快,转眼间两周的实训时间就过了,这次单片机实习的任务是控制数码管。

在课本上只有对数码管的一些定义,现实中没有见过它的结构,细微的观察它,理解它,这次实训使我进一步了解它。

首先,我们组有了自己的数码管,它是一个显示两位数字的数码管,一共有十个端口,包括8个发光二极管和两个电源端。

观察完数码管,我们就对它进行焊接,在我们组员的共同努力下,对电路板的焊接终于完成了。

在焊接期间,要认真,才能焊接的既牢固又精美。

完成后就开始验证电路板,然后进行程序编制,我们的程序是利用数码管显示00-99。

开始对编程就一知半解的我们,在全组成员的工同努力下通过上网查资料,和别人组讨论,研究,共同努力下,程序终于完成了。

最后我们就开始对程序进行验证,当时出现了许多细微的问题,但我们耐心修改并细心请教老师,同学,通过调试,最终实现数码管的显示。

通过这次实习,我感受到组员的团结,大家都很用心,都在努力完成任务。

这就是我们之间所需要的团队合作精神,不论在以后的工作还是生活中都要用到它。

最后我要致谢我们的老师和同学。

心得体会
在这次实训单片机过程中,我感觉到付出努力就会有成绩,实训过程中,老师只是稍微的提了一下实训要求,同学们就积极的参与在其中,从网上自己查找资料,自己设计自己的想法,让它得以实现,这样老师给大家了一个锻炼的机会,在以后的工作中,一切的一切都要靠自己去完成,所以老师提前锻炼了大家的自己动手能力,提高自己的能力,在以后的工作中能得以实用,我倍感到十分的欣慰。

本次实习教学给我们积累了很多的经验,在老师,同学的帮助之下,顺利的完成这次实训任务,在我这里,我向你们说一声谢谢了,这些天里,每天早起晚归的努力,也确实学到了很多的东西。

首先,对于以前一窍不通的方案有了自己的认识和感想。

再者,在学校里积累下来的问题也基本上都迎刃而解。

经过这次实训,我也懂得了一个道理,就是团队作用是战胜一切的前提,要想做好一件事情,首先要做好的是把不的团队搞好,才是最为重要的。

例如在这次试训过程中如果要一个人来完成,那么耗时之长,不可估计,这样更节省下了时间,为其他的事节省下更多的时间。

同学之间的优势可以互补,只要我们发挥团队精神我们就能很好的完成任务。

实训虽然结束了,但我们现在的学习并未结束,在以后的学习中,我们应该珍惜在学校的每一天,再接再厉,不断完善自己的技能和技巧,把自身的弱势和不足变成优势与特长,扫清我们就业道路上的绊脚石,让自己更顺利步入社会,适应社会,为自己拥有一个美好的未来而加倍努力!
参考文献
【1】赵辉《SOC中IP核重用技术及其接口模型》中国集成电路2005年11期
【2】屠其非,周伟;《LED用于汽车信号灯的展望》灯与照明2000年06期
【3】阎石主编《数字电子电路》北京高等教育出版社
【4】谢自美主编《电子线路设计实验测试》(第三版)武昌华中科技大学版社 2005年
【5】王津《单片机原理与应用》重庆大学出版社 2000年【6】林军《用单片机控制的交通信号灯》电脑学习2001.8 第4期【7】张淑清《单片微型计算机接口技术及其应用》国防工业出版社2001年
【8】黄继昌《传感器工作的原理及应有实例》北京人民邮电出版社1999年。

相关主题