单片机研发设计吸油烟机研发设计_第1页
单片机研发设计吸油烟机研发设计_第2页
单片机研发设计吸油烟机研发设计_第3页
免费预览已结束,剩余20页可下载查看

下载本文档

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

文档简介

1、吸油烟机的设计一、概述吸油烟机是广泛应用于厨房的重要的电气设备, 吸油烟机性能的好坏将直接 影响厨房的环境, 因此也将影响人的健康。 随着现代科学技术的发展, 吸油烟机 将会有更广阔的应用领域, 所以得到设计理想的吸油烟机也显得尤其重要。 吸油 机控制电路的设计理念已相当成熟,根据对吸油烟机风扇电机转速不同的要求, 可以用不同的方法来设计。 吸油烟机的设计既可以采用纯模拟电路, 也可以采用 数字电路, 还可以采用数模混合电路。 吸油机可以采用数码管显示运行状态, 也 可以采用LCD液晶显示器。该吸油烟机采用轻触式开关控制, 并结合照明灯的亮和熄灭来控制油烟机风 扇的转动。照明灯开关按键一个B1

2、,照明指示灯一个LED1,吸油烟机风扇转动按 键两个B2、B3,对应这两个按键指示灯两个 LED2 LED3吸油烟机功能开关按 键B4,对应指示灯LED4设计要求如下:1、 按一下B1, LED1变亮,同时吸油烟机的照明灯打开,再按一下 B1, LED1 熄灭,对应照明灯熄灭。2、B2和B3都能控制吸油烟机风扇的转动,但这两者控制吸油烟机的转速不 同,按一下B2,LED2变亮、风扇高速转动,此时按一下 B3, LED3变亮,LED2 熄灭,风扇低速转动,B2不再控制风扇,再按一下B2则LED2变亮,LED3熄灭, 风扇又高速转动,B3不再控制风扇,也就是说在同一时间里,B2和B3中只能有 一个

3、按键能控制风扇转动。3、按一下B4, LED4变亮,这是可以按B2或B3控制风扇转动,再按一下B4 则LED4熄灭,LED2 LED3熄灭,B2、B3不再起作用,在LED4不亮的状态下, 按B2或B3不起作用,而B1则不受影响。二、吸油烟机的方案设计在现代电子技术领域中, 实现吸油烟机的控制电路的方法多种多样, 可以通 过纯硬件电路来实现, 也可以采用硬件和软件结合的电路来完成。 以下列举了几种比较常用可行的万案,通过对比从中选择一种比较好的万案1吸油烟机的两种设计方案方案一:给予分立元件的吸油烟机控制电路基于分立元件的吸油烟机的控制系统主要由控制电路、键盘模块、指示灯模块以及电机驱动电路组成

4、。其原理方框图如图 1所示。扌旨示灯电路T1复位 电路指示灯电路AT89C51 微处理器电蠶制字段驱动屯派图i基于分立元件的吸油烟机的原理方框图方案二:基于AT89C51微处理器的吸油烟机控制电路基于AT89C51的吸油烟机的控制系统主要由 AT89C51微处理器、指示灯电路 模块、键盘模块、LED显示器模块、复位模块等组成。其原理方框图如图2所示。I二LED显示器|二1字位驱动I电源图2基于AT89C51的吸油烟机的原理方框图基于基于AT89C51微处理器的吸油烟机控制系统的工作原理:以AT89C51微处理器为核心,通过软件编程实现电机控制的高低速切换。一旦有按键操作, 则引起单片机中断,在

5、中断服务子程序里,根据相应的按键,执行的电机控制动 作和指示灯显示。同时,本系统扩展了一个时钟电路,能够显示时间。2方案比较设计过程中,方案的选择必须与实际情形联系起来, 从各方面考虑设计的可 行性,即不仅要考虑其先进性也要考虑其实现的可能性,综合寻求最佳方案。基于分立元件的吸油烟机采用纯硬件实现控制,故而电路结构复杂,所应用的集成IC较多,功能实现起来比较麻烦,而且电路稳定性不高。基于微处理器AT89C51的吸油烟机采用硬件和软件相结合的方式实现控制,电路简单,功能完善,所应用的集成IC较少,稳定性较高。经过上述方案的比较,结合各种因数综合考虑后,本设计采用方案二。三、吸油烟机的硬件设计方案

