搜档网
当前位置:搜档网 › 数字电子钟设计说明书概论

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

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

目录

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所示;

相关主题