家用电器定时控制器设计_第1页
家用电器定时控制器设计_第2页
家用电器定时控制器设计_第3页
家用电器定时控制器设计_第4页
家用电器定时控制器设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、家用电器定时控制器设计目录TOC o 1-5 h z HYPERLINK l bookmark4 摘要2引言2设计要求2设计思路2硬件电路设计框图3 HYPERLINK l bookmark6 定时器的硬件设计4LED显示电路的设计4发光二极管电路的设计6键盘电路的设计6 HYPERLINK l bookmark8 3定时器的软件设计7初始化程序7全局使能程序7开机显示“HELLO”并亮灯程序7清零程序8查询式键盘程序8定时时间设置程序9定时中断程序10结束显示“HELP”并亮灯程序12 HYPERLINK l bookmark10 实习心得13 HYPERLINK l bookmark12

2、参考文献13附录14摘要AT89C51器实现了通过拨动开关开始和暂停定时,通过查询式键盘清零、设置定时时间和,通过8位共阴极LED开机时LED数码管显示“HELLO”,LED,LED“HELP”关键字:AT89C51,定时器,键盘设置,LED日常生活中,经常碰到一些需要定时的事情,闭,洗衣机洗涤衣物需要定时在几分钟到几十分钟的时间。例如,空调可以定时开启与关完成定时的定时器多种多样,以往在家用电器中采用的机械定时器就是根据一般上弦钟表原理设计的,这种定时器虽然结构简单,成本低,维修也比较方便,断开,大大缩减了使用寿命,也不利于进一步全自动化。今天,电子定时器逐步取而代之。在生活和生产的各个领域

3、中,凡是有自动控制要求的地方都会有单片机的身影出现。从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。单片机的应用有利于产品的小型化、于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材但是它的触头频繁接触和在电子技术突飞猛进的多功能化和智能化,有助料消耗,保证安全等。鉴此,本文设计了一款基于AT89C51设计要求设计一个家用电器的定时控制程序,要求显示定时时间,并可用键盘对定时时间进行设定。程序功能:1)开机时数码管显示“HELLO”,使某只发光二极管亮;2)用键可使定时控制器清零,允许对定时时间设定;3)用键可对分设定,用键可对秒设定;4)按“运

4、行键”开始定时,并且运行过程中动态显示时间状态,时间到时八只发光二极管间隔亮。附加程序功能:1)在按“设定”键之前按任何键都无效;2)在进入倒计时状态后,仍可以对定时时间再次调节,即重新设定;3)运行结束即时间到使八只发光二极管间隔亮,数码管显示“HELP”。设计思路根据设计要求,初步确定设计方案如下:(1)系统显示采用8位共阴极LEDCLK由P0.3产生。8LED数码管的LEDDIN由P0.2,个串/74LS164段码。(2)定时时间的设置与调整通过接入查询式键盘实现。设计10个按键,分别定义为:RT:Reset,清零口。其功能是当该口按下时,显示清零。EN:Enable,设定键。其功能是当

5、该口按下时,其余按键才生效。BN:Begin,开始口。其功能是当该口按下时,定时开始。ST:Stop,暂停口。其功能是当该口按下时,定时停止。HH:HighHour:时十位计数置数按键。HL:LowHour:时个位计数置数按键。MH:HighMinute:分十位计数置数按键。ML:LowMinute:分个位计数置数按键。SH:HighSecond:秒十位计数置数按键。SL:LowSecond:秒个位计数置数按键。(3)按键的接入方式:RT键:通过P1口EN键:通过P0口BN键:通过P1口HH键:通过P1口HL键:通过P1口MH键:通过P1口ML键:通过P1口SH键:通过P1口SL键:通过P1口

6、P1.0引脚接入,查询工作方式。P0.0,P1.1,P1.2,P1.3,P1.4引脚接入,查询工作方式。P1.5,P1.6引脚接入,查询工作方式。P1.7,(4)指示灯闪亮采用8个发光二极管,接入P2口。1.3硬件电路设计框图根据设计要求与设计思路,由5个部分:按键输入电路、发光二极管电路、复位电路和电源电路组成。硬件电路设计框图如图1.1所示。硬件电路结构LED显示器及驱动电路、时钟与按键电路|图1.1硬件电路设计框图2定时器的硬件设计2.1LED显示器由8个共阴极LED,线DIN和移位信号CLK18个串/74LS164首尾相连。每片的并LED74LS1642.1所示:4Lr1i.-H-82

