数码管的动态显示设计与研究.doc
《数码管的动态显示设计与研究.doc》由会员分享,可在线阅读,更多相关《数码管的动态显示设计与研究.doc(11页珍藏版)》请在三一文库上搜索。
1、单片机课程设计报告电气与信息工程学院指导 老师: 张 橙班 级: 自动化072姓名: 廖岩学号: 07401100221日期: 2013年1月6日数码管的动态显示设计与研究一:概述动态显示主要就是利用人眼的视觉感来设计的,一般来说如果显示的频率过慢,则会有断断续续的显示;如果显示的频率加快,则人眼就分辨不出这种视觉残余!随着现代科学技术的不断地进步,人们已经走入了信息的高速时代。科学的力量日益强大,技术的更新的速度也更加加快了。计算机走进了千家万户,其中,单片机是一种应用十分广泛的单心片微型计算机,在我国的普及应用已有若干年,上至航天飞机,下至电动玩具,都能见到它的身影。单片机比专用处理器更适
2、合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 而本次单片机数码管动态显示设计中采用AT89C52。 AT89C52为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要
3、用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。vcc(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入
4、端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 PDIP封装的AT89C52引脚图。二:硬件设计 设计要求P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,同时P2端端口接入右数码管显示器右端,P3端端口接入数码管显示器左端。当开关接高电平时,显示“521039113142”字样;当开关接低电平时,显示“HELLO,LOVE”字样。 元器的选取 1:AT89C52:单片机;
5、2:RES:电阻;3:CRYSTAL:晶振;4:CAP、CAP-ELEC:电容、电解容; 5:RESPACK-8:1k*8排阻;6:7SEG-MPX6-CC:7段式6位共阴极数码管;7:BUTTON:按钮。 数码管动态显示原理图 LED数码管显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,每个发光二极管称为一字段。因而它的控制原理和发光二极管的控制原理是相同的。根据各管的接线形式,可分成共阴极型和共阳极型。发光二极管的阳极连在一起,为一个公共端,这种显示器称为共阳极显示器。发光二极管的阴极连在一起,为一个公共端,这种显示器称为共阴极显示器。给LED 数码管的七个发光二极管加不同的电平
6、,二极管显示不同亮暗的组合就可以形成不同的字形,这种组合称之为字形码。 程序设计内容 (1) 动态扫描方法:动态扫描采用各数码管循环轮流显示的方法,本例中,先让左边第一位数码管显示数字“5”,延时一定时间后,第二位显示“2”,以此类推,到第五位显示“2”后,又从“5”开始循环显示。由于循环显示频率较高时,利用人眼的暂留特性,我们看到这12个数码管仿佛在同时显示,而看不出闪烁显示现象。这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。需要注意一点,由于电路的特性,在点亮每一位数码管之前,一定要对整个数码管清屏(场消隐),即让所有位选信号都处于不被选中状
7、态。 (2)对于显示的字形码数据我们采用查表方法来完成,同样位选码也可以用查表的方法。请注意,由于一些一般资料中给出的字形码都没有包含“H”和“L”,的字形码,这时就需要我们可以自行推导出来。通过课本上数码管的介绍,我们可以得出“HELLO LOVE”:0x76,0x79,0x38,0x38,0x3f,0x00(HELL0的字形码);0x00,0x00,0x38,0x3f,0x3e,0x79(LOVE的字形码)。三:软件设计1:程序(1) 首先选定的蓝本-数码管的动态显示的相关程序,如C语言源程序:#include unsigned char code table1=0x06,0x5b,0x4
8、f,0x66,0x6d;/1-5的字形码unsigned char code table2=0x76,0x79,0x38,0x38,0x3f;/HELLO的字形码unsigned char code table3=0xfe,0xfd,0xfb,0xf7,0xef;/位选码unsigned char i,a;sbit button=P17;/位定义,不能直接用P17void main(void)while(1)for(i=0;i0;a-);/字形显示延时,可调节通过认真的分析需求,要想在数码管上显示“521039113142”以及“HELLO LOVE”的字样,就必须在main程序中增加2个量分
9、别为:如下:Unsigned char code table1=0x6d,0x5b,0x06,0x3f,0x4f,0x6f;/“521039的字形码.”unsigned char code table4=0x06,0x06,0x4f,0x06,0x66,0x5b;/“113142的字形码.”unsigned char code table2=0x76,0x79,0x38,0x38,0x3f,0x00;/“Hell0的字形码.”unsigned char code table5=0x00,0x00,0x38,0x3f,0x3e,0x79;/“LOVE的字形码。” 同时要改变一下循环变量for(i
10、=0;i6,i+)以便使得程序在单片机的执行中能够同时作用于数码管的显示,更为重要的是为了使新增的两个变量更好的参加于循环。如:for(i=0;i6,i+)。 与此同时更为重要的是在for循环内部增加一个P3的字型码查表 ,以便能够在新增加的一个数码管中显示。如:if( button = 1 )P0=table1i;/“521039对的字形码查表。”P3 = table4i;/“113142对的字型码查表。”P2=table3i;/“位选码。”最后才是对字符的显示“输出;else P0=table2i; /“对HELLO LOVE中的的字形码查表。” P3= table5i;/“对HELLO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 动态 显示 设计 研究
链接地址:https://www.31doc.com/p-10766031.html