当前位置:文档之家› 数字电子钟设计说明书概论

数字电子钟设计说明书概论

目录1 数字电子钟设计任务、功能要求说明及总体方案介绍 (1)1.1设计任务 (1)1.2总体方案介绍及工作原理说明 (1)1.2.1 数字电子钟硬件与软件原理框图 (1)1.2.2 单片机的基本结构 (2)1.2.3 工作原理介绍 (3)2 数字电子钟的软件设计 (5)2.1KEIL软件介绍 (5)2.2单片机资源使用说明 (5)2.3软件系统各模块功能介绍 (6)2.4电子钟程序流程图 (6)2.5数字电子钟软件系统程序清单 (11)3 数字电子钟的仿真分析 (12)3.1系统的组成及使用说明 (12)3.2仿真结果 (12)3.3设计课题的仿真调试 (12)3.4误差分析 (12)4 数字电子钟硬件系统的设计 (13)4.1硬件原理框图 (13)4.2设计课题硬件系统各模块功能简要介绍 (13)4.2.1 AT89S52单片机原理简介 (13)4.2.2 9012 PNP三极管 (16)4.2.3 四位一体数码管 (16)4.3数字电子钟PCB图 (18)4.4电路的硬件调试 (18)4.5元器件清单 (18)5 设计总结 (20)5.1使用说明 (20)5.2设计结论 (20)5.3心得体会 (20)5.4教学建议 (21)结束语 (22)致谢 (23)参考文献 (24)附录A 电路原理图 (25)附录B 数字电子钟PCB图 (26)附录C PROTUES仿真原理图 (27)附录D 数字电子钟元器件布局图 (28)附录E 数字电子钟实物图 (29)附录F 程序清单 (30)1数字电子钟设计任务、功能要求说明及总体方案介绍1.1 设计任务设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。

1.2 总体方案介绍及工作原理说明1.2.1 数字电子钟硬件与软件原理框图电子钟的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接8个独立式键盘作为控制信号源,两个四位一体数码管作为显示器件,单片机实时的去执行相应的功能。

在数码管上显示出来,此时通过不同的按键来观察和调节各种数据。

本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示。

图1 数字电子钟硬件原理框图软件总设计框图如图2所示图2 软件总设计框图1.2.2 单片机的基本结构MCS-52单片机内部结构8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:(1)中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

(2)数据存储器(RAM)8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图3 单片机8052的内部结构(3)程序存储器(ROM):8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

(4)定时/计数器(ROM):8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

(5)并行输入输出(I/O)口:8052共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

(6)全双工串行口:8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

(7)中断系统:8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

(8)时钟电路:8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8052单片机需外置振荡电容。

1.2.3 工作原理介绍在本次设计里完成了电子钟功能。

数字电子钟主要是利用单片机定时/计数器的工作和中断服务的作用完成计时功能的,首先用定时计数器采用工作方式1,定时50ms,然后在累加20次实现1秒,单片机的定时时间一到,单片机会自动中断使程序转向中断服务程序执行,中断服务程序执行完就会返回原程序,等待下一次定时时间的到来再次产生中断。

在此基础上,单片机按照已设定的程序执行下去,使单片机能计算时间量完成计时功能。

在单片机并行I/O口扩展键盘和数码管,实现对时间的调整和显示。

2数字电子钟的软件设计2.1 keil软件介绍Keil C51 µVision2集成开发环境是Keil Software,Inc/Keil Elektronik GmbH 开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。

Keil C51集成开发环境的主要功能有以下几点:µVision2 for Windows:是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;C51国际际准化C交叉编译器:从C源代码产生可重定位的目标模块;A51宏汇编器:从80C51汇编源代码产生可重定位的目标模块;BL51链接器/定位器:组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块;LIB51库管理器:从目标模块生成连接器可以使用的库文件;OH51目标文件至HEX格式的转换器,从绝对目标模块生成Intel Hex文件;RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计。

这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。

