收藏 分销(赏)

单片机课程设计数字电子钟[修改好的].docx

上传人:xrp****65 文档编号:5864467 上传时间:2024-11-21 格式:DOCX 页数:32 大小:492.39KB
下载 相关 举报
单片机课程设计数字电子钟[修改好的].docx_第1页
第1页 / 共32页
单片机课程设计数字电子钟[修改好的].docx_第2页
第2页 / 共32页
单片机课程设计数字电子钟[修改好的].docx_第3页
第3页 / 共32页
单片机课程设计数字电子钟[修改好的].docx_第4页
第4页 / 共32页
单片机课程设计数字电子钟[修改好的].docx_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、 单片机技术课程设计说明书 数 字 电 子 钟 院 、 部: 电气与信息工程学院 学生姓名: 郭红满 指导教师: 王韧 职称 副教授 专 业: 通信工程 班 级: 1102 完成时间: 2013-12-20 摘 要 电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的

2、时间进行蜂鸣报时。该电子钟设有四个按键K1、K2、K3和K4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。关键词 电子钟;AT89S52;硬件设计;软件设计ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a si

3、ngle chip AT89S52 of ATMELs as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minu

4、tes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display,

5、alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value.显示对应的拉丁字符的拼音字典 - 查看字典详细内容 Key words Electronic clock;AT89S52;Hardware Design;Software Design目 录1 设计课题任务、功能要求说明及方案介绍11.1 设计课题任务11.2 功能要求

6、说明11.3 设计总体方案介绍及原理说明12 设计课题硬件系统的设计22.1 设计课题硬件系统各模块功能简要介绍22.2 设计课题电路原理图和PCB图以及元器件布局22.3 设计课题元器件清单23 设计课题软件系统的设计33.1 设计课题使用单片机资源的情况33.2 设计课题软件系统各模块功能简要介绍33.3 设计课题软件系统程序流程框图33.4 设计课题软件系统程序清单64 设计结论、仿真结果、误差分析、教学建议74.1 设计课题的设计结论及使用说明74.2 设计课题的仿真结果74.3 设计课题的误差分析84.4 设计体会84.5 教学建议8结束语 9致 谢 10参考文献 11附录 A 12

7、附录 B 13附录 C 14附录 D 15附录 E 161 设计课题任务、功能要求说明及方案介绍1.1 设计课题任务设计一个具有特定功能的电子钟。并有时间设定,时间调整功能。1.2 功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 设计课题总体方案介绍及工作原理说明本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位

8、电路构成,设计课题的总体方案如图1.1所示: 图1.1 总体设计方案图 本电子钟的所有的软件、参数均存放在AT89S52的内部ROM和内部RAM中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。2 设计课题硬件系统的设计2.1 设计课题硬件系统各模块功能简要介绍硬件系统主要采用以下基本模块来实现,单片机最小系统模块、输入模块、输出模块、电源模块。(1)单片机最小系统模块:包括低功耗、高性能

9、CMOS8位微控制器AT89S52;复位电路;晶振电路。本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。 (2)输入模块:本模块共用到了5个按键,其中1个复位键,接通电源后,利用按键复位完成复位操作。,K1键控制电子钟的启动调整状态,做正常走时状态时K2为电子钟时调整键,K3为电子钟分调整键,K4键为电子钟秒调整键,当作为闹钟调整状态时K4键为闹钟启动/关闭,K2为闹钟时调整键,K3为闹钟分调整键。K1

10、、K2、K3,K4任一键都独自连一个I/O(P1.0、P1.1、P1.2)口线,说明它们可以独立实现相应的电子钟功能。(3)输出模块:本次设计显示为8位字符,采用两个四位一体数码管(共阳极)作为显示窗口。数码管用8个PNP三极管驱动。 (4)电源模块:本次直接购买了市场上由PC机的USB口直接供电的编辑器2.2 设计课题电路原理图、PCB图、元器件布局图2.2.1 电路原理图 见附录A所示。2.2.2 PCB图 见附录B所示。2.2,3 元器件布局图 见附录C所示。2.3 设计课题元器件清单 见附录D所示。3 设计课题软件系统的设计3.1 设计课题使用单片机资源的情况 设计课题使用单片机资源的

