数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx

上传人:b****1 文档编号:13401786 上传时间:2022-10-10 格式:DOCX 页数:23 大小:400.68KB
下载 相关 举报
数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx_第1页
第1页 / 共23页
数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx_第2页
第2页 / 共23页
数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx_第3页
第3页 / 共23页
数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx_第4页
第4页 / 共23页
数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx

《数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

数字电子钟设计原理图+pcb图+程序课程设计docxWord文档下载推荐.docx

本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块

(1)单片机最小系统模块:

AT89S52单片机芯片;

复位电路;

晶振电路。

本模块AT89S52系统控制核心,单片机系统复位由按键电平复位电路完成,通过按键S1来控制,单片机通过芯片引脚XTAL1、XTAL2,外并接石英晶体振荡器和两只电容。

这样就为能为单片机提供频率为12MHz的晶振。

(2)输入模块:

本模块共用到了5个按键,1个电源开关,1个复位键,单片机运行期间,利用按键S1完成复位操作。

4个独立按键,S2键控制电子钟的启动/调整状态,S3键为小时调整键,S4键为分钟调整键,S5键位秒调整键,且S2、S3、S4、S5任一键都独自连一个I/O(Pl.O、P1.1、P1.2、P1.3)口线,说明它们可以独立实现相应的电子钟功能。

(3)输出模块:

本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。

数码管用8个PNP三极管驱动。

(4)电源模块:

直接由PC的USB接口提供。

2.2各功能模块详细介绍

2.2.1AT89S52介绍

(1)具有8KB可改写的Flash内部程序存储器,可写/擦1000次;

(2)256字节内部RAM;

(3)32根可编程I/O口;

(4)3个16位定时器/计数器。

(5)8个中断源;

(6)低功耗空闲和掉电方式。

它的价格便宜,功能强大,能耗低。

很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。

其芯片引脚图如图2-1所示。

图2.1单片机AT89S52引脚图

2.2.2时钟电路

吋钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。

本次课程设计我们用的是12MHz的晶振与电容并联形成一个稳定的自激振荡器。

电路图如图2.2所示。

J1

II

33pF

XI

■ilk

Fl

11

X2

12MHz

32

图2.2时钟电路

2.2.3键盘电路

本次设计采用独立式键盘在单片机P1口上,其中S2键是启动/调整键,S3

键是是调整键,S4键是分调整键,S5键是秒调整键。

键盘电路如下图2.3所示。

图2.3键盘电路

2.2.4复位电路

复位电路采用按键复位方式,当按下复位键时,单片机复位,恢复初始状态,各寄存器清零。

当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。

RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,使用频率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。

复位电路如下图2.4所示。

S1

VCC

1

20

2

SW-PB

k

CJ

R

22uF

200

RET

R2

11

图2.4复位电路

2.2.5数码管驱动电路与显示电路

本次课程设计我们采用的是共阳极的数码管,用三极管与电阻来做驱动。

路图如下图2.5所示。

图2.5数码管驱动及显示电路图

2.3设计课题电路原理图、PCB图、元器件布局图

电路原理图、PCB图、元器件布局图、元件清单见附录。

3设计课题软件系统的设计

3.1设计课题使用单片机资源的情况

选择设计课题使用单片机资源的情况如下:

P0口输出数码管段选信号,P2口输出数码管位选信号;

晶振12MHz;

启动/调整键S2:

P1.0,通过S2键选择单片机处于计时或调整状态;

时调整键S3:

Pl.1,按一次使时值加1;

分调整键S4:

P1.2;

按一次使分值减1;

40H-45H,其中40H和41H作为秒值缓存单元,42H和43H作为分值缓存单元,44H和45H作为时值缓存单元;

30H-37H作为显示缓存单元;

栈底设置在60H。

3.2设计课题软件系统各模块功能简要介绍

本程序通过以下各子模块程序实现:

主程序、键扫子程序、调整子程序、定时中断程序、加一子程序、显示子程序、延时子程序。

主程序:

主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。

键扫子程序:

主要是用于对按键是否按下进行扫描、处理。

