版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工学院学士学位论文PAGE毕业设计基于单片机的电子闹钟设计专业机电一体化技术班级姓名指导教年月日目录第一部分设计任务与调研 31.1 毕业设计的主要任务 31.2 设计思路与方法 3第二部分设计说明 42.1主要元器件及设计方案选择 42.2系统硬件设计 42.3系统软件设计 6第三部分设计成果 7第四部分结束语 8第五部分致谢 9第六部分参考文献 10
第一部分设计任务与调研毕业设计的主要任务以单片机为控制器,设计一个简便电子闹钟,其应具体以下功能:可以设定至少一个闹铃,当时间到达设定的闹铃时间时,发出声音提示;可以设置闹钟当前显示的时间;设计思路与方法设计思路该系统主要需要单片机、数码管、蜂鸣器、按键等元器件,数码管用于显示当前时间,同时,在设定时间或者是闹铃时间时显示当前的设定值,按键用于设定闹铃时间以及修改当前显示时间等参数,蜂鸣器用于闹铃提示。方法与步骤方法手段:文献检索、图书馆借阅、手册查询、元器件选型、单片机C51编程、原理图绘制,系统仿真与程序调试;步骤:分析控制要求与方式、分析系统设计的原则和方法;确定单片机、显示设备、输入设备等器件的型号;硬件系统设计、软件程序设计、绘制硬件系统原理图、编写系统控制程序、系统程序调试。
第二部分设计说明2.1主要元器件及设计方案选择1.单片机选型本设计单片机选用AT89C52,AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。2.按键方案选择方案一:4×4矩阵式键盘。如果选择此方案,那么在修改时钟或设置闹铃时间时就可以直接从键盘输入,方便、快捷,但程序较为复杂。方案二:独立式按键。如果设置过多按键,将会占用较多I/O口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍为麻烦一些,但其程序简单。由于并不需要经常修改时间和设置闹铃时间,而且方案二的程序简单,按键少、成本低,因此,选择方案二。3.显示与闹铃方案根据任务书的要求,用数码管作为显示器。数码管的驱动电路简单,使用方便,同时在夜间查看时间不需要有光源,非常方便。其中采用74HC573做为数码管8位段码的锁存器。当达到设定的闹铃时间时必须有闹铃提示,闹铃方案为通过三极管放大后驱动蜂鸣器工作,再通过软件定时产生等时时间方波驱动蜂鸣器发出间断嘀声,这样就可以省去硬件振荡电路,降低成本。2.2系统硬件设计系统整体结构该系统主要由单片机、数码管、蜂鸣器、按键等组成,其整体结构如图1所示,数码管显示当前时间,同时,在设定时间或者是闹铃时间时显示当前的设定值,按键用于设定闹铃时间等参数。电源供电电源供电按键输入时间显示单片机位码驱动段码驱动蜂鸣器图1系统整体框图整体电路设计电子闹钟的电路如图2所示,P2用于控制8位数码管的位选,P0通过锁存器74HC573来控制8位数码管的段选,P1.0~P1.3分别接键钮B1、B2、B3、B4,其中B1用于切换时间设置与闹铃时间设置,B2用于切换小时、分钟设置,B3、B4分别用于数值的加减设置,当正在闹铃时按下B2可以停止闹铃。图2电子闹钟整体电路2.3系统软件设计系统程序采用了模块化设计,避免了一些函数的不必要的重复书写,提高代码的利用率,使程序变得单间易懂。程序在执行时,主程序通过调用子函数或者利用中断函数就可完成相应的功能。系统主控制流程如图3所示。系统初始化系统初始化开始时间显示键盘扫描闹铃判断图3系统主控制流程图
第三部分设计成果在proteus中绘制原理图并编写系统程序进行仿真,仿真结果如图4所示。图4基于单片机的电子闹钟仿真图
第四部分结束语经过几周的奋战我的毕业设计终于完成了。在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。本次毕业设计通过调试基本达到了设计任务要求,但还有需要继续完善的地方,该电子闹钟只能同时设置一个闹钟,可以通过对程序的改善实现同时能设置多个闹钟。
第五部分致谢通过这几周的忙碌和学习,本次毕业设计已接近尾声,作为一个大专生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,在这里衷心感谢指导老师的督促指导,以及一起学习的同学们的支持,让我按时完成了这次毕业设计。在毕业设计过程中,我遇到了许许多多的困难。在此我要感谢我的指导老师给我悉心的帮助和对我耐心而细致的指导,我的毕业设计报告较为复杂烦琐,但是老师仍然细心地纠正图中的错误。除了敬佩老师的专业水平以外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作,我才得以解决毕业设计中遇到的种种问题。同时还要感谢各院、系领导对我们的教导和关注,感谢大学五年传授我们专业知识的所有老师,谢谢你们呕心沥血的教导。还有谢谢我周围的同窗朋友,他们给了我无数的关心和鼓励,也让我的大学生活充满了温暖和欢乐。如果没有他们的帮助,此次毕业设计的完成将变得困难。他们在我设计中给了我许多宝贵的意见和建议。同时也要感谢自己遇到困难的时候没有一蹶不振,取而代之的是找到了最好的方法来解决问题。最后,感谢生我养我的父母。谢谢他们给了我无私的爱,为我求学所付出的巨大牺牲和努力。
第六部分参考文献[1]《51系列单片机高级实例开发指南》,主编:李军,北京航空航天大学出版社.[2]《AT89系列单片机原理与接口技术》,主编:王幸之,北京航空航天大学出版社.[3]《C程序设计》,主编:潭浩强,北京航空航天大学出版社.[4]《单片机原理与实用技术》,主编:付晓光,清华大学出版社.[5]关宗安,仲丛久.基于单片机实现的多路定时控制器的设计[J].沈阳航空工业学院学报.2004.06,21(3).附件一、基于单片机的电子闹钟电路基于单片机的电子闹钟仿真图
二、系统控制程序#include<reg52.h>sbitKEY1=P1^0;//定义端口参数sbitKEY2=P1^1;sbitKEY3=P1^2;sbitKEY4=P1^3;codeunsignedchartab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管0-9unsignedcharStrTab[8]; //定义缓冲区unsignedcharminute=00,hour=12,second; //定义并初始化为12:00:00voiddelay(unsignedintcnt){while(--cnt);}/******************************************************************//*显示处理函数*//******************************************************************/voidDisplaypro(void){StrTab[0]=tab[hour/10];//显示小时StrTab[1]=tab[hour%10];StrTab[2]=0xbf; //显示"-"StrTab[3]=tab[minute/10];//显示分钟StrTab[4]=tab[minute%10];StrTab[5]=0xbf; //显示"-"StrTab[6]=tab[second/10];//显示秒StrTab[7]=tab[second%10];}main(){TMOD|=0x01;//定时器010msinMcrystal用于计时TH0=0xd8;//初值TL0=0xf0;ET0=1;TR0=1;TMOD|=0x10;//定时器1用于动态扫描TH1=0xF8;//初值TL1=0xf0;ET1=1;TR1=1;EA=1;Displaypro();//调用显示处理函数while(1){if(!KEY1)//按键1去抖以及动作{delay(10000);if(!KEY1){hour++;if(hour==24)hour=0;//正常时间小时加1Displaypro();}}if(!KEY2)//按键2去抖以及动作{delay(10000);if(!KEY2){hour--;if(hour==255)hour=23;//正常时间小时减1Displaypro();}}if(!KEY3)//按键去抖以及动作{delay(10000);if(!KEY3){minute++;if(minute==60)minute=0;//分加1Displaypro();}}if(!KEY4)//按键去抖以及动作{delay(10000);if(!KEY4){minute--;if(minute==255)minute=59;//分减1Displaypro();}}}}/******************************************************************//*定时器1中断*//******************************************************************/voidtime1_isr(void)interrupt3using0//定时器1用来动态扫描{staticunsignedcharnum=0;TH1=0xF8;//重入初值TL1=0xf0;switch(num){case0:P2=0x01;P0=StrTab[num];break;//分别调用缓冲区的值进行扫描case1:P2=0x02;P0=StrTab[num];break;case2:P2=0x04;P0=StrTab[num];break;case3:P2=0x08;P0=StrTab[num];break;case4:P2=0x10;P0=StrTab[num];break;case5:P2=0x20;P0=StrTab[num];break;case6:P2=0x40;P0=StrTab[num];break;case7:P2=0x80;P0=StrTab[num];break;default:break;}num++;//扫描8次,使用8个数码管if(num==8)num=0;}/******************************************************************//*定时器0中断*//******************************************************************/voidtim(void)interrupt1using1{staticunsignedcharcount;//定义内部局部变量TH0=0xd8;//重新赋值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年小学《寻隐者不遇》问答叙事沉浸式情景教案
- 二年级科学湘教版开学季第一单元同步测试卷基础版A卷
- API网关统一管控的新质生产力
- 基于硅光子的高速光互连调制器设计研究报告
- 学校食堂餐厅管理人员从业人员培训食品安全培训【模板课件】
- 2026年审计中级考试真题再现:专业知识深度剖析试卷
- 2026全球铝价波动对冲机制与铝罐企业套期保值策略优化报告
- 2026年高校环境工程期末考试试卷及答案
- 2026住院医师规培-河南-河南住院医师规培(口腔修复科)历年参考题库含答案详解
- 2026住院医师规培-江苏-江苏住院医师规培(口腔正畸科)历年参考题库含答案详解
- 国有六大行《EPI(行测)》考试1000题
- 2026年云南民族大学附属中学西山分校教后勤工作人员招聘(5人)笔试备考试题及答案详解
- 2026年云南云智城市服务有限责任公司生产(工勤)岗人员社会招聘(11人)笔试备考题库及答案详解
- 2026年秋季小学道德与法治四年级上册(新教材)教学计划含教学进度表
- 2026年和田地区和田市工会人员招聘考试参考试题及答案详解
- 新版2026西师大版数学四年级上册全册完整版教案教学设计合集
- 2026-2027学年人教版新教材小学数学六年级上册教学计划及进度表
- 2026人教版四年级数学上册第一单元第9课《求近似数》课件
- 2026秋译林版(三起)六年级上册英语全册分课时专项练习(语法+句型 含答案解析)
- 分散式风力发电项目水资源论证报告书
- 年产13000吨叔丁胺项目1
评论
0/150
提交评论