随着社会的进步及科技的发展, 如今的社会已经是智能化的社会。单片机作为自动化的重要元素, 它的功能得到了不断的完善。现在单片机已经在许多领域占有一席之地, 电子电器、工业设备、航空航天、军事通信等领域都可看到它的身影。
LED数码管采用24h计时、显示模块由六位数码管组成, 分别显示时十位、时个位、分十位、分个位、秒十位、秒个位;输入模块由四个按键组成, 分别控制设置/启动、时/分、上调、下降;控制模块由AT89S52单片机作为核心控制, 采用11.059MHz晶振。
时钟电路原理如图1所示。
控制模块由单片机、复位电路和时钟电路组成最小系统。
A T 8 9 S 5 2是一种低功耗、高性能CMOS8位微控制器, 8k字节Flash, 256字节RAM, 32位I/O口线, 看门狗定时器, 2个数据指针, 三个16位定时/计数器, 一个6向量2级中断结构, 全双工串行口, 片内晶振及时钟电路。
显示模块采用8个共阳极动态显示LED数码管, LED数码的段码信号和片选信号由单片机的P0、P2口加上NPN放大后进行驱动。
输入模块由四个按键组成。按键直接接在四条I/O线上, 另一端接地。在按键没有按下时, 输入为高电平。
软件的设计采用模块化的方式, 根据各个功能, 将程序分成几个模块, 通过主程序将各个模块衔接起来。
A T89S 52单片机有3个定时器/计数器, 这里只需用到定时器T0。定时器T0工作在16位定时器状态, 在方式1的工作模式下。为了便于一个定时器多用途, 将其初值设为1ms, 则晶振为11.0592时, 定时器TH0为:0XFC, TL0为:0X66。利用定时器中断, 每当T0溢出1000次, 则时钟增加1秒。按此方法, 具体程序如下:
显示采用动态显示的方式, 利用P2口高电平依次选中8个LED数码管, 每选中一片后, P0口传出相应的段码。定义数组M7G[11], 用于存放0~9个数字以及“-”、灭的段码。定义数组str[8], 用于存放每个相应的LED数码管需要显示的数值。
用于调整时间。当第一次按下“设置/启动”键时, 默认设定分的模式;按下“分/时”键在设定时的模式, 再按一次“分/时”键则回到设定分的模式, 以此来选择分、时模式;按“+”、“-”键可以上下调整选定的模式的值;第二次按下“设置/启动”键, 时钟在设定的值的基础上正常运行。使用变量rea d_tmp来进行键盘抖动处理。
将程序编译生成hex文件烧录到单片机中, 进行电路的调试。电子时钟可以正常进行。该电子时钟设计简单、成本低廉。但是也存在的以下几个问题需要后续改进: (1) 电子时钟采用的是单片机内部的晶振进行时间控制, 但是这样的时间不是很精确。 (2) 时钟的时、分、秒之间采用来的“-”来进行隔离, 不是很美观, 应该采用“:”进行分隔; (3) 存在按键防抖问题, 可以在中断中添加延时5~10ms解决该问题。
摘要:本文介绍了一种基于AT89S52单片机的简易数码管时钟的电路设计方案, 包括了硬软件的设计细节。设计中主要由控制模块、显示模块和输入模块组成。由单片机的I/O口直接驱动这显示和输入模块。该设计简单易操作, 对于初步单片机开发有一定的意义。
关键词:单片机,数码管,时钟
[1] 王静霞.单片机应用技术 (C语言版) [M].北京:电子工艺出版社, 2009.
[2] 彭伟.单片机C语言程序设计实训100例:基于8051+Proteus仿真[M].北京:电子工艺出版社, 2009.
[3] 梁建华.基于AT89S51单片机的数码管时钟电路的设计与实现[J].吉林广播电视大学学报, 2012 (4) :26-27.
推荐阅读:
简易的水果买卖合同06-25
简易的汽车租赁合同05-23
货场租赁简易合同06-18
信访事项简易办理办法06-06
简易房屋买卖合同06-10
身体平衡能力简易训练法06-19
简易弱电工程合同06-23
简易个人房屋租赁合同书06-10