基于51单片机数字时钟的设计 联系客服

发布时间 : 星期一 文章基于51单片机数字时钟的设计更新完毕开始阅读7f934805a6c30c2259019e90

基于单片机数字钟的设计

的情况。因此,延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式,延时时间不影响时钟。

如果,设计时采用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖,其处理思想是:中断不能连续执行,两次之间有一定的时间间隔。

4.3数字钟的操作

按键KEY0

状态1: KEY0=k-0,调整数字钟的秒数据,每按一次加1秒。 状态2: KEY0=k-1, 调整数字钟的分数据,每按一次加1分。 状态3: KEY0=k-2,调整数字钟的时数据,每按一次加1时。

状态4: KEY0=k-3,设置按键,按一次时间为停止状态,时间设好后再按一次时间即按设好的时间开始。

说明:状态N表示KEY0键按下N次。在进行调整或设置状态时,显示对应状态的数据并且对应的各调整位数码管的DP点亮。这样可以使调整更加可视化。

4.4 本章小结

本文从整体到部分详细介绍了数字钟的设计,在比较重要的部分进行了

详细的论述,并且给出了程序框图及说明。文中在讨论部分隐含的给出了几种数字钟的设计方法,在最后给出了一种采用中断方式设计的数字钟,此方法得到了实验的证明。其可靠性和稳定性都达到了很好的效果。在文中最后给出的设计的基础上很容易扩展写入年月日,其方法基本与时间的显示和调整相类似。

第5章 数字钟的工作原理介绍 5.1 实现时钟计时的基本方法

利用MCS-52系列单片机的可编程定时/计数器、中断系统来实现时钟计数。 (1) 计数初值计算:

把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。假设使用T/C0,方式1,50ms定时,fosc=12MHz。则初值X满足(216-X)×1/12MHz×12μs =50000μs

X=15536→0011110010110000→3CB0H

22

基于单片机数字钟的设计

(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒); (3) 从秒到分和从分到时的计时是通过累加和数值比较实现。

5.2 数字钟的时间显示

电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。

LED8 LED7 LED6 LED5 LED4 LED3 LED2 LED1 37H 36H 35H 34H 33H 32H 31H 30H 时十位 时个位 分隔 分十位 分个位 分隔 秒十位 秒个位

5.3 计时

利用AT89S52单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。

5.4 键盘/显示

AT89S52的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B构成键盘电路。

AT89C51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易数字钟的功能不复杂,采用其现有的I/O便可完成,所以本书中采用此的设计方案。

5.5 本章小结

要进行基于单片机的电子钟设计,首先要对单片机的定时器/计数器有全面的理解和掌握。把理论基础和实践结合起来,才能真正的做到融会贯通。

23

基于单片机数字钟的设计

第6章软件设计与源程序代码 6.1软件选择与介绍

6.1.1软件介绍

Proteus6.9的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。 单片机仿真软件proteus功能和使用场合

Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。

24

基于单片机数字钟的设计

Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。

6.1.2 该软件的特点:

① 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。 (1)proteus的工作过程

运行 proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。

(2)Proteus软件所提供的元件资源

Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等,具体情况如表1所列。

25