单片机电子时钟毕业论文设计

更新时间:2024-05-09 11:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

武汉纺织大学

Wuhan textile university 毕 业 设 计 (论 文)

题目:单片机时钟表设计

院系名称 成教学院 指导教师 程琳 专业班级 电信0831 学院院长 陈建华 学生姓名 胡强 学生学号 毕业论文提交日期: 年 月 日

I

毕业学位论文原创性声明和使用授权说明

原创性声明

本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。

论文作者签名: 年 月 日

学位论文使用授权说明

本人完全了解学校关于收集、保存、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;

学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务; 学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的的前提下,学校可以公布论文的部分或全部内容。

论文作者签名: 年 月 日

II

摘 要

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

关键词:单片机 AT89S

III

ABSTRACT

Since the 1970 s chip since the advent, with its high cost performance and

attention by people and attention, it is widely used and fast development. SCM small volume, light weight, strong anti-jamming capability, environmental demand is not high, low cost, high reliability, flexibility is good, development more easy. Because of the above features, in our country, the microcontroller is widely used in industrial automation control, automatic detection, intelligent instrument and apparatus, household appliances, power electronics, mechanical and electrical equipment, and other aspects, and 51 SCM is the most typical chip and most representative one. The graduation design through to its study, application to AT89S51 chips as the core, with the necessary circuit, design of a simple electronic clock, it by 4.5 V dc power supply, through the digital tube can show time, adjust the time, thus to learning, the design, the development of software and hardware in the ability.

Key word: Single-chip microcomputer AT89S

IV

目 录

摘 要 ..................................................................................................................................................... III Abstract .................................................................................................................................................... IV 一、 前言 .................................................................................................................................................. 1 二、 方案论证与比较 .............................................................................................................................. 2

(一) 数字时钟方案 ....................................................................................................................... 2 (二) 数码管显示方案 ................................................................................................................... 2 三、 系统设计 ......................................................................................................................................... 3

(一) 总体设计 ............................................................................................................................... 3

1.系统说明 .................................................................................................................................. 3 2.系统框图 .................................................................................................................................. 3 (二) 模块设计 ............................................................................................................................... 4

1.电源部分 .................................................................................................................................. 4 2.复位电路 .................................................................................................................................. 4 3.程序下载接口 .......................................................................................................................... 5 4.位选部分 .................................................................................................................................. 5 5.数码管的连接电路 .................................................................................................................. 6 6.控制部分 .................................................................................................................................. 6 四、 原理图与PCB图 ............................................................................................................................. 8 五、 软件设计 ......................................................................................................................................... 9

(一) 程序流程图 ........................................................................................................................... 9 (二) 源程序 ................................................................................................................................. 12 六、 总结 ............................................................................................................................................... 19

(一) 物品清单与元件特性 ....................................................................................................... 19 (二) 设计总结 ........................................................................................................................... 20 参考文献(References): ...................................................................................................................... 21 致 谢 ..................................................................................................................................................... 22

V

一、 前言

时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。

现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。

本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

1

二、 方案论证与比较

(一) 数字时钟方案

数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。

方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。

方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。

基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。

(二) 数码管显示方案

方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。

方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。

从节省I/O口和降低能耗出发,本设计采用方案二。

2

三、 系统设计

(一) 总体设计

1. 系统说明

利用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管(9012)分别控制六个数码管的亮灭,一个按键用于时间调整。

2.系统框图

电源部分 直流电源4.5V 复位电路 按键S2 控制部分 单片机(AT89S51) 显示部分 位选部分 6个PNP三极管(9012) 6个七段共阴极数码管 显示秒,分钟及小时位 图3-1

3

(二) 模块设计

1. 电源部分

图3-2

如图3-2所示,从外部引入4.5V的直流电,为单片机、复位电路提供电源。

2. 复位电路

4

图3-3

如图3-3所示,复位电路主要由型号为1N4148的二极管,型号为10UF/16V的电解电容,型号为104的瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。

3. 程序下载接口

图3-4

如图3-4所示,由AT89S ISP构成的两排十针下载口,板图上有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角。

4. 位选部分

图3-5

图3-5为位选电路,三极管的集电极接数码管的公共端,当P2口对应的引脚输出高电平时三极管导通,对应的数码管显示数据。这样,在同一时刻,6位LED中只有选通的那1位显示出字符,而其他5位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他个位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED

5

的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。

5. 数码管的连接电路

图3-6

图3-6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合0-9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的

6. 控制部分

图3-7

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的

6

可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

如图3-7所示,AT89S51有40引脚,双列直插(DIP)封装,所用引脚功能如下:

二、 VCC ——运行时加+4.5V 三、 GND ——接地

四、 XTAL1 ——振荡器反相放大器及内部时钟发生器的输入端 五、 XTAL2 ——振荡器反相放大器的输出端

六、 RST ——复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器

周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT

AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。

七、 EA/VPP ——片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地

址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc

端),CPU则执行内部程序存储器中的指令。

八、 P1口,P2口——P1,P2是一组带内部上拉电阻的8位双向I/O口。运行时通过P1口

