单片机原理课程设计空调控制系统_第1页
单片机原理课程设计空调控制系统_第2页
单片机原理课程设计空调控制系统_第3页
单片机原理课程设计空调控制系统_第4页
单片机原理课程设计空调控制系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、 空调控制系统班级:计班 学号:号指导老师: 姓名: 内容提要:由于微电子、计算机和通讯技术的发展,微型计算机的应用已经深入到国民经济的各个领域,从家用电器、机电一体化产品到航空航天技术、人工智能、生物工程以及现代通信技术等各个领域,微型计算机的应用都取得了巨大的社会效益和经济效益。当今,计算机的应用水平已在很大程度上决定了生产力的水平。微型单片机系统以其体积小、性能价格比高,指令丰富、提供多种外围接口部件、控制灵活等优点,广泛应用于各种家电产品和工业控制系统中,在温度控制领域的应用也十分广泛。随着能源的日趋减少,大气污染愈加严重,节能已是一个不容忽视的问题。众所周知,空调正朝着节能、舒适、静

2、噪于一体的方向发展。如变频空调,它刚一问世,就显示出强大的生命力;家用中央空调将全部居室空间的空气调节和生活品质改善作为整体来实现,克服了分体式壁挂和柜式空调对分割室的局部处理和不均匀的空气气流等不足之处。通过巧妙的设计和安装可实现美观典雅和舒适卫生的和谐统一,是国际和国内的发展潮流。可以预料,下世纪的空调将会以更快的步伐向前发展。目前空调已经广泛地应用于生产、生活中。空调的主要功能是改变室内温度。本文设计了一个空调制冷系统,它是一个完整的单片机系统。系统采用intel公司生产的80c51单片机,通过a/d转换器将温度传感器采集来的温度数据送入单片机,单片机将采集的数据与设定温度相比较决定压缩

3、机的工作状态,空调的心脏是压缩机,单片机通过对制冷压缩机的控制,实现了空调的制冷。 在本文中,系统地介绍了空调制冷的原理、硬件的结构、工作原理及其使用和各部分逻辑功能电路的设计。文中,还解决了单片机系统的抗干扰问题。采用了稳压电源的抗干扰、a/d转换抗干扰以及键盘输入接口的消抖处理。空调控制系统设计:应用系统的目标任务:控制系统要控制的是空气温度,是通过压缩机的运行、停止控制的,实际上单片机直接控制的是压缩机的工作状态。该系统要实现以下功能。(1)根据环境温度控制压缩机工作:控制参数是温度,被控参数是压缩机电路通、断的工作状态。(2)设置希望的环境温度值:由人手动控制。(3)显示设定的温度值。

4、总体方案示意图:经过以上转化,该制冷系统总体方案示意图如图1所示: 图1 制冷控制系统总体方案示意图硬件电路设计:硬件总体设计方案(1)该制冷系统由80c51单片机系统即可实现。电源由220v市电经直流电源转化为5v直流电压,采用内部时钟电路。(2)选用热敏电阻式温度传感器和adc0809转换器。温度传感器产生的模拟信号转换为数字信号后,由p0输入。adc0809由p3.0启动转换,由p3.1控制输出。信号传输采用无条件输入方式,启动a/d转换后延时100s从p0口采集数据。时间延迟由t0实现。(3)温度设置信号由脉冲电路产生,为简化系统,通过导线分别与单片机、引脚相连,以中断方式工作。(4)

5、利用交流固态继电器控制制冷压缩机工作状态。继电器由p3.7驱动。(5)两位显示器温度的共阳led七段码分别由p1口、p2口驱动。单片机时钟电路设计时钟电路是计算机的心脏,它控制着计算机的工作节奏。mcs-51单片机允许的时钟频率典型值为12mhz。80c51单片机内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为xtal1,输出端为xtal2,分别是80c51的19脚和18脚。在xtal1和xtal2两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。如图2所示: 图2 振荡电路石英晶振起振后要能在xtal2线上输出一个3v左右的正弦波,使mcs-51片内的ocs电路按石英晶振