6、1电极控制模块电机控制电路的主要功能是完成吸油烟机风扇在高速转动与低速转动之间的切换。其工作原理:微处理器在确认风扇转动按键B2被按下后,则单片机的P1.6置为高电平,三极管V8导通,继电器KA2吸合,常开触点KA2闭合,直流图3电机控制电路原理图电机电枢回路通电,风 扇电机低速转动;当按 下按键B3后,则将单 片机的P1.7置为高电 平,三极管V7导通, 继电器KA1吸合,常开 触点KA1闭合,电阻 R18被短路,此时电枢回路的总电阻小于KA1断开时的总电阻,而端电压保持不变,所以电枢回路的电 流增大,故而风扇电机转速增大。电机控制电路图如图 3所示。2键盘模块根据设计要求,在本系统中共需要

7、7个按键,照 明灯按键B1、风扇转速控制键B2、B3,功能选择键 B4、电子时钟设置调整键 B5B&为了节省I/O资 源,采用2X4键盘电路,键位的列线(输入线)连 到P1.0P1.2,行线(输出线)连到 P1.2P1.5,而 2根列线则通过74LS08“与”门相连后,连到INTO 端。初态时,P1.2P1.5全部为0,没有键压下时, INTO为高电平;当键位上有任一键压下,INTO端变 低,向CPU发出中断请求,执行中断服务程序扫面键 盘。键盘电路原理图如图4所示。i?v3指示灯模块指示灯电路的主要功能是指示当前吸油 烟的工作状态。当按键 B1被按下时,将P3.0 置为低电平,发光二

8、极管 V1点亮。指示灯电 路原理图如图5所示。+5V4复位电路模块IP3IP3复位电路采用STC813组成的看门狗电路。图5指示灯电路原理图它和单片机的连接电路如图 6所示。看门狗定时器对微U4VCCMR VCCWDOSTC813PFri 1 pCTGND图6复位电路原理图处理机提供了独立的保护系统,当系统出现故障时,在 可选的超时周期之后,STC813看门狗将发出RESETS号, 使CPU自动复位。利用STC813的低电压监测电路,可以 保护系统免受低电压的影响,当 Vcc低到转换点以下时, 系统复位,并一直保持到 Vcc返回并且稳定为止。5时钟模块若采用直接驱动法驱动6个七段显示器,共须6

9、X 8=48条I/O线,而采用解码器驱动也要6X4=24条I/O线,形成I/O 口的浪费。所以采用扫描显示法,再加上TTL七段显示译码器74LS48和3-8译码器74LS138只需要7条I/O线,可节省硬件。时钟电路原理图如图 7所示。历灯旷沉历叶严“0时如3d Apzd卫四、吸油烟机的软件设计1初始化程序和主程序模块初始化程序流程图如图8所示,初始化程序部分主要使系统进入复位初始化 的状态值。具体过程为:设置中断优先级 IP,选择定时器0的工作方式,并且 设置初始值,开外部中断0,时钟显示寄存器初始化,使之全部显示为 0,键盘 端口初始化,指示灯显示初始化。主程序流程图如图9所示,具体过程为

10、:主程序调用初始化程序后,处于等 待状态,当外部中断0产生中断,则调用外部中断0服务子程序,当外部中断0 没有产生中断时,则调用定时器0服务子程序。开始设置优先级选择定时器0工作方式 设置初始值并启动计时时钟寄存器初始化开外部中断0键盘端口初始化指示灯显示初始化开总中断返回图9主程序流程图图8初始化程序流程图2定时器0中断服务程序模块定时器0中断程序工作过程:定时器0每隔4ms中断,一次中断相当于一个 计数,每中断一次则计数加1。当计数为250次时,则表示1s到了,调用计时 子程序,秒变量加1,再判断秒变量是否到60,如果到了 60,则说明一分钟到 了,分变量加1,同理判断时变量是否1小时到了