7、3aJHTf1a皿翠侬任中守尊侬审T*,CLXABM-4LS164图2.174LS164的引脚图74LS164为8位串入并出移位寄存器,1、2为,QA1QH为并行输出端,CLK,;CLR,输出为零。山闫胃看仃夺小小图2.2LED2.2发光二极管电路的设计图2.3发光二极管电路原理图PLflvccPLLaaL5PL3paaPL+rajPL5aPLiFQWPLTPCLW47igesLJt5TBL亚足BP.1LT2CDFJJ.W4P3.1NTLFl7皿PJjIL25A_1ERTtJ=24p17;jtnF23ZCTALS!P12丈TaLLMlvssMOVK2.2键盘电路的设计P1,如果有口按本文采用了

8、8个按钮的独立式键盘,接到单片机的并行口下,则相应输出为低,否则输出为高。单片机通过识别,判断按下什么键。有键按下后,加入一段延时,防止由于键盘抖动而引起的误操作。HL3BvxMSE-LLOBmlAnnmewl用一JODImoxxl图2.4键盘电路原理图3定时器的软件设计初始化程序TICKEQU5000T100usEQU156;5000*2*100us=1s;100us时间常数(12M)C100usEQU05H;100us记数单元NODBUF0TEMPEQUEQU30H40HRTBITP1.0;清零端ENBITP0.0;全局使能端LEDBITP0.1;LED灯亮灯端DINBITP0.2;数码管

9、静态显示端CLKBITP0.3;数码管静态显示端STBITP0.5;暂停端ORG0000HLJMPLOOP1ORG000BHLJMPT0INTORG0100H全局使能程序LOOP1:SETBENMOVC,ENCPLCJCSTART;判断全局使能按键是否按下LJMPLOOP1开机显示“HELLO”并亮灯程序START:MOV30H,#10H;MOV31H,#15H;HMOV32H,#16H;EMOV33H,#17H;LMOV34H,#17H;LMOV35H,#00H;OMOV36H,#10H;MOV37H,#10H;CLRLED;LED灯清零程序NOLOOP2:SETBRTMOVC,RTCPLC

10、JCCLEAR;判断清零按键是否按下LJMPLOOP2;若没有按下则继续判断CLEAR:MOV30H,#00H;0MOV31H,#00H;0MOV32H,#14H;-MOV33H,#00H;0MOV34H,#00H;0MOV35H,#14H;-MOV36H,#00H;0MOV37H,#00H;0NONO查询式键盘程序KEYBOARD:MOVP1,#0FFH;置P1MOVA,P1;读入键值LCALLDELAYMOVB,P1CJNEA,B,KEYBOARDJNBACC.0,CLEAR;清零按键P1.0JNBACC.1,BEGIN;开始定时按键P1.1JNBACC.2,HH;时十位计数置数按键P1.

11、2JNBACC.3,HL;时个位计数置数按键P1.3JNBACC.4,MH;分十位计数置数按键P1.4JNBACC.5,ML;分个位计数置数按键P1.5JNBACC.6,SH;秒十位计数置数按键P1.6JNBACC.7,SL;秒个位计数置数按键P1.7LJMPKEYBOARD;若没有按键按下则继续判断3.6定时时间设置程序/设置时十位HH:MOVA,30HINCAMOV30H,ACJNEA,#06H,JUMPMOV30H,#00HCALLDELAYLJMPDISP2/设置时个位HL:MOVA,31HINCAMOV31H,ACJNEA,#0AH,JUMPMOV31H,#00HCALLDELAYL

12、JMPDISP2/设置分十位MH:MOVA,33HINCAMOV33H,ACJNEA,#06H,JUMPMOV33H,#00HCALLDELAYLJMPDISP2/设置分个位ML:MOVA,34HINCAMOV34H,ACJNEA,#0AH,JUMPMOV34H,#00HCALLDELAYLJMPDISP2/设置秒十位SH:MOVA,36HINCAMOV36H,ACJNEA,#06H,JUMPMOV36H,#00HCALLDELAYLJMPDISP2/设置秒个位SL:MOVA,37HINCAMOV37H,ACJNEA,#0AH,JUMPMOV37H,#00HCALLDELAYLJMPDISP2

13、3.7定时中断程序/开启中断BEGIN:MOVTMOD,#02H;方式2,定时器MOVTH0,#T100usMOVTL0,#T100usMOVIE,#10000010B;EA=1,IT0=1SETBTR0;开始定时MOVC100us,#HIGH(TICK)MOVC100us+1,#LOW(TICK)/等待进入中断WAIT:SJMPWAIT/中断程序T0INT:PUSHMOVJNZPSWA,C100us+1GOONDECC100usGOON:DECC100us+1MOVA,C100usORLA,C100us+1JNZJUMP4;100us记数器不为0,返回MOVC100us,#HIGH(TICK

