单片机课程设计_基于单片机的空调温度控制器.doc_第1页
单片机课程设计_基于单片机的空调温度控制器.doc_第2页
单片机课程设计_基于单片机的空调温度控制器.doc_第3页
单片机课程设计_基于单片机的空调温度控制器.doc_第4页
单片机课程设计_基于单片机的空调温度控制器.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

单片机系统课程设计单片机系统课 程 设 计成绩评定表设计课题 : 基于单片机的空调温度控制器 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日 单片机系统课 程 设 计课程设计名称: 基于单片机的空调温度控制器 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 学生姓名专业班级学号题 目课题性质工程设计课题来源自拟指导教师主要内容(参数)通过89c51单片机实现下列功能:1、 能手动设置温度2、 当实际温度高于设置温度时压缩机工作,低于设置温度时压缩机停止工作。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)m北京:国防工业出版社,20042伟福lab6000系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等教育出版社,2006审查意见系(教研室)主任签字: 年 月 日 单片机系统课程计任务书 18一、课题总体方案设计41.1课题背景41.2空调温度控制器功能设置51.3系统框图5二、硬件电路设计52.1单片机52.2时钟电路72.3显示电路72.4温度测量电路92.5按键电路102.6输出电路112.7系统总电路图122.8元件清单14三、软件设计143.1软件设计思路143.2软件流程图143.3软件内容编写15一、课题总体方案设计1.1课题背景电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的c51系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会.而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。而本次设计就是要通过以mcs-51系列单片机为控制核心,实现空调机温度控制器的设计。1.2空调温度控制器功能设置 通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由单片机控制显示器显示设置温度,并比较采集温度与设定温度是否一致,然后驱动空调机的降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况1.3系统框图 图1.3二、硬件电路设计2.1单片机 由于空调温度控制器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。本设计采用mcs-51系列的8051单片机,因为8051单片机应用广泛,性能稳定,抗干扰能力强,性价比高。8051包含了8位cpu,片内振荡器,4k字节rom,128字节ram,2个16位定时器,计数器,中断结构,i/o接口等。可进行计算,定时等一系列功能。 图2.12.2时钟电路at89c52内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到cpu, 作为cpu的时钟信号,驱动cpu产生执行指令功能的机器周期。引脚xtal1和xtal2是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器, 振荡电路的连接如图所示图8所示,外接石英晶体或陶瓷谐振器以及电容c1和c2构成并联谐振电路, 接在放大器的反馈回路中。对外接电容c1和c2的值虽然没有严格的要求, 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的接法的快速性和温度稳定性。外接石英晶体时, c1和c2一般取(40pf-10pf),外接的是石英晶体, 所以,c1、c2选择标称值30pf。 图2.22.3显示电路 led驱动 7447 介绍:7447是一块bcd码转换成7段led数码管的译码驱动ic,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段led数码管显示相应的数字。相应引脚功能如下:(1)qa,qb,qc,qd,qe,qf,qg:7段led数码输出引脚。(2)a,b,c,d :输入引脚。(3)rbo,bt,li 高电平输出有效。 温度显示工作原理 温度显示电路如图2.3所示:由2片ttl7447和2片七段led组成,led采用共阳级接法。7447的qa-qg接bcd的a-g,段选信号由8051的p1口提供,led显示数据由7447的输出决定,即由p1口信号的取值决定。 图2.32.4温度测量电路本系统的温度测量电路采用ds18b20来实现。ds18b20是美国dallas半导体公司推出的第一片采用“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰、能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。ds18b20的性能及特点:适应电压范围宽,电压范围在,在寄生电源方式下可由数据线供电。独特的单线接口方式,它与微处理器连接时仅需一条口线即可实现微处理器与ds18b20的双向通信。支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温。在使用中不需要任何外接元件,全部传感元件及转换电路集成在形如一只三极管的集成电路里。测温范围-55+125,在-10+85时精度为0.5。可编程分辨率为912位,对应的可分辨温度分别为0.5,0.25,0.125和0.0625,可实现高精度测温。在9位分辨率时,最多在93.75ms内把温度转换为数字;12位分辨率时,最多在750ms内把温度值转换为数字。测量结果直接输出数字温度信号,以“一线总线”串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力。负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 图2.42.5按键电路按键开关电路由一按键连接到8051的p2.1端口所示。按下p2.1按键,放开后进入温度设定模式,显示设定最高温度34oc,每按一次设定温度将减小1oc,直至最低设定温度20oc,再按一次回到34oc。 图2.52.6输出电路系统要求在当前室温高于设定温度时能够自动驱动制冷系统工作。在当前室温高于设定温度时,通过置p3.0脚高电平来驱动后级制冷系统,本系统采用led灯来代替制冷系统。 图2.62.7系统总电路图 图2.72.8元件清单 表2.8序号元件名称元件符号数量189c51单片机u112ds18b20u2137447u3、u4247段led数码管25晶振x116极性电容c417电容c1、c228电阻r1、r2、r339led灯d1110按键1三、软件设计3.1软件设计思路 软件设计的任务包括设置温度、温度控制等,其中设置温度在主程序中完成,温度控制在中断服务程序中完成,即每隔一段时间对比测量温度与设定温度之间的大小关系,根据对比结果给出控制信号,令压缩机的运行或停止,实现温度调控。3.2软件流程图 图3.23.3软件内容编写 flag1 bit f0 ds18b20存在标志位 dq bit p1.7 temper_l equ 29h temper_h equ 28h a_bit equ 35h b_bit equ 36horg 0000hjmp start1 org 000bh ; 定时器/计数器0溢出中断jmp tim0 ; 转中断程序start1: mov tmod,#01h; 设定定时器0工作方式1 mov th0 , #high(65536-50000); 设定初值 mov tl0,#low(65536-50000); setb tr0; 启动定时器0 mov ie,#82h; 定时器0开放中断 mov 24h,#0ffh anl p1,#00hstart:lcall init_18b20 lcall re_config lcall get_temperinit_18b20: setb dq nop clr dq mov r0,#0fbh tsr1: djnz r0,tsr1 ;延时 setb dq mov r0,#25h tsr2: jnb dq ,tsr3 djnz r0,tsr2 tsr3: setb flag1 ;置标志位,表明ds18b20存在 ajmp tsr5 tsr4: clr flag1 ljmp tsr7 tsr5: mov r0,#06bh tsr6: djnz r0,tsr6 tsr7:setb dq ;表明不存在 retre_config: jb flag1,re_config1 ret;re_config1: mov a,#0cch ;放跳过rom命令 lcall write_18b20 mov a,#4eh lcall write_18b20 ;写暂存器命令 mov a,#00h ;报警上限中写入00h lcall write_18b20 mov a,#00h ;报警下限中写入00h lcall write_18b20 mov a,#1fh ;选择九位温度分辨率 lcall write_18b20 retget_temper: setb dq lcall init_18b20 jb flag1,tss2 ret ;若不存在则返回tss2: mov a,#0cch ;跳过rom lcall write_18b20 mov a,#44h ;发出温度转换命令 lcall write_18b20 lcall display ;延时 lcall init_18b20 mov a,#0cch ;跳过rom lcall write_18b20 mov a,#0beh ;发出读温度换命令 lcall write_18b20 lcall read2_18b20 ;读两个字节的温度 retlcall l1;lcall disp;jmp startl1: clr c; 清0 mov 20h,#00h mov 21h,#00h mov r3,#08h; 显示位数next: rlc a; 将a的内容和cy左移一位,显示准备 mov r2,a mov a,20h addc a,20h da a; 对a进行十进制调整 mov 20h,a; mov a,21h addc a,21h mov 21h,a mov a,r2; djnz r2,next; r2-10 循环计数 l2: mov a,20h add a,20h da a; mov 20h,a mov a,21h addc a,21h da a; mov 21h,a retdisp: mov a,20h; 显示程序 anl a,#0f0h swap a; 交换高低位 mov 22h,a mov a,21h anl a,#0ffh swap a orl a,22h mov 23h,a mov p1,a mov r7,#0ffh djnz r7,$; 是否显示完 retset0: lcall delay jnb p2.1,$; 等待按键操作 lcall delay; 消除按键抖动a2: cjne r0,#0ffh,a1 mov r0,#14; 延时a1: mov a,r0 mov dptr,#table ; 数据指针指向表头 movc a,a+dptr; 查表 mov p1,a mov 24h,a mov r5,#4fhd4: mov r7,#0ffhd2: mov r6,#0ffhd1: jnb p2.1,set1; 有按键按下 转set1 djnz r6,d1 djnz r7,d2 djnz r5,d4 jmp start set1: lcall delay jnb p2.1,$; 等待按键操作 lcall delay; 消除抖动 dec r0 jmp a2tim0: push acc; 保护现场 push psw mov th0,#high (65536 - 50000); 重装定时初值 mov tl0,#low (65536 -50000) clr c ; 进位标志清0 mov a,24h; 比较温度 subb a

温馨提示

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

评论

0/150

提交评论