11、情况如下:P0口输出数码管段控信号,P2口输出数码管位控信号;晶振12MHz;时间调整开关键K1:P1.0;通过K1切换电子钟走时/暂停;时调整键K2:P1.1;按一次使电子钟时加1;分调整键K3:P1.2;按一次使电子钟分加1;秒调整键K4:P1.3按一次使电子钟秒加1/闹钟开启或关闭;蜂鸣器接:P3.1;整点和闹钟时间到时蜂鸣器报时;28H-36H;9个寄存器单元作为显示单元; 28H 闹铃小时缓冲区;29H闹铃分钟缓冲区;30H 位选通控制位; 31H 显示位数计数器;32H 走时小时缓冲区;33H 走时分钟缓冲区;34H走时秒缓冲区; 35H 定时器中断次数计数器;36H显示缓冲区首地

12、址;3.2 设计课题软件系统个模块功能简要介绍 本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.3 设计课题软件系统程序流程框图系统软件采用汇编语言按模块化方式进行设计,然后通过Keil

13、软件开发平台将程序转变成十六进制程序语言,接着使用Proteous 进行仿真,读出显示数据。 图3.1 主程序流程框图 图3.2 定时器初始化子程序流程框图 图3.3 转换子程序 图3.4动态显示子程序 图3.5定时器1中断服务程序 图3.6 按键处理子程序流程框图3.4设计课题软件系统程序清单 要求:.显示系统提示符“P.” .定义5个功能键:分别是复位键,启动/暂停键,时调整键,分调整键,秒调整键 .在系统提示符状态下,只有按启动键/暂停键才能开启电子钟 .在电子钟运行状态下,只有按启动键/暂停键才能调整电子钟 电路描述:P0口为数码管段控口,P2口为数码管位控口,蜂鸣器接P3.1口,LE

14、D灯接P3.7口 系统程序见附录E4 设计结论、仿真结果、误差分析4.1 设计课题的设计结论及使用说明本设计为单片机的电子钟的设计。设计中问题很多,比如电路板的制作和电路的设计,但是经过查找和实验制作出了该设计,真的经历了许多困难,却积累了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中S1为启动/选择调整位置,S2为加控制键 S3为减控制键,当整点时间到时,蜂鸣器报警。这样的结果与设计要求完全相符,本设计成功。完成了设计任务。4.2 设计课题的仿真结果在Proteus ISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图4.

15、1与4.2所示。实现功能: 可调整运行的电子钟具有三种工作状态:“P.”状态,运行状态,走时调整状态,闹钟调整状态。 (1)、“P.”状态:依靠上电或按复位键进入,在此状态下,按K2,K3,K4键均无效,按K1键有效,进入运行状态。 (2)、运行状态:在此状态下,按K2,K3键均无效,只有按K1,K4键有效,按下 K1键后,退出运行状态,进入调整状态。 (3)、调整状态:按K1键进入在此状态下,按K2(时+1键)、K3(分+1键),K4(秒+1键)键均有效;调整结束后必须按K1键,即可退出调整状态,进入运行状态。 (4)、闹钟调整状态:闹钟走时状态下按K4键进入,在此状态下,按K2(时+1键)

16、、K3(分+1键),键均有效;调整结束后必须按K4键,即可退出闹钟调整状态,进入运行状态。 时间显示格式为:时-分-秒; 图4.1 “P.”运行状态仿真图4.2 时钟运行状态仿真4.3 设计课题的误差分析本设计存在相对的误差,误差的产生有几种情况,第一是采用的计时方案是软件计时的,计时优势利用中断来实现,而当电子钟运行时间1秒时,又得去执行中断程序,这个过程是需要时间的,所以就产生了一定的误差;第二还有硬件系统也有一定的影响;第三,用到12MHz的晶振,计算是满20次为一秒钟,所以实际会慢很多。4.4 设计体会 通过本次课程设计,加深了我对专业的认识,知道了自己的许多不足,使我深深的感受到了理

