单片机课程设计-基于pic单片机的室内温度检测

单片机课程设计-基于pic单片机的室内温度检测

ID:14714166

大小:327.50 KB

页数:16页

时间:2018-07-30

单片机课程设计-基于pic单片机的室内温度检测_第1页
单片机课程设计-基于pic单片机的室内温度检测_第2页
单片机课程设计-基于pic单片机的室内温度检测_第3页
单片机课程设计-基于pic单片机的室内温度检测_第4页
单片机课程设计-基于pic单片机的室内温度检测_第5页
资源描述:

《单片机课程设计-基于pic单片机的室内温度检测》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、引言在工业控制中,PIC单片机应用广泛,它最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如,一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。室温检测在实际生活中有相当重要的意义。比如说:通过温度来控制供暖阀门的开关,控制空调的降温和升温等等。在本课程设计我们采用基于PIC单片机型号16F628A,通过温度传感器18b20来检测温度,并通过MAX

2、485芯片进行传输,在读取温度方面可以用过一个RS485和RS232电平转换器,传输到PC机上来查看。-17-1.问题分析及解决方案1.1题目要求本课程设计为一个实际应用系统的温度检测控制部分,在温度检测系统中,对功能的要求如下:1.需要通过温度传感器18b20把实时的温度采集出来。2.当PIC单片机程序跑飞,或受到干扰是有软件自动复位的功能。3.给PIC单片机一个地址,通过上位机来寻找此地址来查询温度,且可以修改地址。4.当PIC单片机断电和复位后,修改后的地址保持不变。5.需要通过458总线进行传输。1.2解决方案针对题目所提供的要求,逐步提出以下解决方案:1.温

3、度传感器18b20的温度采集主要的采集原理中的问题就是时序的问题,它之中的读,写,复位时序弄清楚,再对相应的寄存器进行设置。18b20就可以开始采集温度。2.对第二个要求,在PIC16F628A单片机刚好存在有看门狗功能,即当看门狗使能时,一段时间没有喂狗,单片机就会自动复位,刚好解决了第二个问题。3.在第三个和第四个要求中,可以利用PIC16F628A中的EEPROM来解决,EEPROM的主要功能就是的那个单片机断电后里面存在的数据不会丢失,在改变此检测系统的地址时,只需要把地址写到单片机的EEPROM中即可。4.要通过485传输,我们选择了集成芯片MAX485,它

4、满足了485传输协议,利用差分传输,抗干扰能力强,通过对MAX485芯片的控制就达到了485传输的功能。-17-2.单片机选型及硬件配置2.1单片机及扩展模块选择在此室内温度检测上,我们在单片机的选择上进行了综合的考虑,最终选择了工业级单片机PIC16F628A。它的主要特点:性价比高,体积小。它内部的结构完全可以满足室内温度检测所需要的要求,例如它内部有看门狗功能,有128字节的EEPROM,还有内部晶振,低功耗功能,16个IO口,欠压复位功能。基于此,我们选择它作为此系统的核心控制单元。在扩展模块中,我们需要温度传感和485传输。现在市场上用于温度检测主要就是18

5、b20,它的优点也是性价比高,单线传输数据,可以节约单片机的IO口,所以我们也选择了18b20.MAX485是基于485协议的485传输接口芯片,采用半双工传输方式。性价比高,优质,也是我们采用它的主要原因。2.2I/O地址分配在此系统中我们用到的IO口不多,引脚主要有指示灯一个,温度传感器一个,控制MAX485一个和外接晶振两个引脚,串行发送和接受两个引脚。具体引脚图如图1所示,IO地址分配如表1所示:-17-图1PIC16F628A引脚图表1IO地址分配表IO地址功能RA3指示灯RB418B20温度传输线RB1数据接收RB2数据发送RB5MAX485控制线2.3系

6、统硬件原理图利用PROTEL绘制的系统控制电路原理图如图2所示。图2电路原理图-17-3.软件实现3.1控制流程图为了清楚地表明动作的顺序和条件,绘制室PIC单片机检测温度主程序流程图如图3所示。-17-图3主程序流程图温度传感器18B20的工作流程图如图4所示。-17-图4温度传感器18b20工作流程图中断服务工作和EEPROM读写流程图如图5所示。-17-图5中断服务程序及EEPROM写流程图3.2软件代码利用C语言在MPLAB编译器里编写的程序如下所示://PIC单片机配置位0xde45#include#include#defi

7、neucharunsignedchar#defineuintunsignedint#defineDQRB4#defineDQ_HIGH()TRISB4=1;DQ=1//为输入#defineDQ_LOW()TRISB4=0;DQ=0uinttemper;-17-uchara1,a2,a3,a4,addr,flag=0,flag1=0;voiddelay(uintx);voiddelayus(uintx);voidinit();voidreset();voidwrite_byte(uchardate);ucharread_byte();voidget_t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。