课程:姓名:班级:课程设计报告
单片机原理与接口技术 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