17、论和实际动手能力的重要性。在我们的学习过程中,我们应当加强理论的基础,彻底了解程序的结构和含义,同时加强自己的动手能力,只有这样才能学好这门课程。4.5 教学建议通过对这门课程学习,了解了单片机的许多知识,尤其是在王韧老师的教学过程中,你的幽默的教学方式让课堂气氛很活跃,授课内容条理清晰,经常运用各种实例,给人印象深刻。王老师您在课堂上经常会用一些亲身实践的经验为例,既生动,又有趣。但是对于不同的学生老师您可以有不同的规格,有的学生以后不一定有专业对口的工作,也对这门专业没兴趣的话,老师您的严格要求可能只会有反效果,所以老师您适当放宽要求即能加深同学的认识也能培养学生的积极性。结束语单片机是一

18、门比较难学的课程,相对来说,单片机的课设也是不容易做的。通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。在此课程设计过程中,我不仅可以学到了很多在书本上所没有学到过的知识,同时还巩固了以前所学过的知识。通过这次课程设计。我深刻体会到实际动手操作与书本理论知识有很大的反差,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的

19、是最终都得到了解决。致 谢通过不断努力,终于完成了此次单片机的课程设计。在此,首先感谢王韧老师,正是他在万忙之中还抽出宝贵的时间对我们进行精心的指导,才使我顺利完成了此次单片机课程设计。同时也感谢各位同学和老师对我提供的帮助。使我在此次设计中学到了许多宝贵的知识和经验。在此,衷心地感谢你们!参考文献1 邓红.张越.单片机实验与应用设计教程M.北京:冶金工业出版社,2004.5 188-1951. ZhangYue DengGong. SCM experiment and application design tutorial M. Beijing: metallurgical industry

20、 press, 2004.5 188-1952 李广第.单片机基础M.北京:北京航空航天大学出版社,2006.7. 1-2602 LiGuang first. Single chip microcomputer based M. Beijing: Beijing university of aeronautics &astronautics press, 2006.7. 1-2603 刘建清.轻松玩转51单片机M.北京:北京航空航天大学出版社,2011.3. 186-2083 LiuJianQing. Easy play 51 SCM M. Beijing: Beijing universit

21、y of aeronautics &astronautics press, 2011.3 186-208 附录A附录B附录C附录D 表1元器件清单名称数量参数电阻4个1K电阻8个470电阻1个200下载口1个USB电源插座1个蜂鸣器1个按键10个三极管1个9012USB供电线1根晶振1个12MHz瓷片电容2个33pf电解电容2个22F单排插针2个40P发光二极管9个六角开关1个AT89S52单片机1个40PAT89S52芯片锁紧座1个40P四位一体共阳数码管2个四位一体数码管插座1个40P74HC5731个20P74HC573芯片插座1个20P排阻4个10K排阻1个470短路冒4个附录E;=

22、程序定义段;= ALARM BIT 20H.0 K1 BIT P1.0 K2 BIT P1.1 K3 BIT P1.2 K4 BIT P1.3 HOUR_A EQU 28H MIN_A EQU 29H DISP_DIGIT EQU 30H DISP_SEL EQU 31H HOUR EQU 32H MIN EQU 33H SEC EQU 34H T1_COUNT EQU 35H DISP_BUF EQU 36H;=; 主程序开始;= ORG 0000HLOOP: MOV P0, #0CH MOV P2, #7FH JB P1.0, LOOP LCALL DELAY_10ms JB P1.0,

23、LOOP JNB P1.0, $ LJMP MAIN ORG 000BH LJMP TIME0 ORG 001BH LJMP TIME1 ORG 0100HMAIN: MOV SP, #70H MOV P0, #0FFH MOV P2, #0FFH CLR ALARM MOV HOUR_A, #12 MOV MIN_A, #00 MOV HOUR, #0 MOV MIN, #0 MOV SEC, #0 MOV T1_COUNT, #0 MOV DISP_DIGIT,#7FH MOV DISP_SEL, #0 MOV DISP_BUF+2,#10 MOV DISP_BUF+5,#10 ACALL

