单片机课程设计——基于AT89C51的数字钟的设计 下载本文

课程:姓名:班级:课程设计报告

单片机原理与接口技术 10通信1班

河北联合大学信息工程学院

一、设计名称

基于AT89C51的数字钟的设计 二、设计目的及要求

1,了解AT89C51芯片的功能,性能,及使用方法。 2,了解时钟日历芯片DS12887的性能及使用方法。

3,利用所学汇编语言编(中断、计数等)写代码实现钟表计时定时等功能。 三、设计原理说明

利用AT89C51芯片、时钟日历芯片DS12887,三极管等器件连接硬件电路,在用kell软件编写时钟程序,调试程序,最后烧入到硬件设备中进行结果检验及更改。

3.1、基于AT89C51数字钟设计的原理

数字钟的基本功能是显示时间,可以通过计数器的级联实现。以4位数码管的数字钟为例,设定前两位为小时,后两位为分钟,数码管的小数点闪烁可以表示秒。首先产生一个1Hz的方波信号,在它的触发下驱动小数点闪烁。在这个1Hz的基础上,可以产生1/60Hz的信号(对1Hz信号计数,每计数30次就将输出反相,得到1/60Hz信号),它就是分钟信号需要的时钟。在这个时钟的触发下分钟位数码管依次加1,直到60时变为0,再重新开始计数。清零的时候要产生一个进位,加到小时上面。其他时间小时位保持不变。 3.2、数字钟主要元件介绍 3.2.1、AT89C51单片机

AT89C51是一种低功耗,高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对存储器重复编程。单片机的主要特性如下:

1.与MCS-51 兼容

2.4K字节可编程闪烁存储器 3.全静态工作:0Hz-24MHz 4.三级程序存储器锁定 5.4KB的片内程序存储器ROM

6.128B内部数据存储器RAM和128B特殊功能寄存器SFR 7.4个8位可编程并行I/O接口

8.两个16位定时/计数器 9.5个中断源的控制控制系统 10.一个全双工串行接口 11.低功耗的闲置和掉电模式 12.片内振荡器和时钟电路。

各引脚功能说明如下:

Vcc(40脚):接+5V电源正端。

Vss(20脚):接+5V电源负端。

XTAL1(19脚):晶体振荡器接入的一个引脚(采用外部振荡器时,此引脚接地)

XTAL2(18脚):晶体振荡器接入的另一个引脚(采用外部振荡器时,此引脚作为外部振荡信号的输入端)

P0口(39~32脚):P0.0~P0.7统称为P0口。一般I/O口引脚或数据/低位地址总线复用引脚;

P1口(1~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O口使用。一般I/O口引脚;

P2口(21~28脚):P2.0~P2.7统称为P2口,一般I/O口引脚或高位地址总线引脚;

P3口(10~17脚):P3.0~P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可以独立定义为第一功能的输入输出或第二功能。

ALE/PROG(30脚):地址锁存允许信号输入或输出引脚。

对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。

PSEN(29脚):外部程序存储器选通信号输出端,低电平有效。 RST/VPD引脚(9脚):复位信号输入引脚/备用电源输入引脚。 常见的复位电路有:上电复位电路和上电及按钮复位电路,如图3.3-5所示。 EA/Vpp(31脚):内外存储器选择引脚/片内EOROM编程电压输入。 3.2.2、数码管

LED数码管以发光二极管作为发光单元,颜色有单红,黄,蓝,绿,白,七彩效果,它属于一种照明装饰、亮化灯具。分类如下:

1、从控制方式上分:分为内控方式(内部有单片机,通电自动变色)和外控方式(需要外接控制器才能变色)。

2、从变化方式上分:分为固定色彩的和七彩、全彩的;固定色彩的是用来勾轮廓的,全彩的可以勾轮廓,也可以组成管屏显示文字、视频等;

3、从尺寸上分:有D50的、D30的,这是直径;长度基本上1米的(可以定制)。

4、从内部可控性上分:有1米6段的,有1米8段的和1米12段、1米16段、1米32段的。也就是1米的管子内有几段可以独立受控; 1米段数越多,做视频的效果越好。如果密度低,或者做些追逐效果,做1米6段也就可以了。

5、从led数量上,有1米96颗灯的,有1米144颗灯的;灯越多效果越好。一般做全彩的都是用1米144颗灯的。

6、从供电上分,分为高压供电(直接220V供电)和低压供电(12v供电,220v电源需要加开关电源转换);一般选择低压供电的,比较可靠稳定,高压供电的容易烧毁。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

3.2.3、74LS164