




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计(论文)任务书 信息工程 学 院 信息工程 专 业 * 一、课程设计(论文)题目 题目七-夜班防睡控制/记录器 二、课程设计(论文)工作自 2013 年 6 月 8 日起至 2013 年 6 月 16 日止。三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。 2课程设计的任务及要求1)基本要求:(1)分析所设
2、计系统中各功能模块的工作原理;(2)选用合适的器件(芯片);(3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。3)课程设计论文编写要求(1)要按照书稿的规格打印撰写论文。(2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。(3)论文装订按学校的统一要求完成。4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分;(4)回答问题:20分;(5)格式规范性 (10分)。5)参考文献:(1)董 . 某出版社 (2)张 . 某出版社
3、(3)http:/某网址/ 6)课程设计进度安排内容 天数 地点构思及收集资料 1图书馆系统设计与调试 4 实验室撰写论文 2图书馆、实验室学生签名: * 2013 年 6 月8 日课程设计(论文)评审意见(1)完成原理分析(20分):优( )、良( )、中( )、一般( )、差( ); (2)设计分析 (30分):优( )、良( )、中( )、一般( )、差( ); (3)完成调试 (20分):优( )、良( )、中( )、一般( )、差( );(4)回答问题 (20分):优( )、良( )、中( )、一般( )、差( );(5)格式规范性 (10分):优( )、良( )、中( )、一般(
4、)、差( ); 评阅人: 职称: 2013 年 6 月 16 日目录目录3摘要4正文5一、实验目的5二、设计内容5三、设备和器材5四、设计要求55.1单片机89C52电路原理图65.2红绿黄三只指示灯原理图65.3矩阵按键原理图65.4 8位数码管原理图75.5 液晶1602显示原理图76.1仿真电路图96.2 proteus仿真结果9小结11参考文献12附录 C程序代码1320摘要本课程设计是利用单片机原理知识设计一个夜班防睡控制/记录器,能够在设定的时间内对夜间值班者进行防睡眠响铃提示。在值班期间,防睡控制/记录器每隔10秒钟会用较柔和的声音提醒一次值班者,同时绿灯亮起,值班者按下5键后复
5、位,计时重新开始,绿灯熄灭。若计到13s时无人按复位键,则以较急促的声音报警,黄灯闪烁,并每隔10s继续以较急促的声音报警,黄灯闪烁。若一直无人到按下5键复位,当计时60s时红灯闪烁,并以尖锐的声音持续报警30s。同时记录下这个时刻。管理者可以查看值班记录情况,每按下一次键9,1602液晶会以时、分、秒格式显示出一个值班记录。本课设涉及到的知识点主要有单片机的定时器的应用、矩阵键盘的使用、1602液晶显示模块的使用、利用74HC595移位寄存器实现8位数码管的显示、proteus仿真软件的使用等软硬件知识。正文题目七: 夜班防睡控制/记录器一、实验目的利用所学单片机的理论知识进行软硬件整体设计
6、,锻炼学生理论联系实际、综合应用的能力。二、设计内容在单片机系统上实现对值夜班人员的防止睡觉控制和记录睡着时间与次数的功能。三、设备和器材计算机、YL-32 开发板、LED数码管8只,1602液晶显示模块、发光二极管3只(红、黄、绿各一只)。其他器件任选。四、设计要求1、设计接口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图。2、编写下列控制程序1)每10s用较柔和的声音提醒一次值班者,绿灯D2亮起,值班者按B5键后复位,计时重新开始,绿灯D2熄灭。2)若计到13s时无人按复位键B5,则以较急促的声音报警,黄灯D3闪烁,并每隔10s继续以较急促的声音报警,黄灯D3闪烁。3)当到
7、60s时红灯D4闪烁,并以尖锐的声音持续报警。则记录下这个时刻,以便管理者查看。按下B9键会以液晶1602显示值班情况。显示格式:时、分、秒。4)按下B6键、B7键可以设定8位数码管的时和分,B8键可以清零时钟。五、系统电路原理图5.1单片机89C52电路原理图5.2红绿黄三只指示灯原理图5.3矩阵按键原理图5.4 8位数码管原理图利用74HC595移位寄存器来实现数码管的显示,它占用单片机的IO口少,具有锁存功能,而且控制也是相当的容易。5.5 液晶1602显示原理图六、程序流程图七、proteus仿真6.1仿真电路图6.2 proteus仿真结果小结因为夜班防睡的重点在于响铃提示值班者及记
8、录值班者的值班信息。设计本课设的难点和重点在于如何确定时间的正确性,如何确定值班者是否按下复位键及根据按下键值来做出相应的响应,做到实时的响应效果。要确定值班者是否按下复位键就要设定一个复位标识,以此来明确值班者按下复位键的情况,之后根据此标志来做出响铃和亮灯等动作。其中蜂鸣器的响铃时间是根据延时长短来区分的,这就要花费些时间调试好适合的延时时间,这样才能得到不同铃声的区分。通过这次的夜班防睡/记录器的设计和现实,进一步的了解和明白了单片机的工作原理,单片机的资源有限,需要充分合理的利用好各个资源,控制好各I/O空,只有这样才能更好的利用单片机实现更多的功能。此外,亦学会了如何读取矩阵键盘的键
9、值,学会了利用数码管制作时钟电路,学会了控制液晶1602的显示。虽然数码管的控制有许多种方式,但限于单片机的资源问题,个人认为利用74HC595移位寄存器来实现数码管的显示是一种不错的选择,因为它占用单片机的IO口少,具有锁存功能,而且控制也是相当的容易。参考文献1.张齐、朱宁西、必盛 编著单片机原理与嵌入式系统设计-电子工业出版社2.晁阳 编著单片机MCS-51原理及应用开发教程-清华大学出版社3.领翔电子-YL-32 51+AVR单片机开发板使用说明4.郭天祥-新概念51单片机C语言教程+入门、提高、开发-电子工业出版社5.李丽娟-C语言教程-人民邮电出版社6.附录 C程序代码#inclu
10、de <reg52.h>#define uchar unsigned char#define uint unsigned intsbit buzzer = P10;sbit led_green = P11;/greensbit led_yellow = P12;/yellowsbit led_red = P13;/redsbit led6 = P16;sbit led7 = P17;/程序运行指示灯sbit key1 = P32; /值班人按下的复位键sbit key2 = P33;/时钟设置键:按下一下,分+1sbit key3 = P34;/时钟设置键:按下一次,时+1sbit
11、 key4 = P35;/时钟复位键sbit MOSIO=P22;/74HC5956移位寄存器的数据线端sbit R_CLKa=P23;/输出存储器锁存时钟线sbit S_CLKa=P24;/数据输入时钟线/*lcd部分*sbit WR_lcd = P25;/lcd写允许管脚sbit RS_lcd = P26;/lcd寄存器选择管脚sbit EN_lcd = P27;/lcd使能端void init_lcd(void);/lcd初始化函数void write_com(unsigned char);/lcd写指令函数void write_data(unsigned char);/lcd写数据函数
12、void lcdshow(void);char ctable="record:"uchar counter = 0; /定时器步进uchar hour = 0,minute = 0,second ,m;uchar r_hour10,r_min10,r_sec10,record;/用于保存记录值unsigned char r=0;/记录按键次数uchar clearFlag;/标志是否已按下复位键uchar keyRC;/矩阵键盘按下的按键unsigned int i=0;uchar timer0h,timer0l,time;unsigned int tiptime =0;/
13、提示时间void init(void);void delay500(void);void delay1ms(unsigned int );void showtime(void);/数码管显示时间void sdata(void);/数据到寄存器void out(void);/数码管输出void bcon(void);/矩阵键盘/数码管显示表unsigned char code fseg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char code segbit=0x80,0x40,0x20,0x10,0x08,0x04,
14、0x02,0x01;unsigned char disbuf8=0,0,0,0,0,0,0,0;void main(void)uchar j;delay1ms(2);/等待硬件完成启动init();init_lcd();/初始化lcdwhile(1)showtime();if(tiptime = 10)/10s提示响铃,绿灯亮D2led_green = 0;for(i=0;i<20;i+)buzzer = buzzer;delay1ms(1);clearFlag = 1;/置响铃标志 if(clearFlag =1) if(tiptime%13 = 0)/每20s后响鸣,黄灯闪烁D3fo
15、r(i=0;i<20;i+)for(j=0;j<50;j+)buzzer = buzzer;delay500();led_yellow =led_yellow;delay1ms(50);led_yellow = 0;else if(tiptime = 60)/60s后急促警鸣,红灯闪烁D4tiptime+;/消去程序运行影响r_hourrecord = hour;r_minrecord = minute;r_secrecord = second;for(i=0;i<300;i+)for(j=0;j<20;j+)buzzer = buzzer;delay500();led
16、_red = led_red;delay1ms(50);led_red = 0;record +;if(record=10)record =0;led7 = led7;/程序运行指示灯D8void init(void)TMOD = 0x10;/定时器工作方式TH1 = 0xd8;TL1 = 0xf0;/初值10msET1 = 1;EA = 1;/系统中断TR1 = 1;/启动定时器/数码管显示时间void showtime() bcon(); sdata(); out();/* 函数功能:键盘控制*/void bcon(void)uchar row =0,column =0,temp,temp
17、R,tempC =0;tempR = 0x10;delay500();P3 = 0x0f;temp = P3;temp = temp & 0x0f;if(temp != 0x0f)/有按键按下delay500();/延时约1msP3 = 0x0f;temp = P3;temp = temp & 0x0f;tempR =temp;P3 = 0xf7;/第四行temp = P3;temp = temp & 0xf0;if(temp != 0xf0)/有按键按下delay1ms(1);P3 = 0xf7;temp = P3;temp = temp & 0xf0;if(
18、temp != 0xf0)keyRC =temp | 0x07;else P3 = 0xfb;/第三行temp = P3;temp = temp & 0xf0;if(temp != 0xf0)/有按键按下delay1ms(1);P3 = 0xfb;temp = P3;temp = temp & 0xf0;if(temp != 0xf0)keyRC =temp | 0x0b;else P3 = 0xfd;/第二行temp = P3;temp = temp & 0xf0;if(temp != 0xf0)/有按键按下delay1ms(1);P3 = 0xfd;temp = P
19、3;temp = temp & 0xf0;if(temp != 0xf0)keyRC =temp | 0x0d;elseP3 = 0xfe;/第一行temp = P3;temp = temp & 0xf0;if(temp != 0xf0)/有按键按下delay1ms(1);P3 = 0xfe;temp = P3;temp = temp & 0xf0;if(temp != 0xf0)keyRC =temp | 0x0e;/按下键后的操作if(keyRC = 0xed)/值班人按下复位键,键5keyRC =0;/按键清零tiptime = 0;/计时复位clearFlag
20、= 0;/清楚响铃标志led_green = 1; led_red = 1; led_yellow = 1;while(P3 & 0xf0) != 0xf0);/按键按着不放else if(keyRC = 0xdd)/键6 keyRC =0;/按键清零 minute +;/分累加1if(minute=60)minute=0;while(P3 & 0xf0) != 0xf0);/按键按着不放 else if(keyRC = 0xbd)/键7 keyRC =0;/按键清零 hour +;/时累加1 if(hour = 24)hour=0;while(P3 & 0xf0) !
21、= 0xf0); else if(keyRC = 0x7d)/数码管时钟清零,键8 keyRC =0;/按键清零 second = 0;/清零minute = 0;hour =0 ;while(P3 & 0xf0) != 0xf0);else if(keyRC = 0xeb)/键9,查看记录keyRC =0;/按键清零lcdshow();while(P3 & 0xf0) != 0xf0);disbuf0=second%10;disbuf1=second/10;disbuf3=minute%10;disbuf4=minute/10;disbuf6=hour%10;disbuf7=
22、hour/10;/* 函数名称 : sdata(void) 函数功能 : 数据传输*/void sdata(void)unsigned char b,c,num; if(b=0) b+; num=segbitm;/位数码管的选择 for(c=0;c<8;c+) S_CLKa=0; MOSIO=num&0x80; num<<=1; S_CLKa=1; if(b=1) b-; if(m=2|m=5) num=0xbf;/2和5显示'-' else num=fsegdisbufm;/数码管显示的值 for(c=0;c<8;c+) S_CLKa=0; M
23、OSIO=num&0x80; num<<=1; S_CLKa=1; m+;if(m=8)m=0; /*函数名称 : out(void) 函数功能 : 数据输出*/void out(void) R_CLKa=0;/输出存储器锁存时钟线 delay1ms(1); R_CLKa=1; /定时器1定时10ms,晶振11.0592MHzvoid timer1(void) interrupt 3EA = 0;TR1 = 0;TH1 = 0xD8;TL1 = 0xF0;counter +;if(counter = 100) /1秒钟counter = 0;second +;tiptime
24、 +;else if(second = 60)/1分钟second = 0;minute +;else if(minute = 60)/1小时minute = 0;hour +;else if(hour = 24)hour = 0;TR1 = 1;EA = 1;void lcdshow()/lcd显示unsigned char k =0;for(k=0;k<7;k+)write_com(0x80+k);/AC第一行write_data(ctablek);/字符表if(r < record)k=0;write_com(0x80+0x40+k);/AC第二行write_data(r+1+0x30);k+;/编号并转为ASCII码值write_com(0x80+0x40+k);write_data(':');k+;write_com(0x80+0x40+k);write_data(r_hourr/10 + 0x30);k+;/显示时write_com(0x80+0x40+k);write_data(r_hourr%10 + 0x30);k+;write_com(0x80+0x40+k);write_data(':');k+;write_com(0x80+0x40+k);wr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 做钢筋合同范本
- 出售梅园小区物业合同范本
- 劳务分包合同范本木工
- 会所拆除服务合同范本
- 企业用房交易合同范本
- 合同范例可以为正式合同
- 分包项目检测合同范本
- 个人新房交易合同范本
- 上海合伙买房合同范本
- 保洁维修合同范例
- 家校共育之道
- DeepSeek入门宝典培训课件
- 西安2025年陕西西安音乐学院专职辅导员招聘2人笔试历年参考题库附带答案详解
- 《作文中间技巧》课件
- 广东省2025年中考物理仿真模拟卷(深圳)附答案
- 2025届八省联考 新高考适应性联考英语试题(原卷版)
- 新苏教版一年级下册数学第1单元第3课时《8、7加几》作业
- 2024年山东电力高等专科学校高职单招职业技能测验历年参考题库(频考版)含答案解析
- 《平面广告赏析》课件
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- DB52T 1036-2015 建材产品中废渣掺加量的测定方法
评论
0/150
提交评论