24、 T0T1_INITSTART : ACALL CONV ACALL ALA_CHECK JB K1, K1_NEXT ACALL LIGHT ACALL KEY_PROC AJMP STARTK1_NEXT: JB K2, K2_NEXT AJMP STARTK2_NEXT: JB K3, K3_NEXT AJMP STARTK3_NEXT: JB K4, K4_NEXT ACALL LIGHT ACALL ALARM_SET CPL ALARM JNB ALARM, STOP_BEEP ACALL LIGHT ACALL LIGHT ACALL LIGHT AJMP STARTSTOP_B

25、EEP:ACALL LIGHT K4_NEXT: AJMP START;=; 定时器T0.T1初始化子程序;=T0T1_INIT:MOV TMOD, #11H MOV TH0, #0F8H MOV TL0, #0CCH MOV TH1, #0DCH MOV TL1, #00H SETB EA SETB ET0 SETB ET1 SETB TR0 SETB TR1 RET;=; 走时转换子程序;=CONV: MOV A, HOUR MOV B, #10 DIV AB MOV DISP_BUF, A MOV A, B MOV DISP_BUF+1,A MOV A, MIN MOV B, #10 D

26、IV AB MOV DISP_BUF+3,A MOV A, B MOV DISP_BUF+4,A MOV A, SEC MOV B, #10 DIV AB MOV DISP_BUF+6,A MOV A, B MOV DISP_BUF+7,A RET;=; 定时器T0中断服务程序,用于数码管扫描;=TIME0: PUSH ACC PUSH PSW MOV TH0, #0F8H MOV TL0, #0CCH ACALL DISP POP PSW POP ACC RETI;=; 显示子程序;= DISP: MOV P2, #0FFH MOV A, #DISP_BUF ADD A, DISP_SEL

27、MOV R0, A MOV A, R0 MOV DPTR, #TAB MOVC A, A+DPTR MOV P0, A MOV P2, DISP_DIGIT MOV A, DISP_DIGIT RR A MOV DISP_DIGIT,A INC DISP_SEL MOV A, DISP_SEL CLR C SUBB A, #8 JZ RST_0 AJMP DISP_RETRST_0: MOV DISP_SEL, #0DISP_RET: RET;=; 定时器T1中断服务程序,用于电子钟走时;=TIME1: PUSH PSW PUSH ACC MOV TH1, #0DCH MOV TL1, #00

28、H INC T1_COUNT MOV A, T1_COUNT CLR C SUBB A, #100 JC END_T1 MOV T1_COUNT, #00H INC SEC MOV A, SEC CJNE A, #60, END_T1 INC MIN MOV SEC, #0 MOV A, MIN CJNE A, #60, END_T1 INC HOUR LCALL BEEP LCALL BEEP LCALL BEEP LCALL BEEP LCALL BEEP MOV MIN, #0 MOV A, HOUR CJNE A, #24, END_T1 MOV SEC, #0 MOV MIN, #0

29、 MOV HOUR, #0END_T1: POP ACC POP PSW RETI;=; 数码管段控码表;=TAB: DB 0C0H,0F9H,0A4H,0B0H,099H DB 092H,082H,0F8H,080H,090H DB 0BFH DB 0FFH;=; 按键处理子程序;=KEY_PROC: CLR TR1KEY2: JB K2, KEY3 ACALL DELAY_10ms JB K2, KEY3 JNB K2, $ INC HOUR MOV A, HOUR CJNE A, #24, KEY2_NEXT MOV HOUR, #0KEY2_NEXT:ACALL CONV AJMP KEY2KEY3: JB K3, KEY4 ACALL DELAY_10ms JB K3, KEY4 JNB K3, $ INC MIN MOV A, MIN CJNE A, #60, KEY3_NEXT MOV MIN, #0 KEY3_NEXT:ACALL CONV AJMP KEY2KEY4: JB K4, KEY1 ACALL DELAY_10ms JB K4, KEY1 JNB K4, $ INC SEC

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服