简易数字时钟的设计.doc
《简易数字时钟的设计.doc》由会员分享,可在线阅读,更多相关《简易数字时钟的设计.doc(16页珍藏版)》请在沃文网上搜索。
1、 摘要:数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无需机械传动等优点。因而得到了广泛的应用。小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数字电子钟,数字钟到处可见。在数字电路的学习中,已经学习过用计数器芯片搭建数字钟。51单片机内部集成了定时器/计数器,这为构建数字钟带来了方便。【设计内容】 在6个数码管上显示时、分、秒,共6位数字。 通过单片机内部定时器控制走时,走时准确。 系统有三个按键,S1为功能选择按键,S2为功能扩展按键,S3为数值加一按键。操作时,连续短时间(小于1秒)按动S1,即可在以上的6个功能中连续循环。中
2、途如果长按(大于2秒)S1,则立即回到时钟功能的状态。一、设计原理及框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,具有时、分、秒计数显示功能,以24小时为计数循环,由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要加上校时功能。这次实验主要是要实现时钟的两种基本功能:计时和较准,时间计数由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器,和控制按键构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器.,然后需要把8位二进制数转变为译码管需要的8421码。1、显示原理: 显示部分主要器
3、件为 2 位共阳红色数码管,驱动采用 PNP 型三极管驱动,各端口配有限流电阻,驱动方式为扫描,占用 P1.0P1.6 端口。冒号部分采用 4 个 3.0的红色发光,驱动方式为独立端口驱动,占用P1.7端口。2、键盘原理: 按键 S1S3 采用复用的方式与显示部分的 P3.5、P3.4、P3.2 口复用。其工作方式为,在相应端口输出高电平时读取按键的状态并由单片机支除抖动并赋予相应的键值。3、迅响电路及输入、输出电路原理: 迅响电路由有源蜂鸣器和 PNP 型三极管组成。其工作原理是当 PNP 型三极管导通后有源蜂鸣器立即发出定频声响。驱动方式为独立端口驱动,占用P3.7端口。 输出电路是与迅响
4、电路复合作用的,其电路结构为有源蜂鸣器,5.1K定值电阻R6,排针J3并联。当有源蜂鸣器无迅响时J3输出低电平,当有源蜂鸣器发出声响时J3输出高电平,J3可接入数字电路等各种需要。驱动方式为迅响复合输出,不占端口。 输入电路是与迅响电路复合作用的,其电路结构是在迅响电路的 PNP 型三极管的基极电路中接入排针J2。引脚排针可改变单片机I/O口的电平状态,从而达到输入的目的。驱动方式为复合端口驱动,占用P3.7端口。4、单片机系统: 本产品采用AT89C2051为核心器件,并配合所有的必须的电路,只具有上电复位的功能,无手动复位功能。 二、设计方案:这个实验总体分:秒、分、时三个模块,计时和较准
5、两个模式。标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲之一。“分计数器”也采用60进制计数器,每累计60分钟,发出一个时脉冲信号,该信号作为时计数器的时钟脉冲之一,时计数器采用24进制计时器,可实现对一天24小时的计时。译码显示电路将“时”、“分”、“秒”计数器的输出状态通过译码管显示。这们时钟的计时功能就实现了。秒模块是一个以1HZ的clock信号控制的60进制计数器,并同时产生分进位信号。三、数码管显示原理及应用实现3.1 数码管显示原理数字钟要把时间显示到数字显示装置上,常用的数字显示装置有数码管、液晶
6、、LED、CRT显示器等。在单片机系统设计中,LED数码管是最基本的显示装置。在数字钟的设计中我们用数码管对中的小时、分和表来进行显示。LED数码管能显示各种数字或符号,由于它具有显示清晰、亮度高、寿命长、价格低廉等特点,因此使用非常广泛。图1.1是几个数码管的图片:a图为单位数码管, b图为双位数码管,c图为四位数码管。a 单位数码管 b 双位数码管 c 四位数码管图1.1 数码管图片图1.2 单个数码管引脚标号,共阴和共阳的内部连接图单个数码管由8个发光二极管组成,其中7个长条形的发光管排列成一个“日”字形,我们称之为“段”,另一个圆点形的发光管在数码管的右下角作为小数点用,图1.2中的a
7、图是数码管的段标号以及外接引脚排列图,由图可以看出,单个数码管共有10个引脚,其中8个发光二极管的一端分别与数码管的8八个引脚相接,8个发光二极管的另外一端汇集在一起,称之为公共端,与数码管上下排引脚当中的那个引脚相连,称之为“公共端”。公共端既可以接地,也可以接高电平。公共端接地的数码管,是将发光二极管的阴极连接在一起接地,点亮数码管,各段需加高电平,称之为“共阴极数码管”; 公共端接高电平的数码管,是将发光二极管的阳极连接在一起接高电平,点亮数码管,各段需加低电平,称之为“共阴极数码管”;图1.2中的b图和c图分别是共阴极数码管和共阳极数码管内部原理图。 由于51单片机I/O高电平驱动能力
8、有限,故在数码管与单片机之间串入锁存器74HC573,增加段的驱动能力,段限流电阻330。2)软件设计为了获得“0”“F”16个不同字符,数码管各段所加的电平不同,因此I/O口输出的编码也不同。因此首先要建立一个编码表,见表3.1。 表3.1 LED数码管字型字段编码表字 型P07P06P05P04P03P02P01P00共阴极共阳极0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH
9、80H9011011116FH90HA0111011177H88Hb011111007CH83HC0011100139HC6Hd010111105EHA1HE0111100179H86HF011100017EH8EH有了字型段码对照表,就可以用软件的方式进行8段码的译码。如要显示字型“1”,P0输出值为0x06;显示字型“2”,P0口输出值为0x5B。#include#define uchar unsigned char #define uint unsigned int#define port_seg P1uchar code seg_7=0x3f,0x06,0x5b,0x4f,0x66,0
10、x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/0-F的字码放在数组中,数组名前面的code表示把数组的元素放在Flash中,而不是/RAM,这样可以节省RAM的空间。/*/ ms延时子函数/*void delayms(uint xms)/1ms的延时函数 uint i,j; for(i=0;i112;i+) for(j=0;jxms;j+);/*/ 主函数/*void main(void) uchar count; while(1)/定义循环变量 for(count=0;count16;count+)/16次循环 port_se
11、g=seg_7count;/从数组中取段码值赋给P1口delayms(1000);/间隔1s 3.2多位数码管的显示一个LED数码管只能显示一位数字,一般在系统中经常使用多个LED数码管,如要显示时间、温度、转速等等。在上面一位数码管控制显示的简单例子中,我们可以看到,一个数码管要使用51单片机的8个I/O口来输出段码,当使用多个数码管的时候,显然采用这种控制方式有些问题,因为51单片机不能提供太多的I/O控制引脚。多个数码管的显示驱动系统的实现,有多种不同的方式可以采用,而且在硬件和合软件的设计上也是不同的。多个LED数码管显示电路按驱动方式可分为静态显示和动态显示两种方法。采用静态方式显示
12、时,除了在改变显示数据的时间外,所有的数码管都处于通电发光状态,每个数码管通电占空比为100%,静态显示的优点:显示稳定,亮度高,程序设计简单,MCU负担小,缺点是:占用硬件多(如I/O口、锁存电路等),耗电量大。图2.19 是4个共阳极数数码管静态显示时的连接方式与显示状态,当单片机系统中使用静态数码管显示时,需要在每一个数码管上添加一个锁存器,当需要某个数码管显示其他内容时,只需要修改与其相连的锁存器的值即可。而所谓动态显示方式,就是一位一位地轮流点亮各个数码管。对于每一位数码管而言,每隔一定时间点亮一次,所以当扫描的时间间隔足够小时,观察者就不会感觉到数码管在闪烁,看到的现象就是所有数码
13、管在一起发光(同看电影的道理是一样的)。在动态显示中,数码管的将不仅仅由导通时电流的大小决定,而且还跟每一位点亮的时间和扫描周期这两个因素有关。动态显示的优点:占用硬件资源小,耗电量小。缺点是:显示稳定性不够好,亮度低,程序设计相对复杂,MCU负担过重。为了减轻MCU的负担和编程的复杂性,同时简化外围电路,还可以使用专用的数码管控制器件。图2.20 4个共阴极数码管动态显示时的连接方式与显示状态 2. 数码管动态显示设计(一)采用数码管动态扫描显示方式,可以节省硬件电路,但软件设计相对复杂。1)硬件设计电路在硬件电路设计中,采用了共阴数码管,段码接高电平,位码选通须接低电平,与单个数码管的驱动
14、一样,51单片机只有外接了上拉电阻的P0口具有驱动负载的能力,所以在硬件设计中,数码管的段码用P0口来驱动,位选接P1口。与静态方式的数码管驱动电路相比较,上图中没有使用外围器件,但占用了16个I/O线。2)软件设计根据硬件电路,我们可以看出,在任何一个时刻,P10P17只能有一个I/O口输出低电平,既只有一位点亮。而且MCU比寻循环轮流控制P10P17中的一位使其输出“0”,同时P0口要输出该位相对应的段码值。即使显示的内容没有变化,MCU也要进行不停地循环扫描处理。软件的设计应保证从在外面看数码管的效果要连续(即在人眼里各个数码管全部点亮),亮度均匀,同时没有拖尾现象。为了保证各个数码管的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 数字 时钟 设计