单只数码管循环显示0-9

单只数码管循环显示0-9

ID:12278256

大小:237.41 KB

页数:6页

时间:2018-07-16

单只数码管循环显示0-9_第1页
单只数码管循环显示0-9_第2页
单只数码管循环显示0-9_第3页
单只数码管循环显示0-9_第4页
单只数码管循环显示0-9_第5页
资源描述:

《单只数码管循环显示0-9》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单只数码管循环显示0-9报告设计题目:单只数码管循环显示0~9设计要求:单片机控制1只数码管,循环显示0~9需求分析:本设计要求单只数码管循环显示0~9,这里采用的是共阴极数码管。让数码管显示数字的步骤为:1)使数码管的公共端接地(共阴极)上。2)将显示码送到单片机的P0口,向数码管的各个段输出不同的电平,使单个数码管循环显示0-9这10个数字。复位电路:在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提

2、高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电

3、平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。设计原理:一、数码管显示原理   我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。  其中引脚图的两个COM端连在

4、一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正

5、好相反。共阳极的数码管0~f的段编码是这样的:unsignedcharcodetable[]={//共阳极0~f数码管编码0xc0,0xf9,0xa4,0xb0,//0~30x99,0x92,0x82,0xf8,//4~70x80,0x90,0x88,0x83,//8~b0xc6,0xa1,0x86,0x8e//c~f};共阴极的数码管0~f的段编码是这样的:unsignedcharcodetable[]={//共阴极0~f数码管编码0x3f,0x06,0x5b,0x4f,    //0~30x66,0x6

6、d,0x7d,0x07,    //4~70x7f,0x6f,0x77,0x7c,    //8~b0x39,0x5e,0x79,0x71    //c~f};二、驱动方式静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O脚进行驱动,或者使用如BCD码二-十进位*器*进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O脚多,如驱动5个数码管静态显示则需要5×8=40根I/O脚来驱动,故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性。、由于单片

7、机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路来输出较大的电流,驱动电路如下图设计原理图:程序流程图:开始将0-9的字符码送入数组table[I]有无中断请求(while(1))YN结束i=0,i依次加1,从1逐次累加至9P0=table[i],数码管依次显示0-9源程序:#include#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3f,0x

8、06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9的字符码voiddelay(uintz)//延时函数,以毫秒为单位。{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){while(1){uinti;for(i=0;i<10;i++)//循环显示0-9{P0=table[i];//依次送入0-9的字符码de

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。