11、,若计数到了则将相关变量清 除为0。同时调用显示子程序和子程序来对显示器进行扫描,从而显示时间数据。定时器中断服务子程序的流程图如图10所示。图10 定时器0中断程序流程图图11计时子程序CLOCK流程图3时钟程序模块时钟程序设计主要包括计时子程序CLOCL显示子程序DIS、显示准备子程序READ"部分计时子程序CLOC主要功能:每隔1S判断秒变量、分变量、时变量寄存器 的值,当秒、分变量寄存器的值超过60则清零,而时变量寄存器的值超过 24则清零。显示子程序SCAN勺主要功能:将列扫描值和显示数值送到 P2 口显示准备子程序DIS的主要功能:分别将显示的秒、分、时数值转换程十进制数

12、值暂存到寄存器20H-25耳计时子程序CLOCL显示子程序DIS、子程序REDAY的程序流程图分别如图11、图12和图13所示图12显示子程序DIS流程图开始将秒变量的高位低位分别存入20H 21H1r将分变量的高位低位分别存入22H、23H将时变量白分别存入勺高位低位24H、25H11返回图13显示准备子程序 READ就程图4外部中断0服务程序外部中断0中断服务程序的功能是:当有键按下时,通过“与”门触发外部 中断0中断,调用键盘扫描子程序获取键值,根据键值执行相应的动作。外部中 断0的服务程序流程图和键盘扫描子程序流程图分别如图14、图15所示。图15键盘扫描程序流程图图14中断0服务程序