调整子程序:

主要是用于对时、分、秒进行调整。

定时中断程序:

主要是用于电子钟的准确运行。

加一子程序:

用于时间的变化和时间的调整。

延时子程序:

用于显示时每位显示的时间控制。

3.3程序设计思路与流程图

这次课程设计我采用定时中断来实现,用定时器0采用定时方式1定时50ms,循环20次来实现计时。

因为单片机既要控制数码管的显示,又要来执行其他的程序,所以采用中断来解决这个冲突,当没有中断时,单片机控制数码管的显示,当中断来时,执行中断服务程序,因为执行中断程序时间短,所以在人眼看来,数码管是处于连续显示状态。

软件系统流程图:

图3.1主程序流程图

 

「开始J

调显示了程序延时去抖动

保存键值(A:

J结束[

图3.2键扫子程序流程图

图3.3加一子程序流程图

开始

现场保护(入栈:

重新设定计时初值

中断次数减一

秒值加一

Y

秒值缓存单元淸零

分值加一

F满”+二>

分值缓存单元淸零

®

图3.4中断服务程序流程图

图3.5显示子程序流程图

关中断

开中断调整小时

>保存时似分似秒值在缓存区<

程序见附录

4设计仿真结果及误差分析

4.1设计课题的设计结论及使用说明

本设计为基于单片机的电子钟的设计。

本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;

设计中有五个按键,其中S1为复位键,S2为启动/选择调整位置,S3为时调整键,S4为分调整键,S5为秒调整键,当接通电源,数码管上显示学生班级与学号,按下S2键,系统进入计时状态,当再按下S2时,系统进入调整状态,通过按S3、S4、S5键可以调整时调整、分调整、秒调整,在按下S2键,系统又进入计时状态。

这样的结果与设计要求完全相符,本设计成功,完成了设计任务。

4.2设计课题的仿真结果

在Proteus中的模拟仿真,系统仿真结果如图4.1、图4.2、图4.3所示。

实现功能:

可调整运行的电子钟具有三种工作状态:

学号显示状态、运行状态、调整状态。

(1)学号显示状态,依靠按复位键进入,在此状态下,按S3、S4、S5键均无效,按S2键有效,进入运行状态;

(2)运行状态,在此状态下,按S3、S4、S5键均无效,只有按SI、S2键有效,按下S1键后,退出运行状态,复位,显示学号;

按下S2键,退出运行状态,进入调整状态

(3)

调整状态,按S2键进入,在此状态下,按S3键时值加一,按下S4键分值加一,按下S5键秒值加一;

调整结束后按S2键,即可退出调整状态,进入运行状态。

吋间显示格式为:

时-分-秒。

图4.2启动状态显示

图4.3运行状态仿真

4.3设计课题的误差分析与调整

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

而当电子钟运行时间1秒时,又得去执行中断程序,这个过程是需要时间的,所以就产生了一定的误差,当然这个误差是避免不了的,但可以缩小误差;

第二,还有硬件系统也有一定的影响。

本次课程设计,根据理论知识定时器1设置为50ms,循环20次来实现Is的定时,但因为中断服务程序执行需要时间,所以设置50ms来实现会有较大误差,在模拟中,我通过计时1个小时来与电脑上的计时对比,发现误差较大,所以我把定时时间减少了,通过多次调整,现在计时一个小时误差约为Is左右,基本上满足要求。

5课程设计体会及教学建议

5.1设计体会

本次课程设计应该是从做板子开始,当老师把单片机原理图交给我时,我发现自己什么软件都不会用,通过自己几个晚上的实践,初步掌握了protel的使用,又经过几个晚上,终于把PCB图给画出来了,然后是自己洗板子,打孔,焊接,终于把自己的印制板做完了,但当把老师给的程序写进去时,发现没有对应的结果出现,检查板子发现原来是电源接口接反了,当把接口改过之后,对应的结果出来了,自己好高兴。

几天的辛苦没有白费。

然后就是课程设计软件设计,即课程设计程序设计。

通过阅读老师给的课

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1