单只数码管循环显示0-9文档格式.doc
- 文档编号:13079189
- 上传时间:2022-10-04
- 格式:DOC
- 页数:6
- 大小:237.41KB
单只数码管循环显示0-9文档格式.doc
《单只数码管循环显示0-9文档格式.doc》由会员分享,可在线阅读,更多相关《单只数码管循环显示0-9文档格式.doc(6页珍藏版)》请在冰豆网上搜索。
在上电或复位过程中,控制CPU的复位状态:
这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。
而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。
许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
基本的复位方式
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
设计原理:
一、数码管显示原理
我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;
共阳数码管的字符编码为11000000,即0xc0。
可以看出两个编码的各位正好相反。
共阳极的数码管0~f的段编码是这样的:
unsignedcharcodetable[]={//共阳极0~f数码管编码
0xc0,0xf9,0xa4,0xb0,//0~3
0x99,0x92,0x82,0xf8,//4~7
0x80,0x90,0x88,0x83,//8~b
0xc6,0xa1,0x86,0x8e//c~f
};
共阴极的数码管0~f的段编码是这样的:
unsignedcharcodetable[]={//共阴极0~f数码管编码
0x3f,0x06,0x5b,0x4f,
//0~3
0x66,0x6d,0x7d,0x07,
//4~7
0x7f,0x6f,0x77,0x7c,
//8~b
0x39,0x5e,0x79,0x71
//c~f
二、驱动方式
静态显示驱动:
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O脚进行驱动,或者使用如BCD码二-十进位*器*进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O脚多,如驱动5个数码管静态显示则需要5×
8=40根I/O脚来驱动,故实际应用时必须增加*驱动器进行驱动,增加了硬体电路的复杂性。
、由于单片机的IO口的驱动能力有限,而数码管点亮时需要较大的电流,所以在用单片机构成数码管显示系统时,需要增加驱动电路来输出较大的电流,驱动电路如下图
设计原理图:
程序流程图:
开始
将0-9的字符码送入数组table[I]
有无中断请求(while
(1))
Y
N
结束
i=0,i依次加1,从1逐次累加至9
P0=table[i],数码管依次显示0-9
源程序:
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
//0-9的字符码
voiddelay(uintz)//延时函数,以毫秒为单位。
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=110;
y>
y--);
}
voidmain()
while
(1)
{
uinti;
for(i=0;
i<
10;
i++)//循环显示0-9
{
P0=table[i];
//依次送入0-9的字符码
delay(500);
//延时500毫秒,调用延时函数。
}
}
结论与心得
本次设计要求比较简单,做起来较容易一些。
但在实际过程中也遇到了一些问题,首先是仿真时的连线,看似简单,却很容易连错,致使数码管某一段不能发光。
再有就是KEIL与PROTEUS7.5的联合使用,调试程序时一定要生成HEX文件。
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且还学会了了两种有用的软件。
我做的这个设计主要是用AT89C51这个芯片来实现,这个芯片具有很多优点,程序简单易读,结构清楚,最重要的是成本低。
很适合我们学生用来学生。
在做这个设计的过程中,我也了解到了自己的不足,在日后的学习中,我还需加倍努力学习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 循环 显示
![提示](https://static.bdocx.com/images/bang_tan.gif)