单片机课程设计厨房提醒器..docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息与电气工程学院 课程设计说明书 (2015/2016 学年第 二学期) 课程名称 : 单片机应用技术课程设计 题 目 : 厨房时间提醒器 专业班级 : 电气工程及其自动化1303班 学生姓名 : *** 学 号: *********** 指导教师 : ************** 设计周数 : 两周 设计成绩 : 2016年 6月 24日 1. 课程设计目的 厨房提醒器是一个在日常生活中很常见的器件,市面上的厨房提醒器千奇百怪,但其原理基本上是统一的,我们可以利用这个原理来自己动手设计一个厨房提醒器。 原始数据及主要任务:采用AT90c52作为控制单元,实现厨房提醒器的设计设计键盘输入电路;设计显示电路;合理分配地址,编写系统程序;利用protel设计硬件电路原理图,使用proteus和keil4软硬件联机调试。 2. 课程设计正文 2.1主要技术要求: 设置提醒器的“开始”键、“清除”键、“分加1”键、“分减1”键和“秒加1”键、“秒减1”键。刚通电时和按下“清除”键时,均可使显示器显示——0:00。按下开始键,则按照设定的时间减1定时。当显示器再次显示为00:00时则蜂鸣器提醒定时到。3个数码管分别用于显示分位、秒十位和秒个位。 2.2 软件设计 用protel99se画原理图和pcb图,用keil4编辑程序,用proteus仿真。 2.2.1系统设计 ⑴Protel99se原理图设计 (2)系统keil4编码程序 #include reg51.h #define uchar unsigned char uchar ds_code=0,second2=0,second1=0; char minute = 0; char second = 0; uchar time_temp = 0; sbit DS0 = P1^0;//位选 sbit DS1 = P1^1; sbit DS2 = P1^2; sbit SPEAKER = P1^4;//蜂鸣器 void delay(uchar x) //延时函数 { unsigned int a,b; for(a=x;a0;a--) for(b=110;b0;b--); } void second_div(void)//读秒函数 { second2 = second/10;//取秒十位 second1 = second%10;//取秒个位 } void Key(void)//按键函数 { P2 = 0xff; if(P2!=0xff) { delay(200); if(P2!=0xff) { if(P2==0xfe) //开始计时按键按下 { TR1 = 1; } if(P2==0xfd)//清除按键按下 { TR1 = 0; minute = 0; second = 0; time_temp = 0; SPEAKER = 1; } if(P2==0xfb)//分个位加一按键按下 { minute++; if(minute9) minute = 0; } if(P2==0xf7)//分个位减一按键按下 { minute--; if(minute0) minute = 9; } if(P2==0xef)//秒个位加一按键按下 { second++; if(second59) second = 0; second_div(); } if(P2==0xdf)//分个位减一按键按下 { second--; if(second0) second = 59; second_div(); } while(P2!=0xff); } } } void main(void)//主函数 { SPEAKER = 1; TMOD =

文档评论(0)

586334000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档