版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告基于单片机的智能温控系统的设计与实现设计名称学 校陕西电子科技职业学院学院电子工程学院学生姓名王一飞班级1507指导教师聂弘颖时 间2017年10月23日、概述随着嵌入式技术、计算机技术、通信技术的不断发展与成熟。控制系统以其直观、方便、准确、适用广泛而被越来越广泛地应用于工业过程、空调系统、智能楼宇等。恒温控制系统,控制对象是温度。温度控制在日常生活及工作领域应用的相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制,而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。针对此问题,本系统设计的目的是实现 一种可连续高精度调温的温度控制系统,它应
2、用广泛,功能强大,小巧美观,便于携带, 是一款既实用又廉价的控制系统。本项目设计是对温度进行实时监测与控制,设计的温度控制系统实现了基本的温度控制功能:被控温度范围可以调整,初始范围25=Tv=35如果被测温度在25度到35度之间,则既不加热,又不报警;如果被测温度小于 25 度,则既加热,又报警;如果被测温度大于 35 度,则报警,不加热。数码管显示温度,温度精确到整数。A 4、口、二、方案设计采用单片机+单总线DS18B20勺方案,其中单片机采用51兼容系列三、详细硬件设计及原件介绍3.1 单片机最小系统在基于单片机勺应用系统中,其核心是单片机勺最小系统,而单片机又是最小系统勺核心,为了方
3、便起见,采用的单片机型号是:STC89C52R(内部资源有:8KB FLASH ,512BSRAM,4个8位1/0,2个TC,1个UART带ISP和IAP功能。是近年来流行的低端51单片机时钟电路采用12.0M晶体,复位电路采用简单的 RC复位电路。R=10K,C=10uF详细电路见 总体原理图3.2 DS18B20 简介DS18B2C是采用“1-wire ”一线总线传输数据的集成温度传感器,信息经过单线接口送 入DS18B20或从DS18B20送出,因此从中央处理器到 DS18B20仅需连接一条线。可采用外 部电源供电,也可采用总线供电方式,此时,把VDD连接在一起作为数字电源。因为每一个
4、DS18B20有唯一的系列号(silicon serial number ),因此多个 DS18B20可以存在于同一条单线总线上,这允许在许多地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测。3.2 DS18B20与单片机接口VCC4. 7KT1GND吉I/O2 3VDD图3冷外擁电源供电方式TO OTHER 1-WIREDEVICESEXTERNAL +5V SUPPLY四、总体 原理图见 附录1五、程序 设计1、主程序流程图六、项目总结通过对该项目的设计制作,我对简单的单片机控制系统的开发过程有了比较全面的理 解,在这次实习中,我的体会有:1.细心
5、,制作硬件和编写程序,调试程序,都需要细心,否则很容易失败2. 基础,单片机不是万能的,它需要外部硬件电路的配合,这些电路不复杂,但是要 弄明白它的原理,还是要下一番功夫的。像基础的电子焊接,测量,元件的识别等都是。3. 团队合作,由于时间的关系,每个项目由几个人合作,这时就特别需要团队合作意 识。4. 撰写设计文档,对写设计文档总感到是一种累赘反正实物已经出来了,有没有 文档关系不大。现在需要在设计过程中随时记录一些东西,最后整理成设计文档。5. 将一个大的问题分割成几个相对独立的部分,更容易解决。附录1:电路原理图附录 2:代码:(1)名称:温控系统#include / 包含头文件,一般情
6、况不需要改动,头文件包含特殊功能寄存 器的定义/#include#define uchar unsigned char#define uint unsigned int/*定义端口*/I*sbit DQ=P2A7;/ds18b20 端口sbit ledj=P1A1;/加热sbit ledb=P1A7;报警sbit keyup=P3A0; /温度加sbit keydn=P3A1; /温度减/*全局变量*/uint tmax=30;uint tmin=26;uint temp;uchar shi,ge,temph,i,j,x;uchar code tab=0x3f,0x06,0x5b,0x4f,0
7、x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /7 段数码管段码表共阳/*/* 函数声明 */ unsigned int ReadWD(void);void csh(void);unsigned char ReadOneChar(void); void WriteOneChar(uchar dat);void delay(uint i);void xs(uchar shi,uchar ge);void sjcl();/*/ /* 主函数 */ /*/ void main()/unsigned char temph;whi
8、le(1)if(keyup=0)for(j=0;j20;j+)for(i=0;i20;i+)shi=tmax/10;ge=tmax%10;xs(shi,ge);delay(5000);shi=10;ge=10;xs(shi,ge);if(keyup=0)tmax+;while(keyup=0); if(keydn=0)tmax-;while(keydn=0); else if(keydn=0)for(j=0;j20;j+)for(i=0;i4;shi=temph/10; / 十位温度ge=temph%10; / 个位温度xs(shi,ge); / 显示温度sjcl(); / 数据处理void
9、xs(uchar shi,uchar ge)P2=2;P0=tabshi;delay(500);P2=3;P0=tabge;delay(500);P2=4;P0=0xc6;delay(500);/*/* 数据处理函数 */*void sjcl()if(temphtmax)ledj=1;ledb=0;else if(temph=tmin&temph0;i-)DQ = 0; / 给脉冲信号dat=1;DQ = 1; / 给脉冲信号if(DQ=1)dat|=0x80;delay(5);return(dat);/*/ /* 写一个字节 */ /*/ void WriteOneChar(unsigned
10、 char dat)unsigned char i=0;for (i=8;i0;i-) DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat=1;delay(5);/*/* 读取温度 */ unsigned int ReadWD(void) unsigned char a=0;unsigned int b=0;unsigned int t=0;csh();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0x44); /启动温度转换delay(200);csh();WriteOneChar(0xCC); /跳过读序号列号的操作W
11、riteOneChar(0xBE); /读取温度寄存器等(共可读 9 个寄存器)前两个就是温度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b=8;t=a+b;return(t);(2)名称:DS18B20温度计,温度值由单片机发给上位机并显示(扩展功能程序)/*名称:18B20温度传感器,温度在上位机显示公司:陕西圣弘科技有限公司编写:赵进全日期: 2010.8*/#include / 包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的 定义#include/#include#define uchar unsigned char#define uin
12、t unsigned int/*/* 定义端口 */*/sbit DQ=P2A7;/ds18b20 端口*/*全局变量*/*uint temp;uchar shi,ge,bh;uchar code tab= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,段数码管段码表共阳0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /7I*/*函数声明*unsigned int ReadWD(void);void csh(void);unsigned char ReadOneChar(void);void WriteOneChar(ucha
13、r dat);void delay(uint i);void xs(uchar shi,uchar ge);*/* 主函数 */ /*/ void init_com(void) / 串口初始化函数TMOD=0X20; / 定时器 1 定时方式 2/PCON=0X00;SCON=0X50; / 串口方式 1,允许接收TH1=0XFD; / 波特率为 9600TL1=0XFD;TR1=1;void comm(char *parr) /串口发送数据函数doSBUF=*parr+; /发送数据while(!TI);/数据发送完标志位 1TI=0;/标志清 0while(*parr);/保持循环直到字符
14、为 0main()/主函数unsigned char TempH,buff2;init_com();while(1)temp=ReadWD();/ 定时读取当前温度TempH=temp4;shi=TempH%100/10; / 十位温度ge=TempH%100%10; /个/ 位温度bh=0x39;/ 显示C符号xs(shi,ge);sprintf(buff,%d,temp4); /将整型温度转换成字符型comm(buff); /将字符型温度由串口发送到上位机void xs(uchar shi,uchar ge)P2=1;P0=tabshi;delay(500);P2=2;P0=0;P0=ta
15、bge;delay(500);P0=0;P2=3;P0=bh;delay(500);P0=0;I*/*延时函数*/void delay(unsigned int i)/ 延时函数while(i-);/*初始化*/void csh(void)unsigned char x=0;DQ = 1; /DQ 复位delay(8); /稍做延时DQ = 0; /单片机将DC拉低delay(80); / 精确延时大于 480usDQ = 1; /拉高总线delay(10);x=DQ; / 稍做延时后 如果 x=0 则初始化成功 x=1 则初始化失败 delay(5);/*/* 读一个字节 */unsigne
16、d char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-)DQ = 0; / 给脉冲信号dat=1;DQ = 1; / 给脉冲信号if(DQ)dat|=0x80;delay(5);return(dat);/*/* 写一个字节 */void WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8;i0;i-)DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat=1;delay(5);/*/* 读取温度 */*unsigned int ReadWD(void) unsigned char a=0;unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版墙纸购销合同范本
- 2025年度数字经济基础设施建设承包借款合同4篇
- 2024预埋件研发与生产项目合同范本3篇
- 2024食品物流信息化管理系统合同
- 2025年度文化创意产品采购合同知识产权保护与市场推广3篇
- 2025年度专业市场租赁协议范本4篇
- 2025年度智慧社区物业服务承包合同4篇
- 2025年度电力企业财务预算出纳人员担保合同3篇
- 2025年度商场橱窗窗帘广告设计与安装合同4篇
- 2025年度新能源汽车制造项目承包商担保合同规范4篇
- 春节英语介绍SpringFestival(课件)新思维小学英语5A
- 进度控制流程图
- 2023年江苏省南京市中考化学真题
- 【阅读提升】部编版语文五年级下册第四单元阅读要素解析 类文阅读课外阅读过关(含答案)
- 供电副所长述职报告
- 现在完成时练习(短暂性动词与延续性动词的转换)
- 产品质量监控方案
- 物业总经理述职报告
- 新起点,新发展心得体会
- 深圳大学学校简介课件
- 校园欺凌问题成因及对策分析研究论文
评论
0/150
提交评论