1、第 1 页 共 20 页基于单片机的简易电子时钟设计1 设计任务与要求1.1 设计背景数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合
2、分析和设计电路,写程序、调试电路的能力。单片根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图 1 所示。机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。1.2 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;
3、(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。第 2 页 共 20 页1.3 设计要求1)时制式为 24 小时制。2)采用 LED 数码管显示时、分,秒采用数字显示。3)具有方便的时间调校功能。4)计时稳定度高,可精确校正计时精度。2 总体方案设计 2.1 实现时钟计时的基本方法利用 MCS-51 系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算 :把定时器设为工作方式 1,定时时间为 50ms,则计数溢出 20 次即得时钟计时最小单位秒,而 100 次计数可用软件方法实现。假设使用 T/C0,方式 1,5
4、0ms 定时,fosc=12MHz。则初值 X 满足(216-X)1/12MHz12s =50000sX=155360011110010110000 3CB0H(2) 采用中断方式进行溢出次数累计,计满 20 次为秒计时(1 秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。2.2 电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部 RAM 中设置显示缓冲区共 8 个单元。LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位 时个位 分隔 分十位 分个位 分隔 秒十位
5、秒个位2.3 电子钟的时间调整电子钟设置 3 个按键通过程序控制来完成电子钟的时间调整。A 键调整时;第 3 页 共 20 页B 键调整分;C 键复位2.4 总体方案介绍2.4.1 计时方案利用 AT89S51 单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。2.4.2 控制方案AT89S51 的 P0 口和 P2 口外接由八个 LED 数码管(LED8LED1) 构成的显示器,用 P0 口作 LED 的段码
6、输出口,P2 口作八个 LED 数码管的位控输出线,P1 口外接四个按键 A、B、C 构成键盘电路。AT89S51 是一种低功耗,高性能的 CMOS 8 位微型计算机。它带有 8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用 ATMEL 的高密度非易失性存储器技术制造,与工业上标准的 80C51 和 80C52 的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的 I/O 便可完成,所以本设计中采用此的设计方案。3 系统硬件电路设计根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:单片机模块
7、、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图 1 所示。第 4 页 共 20 页图 1 硬件电路方框图3.1 单片机模块设计311 芯片分析AT89C51 单片机引脚图如下:图 2 AT89C51 引脚图MCS-51 单片机是标准的 40 引脚双列直插式集成电路芯片,其各引脚功能如下:VCC:+5V 电源。VSS:接地。第 5 页 共 20 页RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1 和 XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时
8、钟脉冲信号。P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使 FET 截止,以避免锁存器为“0”状态时对引脚读入的干扰。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,它不再需要多路转接电路 MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的 FET 截止。P2 口:P2 口电路比 P1 口电路多了一个多路转接电路 MUX,这又正好与 P0 口一样。P2 口可以作为通用的 I/O 口使用,这时多
9、路转接电路开关倒向锁丰存器 Q 端。P3 口:P3 口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为 I/O 口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表 1 所示。3.1.2 晶振电路右图所示为时钟电路原理图,在 AT89S51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。而在芯片内部,XTAL1 和XTAL2 之间跨接晶体振荡器和微调电容,从而构成一个
10、稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。第 6 页 共 20 页图 3 晶振电路3.1.3 复位电路单片机复位的条件是:必须使 RST/VPD 或 RST 引( 9)加上持续两个机器周期(即 24 个振荡周期)的高电平。例如,若时钟频率为 12 MHz,每机器周期为1s,则只需 2s 以上时间的高电平,在 RST 引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET 端的电位与 VCC 相同,随着充电电流的减少,RESET 的电位逐渐下降。只要保证 RESE
11、T 为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,若要复位,只需按图中的 RESET 键,此时电源 VCC 经电阻 R1、R2 分压,在 RESET 端产生一个复位高电平。图 4 单片机复位电路3.2 数码显示模块设计系统采用动态显示方式,用 P0 口来控制 LED 数码管的段控线,而用 P2 口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个第 7 页 共 20 页数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图 5 数码显示电路3.3 按键模块下
12、图为按键模块电路原理图,A 为复位键,B 为时钟调控键, C 为分钟调控键。第 8 页 共 20 页图 6 按键模块电路原理图4、系统软件设计4.1 软件设计分析在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图 7:图 7 系统总体流程图4.2 源程序清单ORG 0000H第 9 页 共 20 页MOV 30H,#1 设置时钟的起始时间 12.00.00,分配显示数据内存MOV 31H,#2 MOV 32
13、H,#0MOV 33H,#0MOV 34H,#0MOV 35H,#0MOV TMOD,#01 启动计数器XS0: SETB TR0 使 TRO 位置 1MOV TH0,#00H 计数器置零MOV TL0,#00HXS:MOV 40H,#0FEH 扫描控制字初值MOV DPTR,#TAB 取段码表地址MOV P2,40H 从 P2 口输出MOV A,30H 取显示数据到 AMOVC A,A+DPTR 查显示数据对应段码第 10 页 共 20 页MOV P0,A 段码放入 P0 中LCALL YS1MS 显示 1MSMOV P0,#0FFH PO 端口清零MOV A,40H 取扫描控制字放入 A 中RL A A 中数据循环左移MOV 40H,A 放回 40H 地址段内MOV P2,40HMOV A,31H ADD A,#10 进位显示MOVC A,A+DPTR MOV P0,ALCALL YS1MSMOV P0,#0FFHMOV A,40HRL AMOV 40H,AMOV P2,40HMOV A,32H