(时间管理)作息时间系统

上传人:管****问 文档编号:119786968 上传时间:2020-01-25 格式:DOC 页数:12 大小:69.05KB
返回 下载 相关 举报
(时间管理)作息时间系统_第1页
第1页 / 共12页
(时间管理)作息时间系统_第2页
第2页 / 共12页
(时间管理)作息时间系统_第3页
第3页 / 共12页
(时间管理)作息时间系统_第4页
第4页 / 共12页
(时间管理)作息时间系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《(时间管理)作息时间系统》由会员分享,可在线阅读,更多相关《(时间管理)作息时间系统(12页珍藏版)》请在金锄头文库上搜索。

1、长沙学院单片机技术和应用课程设计说明书题目:学校作息时间系统的设计系部: 电信系 专业:电气信息工程 姓名: 唐玉红 学号: 2008044121 指导老师:王新辉 刘辉 谢明华起止时间: 2010.12.2012.31 系(部):电子与通信工程系 专业:08级电子信息工程 指导教师:王新辉、刘辉、谢明华课题名称学校作息时间系统的设计设计内容及要求(1)课题内容:以单片机为核心,设计一个智能化作息时间控制器。该控制器要求的功能有:按本校作息时间接通/断开电铃(以蜂鸣器代替);并用液晶屏显示时钟(可以用数码管显示)。作息时间控制器常用于学校教学楼的时间控制,利用单片机内部定时器实现时间基准定时,

2、显示的内容要求有时、分、秒各两位(数码管显示可以不显示秒),并能调节小时和分钟。(2)要求:完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,下载到单片机进行硬件验证。最后就课程设计本身提交一篇课程设计说明书。设计工作量1、汇编或C51语言程序设计;2、程序调试;3、在Proteus上进行仿真成功后,进行下载硬件实物验证;4、提交一份完整的课程设计说明书,包括封面,中文摘要,目录,正文(正文主要包括:设计原理、程序设计、程序分析、仿真分析、调试过程,调试结果等部分),参考文献、设计总结等。进度安排起止日期(或时间量)设计内容(或预期目标)备注第一天课题介绍,答疑,收集材料,C51

3、介绍第二天设计方案论证,练习编写C51程序第三天第六天程序设计第六天第八天 程序调试、仿真第九天第十天系统测试并编写设计说明书教研室意见年 月 日系(部)主管领导意见年 月 日长沙学院课程设计鉴定表姓名唐玉红学号2008044121专业08电子班级一班设计题目学校作息时间系统的设计指导教师王新辉、刘辉、谢明华指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;目录一、设计说明5二、硬件设计5三、程序设计5 1、 使用方法5

4、 2、 基本原理63、 程序清单64、 仿真测试11四、经验总结11五、参考文献12一、设计说明:(1)课题内容:以单片机为核心,设计一个智能化作息时间控制器。该控制器要求的功能有:按本校作息时间接通/断开电铃(以蜂鸣器代替);并用液晶屏显示时钟(可用数码管显示)。作息时间控制器常用于学校教学楼的时间控制,利用单片机内部定时器实现时间基准定时,显示的内容要求有时、分、秒各两位(用数码管可以不显示秒),并能调节小时和分钟。(2)要求:完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后,下载到单片机进行硬件验证。最后就课程设计本身提交一篇课程设计说明书二、硬件设计 如下图所示。单片机P

5、3.3P3.5与三个按钮连接,起分别控制秒钟、分钟和时钟,P2.6与led灯相连代替喇叭,到一定时间灯亮,P1.0P1.7接数码管,控制数码管数字的形成,P2.0P2.3接数码管的控制端,控制数码管的显示。三、程序设计1、使用方法 接通电源后,程序开始工作,数码管“0000”并开始计时。(1) 设置现在时间按s-set键设置现在的秒钟调整,按一下秒钟加一;按m-set键设置现在的分钟调整,按一下分钟加一;h-set按键设置小时的调整,按一下小时加一。小时超过24小时时自动跳为0,当分钟超过60时自动跳到0(2) 设置作息时间在程序中嵌入了我们学校的一套作息时间。(3) 电铃的响停Proteus

6、仿真运行时会自动判断是否到了打铃时间即灯亮的时间,每一次亮灯时时间为10s过了十秒之后自动熄灭。2、基本原理 用独立式按键来实现分钟、小时、秒钟的可调,用中断和动态显示的方法时间数码管上时间的显示,用查询的方法在程序中嵌入一套作息时间系统。 3、程序清单/ 硬件连接:段选码P1.0P1.7(a,b,c,d,e,f,g,h,dp),位选码P2.0P2.3(高到低) / K1-P3.5;K2-P3.4;K3-P3.3;K4-P3.2 #include reg51.h #define uchar unsigned char #define uint unsigned int #define Hidd

7、en 0x10; /消隐字符在字形码中的位置 uchar code BitTab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; uchar code DispTab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uchar DispBuf6; /6字节的显示缓冲区 /uchar minutevalue ; bit Sec; /1s到的标记 bit Minute; /1m到的标记 bit Hour; /1h到的标记 bit H_up; bit H_down; bit M_up; bit M_down; sbit P2_7=P

8、27; /周期测试位 sbit p2_6=P26; /测试位 void mDelay(unsigned int Delay); uchar led_alarm;/闹铃led uchar SecValue; /秒计数 uchar MinuteValue; /分计数 uchar HourValue; /时计数 uchar code TH0Val=63075/256; uchar code TL0Val=63075%256;/晶振为12M,定时2.5ms定时器初值(计算值为63036,校准值为63075) void alarm() /if(minutevalue=0)&(secvalue=0)&(h

9、ourvalue=8) ) if(MinuteValue=5)&(SecValue=0)&(HourValue=8) ) / p2_6=1; / mDelay(10000); /p2_6=0; led_alarm=1; void Timer0() interrupt 1 uchar tmp; static uchar dCount; /计数器,显示程序通过它得知现在显示那个数码管 static uint Count; /秒计数器 const uint CountNum=400; /预置值(400*2.5ms=1minute) P2_7=!P2_7; /外部测试位,用于调整定时器初值 TH0=TH0Val; TL0=TL0Val; tmp=BitTabdCount; /根据当前的计数值取位值 P2=P2|0x3f; /P2与00111111相或,将低6位置1 P2=P2&tmp; /P2与取出的值相与,将某一位清0 tmp=DispBufdCount; /根据当前的计数值,取显示缓冲区的待显示值 tmp=DispTabtmp; /取字形码 P1=tmp; /送出字形码 dCount+; /计数值加1 if(dCount=6) /如果计数值为6,归0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号