资源描述:
《单片机.设计数码管显示,电子时钟.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、目录目录1第1章数码管显示21.1.【摘要】21.2.【关键词】21.3.LED显示的原理21.4.LED显示动态显示的原理21.5.流程图41.6.实现的功能及结果41.6.1.数码管显示结果41.6.2.程序及解释5第2章单片机时钟62.1.【摘要】62.2.【关键词】72.3.功能要求72.4.程序设计72.4.1.主程序72.4.2.显示子程序72.4.3.定时器T0中断服务程序82.5.按键设置92.6.数码管显示结果92.7.程序102.7.1.汇编程序102.7.2.C语言程序编译15第3章两个实验总的电路图18第1章数码管显示1.1.【摘要】 LED
2、的技术进步是扩大市场需求及应用的最大推动力。最初,LED只是作为微型指示灯,在计算机、音响和录像机等高档设备中应用,随着大规模集成电路和计算机技术的不断进步,LED显示器正在迅速崛起,近年来逐渐扩展到证券行情股票机、数码相机、PDA以及手机领域。LED显示器集微电子技术、计算机技术、信息处理于一体,以其色彩鲜艳、动态范围广、亮度高、寿命长、工作稳定可靠等优点,成为最具优势的新一代显示媒体,目前,LED显示器已广泛应用于大型广场、商业广告、体育场馆、信息传播、新闻发布、证券交易等,可以满足不同环境的需要。1.2.【关键词】LED、动态显示、共阳极、位选、段选1.3.LE
3、D显示的原理数码管的每段笔画其实就是一个单独的发光二极管,内部有两种不同的连接方式,若将各二极管的阳极都连在一起引出个公共端——称共阳数码管,如图(a);若将各二极管的阴极都连在一起引出个公共端——称共阴数码管如图(b);使用时将共阴数码管公共端接低电平,若某笔画端接高电平则对应笔画点亮,共阳反之。LED的显示可分静态和动态显示。1.4.LED显示动态显示的原理动态显示,如图所示17图1-4-1六位动态显示器接口某一时刻位选先选通其中一位,如对图5-46的共阴数码管,要使最左边位能点亮,则令P3.0为1,其余位选位均为0;这时在字型口输出该位要显示的数字或字符的字型,
4、亮1ms左右;接着位选选通另一位,其余位选关闭,字型口输出该位要显示的数字或字符的字型,虽然这时前一位位选已关闭,但基于眼睛的惰性,前一位显示的数字或字型还留在眼中,依次一位位循环显示下去,直至最后一位显示完毕,一个动态扫描显示结束。可见动态扫描显示是在执行动态扫描显示程序的。要连续显示必须反复的去执行动态扫描显示程序。一般可把动态扫描显示编成个子程序,主程序反复去调用它。人眼的惰性有一定时间,一般10ms左右,超过这一时间再去执行显示程序,它就会闪烁,所以LED的位数不能太多。首先在内部数据存储器的若干连续单元中开辟一个显示缓冲区,每个单元顺序对应一个数码管,在调用
5、动态扫描子程序以前,主程序中先在各显示缓冲单元中写入各数码管要显示的数字和字符在字型表中离开表头位置的值,这样当动态扫描显示程序要向字型口输出字型时,只要读得该对应缓冲区内的值,通过查字型表获得输出字型。注意不是把缓冲单元的值直接输出。图1-4-2硬件系统的总体设计框架171.1.流程图1.2.实现的功能及结果六位数码管显示自己的姓名和学号(姓名为开头的英文字母)1.2.1.数码管显示结果17显示字符共阴极段选码显示字符共阴极段选码03FH56DH106H67DH25BH707H34FH87FH466H96FHT0CEHQ98H“灭”(黑) 00H表1共阴极7
6、段LED显示字型编码表1.1.1.程序及解释ORG0000HAJMPSTARTSTART:MOVR0,#01H;扫描端口初植PLAY:MOVP0,#0FFH;清原数据MOVR5,#160;滚动的速度MOVA,R0ADDA,#04HMOVR1,AMOVP2,#01HPLAY1:MOVA,R0;6位数码管显示DECA;A中的数减1MOVDPTR,#TAB;段码表表址放入数据指针MOVCA,@A+DPTR;查段码MOVP0,A;段码数据放入P0口LCALLDL512;长调用DL512MOVA,R0;A恢复1SUBBA,R1JNCPLAY2;进位位不为1,程序转至PLAY2I
7、NCR0MOVA,P2RLA;A中的数循环左移1位MOVP2,A;P2=0AHAJMPPLAY1PLAY2:DJNZR5,PLAY4;R5中的数减1不为0,程序转至PLAY4AJMPPLAY3PLAY3:MOVA,R0;使滚动SUBBA,#04H17MOVR0,ASUBBA,#010H;显示扫描数据的长度JNCSTARTLJMPPLAYPLAY4:MOVA,R0;控制滚动时间SUBBA,#05HMOVR0,AMOVP2,#01HLJMPPLAY1DL512:MOVR2,#0FFH;延时DL1:DJNZR2,DL1RETTAB:DB0FFH,0FFH,