基于51单片机可调数字钟的设计 联系客服

发布时间 : 星期二 文章基于51单片机可调数字钟的设计更新完毕开始阅读ad2d252f227916888586d72e

安阳师范学院

单片机技术课程实践

——基于89C51单片机可调数字钟的仿真设计

班级: 姓名: 学号: 辅导老师: 设计时间:

1. 设计目的

1.1设计目的

(1)掌握51系列内部定时/计数器的原理和基本应用; (2)掌握使用单片机处理复杂逻辑的方法; (3)掌握多位数码管动态显示的方法;

(4)掌握独立式(和矩阵)键盘的编程方法;

(5)掌握利用汇编语言编写单片机系统的应用软件的方法;

(6) 巩固,加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;

(7) 培养针对课题需要,选择和查阅有关手册,图表及文献资料的自学能力,提高组成系统,编程,调试的动手能力;

(8) 熟悉单片机用系统开发,研制的过程,软硬件设计方法,内容及步骤. (9) 了解数字钟的组成及工作原理.

1.2设计性能

(1)用51单片机的定时/计数器TMR0产生一秒的定时时间,作为秒计数时间;

(2)当一秒产生时,秒计数加1;

(3)开机时,显示00.00.00,并开始连续计时;

(4)计时满23.29.59时,返回00.00.00重新开始计时;

(5)在以上设计基础上,在单片机的I/O口上分别接入四个按键:K0—控制“秒”的调整,每按一次加1秒;K1—控制“分”的调整,每按一次加1分;K2—控制“时”的调整,每按一次加1小时;K3—时间复位按键。

1

2.系统电路的方案

2.1实现时钟计时的基本方法

用AT89C51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1开机时。显示00-00-00的时间,开始计时;计时满23-59-59时,返回00-00-00重新计时

AT89C51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能寄存器TMOD,即可完成。定时/计数器何时工作也是通过TCON特殊功能寄存器来设置的。

在此设计中,选择16位定时工作方式。对于T0来说,系统时钟为12MHz,最大定时也只有65536us,即65.536ms,无法达到我们所需要的1秒的定时,因此,必须通过软件来处理这个问题,假设取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时。对于这20次计数,就可以采用软件的方法来统计了。

设定TMOD=01H,设置定时/计数器0工作在方式1。

给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算出: N=t/Ty=(50×10^-3)/(1×10^-6)=50000 X=65536-50000=15536=3CB0H 即TH0=3CH,TL0=0B0H.

这样,当定时/计数器0计满50ms时,产生一个中断,我们可以在中断服务程序中,对中断次数加以统计,以实现数字钟的逻辑功能。

2.2数字钟的时间显示

显示器的时间显示采用动态扫描电路驱动形式,以达到简化电路的目的。但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用 74LS244或者晶体管;其中74LS244是用来驱动段选码,晶体管是驱动位选码。 电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。 LED8 37H LED7 36H LED6 35H 分隔符 LED5 34H LED4 33H LED3 32H 分隔符 LED2 31H LED1 30H 小时 分钟 秒 2

3.系统的硬件设计

3.1单片机的功能介绍

AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示 。

图3.1 单片机AT89C52引脚功能简化图

3.2时钟振荡电路

时钟振荡器即时钟脉冲发生器,产生整个芯片内部各功能电路正常操作所需的时钟脉冲和定时信号。最常用的一种电路连接方法是,在XTAL1和XTAL2这2只引脚之间外接一只晶体振荡器XTAL和2只电容C1和C2到地(如图5-3所示),与片内电路共同构成一个多谐振荡器电路。其振荡频率取决于外接石英晶体振荡器元件XTAL的固有频率,常选取12MHZ或6MHZ的晶振。

典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。

3