ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:290.12KB ,
资源ID:17307123      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17307123.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多功能定时器课程设计论文Word格式.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多功能定时器课程设计论文Word格式.docx

1、复位电路有3种方式:上电自动复位、按键电平复位和 外部脉冲复位本图是按键电平复位的电路,要保证复位信号高电平持续时间大于2个机器周期,即2us ,电容和电阻的选择要与12MHz晶体相匹配2.2.3 按键电路设计右边的9个键对应数字1-9,例如切换到键盘输入状态,手动输入4个1左边的3个键分别是SHIFT状态切换键 、“+”、“-”2.2.4电源电路VCC送进来的直流电经过三端稳压器稳压后,使输入电压稳定在+5V2.2.5继电器电路当P1.0送高电平的时候,三极管导通,磁体磁化将开关吸过来,开关闭合当P1.0送低电平的时候,三极管截止,磁体磁性消失,开关断开2.2.6数码管显示电路四个数码管分别

2、显示数字钟的小时十位、个位,分钟的十位、个位2.3 系统硬件总电路第三章 系统软件设计3.1 系统软件流程图主程序流程图首先对数码管清零,然后启动定时器T0计时,采用12M晶体,计时50ms;启动定时器T1动态扫描看是否有按键按下。进入循环,刷新缓冲区,调用LED显示,按键处理。子程序流程图刷新缓冲区子程序LED显示子程序不同的状态对应不同的亮灯情况按键处理子程序状态1调小时,状态2调分钟;键值为2对应+,键值为3对应-,键值为1,状态切换中断子程序流程图定时器1定时器0定时器T0用于计时。每隔50ms溢出。进入中断后,count用于计数,当count=10时,为半秒,使LED1状态取反,即L

3、ED1半秒闪烁。当到达一秒时,秒加1,count清零;到达60秒时,分加1,秒清零;到达60分时,时加1,分清零;到达24时,时清零。此时分、时的变化送至数码管显示,即数字钟。3.2 系统程序设计3.2.1 系统主程序void main(void) P1=0x00; EA=1; TMOD |=0x01;/定时器0计时50ms in 12M crystal TH0=0x3C; /初值15536 TL0=0xB0; ET0=1; /开启T0定时中断 TR0=1; /启动T0 TMOD |=0x10; /定时器1用于动态扫描 TH1=0xFa; /初值64240 TL1=0xF0; ET1=1; /

4、开启T1定时中断 TR1=1; /启动T1 while(1) RefreshTab(); LED_Display(); CMP(); if(!Line1|!Line2)Delay(200);Key_Process(); /消抖 3.2.2 定时中断子程序/*/* 定时器0中断用于计时 */void Timer0(void) interrupt 1TH0=0x3C; /重新赋值50ms溢出TL0=0xB0;count+;/if(count=10) / LED1=LED1; if (count=20) count=0; second+; /秒加1 if(second=60) second=0; m

5、inute+; /分加1 if(minute=60) minute=0; hour+; /时加1 if(hour=24) hour=0; /* 定时器1中断扫描显示+键值判断 */void Timer1(void) interrupt 3 /定时2ms显示下一个数码管 switch(num) case 0: P2=0x0f; /定义键值 if(!Line1)Keyno=1;Line2)Keyno=10; SEG_Display(); break; case 1: P2=0x1f;Line1)Keyno=4;Line2)Keyno=7; case 2: P2=0x2f;Line1)Keyno=3

6、;Line2)Keyno=12; case 3: P2=0x3f;Line1)Keyno=5;Line2)Keyno=8; case 4: P2=0x4f;Line1)Keyno=2;Line2)Keyno=11; case 5: P2=0x5f;Line1)Keyno=6;Line2)Keyno=9; default: break; num+; if(num=6) num=0;3.2.3按键处理子程序void Key_Process(void) if(shift=0&shift=3&=6) /第一路定时 flag=1; switch(state1) if(Keyno=4) state1=5;

