基于51单片机的简易电子钟设计
2017-07-18孟羽佳
孟羽佳
(东北林业大学机电工程学院,黑龙江哈尔滨,150040)
基于51单片机的简易电子钟设计
孟羽佳
(东北林业大学机电工程学院,黑龙江哈尔滨,150040)
本文以STC89C51单片机为核心控制器,在它的引脚上接上其他电子元器件以及外围电路,设计了一个电子时钟。这个电子钟显示时间是用数码管实现的,本设计选用的数码管是6位数码管,以分别实现对“时”、“分”、“秒”进行数字显示,它们之间的间隔用数码管上的小数点来分割,采用74HC573锁存器来驱动六位8段数码管,并利用石英晶振产生时钟脉冲,并利用单片机内部的定时器计数,通过程序和外围电路控制数码管进行动态显示。本文提供一种简单且廉价的设计方案,广大的电子科技爱好者可以参考并自行制作。
电子钟;数码管;STC89C51单片机
0 引言
电子钟是当前市面上十分普及的计时装置,它成本低廉,计时准确,而且由于其显示装置可以发光,因此夜间也清晰可见,它的性价比是比较高的,现在人们尤其是在青年人群中,使用电子计时装置的人数已经大大超过了传统的上弦表。本设计采用的是目前市面上比较普遍的STC89C51单片机,它是一款8位的处理器,即数据是以8位来运算和处理的。虽然现在有很多单片机比51单片机性能好,但是价格却很昂贵,这显然不符合我们制作电子时钟追求高性价比的初衷,而且选用的这款STC89C51单片机的抗干扰能力强,体积小,对于电子设计初学者来说也是比较容易的。这款单片机结合数码管、独立按键、11.0592MHz晶振、74HC573锁存器、数码管等器件,通过在万用板上的焊接,或者将元件焊在事先设计制作好的PCB板上,就完成了一个电子钟的制作。
图1 电子时钟总体框图
图2 单片机内部结构框图
1 系统设计原理
本设计采用STC89C51单片机作为主控制器,外部加上74HC573驱动数码管。系统总体框图如下所示。
1.1 STC89C51单片机
STC89C51单片机内部由CPU、4KB的ROM、256B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时器/计数器等组成,可进行程序存储、数据运算和控制外围电路等,因此是电子钟的正常工作的核心。其结构框图如图2所示。
1.2 时钟电路原理
STC89C51单片机的时钟信号通常由两种方式产生:一是内部时钟方式,二是外部时钟方式。在STC89C51单片机内部有一时钟振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号,这里选用11.0592MHz的晶振。
图3 STC89C51内部时钟电路
1.3 数码管显示原理
数码管是四位共阳极数码管,即每位数码管上的8个8个发光二极管以共阳极方式连接,那么数码管的8位段选码只要在相应位置低电平即可使某一二极管亮,若要显示“8.”那么段选码应为“0x00”,这样才能使每位数码管上的8个发光二极管都被点亮,数码管的8个段选引脚是分别接到P0.0到P0.7引脚的,因此控制P0口的输出信号来控制数码管的段选。由于6位数码管的每位的8个段选都是连在一起的,因此在段选引脚上输入的信号会被同时送到6个数码管上去。所以为了实现四位数码管可以显示不同的数字,则必须要用扫描的方式使各位数码管轮流显示。6位数码管有6个位选引脚,将它们分别接到单片机的P2.0到P2.5引脚上去。这样通过控制P2口低四位的输出电平的高低即可控制哪一位数码管点亮。比如将P2.0引脚置为低电平,则显示“分钟的十位”的数码管允许通入段选信号,将P2.3引脚置为低电平,则显示“秒的个位”的数码管允许通入段选信号。这样通过比较快速的扫描,即可实现6位数码管轮流被位选导通。由于人眼的视觉暂留效应,因此以很快的速度扫描的话,人眼会认为是四个数码管一起在亮。利用这个原理,我在程序中设定大约是每10us就换一个位显示,保证人眼看到是一起亮的。6位数码管如图4所示。
图4 六位数码管引脚图
2 硬件电路设计
电子钟的硬件电路设计通过Altium Designer软件完成,首先将需要的电子元器件所在的元件库导入到工程中,然后将各元器件从器件库中拖拽出来,然后在元器件之间用导线连接,在设计硬件电路时,注意电阻和电容的大小和种类,最后进行电气规则检查,以确定准确无误。
图5 电子时钟整体电路原理图
2.1 复位电路
单片机在初始上电时,使CPU以及其他功能部件处于一个确定的初始状态,需要复位,但此时是自动复位。但是在单片机工作过程中,如果出现系统瘫痪,也有必要对单片机进行复位,使其从程序存储器的内程序的起点开始工作,这是手动复位。MCS-51的复位电路包括上电复位电路和按键复位电路。RST为复位引脚。复位功能为单片机上电后,在该引脚上出现两个机器周期(24个振荡周期)宽度以上的高电平,就会使单片机复位。本设计使用的是按键复位电路,按下复位按键,电容C被充电,RST端的电位逐渐升高为高电平,实现复位操作,按键释放后,电容器经内部下拉电阻放电,RST端恢复低电平。复位电路如图6所示。
图6 按键复位电路
2.2 按键调时电路
单片机键盘有独立键盘和矩阵式键盘两种:独立键盘每一个I/O 口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。根据本设计,分别完成对“小时、分、秒”的加减设置,需要3个按键,还有一个按键用来进行12/24小时制的切换,总计需要4个按键即可。因此这里选用了独立式键盘接法,按键电路如图7所示。
图7 按键调时电路
2.3 电源供电电路
在整个电路设计中,有很多元器件都有接地端,这些接地端通过导线最终都连接到一个“公共地”端,但是由于实际需要,电子钟不可能一直处于工作状态,所以在本设计中,在干路里加入了一个六脚自锁开关,同时加入电源指示灯,这样即可通过自锁开关的通断来控制系统工作与否,同时可以通过指示灯的亮灭判断电子钟电源的供电状态。电源供电电路如图8所示。
图8 电源供电电路
3 系统软件设计
单片机中存储器中的程序是通过Keil C51软件编写程序,然后烧入到单片机中的,这样在每次上电时,程序自动从程序存储器中的第一行开始运行,进而实现通过单片机的引脚对外围电路的控制。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,通过此软件用C语言编写单片机程序十分方便,本设计电子钟的程序流程图如图9所示。
图9 数字电子钟程序流程图
4 设计总结
本简易电子钟是基于STC89C51单片机的一个最小系统设计,在完成原理电路图的设计之后,要进行的是焊接工作。要准备焊锡在万用板上焊接,焊接过程中要注意防止出现虚焊、漏焊、错焊等问题。在焊接好后,不要忙于通电,首先要检测有没有短路,万一有短路就通电,将会很麻烦,容易烧毁电路板或元器件,更容易引发安全隐患,应确保无短路再通电。本电子钟所需的元器件购买的成本价很低,并且在制作过程中有助于理解51单片机的性能及应用方法,同时用Keil C51软件编写程序有助于锻炼程序编写能力。同时设计这个简易电子时钟使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练,培养了我运用所学知识解决实际问题的能力。
[1] 白雪冰.张延林.单片机设计与应用[M].哈尔滨:东北林业大学出版社,2007.
[2]程光璇. 普通单片机电子时钟的设计[J]. 电子世界,2011,(08):33-35.
[3] 谢自美.电子线路设计·实验·测试[M].武汉:华中理工大学出版社,1992.
[4] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.
[5] 楼然笛.单片机开发[M].北京:人民邮电出版社,1994.
[6] 付家才.单片机控制工程实践技术[M].北京:化学工业出版社 2004.3.
[7] 朱定华.单片机原理及接口技术实验[M].北京:北方交通大学出版社2002.11.
[8] 刘湘涛.江世明.单片机原理与应用[M]. 北京:电子工业出版社,2006.
Simple electronic clock design based on 51 single chip microcomputer
Meng Yujia
(College of mechanical and electrical engineering Northeast Forestry University, Heilongjiang Harbin,150040)
in this paper, STC89C51 microcontroller as the core controller, on its pin connected to other electronic components and peripheral circuits, the design of an electronic clock. The electronic clock display time is the realization of digital control, digital tube is used in this design is 6 digital tube, to achieve the “time”, “sub”, “seconds” digital display, the interval between them with digital tube decimal point to segmentation, using 74HC573 to drive six 8 digital tube latch, and generates a clock pulse using quartz crystal, and the use of single-chip internal timer count, through the program and control circuit in the digital tube dynamic display. This paper provides a simple and inexpensive design, the majority of electronic technology enthusiasts can refer to and make their own.
electronic clock; digital control; STC89C51 MCU
孟羽佳 (1995年),男,黑龙江省哈尔滨人,满族,研究方向 电子技术,自动化技术,计算机技术。