APP下载

单片机作息时间控制钟

2016-05-14袁孟

中国教育技术装备 2016年8期
关键词:单片机

袁孟

摘要 本设计是以AT89C51为核心的实时控制系统,根据具体硬件,再结合应用对象,设计出相应的程序完成设计。单片机作息时间控制钟可模拟显示时、分、秒,并可根据学校的作息时间按时打铃、播放音乐和广播操节目等。此外系统还设置二个按钮,分别用来调时和调分,以保证时钟与标准时间的吻合。

关键词 单片机;电子时钟;时钟控制

中图分类号:G712 文献标识码:B文章编号:1671-489X(2016)08-0042-02

1 工作原理

MCS-51共有2个16位的定时器,以实现定时功能。本设计通过MCS-51内部定时器T0产生中断来实现计时。T0工作在定时器工作方式1,每100 ms中断1次,利用软件将基准100 ms(1/10)单元进行累加计数。当定时器产生10次中断后就产生了1 s信号,这时秒单元加1;当秒单元加到60时,分单元就加1;当分单元加到60时,那么时单元就加1,从而产生秒、分、时等时间值,并通过连接在8155A口、B口上的六位LED显示器进行显示。

把学校的作息时间预先制成表格存入EPROM数据区中,利用软件每过1 s将当前时间与数据区时间相比较,相等说明要进行某一项控制,从而可完成打铃、息铃、播放广播操作等控制。

2 硬件设计

硬件系统以AT89C51为核心,加上复位电路、振荡电路、显示电路组成。

核心元件AT89C51 本设计采用ATMEL公司的AT89C51作为中央处理芯片。AT89C51是一种带4 K字节Flash存储器的低电压、高性能CMOS 8位微处理器,与工业标准的MCS-51指令集和输出管脚相兼容。

上电复位电路 如图1所示,在通电瞬间,由于C,通过R1充电,在RES端出现正脉冲,89C51加电后自动复位。C3、R1随CPU时钟频率而变化,可由实验调整。当采用12MHz晶体振荡器时,C3为10μF、R1为11 kΩ,就能可靠复位。

振荡电路 XTAL1、XTAL2分别是89C51芯片内部一个高增益反相放大器的输入、输出端。在XTAL1、XTAL2引脚上直接跨接晶体振荡器和微调电容,如图中的晶振和电容组成并联谐振回路,则在内部可产生与外部晶振同频率的振荡时钟。晶体的振荡频率可以在1.2~13 MHz之间任选,电容C1、C2在5~30 pF之间选择,以对时钟起微调作用。本设计用30 pF的电容及12 MHz的晶振,如图2所示。

显示电路 如图3所示,显示电路由芯片D8155C-2、74LS365,6个LED显示器以及8个上拉电阻组成。

1)使用的元器件。D8155C-2芯片内具有256 B的静态RAM、2个8位和1个6位的可编程并行I/O口、1个14位定时器等常用部件及地址锁存器,可与AT89C51直接相接,而不需要任何硬件。

74LS365是一个6总线驱动器。由于要带动LED显示器,D8155C-2驱动能力不足,因此加上74LS365为驱动器,提高电路带负载能力。此外,加上+5V电源和8个上拉电阻,使电路的驱动能力进一步提高。

2)工作原理。当89C51把段码传到接口扩展芯片D8155C-2以后,从PA口传出,电平经上拉后接到LED中;再由PBI到PB5发出位选择信号,经过驱动芯片74LS365,使相应的LED显示出数字;再由89C51传下一个要显示的位到D8155C-2中,继续显示下一位,直到六位都显示完为止。

其他电路 根据设计要求,电路中加上两个轻触式开关,用于调时、调分。并从P1.0和P1.4引出两个控制信号,分别控制响铃和广播(分别用两个发光二极管表示,亮为开,不亮为关)。

3 软件设计

本设计是汇编语言进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

根据设计要求,启用INT0、INTI中断服务用来调时、调分;用T0中断,产生0.1 s中断,并由程序计数累加,实现计时。

数据区中每一项时间控制字需要占用8个存储单元:

启动装置时间:控制码1、时、分、秒;

关闭装置时间:控制码2、时、分、秒。

89C51单片机的P1.0用作电铃的开启和关闭,P1.4用作广播的开启和关闭。

4 系统调试

硬件调试

硬件调试分为两次调试。第一个程序测试复位电路、振荡电路、两个开关电路和控制信号输出。开两个外部中断,测试两个开关电路,在中断子程序中向P1.0和P1.4输出信号,测试控制信号。当工作正常时,同时可以证明上电复位电路和振荡电路都正常。显示是重要的一部分,由D8155C-2驱动LED,向A口分别送1、2、3、4、5、6、7、8、9、A所对应的段码,然后分别选中各个数码管,使它们分别显示1、2、3、4、5、6、7、8、9、A。

软件调试

软件主要是在uVision4中调试。由于采用模块化设计,因此可以对每个子程序分别进行。INTO、INTl子程序功能一样,只须对其中一个进行调试。在调试过程中要时刻关注用到的工作寄存和有关输入输出口,以作为判断程序是否有问题的条件。

5 总结

本文中的作息时间控制钟是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快,节省存储空间。软件的设计采用模块化结构,使各子程序的关系更加简洁明了,便于维护。

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计