7、 else if(Keyno=5) state1=9;t_10=hour;t_11=minute;x=1; else state1=1;break; if(Keyno=2)hour1+;if(hour1=24)hour1=0; if(Keyno=3&x=0)hour1-;if(hour1=-1)hour1=23; if(Keyno=1)shift+,state1=2; t_10=hour1; if(Keyno=2)minute1+;if(minute1=60)minute1=0;x=0)minute1-;if(minute1=-1)minute1=59; if(Keyno=1)shift+,s

8、tate1=3;hour1=0;minute1=0; t_11=minute1; case 3: if(Keyno=1)shift+,state1=4; t_12=hour1; if(Keyno=1)shift+,state1=0; t_13=minute1; case 5: if(Keyno=4&KeynoK0K1K2K3i=0&x=1) K0=Keyno-3; hour1=K0*10;state1=10; case 10:i=1&x=1) K1=Keyno-3; if(K0 state1=11;t_12=hour1+t_10; case 11:i=2&x=1) K2=Keyno-3; mi

9、nute1=K2*10;state1=12; case 12:i=3&x=1) K3=Keyno-3; if(K2 t_13=minute1+t_11;state1=0;shift=0;flag=0; =7&=10) flag=2; /第二路定时 switch(state1) case 1: if(Keyno=2)hour1+; if(Keyno=3)hour1-; t_20=hour1; if(Keyno=3)minute1-; t_21=minute1; t_22=hour1; if(Keyno=1)shift+,state1=1; t_23=minute1; else /(shift=1

10、1&=14) /第三路定时 flag=3; t_30=hour1; t_31=minute1; t_32=hour1; t_33=minute1; default : 第四章 实验结果和分析4.1 实验使用的仪器设备计算机,直流稳压电源4.2 测试结果分析首先将程序调入单片机中进行仿真,数字钟显示12:34。按SHIFT切换状态,按“+”“-”可以对小时和分钟进行调整。SHIFT=1:调数字钟的小时SHIFT=2:调数字钟的分钟SHIFT=3:进入第一路定时,设置起始时间的时SHIFT=4:设置起始时间的分SHIFT=5:设置终止时间的时SHIFT=6:设置终止时间的分SHIFT=7:进入第二

11、路定时,设置起始时间的时SHIFT=8:SHIFT=9:SHIFT=10:SHIFT=11:第三路定时,设置起始时间的时SHIFT=12:SHIFT=13:终止时间的时SHIFT=14:SHIFT=15:将回到SHIFT=0时,显示数字钟,循环进行第一路定时第二路定时第三路定时9:4010:4012:5017:3018:2020:50起始时间调时2号5号灯亮调分3好5号灯亮终止时间2号6号灯亮3号6号灯亮定时开始1号灯亮定时结束1号灯灭4.3创新功能A数字键输入时间进入定时状态后,数码管显示4个0,设定时间需要按“+”,“”很麻烦。前面三路定时只用了三个键,剩下的9个键就可以作为数字输入使用,

12、当然“+”“”也可以使用操作:进入第一路定时,即SHIFT=3,按下Keyno=4,进入数字输入状态,例如输入12:34.然后按“+”“”,可以调小时,再按一次SHIFT切换可以调分钟B设定间隔时间 类似洗衣机,微波炉的定时功能,以当前数字钟的显示时间为起始时间,用数字键盘输入间隔时间,例如:当前时间为12:34,输入0,5,0,1 即5小时1分钟,则定时终止时间为17:35进入第一路定时,即SHIFT=4,按下Keyno=5,进入设定间隔时间状态,定时开始的指示灯亮起,输入间隔时间后马上显示数字钟的时间,按下SHIFT切换到调时状态,按“+”将12调到17,再按一次SHIFT切换到调分状态,按“+”将34调到35后,定时结束,指示灯熄灭结束语本次实验先画好电路原理图,制作PCB板,然后焊接电路板。编程这一部分花费了大量时间,尤其是按键处理部分,尝试了很多种方法。只用SHIFT键切换,设置三路定时,按键次数较多,不方便。后尝试加入键盘数字输入,更方便,同时可按+-键调整时间。编好的程序烧录到单片机中,就可以用电路板测试定时效果了。写论文时,参考了大量网络资源。参考文献 1 孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用M. 北京:北京航空航天大学出版社,1996.2 马忠梅.单片机的C语言应用程序设计(修订版)M.北京:北京航

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1