控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。P2.0——P2.5口控制数码管的位选,使六个数码管轮流显示数据,等于1时位选三极管导通,等于0 时位选三极管截止。

九、 无自锁开关——(S2-P3.7)开关接相应引脚P3.7,当开关按下时,相应引脚为低电

平0,断开时引脚为高电平1。

7

四、原理图与PCB图

图4-1

8

图4-2

五、 软件设计 (一). 程序流程图

9

T0中断 主程序开始 现场保护 重装定时器初值 设定定时器常数,开中断 满20次否? 秒值加1 满60秒否? 到1秒? 秒缓冲单元清零 分值加1 显示时间 满60分否? 分缓冲单元清零 时值加1 满24小时否? 时缓冲单元清零 恢复现场 结束

10

SETB ET1 ;允许T1中断 SETB TR1 ;开启定时器T1

SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待 SETB 00H ;键释放,分调整闪烁标志置1 SET4: JB P3.7,SET3 ;等待键按下

LCALL DL05S ;有键按下,延时0.5秒

JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态 MOV R0,#77H ;按下时间小于0.5秒加1分钟操作 LCALL ADD1 ;调用加1子程序 MOV A,R3 ;取调整单元数据 CLR C ;清进位标志

CJNE A,#60H,HHH ;调整单元数据与60比较

HHH: JC SET4 ;调整单元数据小于60转SET4循环 LCALL CLR0 ;调整单元数据大于或等于60时清0 CLR C ;清进位标志

AJMP SET4 ;跳转到SET4循环

CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。开T0中断 SETB TR0 ;开启T0定时器(开时钟) CLOSE: JB P3.7,CLOSE ;无按键按下,等待。

LCALL DISPLAY ;有键按下,调显示子程序延时削抖 JB P3.7,CLOSE ;是干扰返回CLOSE等待 WAITH: JNB P3.7,WAITH ;等待键释放

LJMP START1 ;返回主程序(LED数据显示亮) SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态) SETHH1: JNB P3.7,SET5 ;等待键释放

SETB 01H ;小时调整标志置1 SET6: JB P3.7,SET7 ;等待按键按下

LCALL DL05S ;有键按下延时0.5秒

JNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整 MOV R0,#79H ;按下时间小于0.5秒加1小时操作 LCALL ADD1 ;调加1子程序 MOV A,R3 ; CLR C ;

CJNE A,#24H,HOUU ;计时单元数据与24比较 HOUU: JC SET6 ;小于24转SET6循环

LCALL CLR0 ;大于或等于24时清0操作 AJMP SET6 ;跳转到SET6循环

SETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键释放 LCALL DISPLAY ;延时削抖

JNB P3.7,SETOUT ;是抖动,返回SETOUT再等待 CLR 01H ;清调小时标志 CLR 00H ;清调分标志 CLR 02H ;清闪烁标志 CLR TR1 ;关闭定时器T1

16

CLR ET1 ;关定时器T1中断 SETB TR0 ;开启定时器T0

SETB ET0 ;开定时器T0中断(计时开始) LJMP START1 ;跳回主程序

SET1: LCALL DISPLAY ;键释放等待时调用显示程序(调分) AJMP SET2 ;防止键按下时无时钟显示 SET3: LCALL DISPLAY ;等待调分按键时时钟显示用 AJMP SET4

SET5: LCALL DISPLAY ;键释放等待时调用显示程序(调小时) AJMP SETHH1 ;防止键按下时无时钟显示

SET7: LCALL DISPLAY ;等待调小时按键时时钟显示用 AJMP SET6

SETOUT1: LCALL DISPLAY ;退出时钟调整时键释放等待 AJMP SETOUT ;防止键按下时无时钟显示 ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 显示程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段码数据,P3口作 ; 扫描控制,每个LED数码管亮1MS时间再逐位循环。

DISPLAY: MOV R1,#70H ;指向显示数据首址 MOV R5,#0FEH ;扫描控制字初值 PLAY: MOV A,R5 ;扫描字放入A MOV P2,A ;从P2口输出 MOV A,@R1 ;取显示数据到A MOV DPTR,#TAB ;取段码表地址

MOVC A,@A+DPTR ;查显示数据对应段码 MOV P1,A ;段码放入P0口 LCALL DL1MS ;显示1MS INC R1 ;指向下一地址

MOV A,R5 ;扫描控制字放入A

JNB ACC.5,ENDOUT ;ACC.5=0时一次显示结束 RL A ;A中数据循环左移 MOV R5,A ;放回R5内

AJMP PLAY ;跳回PLAY循环

ENDOUT: SETB P2.5 ;一次显示结束,P2口复位 MOV P1,#0FFH ;P0口复位 RET ;子程序返回

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;1MS延时程序,LED显示程序用

DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1

17

RET

;20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象 DS20MS: ACALL DISPLAY ACALL DISPLAY ACALL DISPLAY RET

;延时程序,用作按键时间的长短判断

DL1S: LCALL DL05S LCALL DL05S RET

