




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第1章概述21.1 设计要求21.2 设计目的21.3 设计意义21.4 2章系统总体方案选择与说明31.5 3章硬件电路设计43.1 按键控制模块43.2 时间显示模块53.3 打铃模块63.4 4章应用软件设计84.1 系统软件设计思想84.2 系统主程序84.3 中断子程序94.4 按键扫描子程序1.1.第5章系统仿真调试125.1 软件简介125.2 软件仿真12第6章硬件调试与结果分析15结束语17致谢18参考文献19附录A系统硬件电路原理图20附录B程序清单21评分表29第1章概述1.1 设计要求本设计要求设计学校作息时间控制器,其设计实现的功能主要有:使用4位七段显示器来显示
2、现在的时间,显示格式为“时分”,由LED闪动作为秒计数表示,到响应时间打铃,可冬夏季切换。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。1.2 设计目的增强对单片机的认识,与理解,提高时间能力与水平。学会使用proteus仿真软件,充分把所学电路、模数电理论与实践结合,了解和掌握单片机设计软件与硬件设计结合过程、方法和实现,以及掌握单片机的内部模块的应用。1.3 设计意义用单片机及c语言编程模拟学校作息时间,到时打铃,以及冬季夏季手动切换打铃时间。第2章系统总体方案选择与说明由按键控制模块控制单片机最小系统的时间、月份、年以及打铃时
3、问,在有单片机控制数码管显示以及蜂鸣器。本次设计实现的功能主要有:使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。由按键输入控制设置年月日以及当前时间、并可设置闹钟定时,时间到由蜂鸣器发出响声。按键控制模块单片机最小系统数码管显示模块闹钟模块图2-1第3章硬件电路设计3.1按键控制模块按键控制模块主要有由五个按键组成:K1、K2、K&K4、K5。分别接P1.3-P1.7口。K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K
4、4的作用是减一;K5的作用是冬夏季切换。K1_1=L.GEXT .0 一、QK? I1 <TEXT> .-OOf-K?l> <丁FXTROO-K4j=l图3-15678P1 0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7AT89C51当需要设定时间或是校正时间,即可按下模式切换键来进行。校正时间:按第一次K1键,进入小时校正状态,通过按K2、K4键进行小时校正,按一下K2键则加一,按一下K3键则减一。按第二次K1键,进入分校正状态,通过按K2、K4键进行分钟校正。按第三次K1键,进入小时设定状态,此时若不需要设置则不操作。按第四次K1键,进入分
5、钟设定状态,若此时不需要设置则不操作。按第五次K1键进入月份校正状态,通过按K2、K4键进行月份校正按第六次K1键,进入日校正状态,通过按K2、K4键进行日校正。按下第七次K1键进入年份校正状态,通过按K2、K4键来进行年份校正。校正完毕后,再按一次K1键,则退出时间校正状态,并显示当前校正后的准确时间。设定时间:按第一次K1键进入小时校正状态,此时若不需要设置,则不操作;以此类推。第三次按下K1键,进入小时设定状态,通过按K2、K4键进行小时设定。按下第四次K1键,进入分钟设定状态,通过按K2、K4键进行分钟设定。设定完毕后,按一下K3键(闹钟使能)。继续按K1键,若不需要设置,则不操作,以
6、此类推,到按最后一次K1键则退出时间设定状态并显示当前时间,当时间与我们设定的时间一致时,通过闹钟电路响声提示。若要关闭闹钟,此时再按一次K3键即可停止响声。若k5=1,执行冬季打铃时间。若k5=0,则执行夏季打铃时间。3.2 时间显示模块本设计采用四位七段共阳数码管做显示模块,其中前两位做时、月份显示,其余两位作为分、日显示,选取前两位的一个dp点作为秒点。单片机P0.0-P0.7分别接七段数码管的abcedfg和dp引脚。P2.0-P2.3分别作为四个七段数码管的片选端。阳口泡油叫训笛PO中胸加PO也:用2PO7jft&7PlJCrAflPS.1MSIpa.i'AiDP23
7、M11F2.4A12P2W13F2.WA14P27JW15图3-2时间显示模块主要由四位数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。时间正常显示时,LED每闪动60次,分钟自动加一;每六十分钟小时自动加一;每24小时大自动加一。3.3 打铃模块单片机p3.7口控制蜂鸣器,若数码管显示时间与设定的学校作息时间相同,蜂鸣器模拟打铃一分钟P2.4/A12 P2.5/A13P2.S/A14P2.7/A15P3.0/RXDP3.irrxc*_ P3.2J1NT0P3.3J1NT1P3.4A0PJS/Tl_ P3.6/WR- P3.7/RD"Q1:MPS6514;-<TEX
8、TV:J .,LSI 一-L_n1/:图3-3打钟模块快的主要功能:闹铃。当设定时间与当前时间一致时,则闹钟自动闹铃进行提示,一分钟后,自动退出响铃状态,若按K3键,闹钟退出响铃状态。第4章应用软件设计4.1 系统软件设计思想本系软件设计中,利用单片机定时器设计时间计时处理,采用单片机内部的T0定时器溢出中断来实现,工作在T1方式下,定时50微妙,则连续中断20次即为一秒,得到了我们所需时间的最小单位。该设计用C51编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活。许多子函数都可以直接移植过去。在程序中除了有主函数外还包含许多子函数,如延时函数、按键扫描函数、初始化函数、时间显示函数、
9、设定闹钟显示函数、设定日期显示函数、设定年份显示函数、月份选择函数、年份显示辅助函数、冬夏季作息时间切换函数。4.2 系统主程序在主控程序循环中主要工作为扫描是否有按键,若有按健则做相应的功能处理,同时也扫描显示器显示时间数据,并检查所设置的时间是否到了。时间计时处理程序是等过了1s后,则更新时间数据,将最新的时、分的数据转换为数字数据并显示在七段显示器上。蜂鸣器初始化定时器初始化年份显示函数日期显示函数设定闹钟显示函数校正时间显示函数时间显示函数按键扫描判断标志位X1X=121X=3411X=5611X=7X=0图3-2主程序流程图4.3 中断子程序中断子程序的主要功能:提供时间基准。当连续
10、中断20次时,即为一秒,此时秒加一。当秒值为60时,分钟加一,同时秒清零;当分钟值为60时,小时加一,同时分钟值清零。当小时为24时,大值加一,同时小时清零。由于每月天数不定,1、3、5、7、8、10、12月为31天,当计数到此类月份时,大值为32时,月值加一,同时天值为1;4、6、9、11月为30天,当计数到此类月份时,大值为31时,月值加一,同时天值为1。如果是闰年,则2月为29天,当计数到此类月份时,大值为30时,月值加一,同时天值为一。如果不是闰年,则2月为28天,当计数此类月份时,大值为29时,月值加一,同时天值为一。当月值为13时,则年值加一,同时月值为一。设置定时器初值秒变量加一
11、秒值清零、分值加一分值清零、小时加一小时清零、天值加一天值为1、月值加一月值为1、年值加一4.4 按键扫描子程序按键扫描子程序是程序计中相当重要的一部分。按键扫描子程序的功能是:扫描是否有按键按下,若有键按下,则执行相应功能。设计中包含了防抖动程序,延时20ms,判断是否为抖动,若不是抖动则执行相应程序功能启动Proteus进行仿真时显示的初始化时间。初始界面仿真图如图:工,口二F3LSii-jwrn第5章系统仿真调试5.1 软件简介本次课程设计仿真主要采用proteusoProteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其
12、它电路的工作情况。从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。5.2 软件仿真pawbicom心rDur*K!raim咫d.P*±3fEHh/EE-,下图5-1时间校正:当我们需要正确的显示时间即可进行时间校正,按一下K1即进入小时校正状态,通过K2加一或K4减一来进行小时校正,再按一次K1键即可进行分钟校正,校正原理同小时校正相同。其仿真图如图图5-5日期校正:当我们需要与当前日期保持一致时,则可以使用日期校正功能,连续按动五次K1键,则进入月份校正状态,通过K2加一键或K4减一键进行校正月份,再按一次K1键,则可进行日期校正,校正原理同月份校正原理相同。其仿真图如图
13、5-3。-tST:i . X1 :JF,QW” PSlvf-s pajmi订g raawiEverEMio ,二 A3 fijojd Ff Th ,二MUf F:£>£C F3 mm年份校正:当我们需要保持年份与当前年份一一致时,则可以进行年份校正。连续按动七次K1键,即进入年份校正状态,通过K2加一键或K4减一键进行校正。其仿真图如图5-4所示。4-5图到时打铃:当单片机显示时间与设定学校打铃时间相同时,蜂鸣器响。如图5-5所示。第6章硬件调试与结果分析结束语此次课程设计为期两个星期,围绕着利用最小单片机系统设计模拟学校作息时间打铃系统,实现了时间计时,时间调整,时
14、间暂停,到点响铃和冬夏季切换等功能。使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。可以设定作息时间,并进行到时提示。能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。由按键输入控制设置年、月、日以及当前时间并可设置闹钟定时,显示时间与设计作息时间相同时由蜂鸣器发出响声。设计之初,由于忽略了数码管共阴与共阳的问题,导致在硬件调试的时候未能成功,修改后,导致秒点不能闪烁,一直未能找出原因,最后发现是忽略了与、或之间没转换。在设计冬夏季切换时,对主函数初始化问题理解不透彻,致使一开始不能切换。在设计打铃时间表时,还可以采用查表法,此
15、方法相比可以节约程序空间。致谢通过两周的课程设计,利用单片机把复位电路,显示电路,电源电路,继电器电路,电铃电路连接起来,在通过单片机的编程实现设计要求。单片机作息时间控制系统是利用定时器计时处理来做秒计数,当所设置的时间到了,则发出一阵声响,启动继电器,由继电器可以控制收音机开启或者关闭。时,分,秒数据是存在变量内并写入七段显示管的缓冲区内,由显示管扫描中定时时扫描而显示出时间。我由最初的不知所措到后来的获益良多,觉得这两周过得很充实,也积累了一些设计的宝贵经验。这些离不开我的团队对我的帮助,更离不开王老师的悉心指导。参考文献A系统硬件电路原理图附录程序清单#include<REG52
16、.H>#defineuintunsignedint#defineucharunsignedcharucharcodea10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;sbitK1=P1A4;sbitK2=PW5;sbitK3=P1A6;sbitK4=P1A7;sbitsd=P1A0;sbitBEEP=P3A7;ucharm=59,h=7,sec=30,cnt=0,x,y,qian,bai,shi,ge;ucharset_h=8;ucharset_m=6;ucharmonth=6;ucharday=12;ucharth0_f;uch
17、artl0_f;uintyear=2013;voiddelay(uchart);voidscankey(void);voidinit(void);voiddisplay(void);voidset_time(void);voidset_day(void);voidm_choose(void);voidbianhuan(void);voidbianhuan1(void);voidtime0(void)interrupt1TH0=0x3c;TL0=0xb0;cnt+;if(y=1&&(set_h=h&&set_m=m)sd=0;elsesd=1;if(y=1&
18、;&(h=8&&m=0)sd=0;elsesd=1;if(cnt=20)(sec+;cnt=0;if(sec=60)(sec=0;m+;if(m=60)(m=0;h+;if(h=24)(h=0;day+;switch(month)(case1:if(day=32)month+;day=1;break;case2:if(year%4=0)if(day=30)month+;day=1;elseif(day=29)month+;day=1;break;case3:if(day=32)month+;day=1;break;case4:if(day=31)month+;day=1
19、;break;case5:if(day=32)month+;day=1;break;case6:if(day=31)month+;day=1;break;case7:if(day=32)month+;day=1;break;case8:if(day=32)month+;day=1;break;case9:if(day=31)month+;day=1;break;case10:if(day=32)month+;day=1;break;case11:if(day=31)month+;day=1;break;case12:if(day=32)month+;day=1;break;if(month=1
20、3)month=1;year+;if(x=0)bianhuan1();timer1()interrupt3BEEP=BEEP;voidmain(void)init();while(1)if(k5=0)vary1();if(k5=1)vary2();voidvary1()display();scankey();if(y=1&&(set_h=h&&set_m=m)BEEP=0;elseBEEP=1;if(y=1&&(h=8&&m=0)BEEP=0;elseBEEP=1;if(y=1&&(h=8&&m=4
21、5)BEEP=0;elseBEEP=1;voidvary2()display();scankey();if(y=1&&(set_h=h&&set_m=m)BEEP=0;elseBEEP=1;if(y=1&&(h=8&&m=2)BEEP=0;elseBEEP=1;if(y=1&&(h=8&&m=47)BEEP=0;elseBEEP=1;voidinit(void)BEEP=0;TMOD=0x11;TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;ET1=1;TR1=0;EA=1;voiddi
22、splay(void)P2=0xfe;P0=aqian;if(x%2=1&&cnt>=10)P0|=0xff;delay(20);P2=0xfd;P0=abai;if(x%2=1&&cnt>=10)P0|=0xff;elseif(x=0&&cnt>=10)P0&=0x7f;delay(20);P2=0xfb;P0=ashi;if(x%2=0&&x!=0)|x=7)&&cnt>=10)P0|=0x7f;delay(20);P2=0xfZ;P0=age;if(x%2=0&&
23、;x!=0)|x=7)&&cnt>=10)P0|=0x7f;delay(20);)voidm_choose(void).switch(month)(case1:if(day=32)month+;day=1;break;case2:if(year%4=0)if(day=30)month+;day=1;elseif(day=29)month+;day=1;break;case3:if(day=32)month+;day=1;break;case4:if(day=31)month+;day=1;break;case5:if(day=32)month+;day=1;break;c
24、ase6:if(day=31)month+;day=1;break;case7:if(day=32)month+;day=1;break;case8:if(day=32)month+;day=1;break;case9:if(day=31)month+;day=1;break;case10:if(day=32)month+;day=1;break;case11:if(day=31)month+;day=1;break;case12:if(day=32)month+;day=1;break;)voidset_time(void)(qian=set_h/10;bai=set_h%10;shi=se
25、t_m/10;ge=set_m%10;)voidset_day(void)qian=month/10;bai=month%10;shi=day/10;ge=day%10;voidbianhuan(void)qian=year/1000;bai=year%1000/100;shi=year%100/10;ge=year%10;voidbianhuan1(void)qian=h/10;bai=h%10;shi=m/10;ge=m%10;voidscankey(void)if(K1=0)delay(20);if(K1=0)while(K1=0);x+;if(x=3)set_time();elseif(x=5)set_day();elseif(x=7)bianhuan();elseif(x=8)x=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓库机械租赁合同范本
- 冻肉投放合同范本
- 加工制作合同范本门窗
- 产品推广居间合同范本
- 加盟合同范本奶茶
- 健身收购合同范本
- 出租黄色围挡合同范例
- 中国国家展览中心合同范例
- 住宅租赁房屋合同范例
- 2024年温州鹿城农商银行招聘笔试真题
- TCADERM 5015-2023 救护直升机院际患者转运规范
- 部编版-九年级下册语文第一单元测试卷-含答案
- 疾病诊断相关分组概念
- 水库清淤工程可行性研究报告
- Python深度学习实战-基于Pytorch全书电子讲义完整版ppt整套教学课件最全教学教程
- 2023年黑龙江建筑职业技术学院高职单招(语文)试题库含答案解析
- GB/T 13298-1991金属显微组织检验方法
- 十八项医疗核心制度考试题及答案
- 《地史学》第01章-绪论
- 《高级计量经济学》-上课讲义课件
- 常见眼底病基础知识课件
评论
0/150
提交评论