单片机电子钟课程设计报告书.docx
- 文档编号:4518767
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:24
- 大小:690.41KB
单片机电子钟课程设计报告书.docx
《单片机电子钟课程设计报告书.docx》由会员分享,可在线阅读,更多相关《单片机电子钟课程设计报告书.docx(24页珍藏版)》请在冰点文库上搜索。
单片机电子钟课程设计报告书
电子线路设计课程设计说明书
电子线路设计课程设计任务书
系别:
电气与信息工程系专业:
电子信息工程
指导教师
组长
课题名称
数字电子钟
容及任务
本设计书包括如下容:
通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
设计任务:
设计一个具有特定功能的电子钟。
拟达到的要求或技术指标
一、基本要求
1.准确计时,以数字形式显示时分秒的时间;
2.小时的计时要求为“23翻0”23:
59:
59->00:
00:
00,分和秒的计时要求为60进制进位。
3.可校正时间
二、提高部分
1.安装自己设计的电路
(1)检查元器件。
(2)对电路进行组装:
按照自己设计的电路,在PCB板上插接元器件并焊接。
焊接完毕后,应对照电路图仔细检查,看是否有错接、漏接、虚焊的现象。
2.通电调式
(1)通电测试:
对安装完成的电路板的参数及工作状态进行测量,以便提供调整电路的依据。
(2)通电调试:
经过反复的调整和测量,使电路的性能达到要求。
3.书写调试报告
主要参考资料
[1]谢自美电子线路设计实验测试华中科技大学,2005.9
[2]夏继强单片机应用设计培训教程—实践篇北京航空航天大学,2008.5
[3]何立明MCS-51单片机应用系统设计(系统配置与接口技术)北京航空航天大学,2003.6
[4]广弟,朱月秀,王秀山单片机基础北京航空航天大学,2001.7
[5]曹巧媛单片机原理及应用电子工业,1997.7
[6]光飞单片机课程设计实例指导北京航空航天大学出版,2004.9
[7]曹才开电工电子实训教程清华大学,1998.7
摘要
本次设计由于前期我们已经完成了单片机最小系统的制作,为了节省时间,故利用已有资源,选择用单片机最小系统来实现数字钟的制作。
采用的是以单片机芯片为核心,辅以必要的外围电路包括时钟电路、复位电路、片外RAM、片外ROM、按键、数码管、外部扩展接口等部分,设计了一个简易的电子时钟。
本方案是在AT89S52的单片机的P0和P2端口分别接有两个共阴数码管,显示“00—00—00”的时间开始计时,并且用P1口控制3个按键分别来控制“秒”、“分”、“时”的调整,每按一次加1秒、1分;和1个小时,在硬件方面,我们使用单片机最小系统。
软件方面采用C语言编程。
整个电子钟系统能完成上电或按键复位后能自动显示显示“00—00—00”时间的显示,调时,复位等功能。
关键词:
电子钟;单片机;数码管
ABSTRACT
Thedesignofthetrainingduetotime,wehavecompletedtheminimumsystemmicrocomputerproduction,inordertosavetime,sotheuseofexistingresources,selectwiththeSCMsystemtoachievetheminimumnumberofclockproduction
Microcontrollerchipsareusedinthecore,supplementedbythenecessaryperipheralcircuitsincludingtheclockcircuit,resetcircuit,off-chipRAM,off-chipROM,keypad,digitaltube,theexternalexpansioninterface,andsomeotherdesignofasimpleelectronicclock.thisprogramisAT89S52microcontroller'sportsP0andP2respectively,thentherearetwoofYindigitaltubedisplays"00-00-00"intimetostarttiming,andtheP1populationcontrolwiththreebuttonstocontrol,respectively,"seconds","sub","time"adjustment,everytimeplus1second,1minute;and1houronthehardwareside,weusetheminimumsystemmicrocontroller.
Software,usingCprogramminglanguage.Theentireelectronicclocksystemcanbecompletedafterthepower-uporresetbuttoncanautomaticallydisplaydisplays"00-00-00"timedisplay,transfer,theresetfunctions.
Keywords:
electronicclock;microcontroller;digitaltube
1、设计课题任务和功能要求说明及总体方案介绍
1.1设计课题任务
设计题目:
数字电子钟
本课程设计室采用单片机最小系统来实现以上要求,设计一个数字钟,要求开机时,显示“00—00—00”的时间开始计时,并且用3个按键分别控制控制“秒”、“分”、“时”的调整,每按一次加1秒、1分;和1个小时。
1.2功能要求说明
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
1.3总体方案介绍及工作原理说明
1.3.1总体方案介绍
本次设计电子钟系统功能简单,用单片机的最小系统就能得以实现。
而单片机的最小系统设计中实际上最重要的就是对键盘/显示器接口电路的设计,由于系统功能不同所以要求就不同,接口设计也就不同。
对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。
利用单片机部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。
AT89S52是一个含有4K可编程可擦写只读存储器的低功率高性能CMOS8位单片机。
该器件运用了Atmel公司的高密度不易丢失存储技术且兼容MCS-51工业标准的设置和管角输出。
片的闪存允许用系统模式编程或传统的不易失程序编写器。
由于集成了一个通用8位CPU和闪存,使得Atml的AT89S52成为一片具有高灵活性,可有效解决大多嵌入式控制应用的高性能单片机。
AT89S52支持如下标准特性:
4K闪存,128字RAM,32条I/O线路,双16位定时/计数器,5V双电平中断,一个全双工串行口,片震荡和时钟电路。
AT89S52是按照静态逻辑操作停止到0频率设计的,并且支持两套由软件选择的功率存储模式。
被空闲模式停止的CUP可有RAM、定时/计数器、串口和中断系统使其继续运作。
掉电模式用锁定振荡器停止一切芯片功能的方式存储RAM的容,直到下一次的硬件复位。
系统框图如图1.1:
1.3.2工作原理说明
数字电子钟的计时原理为:
上电后,电子时钟从“00—00—00”开始计时。
当定时器0的定时时间满256μs后,定时器0溢出一次,溢出满4000次后,数字电子时钟的秒加1,满60秒后,分加1,满60分后,时加1,满24时后,电子表重新从“00—00—00”开始计时。
其工作原理图如下图1.2:
图1.2秒计时器原理图
2、设计课题硬件系统的设计
2.1数字电子钟硬件系统各模块功能简要介绍
2.1.1时钟电路
在AT89S52芯片部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
2.1.2复位电路
复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。
本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。
因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2μs才能完成复位操作。
2.1.3键盘电路
本系统采用的是独立式键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。
它软件是采用查询式结构,首先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。
2.1.4电源电路
我们直接采用USB电源。
它可以热插拔。
这就让用户在使用外接设备时,不需要重复“关机将并口或串口电缆接上再开机”这样的动作,而是直接在电脑工作时,就可以将USB电缆插上使用。
而且具有携带方便,成本低,制作电路简单的特点,输出电压足以支持单片机工作。
2.1.5显示电路
系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。
动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。
8个欧姆电阻则起限流作用。
电路结构采用动态扫描的方式,所有数码管的段控端公用单片机P0口的8根输出口线,数码管的段控端a、b、c、d、e、f、g、dp分别接到P0口的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7口线上,每个数码管的位控线单独占用单片机P2口一根输出口线,8位数码管从高位到低位分别接P2.0~P2.7引脚。
段控码(低电平有效)由P0口输出经上拉电阻上拉电压后送到数码管的段控端,位控码由P2口输出经三极管S9050驱动后送到数码管的位控端。
2.2数字电子钟电路原理图、PCB图、元器件布局图
2.2.1数字电子钟电路原理图
数字电子钟电路原理图参见附录。
2.2.2数字电子钟PCB图
数字电子钟PCB图参见附录。
2.2.3元件布局图
数字电子钟元件布局图参见附录。
2.2.4实物实验结果图
数字电子钟实物实验结果图参见附录。
2.3数字电子钟元器件清单
表2.1数字电子钟元器件清单
元件名称
封装形式
元件号
LED数码管(共阳极)
DIP-12
L1
LED数码管(共阳极)
DIP-12
L2
300Ω电阻
AXIAL0.4
R1~R8
200电阻
AXIAL0.4
R9
1K电阻
AXIAL0.4
R10
330电阻
AXIAL0.4
R11
4.7K电阻
AXIAL0.4
R12~R19
S9050PNP三极管
TO-5
Q1~Q8
轻触开关1
SW-4
S1
轻触开关2
SW-4
S2
轻触开关3
SW-4
S3
轻触开关4
SW-4
S4
轻触开关5
SW-4
S5
按键开关
SW-OIP3
S6
12M晶振
XTAL1
Y1
30pF电容
RAD0.2
C1
30pF电容
RAD0.2
C2
22µF电容
RB.2/.4
C3
0.1µF电容
RAD0.2
C4
220µF电容
RB.2/.4
C5
USB电源接口
USB
U1001
发光二极管
DIODE0.4
D1
扩展插针
SIP08
J0
扩展插针
SIP08
J1
扩展插针
SIP08
J2
扩展插针
SIP08
J3
AT89S52
DIP40
U1
3、设计课题软件系统的设计
3.1单片机硬件资源的分配
本次设计用到了单片机正常工作的硬件资源,如(连接晶振的引脚XTAL1和XTAL2,复位引脚RESET),对其硬件资源还做了具体的安排。
(1).P0口
作为数码管显示器的段控输出口,对数码管显示器进行控制。
(2).P1口
P1.0~P1.3接了四个独立式分别为1键、2键、3键4键,用于对键盘的控制,P1.5、P1.6、P1.7则作为ISP程序下载的输入端。
(3).P2口
该口全部用于数码管的位控端。
(4).定时/计数器
使用定时器0来实现本次电子钟的运行。
(5).专用寄存器
定时器控制寄存器TCON,通过设置该寄存器中TR0位的状态来控制定时/计数器0的启动/停止;中断允许寄存器IE,通过设置该寄存器EA/ET0位的状态来设置定时/计数器0中断允许/禁止;定时/计数器工作方式寄存器TMOD,设置定时/计数器0的工作方式。
3.2数字电子钟软件系统各模块功能简要介绍
本设计的软件部分采用C语言编写,并将其模块化,在主程序中进行调用。
在主程序中首先要完成初始化工作,然后进入循环阶段,并带八位数码管显示。
软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。
基于软件的秒脉冲信号通常有延时法和定时中断法。
延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机部的定时器溢出中断来实现。
按键程序查看是否有按键按下,以实现相应的按键功能,并调显示程序以解决按键按住不放时不显示时间的问题。
3.3数字电子钟软件系统程序流程框图
图3.1程序流程图
3.4数字电子钟软件系统程序清单
在AT89S52的单片机的P0和P2端口分别接有两个动态数码管,并且用P1口控制3个按键分别来控制“秒”、“分”、“时”的调整,每按一次加1秒、1分;和1个小时。
其工作原理图如上图图2-1所示。
在设计过程中我们用一个存储单元作为秒计数单元,就让秒计数单元加1,当秒计数达到60秒时,就自动返回0,重新秒计数。
计数“分”和“秒”时也同上所述,对于计数单元中的数据要把它十位和个分开,方法采用对10整除和对10整余。
在数码上显示,仍通过查表的方式实现。
一秒时间的产生在这里采用软件的精确延时来实现。
具体程序参见附录。
4、设计结论仿真结果和误差分析及教学建议
4.1数字电子钟的设计结论及使用说明
本次设计经过调试测验是比较成功的,各项指标都达到设计要求。
只是因设计仓促,考虑不周全设计还存在不完美之处。
1、简单介绍下使用电子钟时的操作步骤:
(1)将+5V电源接到电子钟电源插口上,接通电源开关。
(2)把电子钟电路板上的ISP程序下载口JP1通过下载线连接到计算机打印机接口,在计算机上通过下载软件Easy51Pro把电子钟程序下载到单片机。
(3)电子钟程序下载到单片机以后,电子钟进入待命令状态,显示器显示“00—00—00”。
(4)按一下1键,电子钟从0时、0分、0秒开始运行,此时显示器LED5、LED4、LED3、LED2、LED1、LED0分别显示时、分、秒。
(5)再次按一下1键,电子钟停止运行进入调整状态,此时通过2键3键、4键分别调整电子钟的时、分、秒。
按一下其中的一个键对应的值加1。
调节到用户想要的时间后,再次按一下1键,电子钟将以用户调整的时间为起点进入运行状态。
总之,上电后,按1键奇数次时钟运行并计时,按偶数1键则停止电子钟运行。
2、我们在调试时,为了保证效果,必须尽量减小测量误差,提高测量精度。
调试结果是否正确,很大程度受测量正确与否和测量精度的影响。
为此,需注意以下几点:
(1)正确使用测量仪器的接地端。
(2)测量电压所用仪器的输入端阻抗必须远大于被测处的等效阻抗。
因为,若测量仪器输入阻抗小,则在测量时会引起分流给测量结果带来很大误差。
(3)要正确选择测量点,用同一台测量仪进行测量进,测量点不同,仪器阻引起的误差大小将不同。
(4)调试过程中,不但要认真观察和测量,还要于记录。
记录的容包括实验条件,观察的现象。
只有有了大量的可靠实验记录并与理论结果加以比较,才能发现电路设计上的问题,完善设计方案。
(5)调试时出现故障,要认真查找故障原因,切不可一遇故障解决不了的问题就拆掉线路重新安装。
因为重新安装的线路仍可能存在各种问题。
我们应该认真检查.
4.2数字电子钟的仿真结果
Proteus嵌入式系统仿真与开发平台是由英国Labcenter公司开发的,是目前世界上最先进、最完整地嵌入式系统设计与仿真平台。
它是一种可视化的支持多种型号单片机(如51、PIC、AVR、Motorolahcll等),并且支持与当前流行的单片机开发环境(Keil、MPLAB、IAR)连接调试的软硬件仿真系统。
Proteus除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真功能外,针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的电子线路设计与仿真软件Protel和Multisim功能的联合和进一步扩展。
Proteus软件已有近20年的历史,在全球拥有庞大的企业用户群,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可以对系统进行设计、测试与验证。
由于Proteus软件包括逼真的协同仿真功能,得到了包括剑桥大学在的众多大学用户作为电子学或嵌入式系统的课程教学、实验和水平考试平台。
目前,Proteus在国单片机开发者及单片机爱好者之中已开始普及,有很多开发者已经开始用此开发环境进行仿真。
首先打开protus7professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选Keil已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课设的要求再修改程序,再运行查,直到满足要求。
按下1键即开始计时,再次按1键即停止计时。
按2键进行时调整,按3键进行分调整,按4键进行秒调整即可实现如图4.2所示结果:
图4.2按1键开始计时
4.3数字电子钟的误差分析
在上面的章节中已经介绍过,本电子钟设计是使用单片机的定时/计数器0在工作方式2下定时256μs,根据定时时间和单片机最小系统的时钟周期使定时/计数器0重复中断4000次(近似)就是一秒的时间了,这里就存在着误差。
并且延时也是预先估计算好的,而定时/计数器0并没有马上被赋予原来产生256μs的初值,而是在中断服务程序中重新赋的初值,因而使用定时/计数器实现电子钟的运行存在着一定的误差。
另外,单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用部的定时/计数器来实现计时功能。
所以,外接晶振频率精确度直接影响电子钟计时的准确性。
4.4设计体会
为期几个星期的课程设计已经结束,在这几个星期的学习、设计过程中我感触颇深。
使我对单片机的理论知识有了具体的认识。
通过这次设计,我的理论知识掌握得更扎实,动手能力明显提高。
同时,通过网上搜索等多方面的查询资料,比如我们用的AT89S52芯片。
通过本次课程设计我学到许多在书本上没有的知识,也认识到理论联系实践的重要。
理论学得好,但如果只会纸上谈兵,一点用都没有。
通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用的仪器仪表;通过对实际电路的分析,结合实际实验,并利用其它电路作为辅助,提出了一种制作数字钟的有效方法,解决了在制作数字钟时经常出现的数字显示不了,显示数字模糊的问题。
以及如何提高电路的性能等等。
在实验过程中,我们遇到了不少的问题。
比如:
显示不出数字,数字模糊这样的问题。
在老师和同学的帮助下,把问题一一解决,那种心情别提有多高兴,很有成就感。
同时,在实验中暴露出我们在理论学习中所存在的问题,有些理论知识还处于半只半解的状态,通过实验加深了我们对这些知识的理解。
特别是在排查电路问题时,使我们熟练掌握了一些处理电路故障的方法。
通过完成这次电子钟设计之后,让我感触颇丰,一次次的程序调试和文档修改让我对程序有了进一步的认知,文档的排版更是让我体会深刻。
我对单片机的知识没掌握多少,而且平时听课的时候感觉大部分也都没听懂,课后也没有花很多时间去复习和钻研它,相信这也是很多同学的通病。
单片机这门课是一项非常重视动手实践的科目,不能总是看书。
但是学习它首先必须得看书,因为从书中我们需要大概了解一下,单片机的各个功能寄存器,我们使用单片机就是用软件去控制单片机的各个功能寄存器,所以我们必修对单片机的程序要有一定的基础,对我个人来说程序这一块还是比较劣势的,很多单片机要完成的功能我都还搞不定程序。
因此我提出建议,学校能不能开放实验室,有时间就去进行一些单片机基础实验,老师可做些指导帮助同学们对程序的编写和调试有一定的作用,最重要是分析程序和看懂程序。
同时我还希望老师能够多讲解一些例题,这样更容易让同学接受。
最后用一句话来结束吧。
“实践是检验真理的唯一标准”。
只有把所学的理论知识运用到生活当中,才能发挥它最好的作用。
参考文献
[1]谢自美.电子线路设计实验测试[M].华中科技大学,2005.9
[2]夏继强.单片机应用设计培训教程——实践篇[M].北京:
北京航空航天大学,2008.
[3]何立明.MCS-51单片机应用系统设计(系统配置与接口技术)[M].北京:
北京航空航天大学,2003.
[4]广弟,朱月秀,王秀山.单片机基础[M].北京:
北京航空航天大学,2001.7.
[5]曹巧媛.单片机原理及应用[M].北京:
电子工业,1997.7.
[6]光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版,2004.9.
[7]曹才开.电工电子实训教程[M].清华大学,1998.
致谢
本设计在制作及进行过程中得到坚老师的悉心指导。
论文行文过程中,严格按照老师的格式要求,在我遇到困难想放弃的时候给予我最大的支持和鼓励。
老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。
在此,谨向老师致以诚挚的谢意和崇高的敬意。
感谢各位同学的协助,我们一起讨论、研究和分析问题。
其中吴兵同学在程序设计过程中给了我很大的帮助,让我明白了程序的原理,并引导我如何去学好单片机,在此一并表示感谢。
附录
数字电子钟原理图
数字电子钟PCB图
数字电子钟元件布局
实物实验结果图
具体程序如下:
#include
unsignedcharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,//段码
0x92,0x82,0xf8,0x80,0x90,
0xbf};
unsignedchardisbitcode[]={0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef};//位控码
unsignedchardispbuf[]={0,0,10,0,0,10,0,0};/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子钟 课程设计 报告书