




免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目: 电子定时器 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 2006级2班 学生姓名: 姜虎 学 号: 06409220 起止日期:2009年6月8日 2009年6月19日指导教师: 岳舟 李新君 教研室主任: 谢四莲 1指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要本次设计在以STC89C52单片机为核心的系统板上利用C语言设计电子定时器。该电子定时器能定时给电器供电或断电,最大定时时间可以长达三十小时,操作使用方便。采用STC89C52单片机控制,4位共阳数码管显示时间,继电器作电器电源输出控制。该定时器可预置定时时间,并设有四种工作方式,可通过矩阵键盘上的四个按键来选定定时器的不同工作方式,然后结合继电器对电器进行供电和断电;利用单片机内部的定时器T0,成功实现了计时器的计时功能;本电子定时器每种工作方式供电的最后五秒钟都通过蜂鸣器进行报警,以此提醒用户电器即将断电或供电,方便用户对电器进行其它的操作。关键词:电子定时器;供电或断电;继电器;30小时;数码显示 目 录设计要求11 方案论证与对比11.1 方案一11.2 方案二21.3 方案对比与选择22 单元电路设计与计算32.1 STC89C52单片机接口分配电路设计32.2 矩阵键盘电路的设计32.3 继电器电路的设计42.4 蜂鸣器电路的设计52.5 数码管显示电路设计53 系统软件工作流程图63.1 系统工作流程63.2 定时器T0中断服务流程及分析74 系统调试及性能分析85 详细仪器清单96 总结与思考及致谢10参考文献10附录一:单片机系统板原理图11附录二:详细系统源程序12电子定时器设计要求利用单片机为核心,设计并制作电子定时器,具有以下功能:(1) 电子定时器能定时给电器供电或断电;(2) 给电最大时间可以长达30h;(3) 四位数码管显示时间;(4) 继电器作电器电源输出控制。1 方案论证与对比1.1 方案一该方案由待命状态、预定定时时间、工作方式选择、系统处理、DS1302处理时间、蜂鸣器报警、数码显示等模块组成。系统的计时部分采用了一块时钟芯片DS1302,用其实现系统通过继电器对电器供电的计时工作。原理框图如图1所示3:图 1 方案一系统方框图1.2 方案二该方案仅由待命状态、预定定时时间、工作方式选择、系统处理、继电器报警、数码显示四个模块组成。整个系统的计时功能皆由STC89C52内部自带的定时器T0来实现。同样,结合继电器给电器供电,并利用蜂鸣器进行断电报警。原理框图如图2所示:图 2 方案二系统方框图1.3 方案对比与选择以上两个方案在原理上显然都可以完成该电子定时器的设计。但方案一中利用DS1302时钟芯片进行计时,虽然可达到题目的计时要求,但题目要求最大计时需达到30个小时,而该芯片的计时周期规定了为24小时制,所以如果采用该方案的话,程序的设计处理复杂度将会大大增加。在方案二中,利用STC89C52单片机内部的定时器T0循环溢出中断,从而完成定时器的计时功能,4位共阴数码管显示时间,继电器作电器电源输出控制,其电路简单,操作使用方便,大大减轻了设计的工作量。所以选定该方案来进行本次课程设计。2 单元电路设计与计算2.1 STC89C52单片机接口分配电路设计在本次设计中,需用到多个输出端口,所以熟悉单片机的接口也是至关重要的。P0作为矩阵键盘的专用控制口;P2口作为专门的数据输出口;P1口作为数码管的位选端口;P3口分别用以控制各个中断、继电器、蜂鸣器等各个模块的控制。在XTAL2引脚和XTAL1引脚之间接有一块12M的晶振,从而使芯片内部的定时器能实现计时功能。单片机接口分配电路如图3所示:图 3 STC89C52单片机接口原理图2.2 矩阵键盘电路的设计根据设计要求,需要通过按键来选择系统的工作方式,所以我从44矩阵键盘上定义了七个按键,可以通过按键02来设定定时时间;通过按键47来控制系统分别工作于1、2、3、4工作方式中。矩阵键盘电路如图4所示:图 4 矩阵键盘电路原理图在程序中,先将其中一排的公共线拉低,即给P0口赋一个值(如0x7F)。然后如果这一排有键被按下的话,P0口的值就会发生改变,例如按下0号键,P0口的值就会由0x7F变成0x7E,依次类推,我们就可以根据P0口值的变化来获得各个键值。2.3 继电器电路的设计由P35 引脚输出高低电平经R201 控制三极管的通断,从而控制继电器的吸合与释放,继电器的输出端采用分离方式,即输出端不与内电路连接,直接连接端子,这样会增加更多利用功能,可控制更高电压设备的开和关,图上的J14 插针开关控制继电器电路的电源。继电器电路原理图如图5所示:图 5 继电器电路原理图2.4 蜂鸣器电路的设计为了提醒用户对电器供电或断电后的其它工作,设计中用到了蜂鸣器的报警功能。在电路中蜂鸣器由P3.4 脚控制,它与电脑键盘接口DATA 引脚经J15 进行切换。单片机P34 脚输出高低电平经R902 加在三极管B 极,控制三极管的导通与截止,从而控制蜂鸣器的工作。J15 也可认为是一个开关,插针拔出即切断蜂鸣器了。电路如图6示: 图 6 蜂鸣器电路原理图2.5 数码管显示电路设计由于该设计需用到四位数码管来显示时间,所以必须要有一个数码管显示电路。电路数码管为共阴型,与发光二极管相反,要使数码管点亮,P2 口就得输出高电平,数码管位的选择由138 来处理(74HC138 为3-8 译码器,输入3 位数据译出8 种状态线),138 的输入由P10-P12(000-111)译码出八线接入数码管位选择脚,138 输出的八线同一时刻只有一线为低电平,即每次只选择其中一位数码管显示。用动态扫描技术对各个数码管进行扫描,由P1控制位选。利用快速的循环显示,人眼看到的就是多位了。电路中还有一个JSM 开关,是控制138 的SA 脚到GND,使138不做译码,输出八线全为高电平而关闭数码管显示。数码管电路原理图如图7示: 图 7 数码管显示电路原理图3 系统软件工作流程图3.1 系统工作流程程序采用模块化、结构化设计,并采用了软件抗干扰技术,其软件的可靠性较好,可维护性强。在本主程序中有3个状态:待命状态、计时工作状态和到点工作状态。当系统进入待命状态时,数码管上会显示“-”样符号;通过按键02来预置定时时间,只要按下47中的任何一个按键即可分别进入1、2、3、4工作方式中;工作方式1为定时关电源,定时范围为0秒59分59秒;工作方式2为定时关电源,定时范围为0秒99时59分;工作方式3为定时开电源,定时范围为0秒59分59秒;工作方式4为定时开电源,定时范围为0秒59分59秒。在每种工作方式中,都结合数码管显示时间,继电器给电器供电或断电的最后五秒钟都会利用蜂鸣器进行报警。系统程序流程图如下图所示:图 8 系统程序流程图3.2 定时器T0中断服务流程及分析定时器T0用于时间计时。定时溢出中断周期设为50ms,中断进入后先进行定时中断值校正,当中断累计20次(即50ms201s)时,对秒计数单元进行加1操作;当到了60s时,分计数单元加1操作;同理可得到了60分时,时计数单元加1操作,直到计时完毕。T0中断计时流程图如图9所示:图 9 T0中断计时流程图4 系统调试及性能分析先检查印制板及焊接的质量情况,在检查无误后通电检查数码管的点亮状况。至于矩阵键盘的调试,关键是把握好按键的去抖效果。当出现按键“不灵”情况,一般是由于程序中用于按键去抖的延时时间不够。将程序编辑编译完成后,将生成的hex文件通过串口下载软件下载到STC89C52单片机芯片中去。在进行调试之前,还应注意操作的顺序:先进行定时时间的预置,然后选定工作方式。下表所列的是系统定时功能测试结果。表1系统计时测试结果测量序号理论值测量值1分钟1分钟1分钟1小时1小时1小时10小时10小时9小时59分58秒15小时15小时14小时59分55秒30小时30小时29小时59分51秒误差分析:由于程序中使用了一些延时语句,所以如果计时时间过长的话,就会在时间上产生一定的误差。因为我们的计时完全是通过单片要内部的计时器来完成的,所以该误差是不可避免的。5 详细仪器清单表2 仪器清单仪器名称数量STC89C52开发板1块串口下载线1根电源线1根跳线两根万用表1块196 总结与思考及致谢课程设计是针对某一理论课程的要求,对学生进行综合性实践训练的实践教学环节,可以提高学生运用课程中所学的理论知识与实践紧密结合,独立地解决实际问题的能力。在这次课程设计过程中使我从中学到许多以前在课本和课堂上所无法学到的,特别是在课程设计过程中查找资料的过程中从中学到了许多东西并从中体会到许多的乐趣,从而丰富了自己,使自己无论是上课时还是在课余都感到很充实。在本次课程设计的过程中,曾得到过老师与几位同学的悉心指导与帮助,才使得我的设计非常圆满的完成,在此对他们表示我们最衷心的感谢,谢谢你们!因学习知识的能力和时间有限,并且此次单片机原理及应用课程设计对于我们来说还只是初体验,因此在本次的课程设计过程中,难免存在错误,恳请老师给以批评和指正,并再次感谢曾帮助过我的老师和同学。参考文献1 楼然苗,李光飞编著.单片机课程设计指导M.北京:北京航空航天大学出版社,20072 朱定华,戴汝平编著.单片微机原理与应用M.北京:清华大学出版社,20033 胡汉才编著.单片机原理及接口技术M.北京:清华大学出版社,20044 谭浩强编著.C程序设计(第三版)M.北京:清华大学出版社,20055 李大友.姜秀芳主编.单片微型硬件.软件及应用M.北京:高等教出版社,20036 沈红卫编著.单片机应用系统设计实例与分析M.北京:北京航空航天大学出版社,2002附录一:单片机系统板原理图 附录二:详细系统源程序#include /*/void delayus (unsigned int t); /us级延时程序void delayms(unsigned int n); /ms级延时程序void ReadKey(void); /扫描键盘及做相应处理void time0_initialize(void); / 定时器初始化void time_s_min_hour(void); /中断处理函数void display0(void); /工作方式1、3显示函数(只显示分、秒)void display1(void); /工作方式2、4显示函数(只显示时、分)void display2(void); /待命状态显示函数(显示“-”)void display3(void); / 设置分、秒位显示函数void display4(void); / 设置时、分位显示函数/*/unsigned char table 2= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/不带小数点的显示段码表unsigned char T50ms,Ts,Tmin,Thour;/时间变量unsigned char Set_Ts=0,Set_Tmin=0,Set_Thour=0;/设定时间变量值unsigned char Key_number=0; /键值sbit jqc = P35; /继电器接口sbit speak = P34; /蜂鸣器接口/*主函数*/void main()while(1) switch (Key_number) /根据键值确定定时方式 case 1: / 方式1:定时关电源,定时范围为0s 59 min 59 s ; jqc=0; /供电状态 display0(); break; case 2: /方式2:定时关电源,定时范围为0s 99 h 59 min jqc=0; /供电状态 display1(); break; case 3: /方式3:定时开电源,定时范围为0s 59 min 59 display0(); break; case 4: /方式4:定时开电源,定时范围为0s 99 h 59 min. display1(); break; case 10: /定时时间设置:0min 99 h 59 min. display4(); /显示设置的时、分位 ReadKey(); break; case 12: /定时时间设置:0s 59 min 59 s ; display3(); /显示设置的分、秒位 ReadKey(); break; default: / 数码管显示“-”,表示系统处于待命状态。 ReadKey(); display2(); /显示“-” break; /*定时器初始化函数*/void time0_initialize(void)4 TMOD=0x01; /16位定时器计数器 ET0=1; /T0开中断 EA=1; /中断总开关打开 TH0=0X3c; /T0装入初值,实现50ms定时 TL0=0Xb0; TR0=1; /开启T0 jqc=1; /初始化继电器 speak=1; /初始化蜂鸣器 /*中断处理函数*/void time_s_min_hour(void) interrupt 1 ET0=0; /关中断T0TR0=0; /关T0 TH0=0x3c; /重新装入初值 TL0=0xB0; TR0=1; /开T0 T50ms+; if (T50ms = 20) T50ms=0; Ts+; /到了1秒钟 if(Ts=60) / 到了1分钟 Ts=0; /秒值清0 Tmin+; if(Tmin=60) /到了1小时时到了 Tmin = 0; /分值清0 Thour+; ET0=1; /重新开中断T0/*读键盘值函数并做相应操作*/void ReadKey(void)1P0=0x7F; /将第一排的公共线拉低,检测第一排是否有按键按下switch(P0) /读回P0口值做判断 case 0x7e:/0键被按下设定定时时间的时位 Key_number=10; /只显示时、分 Set_Thour+; /时位加1 delayms(300); if(Set_Thour99) /超出范围重新初始化 Set_Thour=0; break; case 0x7d: /1键被按下设定定时时间分位 Key_number=12; Set_Tmin+; /分位加1 delayms(300); if(Set_Tmin59) /超出范围重新初始化 Set_Tmin=0; break; case 0x7b: /2键被按下设定定时时间秒位 Key_number=12; /只显示分、秒 delayms(300); Set_Ts+; /秒位加1 if(Set_Ts59) /超出范围重新初始化 Set_Ts=0; break; default: break;P0=0xbF; /选定工作方式按键switch(P0) case 0xbe: /说明4键被按下:工作方式1Key_number=1; time0_initialize(); /定时器初始化 break; case 0xbd: /同上5键按下:工作方式2 Key_number=2; time0_initialize(); /定时器初始化 break; case 0xbb: /6键按下:工作方式3 Key_number=3; time0_initialize(); /定时器初始化 break; case 0xb7: /7键按下:工作方式4 Key_number=4; time0_initialize(); /定时器初始化 break; default: break;/*工作方式1、3显示函数(只显示分、秒)*/void display0(void) unsigned char fenshi,fenge,miaoshi,miaoge; /定义分,秒的十、个位 fenshi=Tmin/10; /分的十位 fenge=Tmin%10; /分的个位 miaoshi=Ts/10; /秒的十位 miaoge=Ts%10; /秒的个位 P2=tablefenshi; P1 = 0x00; /第0个数码管显示分的十位 delayus(200); P2=tablefenge; P1 = 0x01; /第1个数码管显示分的个位 delayus(200); P2=tablemiaoshi; P1 = 0x02; /第2个数码管显示秒的十位 delayus(200); P2=tablemiaoge; P1 = 0x03; /第3个数码管显示秒的个位 delayus(200); if(Set_Tmin=Tmin)&(Set_Ts-Ts)=55)&(Ts=59) /最后5秒钟蜂鸣器报警 speak=0; if(Set_Thour-Thour=0)&(Set_Tmin-Tmin=0)&(Ts=0) Set_Ts=0; Set_Tmin=0; Set_Thour=0; jqc=!jqc; /时间到了,供电状态改变 Key_number=0; /按键复位 /*待命状态显示函数(显示“-”)*/void display2(void)5 P1 = 0x00;delayus(20);P2=table10;delayus(20);P1 = 0x01;delayus(20);P2=table10;delayus(20);P1 = 0x02;delayus(20);P2=table10;delayus(20);P1 = 0x03;delayus(20);P2=table10;delayus(20);ReadKey(); /读键值speak=1; /蜂鸣器停止叫T50ms=0;Ts=0;Tmin=0;Thour=0; /时间变量初始化 /*us级延时函数*/void delayus (unsigned int t) int i; for(i=0;it;i+);/*ms级延时函数*/void delayms(unsigned int n)6 unsigned int i,j; for(i=0;i=n;i+) for(j=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025保健品区域独家销售代理合同范本
- 2025版双方新能源汽车研发生产合同协议
- 2025版片石石材开采与运输一体化合同协议书范本
- 2025版商业承兑汇票居间服务与乡村振兴战略合作合同
- 2025年度新能源发电项目电力改造合同范本
- 2025版体育产业新员工保密及赛事信息保护合同范例
- 2025办公场所租赁合同:全包式办公场所租赁管理合同
- 2025年售楼部环境绿化养护合同
- 2025大客户在线教育平台合作合同
- 2025年度道路施工围挡定制安装服务协议
- 烟草香味化学
- 院感培训试题及
- 电气照明系统课件
- 临时用水施工专项方案
- 北京市各县区乡镇行政村村庄村名明细
- GB∕T 9286-2021 色漆和清漆 划格试验
- DB35∕T 1844-2019 高速公路边坡工程监测技术规程
- 720全景照片制作方案及发布流程
- 工作责任心主题培训ppt课件(PPT 26页)
- 除尘器基础知识培训资料(54页)ppt课件
- 完整解读新版《英语》新课标2022年《义务教育英语课程标准(2022年版)》PPT课件
评论
0/150
提交评论