6、相同频率自激震荡。通常,ocs的输出时钟频率fosc为0.5mhz16mhz,典型值为12mhz电容器c1和c2通常取30pf左右,对震荡频率有微调作用。调节它们可以达到微调震荡周期fosc的目的。复位及复位电路设计复位是单片机的初始化操作。其主要功能是把程序计数器pc值初始化为0000h,使单片机从0000h单元开始执行程序。除了进入系统的正常初始化之外,程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动单片机。rst引脚是复位信号的输入端,高电平有效,其有效时间应持续24个震荡周期(即两个机器周期)以上。若使频率为6mhz的晶振,则复位信号持续时间超过4s才能完

7、成复位操作。复位操作由上电复位和按键手动复为两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图所示。只要电源vcc的上电时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。按键手动复位分为电平方式和脉冲方式两种。其中,电平复位是复位端通过电阻与vcc电源接通而实现的。脉冲复位是利用rc微分电路产生的正脉冲来实现的。复位电路虽然简单,但其作用非常重要。一个单片机系统能复正常运行,首先要检查是否能复位成功。参数的计算:在本系统中,我采用了按键电平复位方式的复位电路,同时选用晶真的典型值12mhz,通过经验可将电阻值分别定为100和8.2k,电容值定为1

8、0f,这样,即能保证复位信号高电电平持续时间大于2个机器周期。可以使系统正常运行。系统的复位电路如图3所示: 图3 系统复位电路按键接口设计 按键所用开关为机械弹性开关,均利用了机械触点的合、断。一个电压信号通过机械触点的断开、闭合过程,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下断开。因而,在闭合和断开的瞬间均伴随着一连串的抖动,抖动时间的长短由按键的机械特性决定,一般为510ms。 按键输入电路由按键k1和k2组成。这2个按键分别连接到单片机的输入引脚p3.1和p3.2。按键k1为“升温”控制键;k2为“降温”控制键,分别对应于2个led显示器,用于设

9、置两位温度值。当按键k1、k2按下时,相应的单片机输入引脚p3.1和p3.2只能监测到低电平。要将按键与一个反相器串接后再与单片机相连。为防止按键按下时由抖动,还要设计一个消抖电路。消抖电路由一个电阻和按键k串接在5v和地之间,一个电容和按键并联构成。按键输入电路如图4所示:图4按键输入电路如图参数的确定:按键的抖动时间常数为。r-c消抖电路的时间常数取10ms,其计算公式为: rc 式1经验取电容值为:c=0.1f,根据式1得: r=/c=10k系统设计电路图系统由单片机复位电路设计电路、a/d转换的设计电路、稳定电源设计电路、交流固态继电器设计电路、led显示电路、传感器测温电路和按键接口

10、电路组成。其完整电路图如下图所示。软件设计:主程序模块主程序主要包括设置、显示默认调节温度为20和进行系统初始化(设定中断、定时方式等)工作。如图5所示: 图5主程序框图主程序代码: org 0030h main: mov r7, #20h ;上电后默认设定温度20acall display ;显示默认设定值 mov tcon, #05h mov tmod, #02h ;循环定时方式 mov th0, 0ceh ;延时100s mov tl0, 0ceh setb tr0 ;启动定时 mov ie, #87h ;开中断 sjmp “$温度设定中断子程序包括“升温”和“降温”两段程序,它们的内容

11、相仿。当手按下“升温”按键,单片机判断是否大于温度上限30,若没超过上限,则将其值升高1,调整为十进制,显示新值。若超过温度上限则返回。升温设置框图如图6所示 图6温度设置程序框图升温设置程序代码:org 0050hup: push a cjne r7, #30h, goup ;最高为30 sjmp upend goup: mov a, r7 add a, #01 ;升高1 da a ;调整为十进制 mov r7, a acall displayupend: pop a reti 降温时,先判断手动设定温度是否超过温度下限,若低于10,若低于10,则返回,反之,将其值降低1。调整为十进制,显示