2.2 单片机资源使用说明设计课题使用单片机资源的情况如下:P0口输出数码管段选信号,P2口输出数码管位选信号;晶振12M;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁;增加键ADD_KEY:P1.1;按一次使选中位加1;减少键DEC_KEY:P1.2;按一次使选中位减1;P3.1为蜂鸣器发声报时;50H-5FH;16个寄存器单元作为显示单元;50H 用于控制秒基准时钟源的产生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;堆栈栈底:70H。

2.3 软件系统各模块功能介绍主程序模块:程序的初始化及复位后显示P.,此时进入功能选择状态,按下K0选择电子钟并同时启动电子钟。

电子钟程序模块:当电子钟选择键按下时,先给缓冲区内清零,在通过查表给缓冲区一次送00-00-00并实现让00-00-00从左向右显示,一旦显示完则开启定时器开始计时,如果没有键按下则不断计时一直从00-00-00到23-59-59,然后重新从00-00-00开始。

这里采用定时器中断完成计时功能。

如果有键按下则启动2s定时,累计2s内K0按下的次数,按下1次则进入调秒状态,按下2次则进入调分状态,按下3次则进入调时,按下多次则无效,进入调整状态时,调整的改两位闪动显示并且蜂鸣器鸣叫以示提醒,次数按下K0键作为确认,按下K1就加1,按下K2就减1。

主要子程序模块:为了方便软件程序编写,编写了许多子程序,有键扫描程序,用来判是否有键按下;有显示子程序,用于数码管的显示;有加1、减1子程序,用于对电子钟显时分秒的调整;还有延时程序,用于数码管动态显示、键盘扫描去抖动、延时。

2.4 电子钟程序流程图系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用Proteous 进行仿真,读出显示数据。

主程序流程框图如4所示;加1子程序如5所示;中断服务程序程序如6所示;键盘扫描子程序框图如7所示;显示子程序框图如8所示;图4 主程序流程框图图5 加1子程序流程框图图6 中断子程序流程框图图7 键盘扫描子程序流程框图图8 显示子程序流程框图2.5 数字电子钟软件系统程序清单软件系统的程序清单如附录F所示。

3数字电子钟的仿真分析3.1 系统的组成及使用说明系统的组成部分包括:数码管显示器,三个按键,其它为单片机的最小系统组成单元,包括电源,晶振,三极管驱动部分,S1为复位按键/调时键,S2为增加键,S3为减少键,当按下S2,加一。

当按下S3,减一。

3.2 仿真结果系统的仿真主要是针对硬件设计之前的软件与硬件设计的一个仿真验证,看是电路及软件是否正确可行,仿真结果如下图9:图9 仿真结果3.3 设计课题的仿真调试先用keil软件编好源程序,然后用keil软件进行调试,如果不符合,则对源程序在进行修改,然后再调试运行,直到运行的结果符合要求为此,程序编好之后,生成Hex文件,再将编好的程序添加到proteus仿真软件的单片机的单片机中,运行proteus ,看显示是否正确,按相应的按键,看时或分是否会增加,如果显示不正常,则去修改相应的显示子程序,如果按键不正常,则去查按键子程序。

3.4 误差分析该电子钟在运行中存在一定的误差,误差产生有三种可能,首先是采用的计时方案是软件计时的,计时优势利用中断来实现。

而当电子钟运行时间1秒时,又得去执行中断程序,这个过程是需要时间的,所以就产生了一定的误差,当然这个误差是避免不了的,其次还有硬件系统也有一定的影响。

第三,设计用到12MHz的晶振,计算是满20次为一秒钟,但实际会慢很多。

4数字电子钟硬件系统的设计4.1 硬件原理框图图10 电子钟硬件原理框图4.2 设计课题硬件系统各模块功能简要介绍4.2.1 AT89S52单片机原理简介图11 单片机的结构图单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分。

(1)电源引脚VCC电源端GND接地端工作电压为5V,另有AT89LV51工作电压则是2.7-6V, 引脚功能一样。

相关主题