14、);#HIGH(Tick)MOVC100us+1,#LOW(TICK);#LOW(Tick);100us记数器为0,重置记数器/开始定时TIMING:SETBRTMOVC,RTCPLCJCJUMP2;判断清零按键是否按下SETBSTMOVC,STCPLCJCJUMP3;判断暂停按键是否按下MOVA,37HDECAMOV37H,ACJNEA,#0FFH,DISP3MOV37H,#09HMOVA,36HDECAMOV36H,ACJNEA,#0FFH,DISP3MOV36H,#05HMOVA,34HDECAMOV34H,ACJNEA,#0FFH,DISP3MOV34H,#09HMOVA,33HDEC

15、AMOV33H,ACJNEA,#0FFH,DISP3MOV33H,#05HMOVA,31HDECAMOV31H,ACJNEA,#0FFH,DISP3MOV31H,#09HMOVA,30HDECAMOV30H,ACJNEA,#0FFH,DISP3MOV30H,#05HLJMPHELPEXIT:POPPSWRETI3.8结束显示“HELP”并亮灯程序HELP:MOV30H,#10H;MOV31H,#10H;MOV32H,#15H;HMOV33H,#16H;EMOV34H,#17H;LMOV35H,#18H;PMOV36H,#10H;MOV37H,#10H;/定时结束后间隔闪灯FLASH:SETBL

16、EDMOVA,#0FEH;11111110MOVR5,#8OUTPUT:MOVP2,ARLALCALLDELAYDJNZR5,OUTPUTSJMPFLASH实习心得一周的实习让我看到了自身的不足,也收获了宝贵的经验教训。从设计一个小型系统时要考虑的方方面面到真正动手搭接面包板时需要注意的各个细节,电子设计的每一个环节都是整体中密不可分的一部分,必须经过全局考虑和仔细思索,这里面还有很多知识值得虚心学习。除了知识方面启发,这次实习也让我看到了自己的不足。我们的团队分工合作不够明朗,导致我们浪费了许多时间。这主要是因为队员之间的交流不够,造成彼此分工不明确,工作效率低下。这些都是我在后续学习中需要

17、注重改进提高的。最后,本次实习给我的启发是:要想真正掌握电气专业的知识技能,仅仅依靠现行的课堂学习是远远不够的,不能仅仅满足于掌握理论知识,还应该在课后学习一些专业软件,用它们来做仿真测试,加深自己对于知识的理解;同时还要多动手,多调试一些电路,熟悉各种元器件的特性,积累设计和分析电路时的经验。总而言之,非常感谢这次实习给我的反思与启发,让我有机会提高自己的专业技能。略带戏谑地说,实习就是这样一个过程:谁不曾感觉过苦恼,谁不曾放弃过自己原先的设想,我们总是在检线无果狠狠失望过一回,然后突然醒悟般地发现问题所在。我们终究还是做到了,做到了超越昨天的自我。参考文献1黄建新.单片机原理、接口技术及应

18、用M.北京:化学工业出版社,2013整体程序*/TOC o 1-5 h z HYPERLINK l bookmark0 /家用电器定时控制器/P0.0接使能开关K0P0.1接LED灯P0.2接数码管DIN/P0.3接数码管CLKP0.4接电机p0.5接暂停开关K1/P1口接查询式键盘:/P1.0-清零按键/P1.1-开始定时按键/P1.2-时十位计数置数按键/P1.3-时个位计数置数按键/P1.4-分十位计数置数按键/P1.5-分个位计数置数按键/P1.6-秒十位计数置数按键/P1.7-秒个位计数置数按键/P2口接跑马灯/TICKEQU5000;5000*2*100us=1sT100usEQU

19、156;100us时间常数(12M)C100usEQU05H;100us记数单元DBUF0EQU30H40HTEMPEQURTBITP1.0;清零端ENBITP0.0;全局使能端LEDBITP0.1;LED灯亮灯端DINBITP0.2;数码管静态显示端CLKBITP0.3;数码管静态显示端STBITP0.5;暂停端ORG0000HLJMPLOOP1ORG000BHLJMPT0INTORG0100H/全局使能LOOP1:SETBENMOVC,ENCPLCJCSTART;判断全局使能按键是否按下LJMPLOOP1START:MOV30H,#10H;MOV31H,#15H;HMOV32H,#16H;

20、EMOV33H,#17H;LMOV34H,#17H;LMOV35H,#00H;OMOV36H,#10H;MOV37H,#10H;CLRLED;定时开始时点亮LED灯/显示定时开始前的HELLO界面DISP:MOVR0,#DBUF0MOVR1,#TEMPMOVR2,#8DP10:MOVDPTR,#SEGTABMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR2,DP10MOVR0,#TEMPMOVR1,#8DP12:MOVR2,#8MOVA,R0DP13:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR2,DP13INCR0DJNZR1,DP12/清零