12、新值。降温设置如图7所示:图7降温程序框图降温设置程序代码:org 0060hdown: push a cjne r7, #10h, godown ;最低10 sjmp downend godown: mov a, r7 clr c subb a, #01 ;降低1 jnb psw.6, goon ;调整为十进制 subb a, #06goon: mov r7, a acall displaydownend: pop areti温度显示子程序将2位表示设定温度值的压缩bcd码拆分,查表得到相应的共阳led码,分别送往p1、p2口。框图如图8所示: 图 8显示子程序框图org 0075hdisp

13、lay: mov dptr, #ledtab ;led显示码表首 mov a, #0fh ;取各位 anl a, r7 movc a, dptr+a mov p1, a mov a, #0f0h ;取十位 anl a, r7 wap a mov a, dptr+a movc p2, a ret org 0090hledtab: db 0c0h,0f9h,0a4h,0b0h,99h;共阳显示码 db 92h,82h,0f8h,80h,90h定时中断子程序定时中断程序模块完成控制系统的核心工作,根据环境温度控制压缩机电路,主要包括3部分内容。(1) 读取温度信号值。(2) 转换为对应的温度值。(3

14、) 与设定值比较决定压缩机电路状态。将p0口输入量转化为温度值的方法分析如下:图adc0809的基准电压为5v,所以p0口数据值对应的电压值: vt=p0/2565(v)计算时,取其整数部分: t=210-(10p0)/256定时中断程序框图9如下:图9 定时中断子程序框图org 0100h time: push a setb p3.1 ;输入数据 setb p3.0 ;启动下一次模/数转换 mov p0, #0ffh mov a, p0mov b, #10 ;转换为温度值,忽略小 mul ab ;数部分(b)(10p)/256 mov a, #210 clr c subb a, b mov

15、b, #10 ;转换为bcd压缩码(因 div ab ;a内温度值小于100,故可 swap a ;用程序中的转换方法) add a, b ;(a)=t cjne a, r7, con ;与设定温度比较 con: jnc stop setb p3.7 ;启动压缩机 sjmp timeend stop: clr p3.7 ;停止压缩机timeend: pop a reti end完整程序清单如下:org 0000h sjmp main org 0003h sjmp up org 000bh ajmp time org 0013h sjmp down主程序: org 0030h main: mov

16、 r7, #20h acall display mov tcon, #05h mov tmod, #02h mov th0, 0ceh mov tl0, 0ceh setb tr0 mov ie, #87h sjmp “$温度设定中断子程序: up: push a cjne r7, #30h, goup sjmp upend goup: mov a, r7 add a, #01 da a mov r7, a acall displayupend: pop areti温度设定中断子程序: org 0060hdown: push a cjne r7, #10h, godown sjmp downe

17、nd godown: mov a, r7 clr c subb a, #01 jnb psw.6, goon subb a, #06goon: mov r7, a acall displaydownend: pop areti显示子程序:org 0075hdisplay: mov dptr, #ledtab mov a, #0fh anl a, r7 movc a, dptr+a mov p1, a mov a, #0f0h anl a, r7 swap a mov a, dptr+a movc p2, a ret org 0090h ledtab: db 0c0h,0f9h,0a4h,0b0

18、h,99h db 92h,82h,0f8h,80h,90h定时中断子程序:org 0100h time: push a setb p3.1 setb p3.0 mov p0, #0ffh mov a, p0mov b, #10 mul ab mov a, #210 clr c subb a, b mov b, #10 div ab swap a add a, b cjne a, r7, con con: jnc stop setb p3.7 sjmp timeend stop: clr p3.7 timeend: pop a reti end总结:本文设计并实现了80c51对制冷压缩机的控制。在本文中,着重讲解了制

温馨提示

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

评论

0/150

提交评论