13、流程图五、仿真及调试1程序调试及冋题分析在编写应用程序的过程中,无论是谁都难免出现一些或大或小的错误,尤其 是我们这些编程不是很厉害的学生, 在编程过程中必然会产生错误,所以编好初 稿后必须进行程序调试。程序调试过程确实不是一个容易的过程,我把程序在 WAVE6000集成实验环境下编辑好后一编译发现二十几处错误 ,有些是丢了冒号, 或使用的是中文式的冒号,有些是宏汇编出错了等等错误。2仿真测试在Proteus 6.9S环境下进行仿真,仿真效果如图16、图17所示ilb p n -I p0Erjr “山: D*ei h 衍*fk gaerc-ii )ikt( 3*yJ hL-b S-pfctM

14、典p|D<|曲丽 国画*|爭零蛙辑口时口|苗町= 2 /州和恳心ElEl Og|L|EGKMflH 右阳*IR並CA 丹Efi*i加心龜血测门唧 I网Eg lUritf.? irnEH nFrt 7«1» T4.SDBSK52 1W 7M?EC74fi4T9K51BUTrnnCfffSTiU Cfiiffin £RO9CmCDG22P HTEbF惭 l(Ud/ L£iLLE UEDWEHL£D£& LEDmtJW |科S|图16吸油烟机仿真图一雷锂屯0机世斤 ISIS Fr of Hxxiaul |jLni incJQk

15、lElla He E.i L i 咕 bt_f l«Ji Dnici 'JTtf h 盘yuTvg|?la*.i £i_nt Rip金a.国亘*牛阿g聲!3c ;!商H井农3-X BB 3_i_rpi tna fi t«nC于期EH 于硝Tia i-Msruo:. KJAiSrTtf.T 74.533 A.13K5I A.13KE 哭PtIEfW” SWEHH S'Mi'SFCsTWDM f-5F£l Sm.'BFSi-MQN LLbUKjfi啊说 nefll n ini n応 巴 >201 pj i'1w

16、M WM HEfanJfcLHPKTA12FJ冲耳;炜 >W1!片 iw*>町 I >'4旳rwvKiU-FI W4 PIJM- Hil>NX n i'AUA:l-<i:>o.-K r图17吸油烟机仿真图六、结束语做了两周的课程设计, 有很多的心得体会, 有关于单片机方面的, 更多的是 关于人与人之间关系方面的。 我们组一共有四个人,我单片机学的不太好,为 此还是搞的很认真。 开始几天我白天在电子阅览室查找资料, 晚上在图书馆查看 一些有关书籍, 有时还请教我们的指导老师。 经过老师的多凡讲解讲解使我得到 了很大的收获。 所幸的是, 我得到了

17、很多同学的帮助。 我想没有他们我可能都要 放弃了,因为我本人对单片机也并不是很熟悉, 学的东西好像它是它, 我是我理 论联系不了实际。 以前的汇编语言没学好, 一开始的程序这块儿就要令我不知所 措了。后来请教我们班的同学和老师,在他们的帮助下和大家的共同努力之下, 终于写出了程序。在此次课程设计中, 我对着电路图再看课本, 发现以前很多觉得很难记的东 西现在记起来容易多了,因为整天都在同它们打交道。 51 的引脚及其功能,驱 动器的,所有我用到的我都一再的看书了解, 同时请教同学我看书过程当中的疑 惑。在这个过程中又发现了以前连电路当中出的一些问题, 能改的就改, 不能改 的,咳,要是时间再多

18、一些,或者我能早点做好,不要想那些如果,还是准备自 己的,做好我现在能做的吧。 还好,验收还算成功,但是我觉得对我来说已经 很好,代表了我真实的水平, 我觉得我对单片机的一些知识在这个动手的过程中 真的是从无到有增长的。 同时我也尽量不去想别人得了多少分, 没有什么不平衡 的,有些人付出的是努力, 有些人付出的是风险代价, 其实这也没有什么不一样, 这一点我早就了解。 最后,我发现自己对单片机竟然也有了一点兴趣, 想暑假回 家以后补一补汇编语言。有什么问题请教下以前的那些老同学好了。INT0: PUSH ACCPUSH PSWAGAIN: MOV P2,#0FHJNB P2.0,ZHIX0JN

19、B P2.1,ZHIX1AJMP EXITZHIX0: MOV P2,#0F0H附录 A 吸油烟机的程序清单HOUR EQU 2AHJ存放小时变量MIN EQU 2BH ;存放分钟变量SEC EQU 2CHJ存放秒钟变量GN_FLAG EQU 20H.5 ;功能选择标志位ORG 00H ;主程序起始地址LJMP MAIN;跳至主程序ORG 03H ;INT0中断起始地址LJMP INT0;跳至中断子程序 INT0ORG 0BH ;TIMER0中断起始地址LJMP TIMER;跳至TIMERO中断子程序TIMER*主程序*MAIN: MOV SP,#70HJ设置堆栈在 7OHMOV 28H,#0

20、0HJ显示寄存器初值为 OOMOV HOUR,#08Hnj时" 寄存器初值为 O9HMOV MIN,#00Hnj分" 寄存器初值为 OOHMOV SEC,#00Hnj秒" 寄存器初值为 OOHMOV P2,#0FHj键盘端口初始化,行线置 OMOV P3,#0FFHj指示灯初始化CLR GN_FLAGj功能标志位清零_" -/ / .> .r、.MOV TMOD,#01H; TIMER0 工作方式 1MOV TL0, #60Hj定时 4MSMOV TH0, #0F0HjMOV IE, #83Hj中断使能SETB PX0;中断0优先级高SETB IE

21、0;中断0跳变触发方式MOV R4, #250j中断 250 次SETB TR0;启动定时器 0AJMP $;等待中断*外部中断 0 处理子程序*将ACC勺值暂存于堆栈 将PSW勺值暂存于堆栈CALLDELAYJNBP2.4, B5JNBP2.5, B6JNBP2.6, B7JNBP2.7, B8JMPEXITZHIX1: MOV P2,#0F0HCALLDELAYJNBP2.4, B1JNBP2.5, B2JNBP2.6, B3JNBP2.7, B4JMPEXITB1:CPLP3.0 ;JMPEXITB2:JBGN_FLAG, BB2CALLDELAYJB GN_FLAG, BB2JMPEX

22、IT照明灯点亮或熄灭CLR P1.7JMP EXITB3:JBGN_FLAG, BB3JMPEXITBB3: CPL P3.3 ;CLRP1.6JMPEXITB4:CPL P3.5 ;CPLGN_FLAGJMPEXITBB2: CPL P3.1电机低速转动电机高速转动电机功能选择B5: MOV A,SEC ;ADD A,#01H; ADA A; AMOV SEC,A;CJNE A,#60H,EXIT ;MOV SEC,#00H ;JMP EXITB6: MOV A,MIN ;ADD A,#01H; ADA A; AMOV MIN,A;CJNE A,#60H,EXIT ; MOV MIN,#00

23、H ;JMP EXIT将秒寄存器的值载入 A 的内容加 1 做十进制调整将 A 的值存入秒寄存器 是否等于 60 秒,不是跳至 N1 是则清除秒寄存器的值为 00将分寄存器的值载入 A 的内容加 1 做十进制调整将 A 的值存入分寄存器 是否等于 60 分?不是则跳到 N3 是则清除分寄存器的值为 00B7: MOV A,HOUR ;ADD A,#01H ; A DA A ; A MOV HOUR,A ;CJNE A, #24H,EXIT ;MOV HOUR,#00H ;JMP EXITB8: JMP EXITEXIT: POP PSW ; POP ACC ;RETI将时寄存器的值载入 A 的

24、内容加 1 做十进制调整将 A 的值存入秒寄存器 是否等于 24?不是则跳到 N5 是则清除时寄存器的值为 00至堆栈取回PSW勺值 至堆栈取回ACC勺值TIMER: PUSH ACCPUSH PSWMOV TL0, #60HMOV TH0, #0F0H DJNZ R4,X2 MOV R4,#250CALL CLOCKCALL DISX2: CALL SCANPOP PSWPOP ACCRETI;SCAN: CLR RS0CLR RS1 ; MOV R0,#28H;CJNE R0,#6,X3;MOV R0,#00H;X3: MOV A,R0;ADD A,#20H;A间显示区地址MOV R1,A

25、 ; MOV A,R0;SWAP A;值,低四位为显示值) ORL A,R1;*TO定时中断处理子程序*将ACC勺值暂存于堆栈将PSW勺值暂存于堆栈计时到重新赋初值计时 1S 是否到?未到则跳到 X2 到了重新给 R4 赋值 调用计时子程序 CLOCK 调用显示子程序 DIS 调用扫描子程序 SCAN 至堆栈取回PSW勺值至堆栈取回ACC勺值返回*扫描子程序*选择工作寄存组 0(28H)为扫描指针扫描完 6 个显示器?不是则跳至 X3是则扫描指针为 0扫描指针载入 A加上常数20H (显示寄存器地址)=各时各时间显示时间地址存入 R1 扫描指针载入 A将A的高低4位互换(P1高四位为扫描 扫描

26、值加显示值CLOCK:MOV A,SECADD A,#01H;DA A; AMOV SEC,A;CJNE A,#60H,X4 MOV SEC,#00HMOV A, MIN;ADD A,#01H;DA A;MOV MIN,A;CJNE A,#60H,X4MOV MIN,#00HMOV A,HOURADD A,#01H;DA A;MOV HOUR,A CJNE A,#24H,X4 MOV HOUR,#00H X4:RET ;DIS: SETB RS0CLR RS1 ;MOV R1,#20H;MOV A,SEC;MOV B,#10H;DIV AB; A数)存入 BMOV R1,B;INC R1; R1=21HMOV R1,A;INC R1; R1=22HMOV A,MIN;M

温馨提示

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

评论

0/150

提交评论