1、1目录第 1 章 Proteus 软件简介 .2第 2 章 电子时钟相关介绍 .22.1 电子时钟的总体简介 .22.2 电子时钟功能要求 .32.3 实现时钟计时的基本方法 .32.4 电子时钟的时间显示及操作 .4第 3 章 系统硬件设计 .43.1 AT89C52 单片机 .43.2 74LS245 芯片 .53.3 数码管显示工作原理 .63.4 键盘电路设计 .73.5 整个电路原理图 .8第 4 章 系统软件设计 .94.1 程序设计 .94.2 系统流程图 .94.2.1 主程序流程图 .94.2.2 加一子程序流程框图 .104.3 电子时钟程序 .11第 5 章 系统仿真 .
2、175.1 仿真结果 .175.2 仿真结果分析 .202第 6 章 结束语 .20参考文献 .21第 1 章 Proteus 软件简介PROTEUS 软件由 Labcenter 公司开发,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和 PCB 设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试与测试的 EDA 工具。微控制器系统相关的仿真需建立编译和调试环境,可选择 Keil 软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持 PLM、汇编和 C 语言的程
3、序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus 为我们建立了完备的电子设计开发环境。第 2 章 电子时钟相关介绍2.1 电子时钟的总体简介 1957 年,Ventura 发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,
4、用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用 LED 显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分3的校对,片选的灵活性好。该电子时钟由 89C52,74LS245 芯片,BUTTON ,八段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程
5、序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。电路中有 4 个控制键,A 按键按下第一次表示进入运行状态,再按一下表示键入调整状态,依次类推;通过 D 按键实现秒钟的累加,每按一次秒钟加一,累加到 60 秒钟清零;通过 C 按键实现分钟的累加,每按一次分钟加一,累加到 60 分钟清零;通过 B 按键实现小时的累加 ,则可实现小时的调节,同样每按一次小时加一累加到 24 小时清零。 2.2 电子时钟功能要求 可调整运行的电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。(1) 、 “P.”状态,依靠上电或按复位键进入,在此状态下,按 B、C、D
6、 键均无效,按 A 键有效,进入运行状态;(2) 、运行状态,按奇数次 A 键进入,在此状态下,按 B、C、D 键均无效,只有按 A 键有效,按下 A 键后,退出运行状态,进入调整状态;(3) 、调整状态,按偶数次 A 键进入,在此状态下,按 A、B、C、D 键均有效。如按下 A 键,则退出调整状态,进入运行状态;按下 B、C、D 键,则分别对时、分、秒加 1,调整结束后必须按 A 键,即可退出调整状态,进入运行状态。基本功能要求:“P.”稳定地显示在 LED 显示器的最左端数码管(LED5)上,无 A 键按下(在“P.”状态下,按下 B、C、D 键无效) ,则不进入电子钟的运行状态,继续显示
7、“P.” 。按下 A 键后,电子钟以起始时间:00 时 00 分 00 秒开始运行。再次按下 A 键后,电子钟退出运行状态,进入调整状态,利用 B、C、D 键把电子钟的显示时间修改为当前实时时间,时间修改正确后可再次按下 A 键,电子钟则退出调整状态,进入运行状态。注意:每次按下 B、C、D 键,只允许加一,不允许连加。42.3 实现时钟计时的基本方法 利用 MCS-51 系列单片机的可编程定时/计数器、中断系统来实现时钟计数。(1) 计数初值计算:把定时器设为工作方式 1,定时时间为 50ms,则计数溢出 20 次即得时钟计时最小单位秒,而 100 次计数可用软件方法实现。假设使用 T/C0
8、,方式 1,50m s 定时,fosc=12MHz。则初值 X 满足(2 16-X)1/12MHz12s =50000sX=1553600111100101100003CB0H(2) 采用中断方式进行溢出次数累计,计满 20 次为秒计时(1 秒) ;(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。 2.4 电子时钟的时间显示及操作 利用 AT89S52 单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作
9、用。电子钟的时钟时间在六位数码管上进行显示,因此,在内部 RAM 中设置显示缓冲区共 8 个单元:LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED137H 36H 35H 34H 33H 32H 31H 30H时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位电子钟设置 4 个按键通过程序控制来完成电子钟的启、停及时间调整:A 键控制电子钟的启、停;B 键调整小时;C 键调整分钟;D 键调整秒钟。5第 3 章 系统硬件设计3.1 AT89C52 单片机 单片机(SCM)是单片微型计算机 (Single Chip Microcomputer)的简称。它是把中央
10、处理器 CPU、随机存储器 RAM、只读存储器ROM、I/O 接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。随着 SCM 在技术上、体系上不断扩展其控制功能,国际上已经采用 MCU(MicroControllerUnit)代替单片机的名词。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出适配器简单,功能较低。目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。近年来,AT89C52 在我国非常流行 。通过对多种单片机性能的分析,最终认为 89C52 是最理想的电子时钟开发芯片。89C52 是一种带 4K 字节闪烁可编程
11、可擦除只读存储器的低电压,高性能 CMOS8 位微处理器,器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 89C52 是一种高效微控制器,而且它与 MCS-52 兼容,且具有 4K 字节可编程闪烁存储器和 1000 写/擦循环,数据保留时间为 10 年等特点,是最好的选择 2 。 图 3.1 AT89C5263.2 74LS245 芯片74LS245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。 74LS
12、245 还具有双向三态功能,既可以输出,也可以输入数据。 当 8051 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时,必须接入74LS245 等总线驱动器。 当片选端/CE 低电平有效时,DIR=“0” ,信号由 B 向 A 传输;(接收) DIR=“1”,信号由 A 向 B 传输;(发送)当/CE 为高电平时,A、B 均为高阻态。 由于 P2 口始终输出地址的高 8 位,接口时 74LS245 的三态控制端/1G 和/2G 接地,P2 口与驱动器输入线对应相连。P0 口与 74LS245 输入端相连,/E 端接地,保证数据现畅通。8051 的/RD 和/PSEN 相与后接 DI
13、R,使得/RD 或/PSEN有效时,74LS245 输入(P0.iDi) ,其它时间处于输出(P0.iDi) 。图 3.2 芯片 74LS24573.3 数码管显示工作原理数码管是一种把多个 LED 显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个 LED 显示段的阳极接在一起,又称为公共端。共阴型就是把多个 LED 显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为 8 段,即 8 个 LED 显示段,这是为工程应用方便如设计的,分别为 A、B、C、D、E、F、G、DP,其中 DP 是小
14、数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的 A 段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的 8 段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用 8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来 3。图 3.3 8 段共阳数码管3.4 键盘电路设计 该设计用 4 个键盘
15、,实现的功能是比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节。A 按键按下第一次表示计时开始,再按一下表示暂停,再按下接着计时,依次类推;通过 D 按键实现秒钟的累加,每按一次秒钟加一,累加到 60 秒钟清零;通过 C 按键实现分钟的累加,每按一次分钟加一,累加到 60 分中钟小时进一;通过 B 按键实现小时的累加 ,则可实现小时的调节,同样每按一次小时加一累加到 24 小时清零。 8图 3.4 控制键3.5 整个电路原理图 图 3.5 系统电路原理图9第 4 章 系统软件设计4.1 程序设计 程序设计是指设计、编制、调试程序的方法和过程,是目标明确的智力活动。在进行控制系统设
16、计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。故软件设计在电子时钟设计中占重要地位。4.2 系统流程图 4.2.1 主程序流程图 开 始系 统 初 始 化进 入 自 动 计 时 状 态A键 按 下 否检 测 到 A键 按 下进 入 时 间 设 置 状 态P.显 示检 测 到 A键 按 下NYNNYY图4.2.1主程序流程框图104.2.2 加一子程序流程框图开 始取 十 位 数使 十 位 数 占 A高 半 字 节取 个 位 数 占 A低 半 字 节加 一十 进 制 调 整个 位 数 送 入 缓 冲 单 元把 十 位 数 交 换 到 低 半 字 节十 位 数 送 缓 冲 单 元结 束图 4.2.2 加一子程序