基于单片机控制的电铃控制器Word文档下载推荐.docx
- 文档编号:21013562
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:55
- 大小:573.67KB
基于单片机控制的电铃控制器Word文档下载推荐.docx
《基于单片机控制的电铃控制器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的电铃控制器Word文档下载推荐.docx(55页珍藏版)》请在冰豆网上搜索。
4.4时钟打铃程序流程图………………………………………………………………………5
5.心得与体会………………………………………………………………………………………6
参考文献……………………………………………………………………………………………7
附录…………………………………………………………………………………………8
电气064班田超
摘要该设计介绍了一种以AT89S51单片机为核心,并带有片外扩展AT24C02为存储器以实现掉电保护,以七段数码管显示星期、时、分和秒,发光二极管作为指示灯标志和按键较时、定时自动打铃器。
关键词89S51单片机存储器数码管74LS164芯片
1引言
随着科学技术的发展,自动控制在我们的日常生活中有了越来越多的应用,在以前想来遥不可及的自动化在如今已经比比皆是,小到遥控儿童玩具,大到家用电器的智能化。
使人们在方便自己的同时也充分领略到了科学技术的发展与我们生活的日新月异真是息息相关。
特别是单片机技术的应用,不但降低了生产成本,而且更为重要的是方便了消费者,使操作简洁、安全。
单片机的应用让许多很复杂的事情,都轻而易举的实现了。
用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点。
可用于学校作息,实用性很强。
2总体设计方案
2.1设计思路
利用单片机及定时器设计的一个时钟,在每次秒加1的计时过程中,都与规定的时间作比较,如果相等就进行开关电铃,不等则返回。
2.2总体设计框图
2.3设计方案
根据设计任务和其基本要求,针对当前一般打铃仪的操作繁琐,复杂,使用起来不太方便,设计了由单片机(AT89S51)作为主控器件,七位数码管作为显示电路,七个按键组成的按键操作电路,七个发光二极管组成的状态指示电路,掉电存储电路和5V电源电路构成的自动打铃器。
其中,硬件电路包括时钟电路、时间显示电路、控制电路,而时钟电路起控制主导作用。
而除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。
使设计更具特色。
时钟电路的构成由单片机及其定时器完成,时间显示电路则由单片机串口输出,送到外部集成芯片74LS164进行译码,最后由数码管显示出对应的时间。
控制电路:
这部分电路非常重要,它控制着RAM的复位操作、定时设置、时序控制、校时电路控制;
由启动电路、延时控制等单元电路组成。
其它辅助电路:
因为RAM掉电后数据将会全部丢失,所以可加入掉电保护电路,来保存以设置好的定时信号,这样可以增加系统的可靠性。
由AT24C02来完成。
3设计原理分析
3.1按键功能
初步设计了由六个按键来完成所有的操作,它们的功能分别是:
复位键、功能键、校时\定时键、加一键、减一键、确定键,具体操作方法由软件设计为菜单式操作,使所有的操作更加的简洁,方便。
使本打铃控制器更具有现代化。
3.2状态指示
状态指示电路由硬件部分(六个发光二极管),结合软件使操作状态一目了然。
第一个发光二极管亮时候,表明当前状态为时间显示;
第二个发光二极管亮时候,表明此状态为时间调整状态;
第三个发光二极管亮时候,表明此状态为时间加一状态;
第四个发光二极管亮时候,表明此状态为时间减一状态;
第五个发光二极管亮时候,表明此状态为定时时间设定存储状态。
3.3打铃控制
比较所存储的打零时间点,到打铃时间时进行打铃。
3.4存储器介绍
AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含256x8存储空间,具有工作电压宽(2.5V-5.5V),擦写次数多(大于10000次),读写速度快(小于10ms)等特点。
AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。
在AT89C51试验开发板上它们都接地,第8脚和第4分别为正、负电源。
第5脚SDA为串行输入\输出,数据通过这条双向I2C总线串行传送。
第6脚SCL为串行时钟输入线。
SDA和SCL都需要和正电源间各接一个5.1K的上拉电阻。
第7脚需要接地。
24C02中带有片内地址寄存器。
每写入或读出一个数据字节后,该地址寄存器自动加一,以实现对下一个存储单元的读写。
所有的字节均以单一的方式进行读取。
为降低总的写入时间,一次可写入多大8个字节的数据。
3.5电路原理图
(1)继电器和电源
(2)主电路
4程序流程框图
4.1总体程序流程图
4.2主程序流程图
相应主程序:
ORG30H
MAIN:
MOVIE,#8AH;
开T0,T1中断
MOVTMOD,#11H;
定时器方式1
MOVTH0,#0D8H
MOVTL0,#0F0H;
初值
MOVA,#0
MOV59H,A
MOV60H,A
MOV61H,A
MOV62H,A
MOV63H,A
MOV64H,A
MOV65H,A
MOV66H,A;
清零
m_secEQU20H;
毫秒单元
secEQU21H;
秒单元
minEQU22H;
分单元
hourEQU23H;
时单元
weekEQU24H;
星期单元
SETBTR0
SETBTR1
CLRP1.0
CLRA
MOVR0,A
MOVR1,A
MOVR2,A
MOVR3,A
MOVR5,A
MOVR6,A
MOVR7,A
MOVm_sec,#00;
毫秒单元清零
MOVsec,#00;
秒单元清零
MOVmin,#00;
分单元清零
MOVhour,#00;
时单元清零
MOVweek,#00;
星期单元清零
MOV70H,A
MOV71H,A
MOV72H,A
MOV73H,A
MOV74H,A
LCALLxs;
调用显示程序
4.3校时程序流程图
Y
N
4.4时钟打铃程序
N
5心得与体会
经过了整整三周的单片机课程设计实习,在指导老师的悉心教导下,我学到了很多在课堂上所学不到的知识,使我受益匪浅。
这样的实习不仅巩固了我的理论知识更提高了我的实践能力。
使我对自己所学专业的方向有了更深的了解。
这次我设计的是基于单片机控制的自动打铃器,虽然说我们在上学期已经学习了单片机课程,但是对于单片机具体的功能和原理还不甚了解。
所以拿到题目后,我首先在图书馆借阅了有关单片机课程设计的书籍,参考了很多电铃设计的电路图,力求更加合理的设计。
但是总体设计思路有了之后,在具体的操作上有了困难。
参考书上的电路多多少少不符合我门设计的题目,要自己根据实际情况进行修改,无论是时钟电路,显示电路,控制电路等每一个细节都要注意,因为原理图上的任何一个疏漏都会导致最后做实物的失败。
遇到的有些困难自己无法解决,但是指导老师给了我们许多合理的建议,避免我门走好多的弯路。
在焊电路板的过程中我也知道了凡事要认真仔细的道理,以为你稍不注意可能就会焊错或者报废了整块电路板,造成不必要的麻烦。
总之,通过这次实习,不仅理解了自己所学的理论知识,也锻炼了自己的实践动手能力,更懂得了理论与实践结合的重要性。
最后,衷心感谢老师的指导和同学的帮助!
参考文献
[1] 阎石.数字电子技术基础(第三版).北京:
高等教育出版社,1989
[2] 朱承高.电工及电子技术手册[M].北京:
高等教育出版社,1990
[3]李广弟编著.单片机应用程序设计基础.北京:
北京航空航天大学出版社,1994年6月
[4] 周航慈著.单片机应用程序设计基础.北京:
电子工业出版社,1997年7月
[5] 廖常初.现场总线概述[J].电工技术,1999.6
附录
1程序分为五部分
1.初始化程序,2.键值处理程序,3.中断程序,4.显示程序,5.延时程序
2程序清单
ORG0000H
LJMPMAIN
ORG000BH
LJMPTOINT
ORG001BH
LJMPDLBJ
;
**********主程序**********
************************************************
*****************数字钟按键程序*****************
**********调时钟按键**********
NET1:
JBP0.0,NET2
LCALLYS10MS
JBP0.0,NET2
CLRp2.2
JNBP0.0,$
SETBp2.2
CLRP1.1
SETBP1.0
SETBTR0;
开中断
SETBTR1
CLRP1.0;
正常运行
SETBP1.1
SETBP1.2
SETBP1.3
MOV59H,#00
MOVR7,#00
****************调整时间部分切换键********************
NET2:
MOVA,59H
CJNEA,#00,NET3
JBP0.1,NET9;
数字钟调整时间部分切换键
LCALLYS10Ms
JBP0.1,NET9
INC59H
JNBP0.1,$
INCR7
CLRTR0
CLRTR1
SJMPNET4
NET3:
JBP0.1,NET4
LCALLYS10ms
INCR7
NET4:
CJNER7,#1,NET5
LCALLSSH;
秒闪烁
SJMPNET9
NET5:
CJNER7,#2,NET6
LCALLMSH;
分闪烁
NET6:
CJNER7,#3,NET7
LCALLHSH;
时闪烁
NET7:
MOVR7,#0
LCALLWSH;
星期闪烁
NET8:
LCALLXS
******************调整时间加1键*****************
NET9:
JBP0.2,NET115;
数字钟调整时间键
JBP0.2,NET13
CLRP1.2
CJNER7,#1,NET10
LCALLYS200ms
INCsec;
秒单元加1
MOVA,sec
CJNEA,#60,NET8;
不等60时跳转显示,等60时将秒单元清零
MOVsec,#00
LCALLXS
LJMPNET9
NET115:
LJMPNET15
NET10:
CJNER7,#2,NET11
INCmin;
分单元加1
MOVA,min
不等60时跳转显示,等60时将分单元清零
MOVmin,#00
NET11:
CJNER7,#3,NET12
INChour;
时单元加1
MOVA,hour
CJNEA,#24,NET8;
不等24时跳转显示,等24时将时单元清零
MOVhour,#00
NET12:
INCweek;
星期单元加1
MOVA,week
CJNEA,#08,NET8;
不等7时跳转显示,等7时将星期单元清零
MOVweek,#01
JNBP0.2,NET13
NET13:
SJMPNET15
NET14:
****************调整时间减1键**********************
NET15:
JBP0.3,NET19;
JBP0.3,NET19
CLRP2.2
CLRP1.3
CJNER7,#1,NET16
SETBP2.2
DECsec;
秒单元减1
CJNEA,#0FFH,NET14;
MOVsec,#59
LCALLNET14
NET16:
CJNER7,#2,NET17
DECmin;
分单元减1
MOVmin,#59
NET17:
CJNER7,#3,NET18
DEChour;
时单元减1
MOVhour,#23
NET18:
DECweek;
星期单元减1
CJNEA,#00,NET14;
不等7时跳转显示,等7时将星期单元清1
MOVweek,#07
NET19:
LJMPDSH
********************定时程序*********************
DSH:
MOVR2,#00
JBP0.4,NT11
CLRP1.4
JNBP0.4,$
INCR2
CJNER2,#01,NTA;
第1个打铃点
MOVR1,#30H
LCALLCUN
NT11:
LJMPNT1
NTA:
CJNER2,#02,NTB;
第2个打铃点
NTB:
CJNER2,#03,NTC;
第3个打铃点
NTC:
CJNER2,#04,NTD;
第4个打铃点
NTD:
CJNER2,#05,NTE;
第5个打铃点
NTE:
CJNER2,#06,NTF;
第6个打铃点
NTF:
CJNER2,#07,NTG;
第7个打铃点
NTG:
CJNER2,#08,NTH;
第8个打铃点
NTH:
CJNER2,#09,NTI;
第9个打铃点
NTI:
CJNER2,#10,NTJ;
第10个打铃点
NTJ:
CJNER2,#11,NTK;
第11个打铃点
NTK:
CJNER2,#12,NTL;
第12个打铃点
NTL:
CJNER2,#13,NTM;
第13个打铃点
NTM:
CJNER2,#14,NTN;
第14个打铃点
NTN:
CJNER2,#15,NTO;
第15个打铃点
NTO:
CJNER2,#16,NTP;
第16个打铃点
NTP:
CJNER2,#17,NTQ;
第17个打铃点
NTQ:
CJNER2,#18,NTR;
第18个打铃点
NTR:
CJNER2,#19,NTS;
第19个打铃点
NTS:
CJNER2,#20,NT1;
第20个打铃点
NT1:
LJMPNET1
****************打铃点存储子程序********************
CUN:
MOV@R1,hour
INCR1
MOV@R1,min
********************时钟中断程序*********************
TOINT:
PUSHPSW
PUSHACC;
保护现场
MOVTH0,#0D8H
MOVTL0,#0F0H;
重新赋计数初值
INCm_sec;
毫秒单元加1
MOVA,m_sec
CJNEA,#100,NEXT1
MOVm_sec,#00
CJNEA,#60,NEXT1
CJNEA,#24,NEXT1
INCweek
CJNEA,#08,NEXT1
NEXT1:
POPACC
POPPSW;
恢复现场
RETI;
中断返回
********************打铃中断程序*********************
DLBJ:
PUSHPSW
PUSHACC
MOVTL0,#0F0H
MOVR0,#30H
FH:
MOVA,@R0
CJNEA,hour,LOP1
INCR0
CJNEA,min,LOP2
CLRP1.4;
铃声响
LCALLYS1min;
延时1分钟
SETBP2.2
SETBP1.4;
铃声停
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 电铃 控制器