DL05S: MOV DL05S1: LCALL DJNZ RET

END

R3,#20H DISPLAY R3,DL05S1

18

;8毫秒*32=0.196秒;程序结束

六、 总结

(一) 物品清单与元件特性

表6-1 物品清单:

元件名称 瓷片电容 瓷片电容 电解电容 电解电容 电阻 电阻 芯片 芯片座 无源晶振 7段数码管 三极管 二极管 按键 单排插针 双排插针 电池盒 电路板 规格型号 104 30P 47UF/16V 10UF/16V 10k 4.7k AT89S51 DIP40 12M 0.5寸/共阴 9012 1N4148 无自锁 9.55*5.664 单位 只 只 只 只 只 只 片 只 只 只 个 只 只 条 条 个 CM2 数量 1 2 1 2 1 6 1 1 1 6 6 1 2 1 1 1 1 表6-2 AT89S51功能特性:

· 兼容MCS-51指令系统 · 32个可编程I/O口 · 2个16位可编程定时/计数器 · 全双工UART串行中断口线 · 6个中断源 · 中断唤醒省电模式 · 看门狗(WDT)电路 · 4k可反复擦写(>1000次)ISP Flash ROM · 4.0-5.5V工作电压范围 · 全静态工作模式:时钟频率0-33MHz · 128x8bit内部RAM · 低功耗空闲和掉电模式 · 3级程序加密锁 · 掉电标识和快速编程特性 19

(二) 设计总结

本设计能够很准确的走时,并能够通过硬件对时钟进行时间调整。 ? 功能介绍:

1. 显示XX:XX:XX时间

2. 时间可调:调整键(S2)按下时间小于1秒(t<1s),关闭显示(省电)。调整键(S2)

按下(t>0.5s)分钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时,再按下S2键则该个位显示0,分钟十位加1。继续按下调整键(S2)(t>0.5s)时钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时再按下加S2键则该个位显示0,时钟十位加1。继续按下调整键(S2)(t>0.5s),返回到正常显示状态。

3. 下载线和电源线插接说明:1.下载线插接说明:两排十针下载口,板图上都有一个小方

框,为1号引角;下载线的凸口为正方向,凸口的右侧边的第一个插孔为1号引角,这一点一定要切记,不然的话程序下载不进去。2.电源线插接说明:电池盒的红线为正,黑线为负。板子所留出来的电源插口用VCC(表示电源正)和GND(表示电源负)标明。 ? 调试要点:首先确保各器件的完好性,其次检测各芯片的电源线和地线是否接触良好,然后焊接器件,接好电源用万用表检测各电源端、地端的状态是否正常。检查无误后插上AT89S51并烧写一简易的程序,观察电路是否能协同工作。最后烧写工作程序,根据显示现象调试程序直至成功。上电运行时,数码管开始显示00:00:00,时钟开始走时。

? 制作心得:在这次课程设计的调试过程中,我遇到很多问题,如:由于跳转指令出错,导致整个程序在运行时进入死循环,修改时没有根据流程盲目查找原因浪费许多时间,又由于考虑不周,时钟显示29:89。该电路缺少整点报时及闹钟功能,由于能力和时间问题只能到此为止,很是遗憾,但在查找资料的过程中学到了许多,同时在协作过程中增进同学间的友谊。

20

参考文献(References):

[1] 于海生.微型计算机控制技术[M] .清华大学出版社.1999-6

[2] 孙涵芳.MCS-51系列单片机原理及应用[M] .北京航空航天大学出版社.1996-4 [3] 黄正谨.综合电子设计与实践[M] .东南大学出版社.2002-3 [4] 杨欣等.电子设计从零开始[M] .清华大学出版社.2005-10 [5] 谢嘉奎.电子线路[M] .高等教育出版社.2003-2 [6] 夏路易,石宗义.电路原理图与电路设计教程Protel 99SE[M] .北京希望电子出版社.2002 [7] 王毓银.数字电路逻辑设计[M] .高等教育出版社.2004-2 [8] 邱关源.电路[M] .高等教育出版社.2003-2

21

致 谢

首先感谢我的论文指导老师程琳老师,我的论文是在他的悉心指导下完成的。程老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。

其次我要感谢我的班主任赵海燕老师,在我求学的四年期间,无论是在学习还是在生活上,赵老师都给了我无微不至的关心。她正直乐观的人格魅力一直感染着我,这必将激励我在今后的工作和生活中不断前进。

再次我要感谢一直陪同我走完大学四年求学之路的同寝室的兄弟们,谢谢他们平时对我无微不至的照顾和关心。我很高兴能生活在一个互助友爱和充满活力的集体中,从他们的身上我学到了很多,同时他们给我的大学生活留下了许多美好的回忆。

最后,我要特别感谢我的父母。在我求学的过程中他们付出的不仅仅是辛勤的劳动和汗水,而是世界上最崇高、最伟大的爱。他们所做的一切是我这一生都无法回报的。

真诚感谢给予我热情帮助和关注的所有人。

22

本文来源:https://www.bwwdw.com/article/ywag.html

Top