资源描述
单片机实训报告实验题目:电子时钟设计名:学 号:指导老师:实验地点:福煤实验楼B4052011 年 6 月 5 日一、绪论1.1 电子时钟简介1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开 始迅速发展起来。但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越 来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢? 这就要求人们不断设计出新型时钟。现代的电子时钟是基于单片机的一种计时工具,采用延 时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六 十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的 工具。1.2 电子时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英 表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电 子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间, 减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选 的灵活性好。1.3 电子时钟的原理该电子时钟由89C51,BUTTON,八段数码管等构成,采用晶振电路作为驱动电路, 由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为 一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又 松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按 键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节, 同样每按一次小时加一。二、单片机简介单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看, 单片机主要用来控制,所以又称为微控制器(Microcontroller Unit )或嵌入式控制器。单片 机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。2.1单片机的特点1 .单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程 序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。2 . 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别 是单片机具有很强的位处理能力。3 .单片机的I/O 口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际 引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令 来设置或由机器状态来区分。4 .单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可 在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。AT89C51的单片机结构及原理。AT89C51单片机引脚图如下:19)CTAL1PDHftDDP-UftD 1PD2WD2:CTAL2pn.3mD3Pn.iftD iPD-&fiD5Pn.&AD6RSTPn.TAD7P2.WP22.1DPSENP23W11ALEP2.WA12EAP2J&W13P2J&ft11P2.TJft15p mP1.1P 12P3S1NTIp 1JP331NT1P1.+P阳TDP 15P35/T1P1PIj&CiIRP 1.7P3.T/R D13AT5S52235?U135DI.-37D2.-X D3.-丈 Di.-抚D5.-33Db.-3207/2122测/212125262?331D1112131i151617AT89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:VCC: +5V 电源。VSS:接地。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完 成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英 晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。P3 口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)P3.2 /INTO (外部中断0)P3.3 /INT1 (外部中断1)P3.4 T0 (记时器0外部输入)P3.5 T1 (记时器1外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡 器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入 至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须 保证脉冲的高低电平要求的宽度。XTAL1和XTAL2管脚应接晶振电路,电路如图1所示:图(1)复位电路如图2所示:r Cj.ir.l.r.1D:1 TE三、Protues简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE洛种模拟器件和集成电路,该软件的特点是:实现 了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其 外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统 仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机 系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、 PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。 在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器 等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编 译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。31工作界面标题栏isisUbTirLfD - ISISPruftihiiiuiirilFit Viei Edt Litrary Toals Design G-aph Source- Debug TernplateHelp k杯准工昇芒已之制丨理Ikfil孕 |也阳串+嗅W钱H | 口 丨芯电念蟹聲护擀尹 IFals丨种址丨盘艮心小|冏劲丨nan绘图工具拦U;DEVICESC 0 厂1,*| k | Ik | II口 曲 fl Pest 1 /N/丄12DC2DOO th四、数字钟的基本原理41实现功能采用51单片机系列AT89C51,对时钟进行控制单片机有单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机值需要和适当的软件及外部设备结合,便可成 为一个单片机控制系统。1) 开机运行时,显示00: 00:00的时间开始计时;2) 首先按下SB开关,P3.5控制“秒”的调整,每按一次加1秒;3) P3.3控制“分”的调整,每按一次加1分;4) P3.2控制“时”的调整,每按一次加1小时;42系统工作原理工作原理:数字时钟是一个将“时” “分”,“秒”显示与人的视觉器官的计时装置。它的计时周期 为24小时,显示满刻度为23时59分59秒,另外还有校时功能。因此,一个基本的数字时 钟电路主要由显示器“时”,“分”,“秒”和单片机。8个数码管的段选、位选分别接到单片 机的Pl、P2 口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分 单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计60分钟,发出一个“时钟脉 冲”信号,该信号将被送到“时单元” “时单元”采用24进制计时器,可实现对一天24 小时的累计。显示电路将“时” “分”、“秒”通过八段显示器显示。校对电路用来对“”“”“”显示进行校对调整。五、数字钟的硬件、软件设计电路原理图:电脑钟的protues原理图如下51对原理图分析使用At89C51控制,其中使用p2做输出,p3 口做控制信号,使用外部中断1作调节小 时,外部中断0作调节分钟,定时器1在计数模式作调节秒,定时器1在定时模式用于计数, 而p0.0做总控开关的入口。其中黄灯显示是否在调节状态,当亮时为可调,当灭时不可调。基本原理如下软时钟是利用单片机内部的定时器计数器来实现的,它的处理过程如下:首先设定单 片机内部的一个定时器计数器工作于定时方式,对机器周期计数形成基准时间,然后用另 一个定时器计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60 次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来 即可。数码管显示一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描 频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码, 软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字 段码,实际中通常采用软件译码。在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。 在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方 便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了键盘设 置子程序。时制式为24小时制。1采用LED数码管显示时、分,秒采用数字显示。2具有方便的时间调校功能。3计时稳定度高,可精确校正计时精度。2 总体方案设计5.2 实现时钟计时的基本方法利用C51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。计数初值计算:把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位 秒,使用 T0,方式 1, 50ms 定时,fosc=12MHz。则初值 X 满足(216-X)X1/12MHzX12us =50000 u sX=15536f0011110010110000f3CB0H(2) 采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);(3) 从秒到分和从分到时的计时是通过累加和数值比较实现。5.3数字钟的软件设计系统软件设计流程图:LJMP MAINORG 0003HLJMP SHIORG 000BHLJMP JISHIORG 0013HLJMP FENORG 001BHLJMP MIAOORG 0030HMAIN:MOV TMOD ,#01HMOV R4,#20MOV TH1,#255MOV TL1,#255MOV TH0, #3CHMOV TL0,#0B0HCLR EX0CLR EX1SETB ET0CLR ET1SETB EASETB TR0SETB TR1SETB IT0SETB IT1MOV R0,#00HMOV R1,#00HMOV R5,#00HSETB P0.1FANHUI:MOV DPTR,#TABMOV A,R0MOV B,#10DIV ABMOVC A,A+DPTRMOV P2, AMOV P1,#02HLCALL DELAYMOV P2,#0FFHMOV A,BMOVC A,A+DPTRMOV P2,AMOV P1,#01HLCALL DELAYMOV P2,#0FFHMOV P1,#04HMOV P2, #0BFHLCALL DELAYMOV P2,#0FFHMOV A,R1MOV B,#10DIV ABMOV P1,#10HMOVC A,A+DPTRMOV P2, ALCALL DELAYMOV P2,#0FFHMOV P1,#08HMOV A,BMOVC A,A+DPTRMOV P2,ALCALL DELAYMOV P2,#0FFHMOV P1,#20H MOV P2,#0BFH LCALL DELAY MOV P2,#0FFHJNB P0.0,ZKMOV P1,#80HMOV A,R5MOV B,#10DIV ABMOVC A,A+DPTRMOV P2, A LCALL DELAY MOV P2,#0FFH MOV P1,#40HMOV A,BMOVC A,A+DPTRMOV P2,A LCALL DELAY MOV P2,#0FFH JNB P0.0,ZKLJMP FANHUIZK: CPL ET1CPL EX0CPL EX1CPL ET0CPL P0.1LJMP FANHUIJISHI:MOV TH0,#3CHMOV TL0,#0B0H DJNZ R4,LOOP MOV R4,#20INC R0CJNE R0,#60 ,LOOP MOV R0,#00HINC R1CJNE R1,#60, LOOP MOV R1,#00HINC R5CJNE R5,#24,LOOP MOV R5,#00HLOOP: RETIDELAY:MOV R2,#10 ZJ: MOV R3,20DJNZ R3,$DJNZ R2,ZJRETRETORG 0200HMIAO:CLR EAINC R0SETB EARETIFEN:CLR EAINC R1SETB EARETISHI:CLR EAINC R5SETB EARETIORG 0300HTAB:DB 0C0H,0F9H,0A4H, 0B0H,99H,92H,82H,0F8H,80H,90HEND5.4程序的调试过程在PROTEUS中设计硬件PROTEUS软件使用过程如下:1)选择元器件2)放置元器件3)连线4)添加程序5)运行仿真2、在WAVE中编写程序,编译、连接形成HEX文件。3、在PROTEUS中把HEX文件加载到单片机芯片上。即protues原理图中。4、运行仿真看结果如图:也伽.a . GEB . I I I.XTEbO.MTAL1LU.|1 Xrl ”.T1 CLYGTh.F33TH0 falFFT De rssm raMnp 乃fitra.wxdE+gAQADfrAQWADCi疋帕口: 口*H書55元器件清单元器件清单如下单片机TA89C511个按键BUTTON1个电阻RES500/8个10K/5 个电容CAP22UF/2个33pF/1 个晶振CRYSTAL1个LED数码管7SEG-MPX8-CA-BLUE(CA:共阳,CC:共阴)1个地GRAND电源POWER六、心得体会为期一周的单片机课程设计让我们受益匪浅此次课程设计软件与硬件相结 合,考察了我们的焊接水平与编程能力对于我们应用电子技术的学生而言焊接 是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还 算顺利,下面的报警部分就花费了相当长的时间,还有加上报警时的音乐也是我 们到图书馆里查阅资料由汇编转化成C语言得来的本来还以为编程会很简单的, 等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是 有思维的前提.单片机是我们上学期开设的课程,所以很多专业知识也都忘记了. 不过经过我们一步步的努力,花费的时间与精力终于没有白费,效果渐渐地出现 了.其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的 结果很乱,在仔细修改程序之后,终于一步步地达到效果了.我们将各个部分的程序编好后怎么都连不起来,出不了预期的效果对 于硬件在编程过程中PCB板的接触又是一个头疼的问题,在进行编译的时候, 数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所 以也花费了好多时间在PCB板的重新焊接上对于软件我们在时钟完成后就 对其加入了报警系统,可加了之后发现程序乱了,以前的时钟也不可以控制 了.经过反复研究,发现接地接错了位置,导致了用来报警的红灯跟绿灯根本 不亮,然后就将接地线重新焊接了一下 ,功夫不负有心人 ,红灯亮了,配合编 好的程序,用纸板挡住了发射管与接收管之间的信号传输 ,数码显示管出现 闪烁的效果,并且没信号的时候绿灯亮,有信号的时候红灯就亮了,这个现象 让我们喜出望外 .经过修改时钟程序和报警系统都被使用上了 ,可更大的难 题就是如何让它报警?这困扰了我们,数码显示管上终于有了闪烁的效果,可 报警声还没加的上去 .老师的要求是除了蜂鸣器上的报警声再加一段音乐 . 翻阅了图书馆里的书籍,查出来的音乐程序都是用汇编编的 ,要将此程序放 到主程序中就必须将汇编程序改编成C语言程序这再次困扰了我们,虽然以 前也学过汇编跟C之间的互换,可都是简单的,从没涉及到这么复杂的程序过, 改编很是有压力,经过研究,我们将汇编程序舍弃了,到网上下载了一段音乐 程序,是C语言编的.要让音乐在我们的红外报警系统中唱出来可不是什么简 单的事情,虽然找到了音乐程序,但要让音乐程序跟我们的主程序融合在一 起得花费点心思了.最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我 们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高 难度性,所以为期一周的单片机课程设计没有浪费 ,我们从中学到了很多知 识.,也让我们对单片机有了更深一步的了解 .虽然最后结果是出来了 ,可这 与老师的精心指导是分不开的 ,她引导我们的思路,本来一窍不通的我们经 过老师的点拨基本上通了,所以说老师是功不可抹的.总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅.
展开阅读全文