21、LOOP2:SETBRTMOVC,RTCPLCJCCLEAR;判断清零按键是否按下LJMPLOOP2;若没有按下则继续判断CLEAR:MOV30H,#00H;0MOV31H,#00H;0MOV32H,#14H;-MOV33H,#00H;0MOV34H,#00H;0MOV35H,#14H;-MOV36H,#00H;0MOV37H,#00H;0/显示清零界面DISP2:MOVR0,#DBUF0MOVR1,#TEMPMOVR2,#8DP20:MOVDPTR,#SEGTABMOVA,R0MOVCA,A+DPTRMOVR1,AINCR0INCR1DJNZR2,DP20MOVR0,#TEMPMOVR1,#

22、8DP22:MOVR2,#8MOVA,R0DP23:RLCAMOVDIN,CCLRCLKSETBCLKDJNZR2,DP23INCR0DJNZR1,DP22/判断哪个按键被按下KEYBOARD:MOVP1,#0FFH;置P1口为输入态MOVA,P1;读入键值LCALLDELAYMOVB,P1CJNEA,B,KEYBOARDJNBACC.0,CLEARJNBACC.1,BEGIN/JNBACC.2,HH/JNBACC.3,HLJNBACC.4,MHJNBACC.5,MLJNBACC.6,SHJNBACC.7,SL;清零按键P1.0;开始定时按键P1.1;时十位计数置数按键P1.2;时个位计数置数

23、按键P1.3;分十位计数置数按键P1.4;分个位计数置数按键P1.5;秒十位计数置数按键P1.6;秒个位计数置数按键P1.7LJMPKEYBOARD;若没有按键按下则继续判断/置数/设置时十位/HH:/MOVA,30H/INCA/MOV30H,A/CJNEA,#06H,JUMP/MOV30H,#00H/CALLDELAY/LJMPDISP2/设置时个位/HL:/MOVA,31H/INCA/MOV31H,A/CJNEA,#0AH,JUMP/MOV31H,#00H/CALLDELAY/LJMPDISP2/设置分十位MH:MOVA,33HINCAMOV33H,ACJNEA,#06H,JUMPMOV3

24、3H,#00HCALLDELAYLJMPDISP2/设置分个位ML:MOVA,34HINCAMOV34H,ACJNEA,#0AH,JUMPMOV34H,#00HCALLDELAYLJMPDISP2/设置秒十位SH:MOVA,36HINCAMOV36H,ACJNEA,#06H,JUMPMOV36H,#00HCALLDELAYLJMPDISP2/设置秒个位SL:MOVA,37HINCAMOV37H,ACJNEA,#0AH,JUMPMOV37H,#00HCALLDELAYLJMPDISP2JUMP:LCALLDELAYLJMPDISP2;显示当前置数值JUMP2:LJMPCLEAR;定时过程中清零J

25、UMP3:LJMPKEYBOARD;定时过程中暂停JUMP4:LJMPEXIT/开启中断BEGIN:MOVTMOD,#02H;方式2,定时器MOVTH0,#T100usMOVTL0,#T100usMOVIE,#10000010B;EA=1,IT0=1SETBTR0;开始定时MOVC100us,#HIGH(TICK)MOVC100us+1,#LOW(TICK)/等待进入中断WAIT:SJMPWAIT/中断程序T0INT:PUSHPSWMOVA,C100us+1JNZGOONDECC100usGOON:DECC100us+1MOVA,C100usORLA,C100us+1JNZJUMP4;100u

26、s记数器不为0,返回MOVC100us,#HIGH(TICK);#HIGH(Tick)MOVC100us+1,#LOW(TICK);#LOW(Tick);100us记数器为0,重置记数器/开始定时TIMING:SETBRTMOVC,RTCPLCJCJUMP2;判断清零按键是否按下SETBSTMOVC,STCPLCJCJUMP3;判断暂停按键是否按下MOVA,37HDECAMOV37H,ACJNEA,#0FFH,DISP3MOV37H,#09HMOVA,36HDECAMOV36H,ACJNEA,#0FFH,DISP3MOV36H,#05HMOVA,34HDECAMOV34H,ACJNEA,#0FFH,DISP3MOV34H,#09HMOVA,33HDECAMOV33H,ACJNEA,#0FFH,DISP3MOV33H,#05HMOVA,31HDECAMOV31H,ACJNEA,#0FFH,DISP3MOV31H,#09HMOVA,30HDECAMOV30H,ACJNEA,#0FF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论