




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、串口收发电路的温度测量单片机系统设计设计目录第一部分电路设计31.1 温度采集电路.31.2 串口收发电路.71.3 温度显示电路.9第二部分上位机软件102.1基于Labview的温度检测设计第三部分程序代码电路设计1.1温度采集电路本设计采用热敏电阻,通过飞利浦公司生产的 AD转换芯片PCF9591采集热敏电阻的温 度信息,总体电路图如下PCF8591 简介描述PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和 1个串行I2C总线接口。PCF8591 的3个地址引脚 A0, A1和A2可用于硬件地址编程,允许在同
2、个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。特性【1】单独供电【2】PCF8591的操作电压范围 2.5V-6V【3】低待机电流【4】通过I2C总线串行输入/输出【5】PCF8591通过3个硬件地址引脚寻址【6】PCF8591的采样率由I2C总线速率决定【7】4个模拟输入可编程为单端型或差分输入【8】自动增量频道选择【9】PCF8591的模拟电压范围从VSS到VDD【10】PCF8591内置跟踪保持电路【11】8-bit逐次逼近A/D转换器【12】通过1路模拟输出实现 DAC增益
3、 引脚信息AINOAIN3 :模拟信号输入端。A0A3 :引脚地址端。VDD、VSS :电源端。(2.5 6V)SDA、SCL : I2C总线的数据线、时钟线。pcpaseiAOUT黒i PCF859J引田OSC :外部时钟输入端,内部时钟 输出端。EXT :内部、外部时钟选择线,使 用内部时钟时 EXT接地。AGND :模拟信号地AOUT : D/A 转换输出端VREF :基准电源端。PCF8591 操作内部地址寄存器内部控制寄存器AD转换总时序先送入要读取的器件的地址,即所要读取的通道,然后等待应答信号,开始读取下位机 芯片送来的AD数据。底层驱动时序如下单字读写起始以及停止信号准备完毕的
4、应答信号,上位机接收本电路通过PCF859啲AIN2通道采集热敏电阻的温度信息,通过I2C总线方式读取下位 机提取的信息,实现温度采集。温度传感器 PT100 简介设计原理pt100是铂热电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0C时阻值为100欧姆,在100 C时它的阻值约为138.5欧姆。它的工业原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成匀速增长的。温度特性曲线由上图,可以拟合其温度与电阻的关系为R=77/200*Temperature+100;串联的限流电阻的值为100欧姆,则AD输入电压的计算公式为ADValue/255*5
5、000=100/(R+100)*5000;由以上两公式换算可以得到Temperature=200/77*(100*255/ADValue-100)1.2串口收发电路通过串口收发电路,将采集到的温度信息提取后传送到电脑上,通过上位机显示所采集 的温度信息,实现人机交互界面,更加人性化电路如下:串口通信芯片采用 美信公司的 MAX232引脚介绍第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给 RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中 13 脚(R1IN )、12
6、 脚(R1OUT )、11 脚(T1IN )、14 脚(T1OUT) 为第一数据通道。8 脚(R2IN )、9 脚(R2OUT )、10 脚(T2IN )、7 脚(T2OUT )为第二数 据通道。TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232 数据从 T1OUT、T2OUT 送到电脑 DB9插头;DB9插头的 RS-232数据从 R1IN、R2IN输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。第三部分是供电。15脚GND、16脚VCC ( +5v)。主要特点1、符合所有的 RS-232C技术标准+10V 和-10V 电2、只需要单一 +5V电源供
7、电3、片载电荷泵具有升压、电压极性反转能力,能够产生压 V+、V-4、 功耗低,典型供电电流5mA5、内部集成 2个RS-232C驱动器6、内部集成两个 RS-232C接收器7、 高集成度,片外最低只需4个电容即可工作1.3温度显示电路温度显示电路采用1602液晶,与单片机的P0 口相连,实现温度显示,其电路图如下液晶电路的读写时序以及其内部寄存器的操作可以在网上查找,此处不作详述,用液晶 屏幕实现静态显示温度的功能整体电路如下上位机软件2.1前面板设计温度超过限定值或者低于限定值时,指示灯亮起,温度读取开关,用于串口的打开和关闭 后面板程序框图设计程序代码温度采集部分此部分为I2C总线驱动程
8、序*/I2C.C #in elude #in clude #define nop _nop_()sbit SCL=P2A1;sbit SDA=P2A0;bit ack;/*start I2c*/void Start_I2c(void) SDA=1;nop;SCL=1;nop;nop;nopnop;nop;SDA=0; /SDA to low ,send start flagnop;nop;nopnop;nop;SCL=0;nop;nop;/*stop I2c*/void Stop_I2c(void)SDA=0;nop;SCL=1;nop;nop;nopnop;nop;SDA=1;/send s
9、top flagnop;nop;nop;nop;/*send byte*/void Send_Byte(unsigned char c)unsigned char BitCnt;for(BitCnt=0;BitCnt8;BitCnt+) if(cBitCnt)&0x80) SDA=1;else SDA=0;nop;SCL=1;nop;nop;nopnop;nop;SCL=0;nop;nop;SDA=1;nop;nop;SCL=1;nop;nop;nop;if(SDA=1) ack=0;else ack=1;SCL=0;nop;nop;/*rescive byte*/unsigned char
10、Receive_Byte(void) unsigned char receive;unsigned char BitCnt; receive=0;SDA=1;for(BitCnt=0;BitCnt8;BitCnt+) nop;SCL=0;nop;nop;nop;SCL=1;nop;nop; receive=1;if(SDA=1) receive+=1;nop;nop;SCL=0;nop;nop;return receive;/*Acknowledgement*/void Ack_I2c(bit a) if(a=0) SDA=0;else SDA=1; nop;nop;nop;*/此部分为温度的
11、读取部分SCL=1;nop;nop;nop;nop;nop;SCL=0;nop;nop;AD.c#include#include unsigned char ADValue;unsigned int Temperature;#define PCF8591 0x90 / 器件地址bit ADC_Send_Byte(unsigned char sla,unsigned char c)Start_I2c();/*Send_Byte(sla);if(asc=0) return 0;Send_Byte(c);if(asc=0) return 0;Stop_I2c();return 1;/ADC Rece
12、ive Byteunsigned char AD_Receive_Byte(unsigned char sla) unsigned char c;Start_I2c();Send_Byte(sla+1); if(ack=0) return 0; c=Receive_Byte;Ack_I2c(1);Stop_I2c(); return c;Void Get_ADValue(void)ADC_Send_Byte(PCF8591,0x43);ADValue=AD_ Receive_Byte(PCF8591);/以下为温度换算部分 /Void Get_TPValue()Temperature=200/
13、77*(100*255/ADValue-100);/*此部分为LCD液晶显示模块*LCD.c#include #include #include “AD.h”sbit rs= P2A6;/sbit rw =卩2八5;sbit ep = P2A7;unsigned char code Tital = The temperature is;unsigned char Temperatureshow3; delay(unsigned char ms) /unsigned char i;while(ms-)for(i = 0; i 250; i+)_nop_();_nop_();_nop_();_no
14、p_();bit Lcd_Busy() /bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (bit)(P0 & 0x80);ep = 0;return result;Lcd_Write_CMD(unsigned char cmd) / while(Lcd_Busy(); rs = 0; rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_
15、();ep = 0;Lcd_Place (unsigned char pos)Lcd_Write_CMD(pos | 0x80);Lcd_Send_Byte(unsigned char dat)while(Lcd_Busy();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;lcd_init()Lcd_Write_CMD (0x38);delay(1);Lcd_Write_CMD (0x0c);delay(1);Lcd_Writ
16、e_CMD (0x06);delay(1);Lcd_Write_CMD (0x01);delay(1);Void Lcd_Show()Unsigned char i;Lcd_Place(0);i = 0;while(Titali != 0)Lcd_Send_Byte(Titali); i+;/100+0;Temperatureshow0=TemperatureTemperatureshow1=Temperature %100/10+0;Temperatureshow0=Temperature %10+0;Lcd_Place0x45;i = 0;while(Temperaturei != 0)Lcd_Send_Byte(Temperatureshowi);i+;此处为串行口的通信部分*/*SCI.c#include #include “AD.h”Void SCI_Init()SCON = 0x50;TMOD|= 0x20;PCON|= 0x80; / 波特率倍增TH1 = 0xF3;/ 串口波特率 9600TL1 = 0xF3;TR1 = 1;ES = 0; / 禁止串口中断EA = 0;Void Send_Temperature()SBUF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025设备材料购销合同范本范文
- 农业种植技术服务合作合同书
- 红楼梦课件无水印
- 工业园区租赁经营协议
- 员工培训与委托培养协议内容说明
- 工艺品设计与制作服务合同
- 业务洽谈合同条款审查模板
- 农业金融投资合作合同
- 诗人杜牧简介
- 2025年征兵考试题库及答案
- 人教版九年级上册历史期末复习知识点考点背诵提纲详细版
- 2025年广东省中考英语真题(原卷版)
- 捐资奖学金活动方案
- 非标自动化培训
- 2025年贵州省中考化学试卷真题(含答案解析)
- 高桩码头施工培训课件
- 孤独症相关培训课件
- 2025至2030中国工业混合式步进电机行业发展趋势分析与未来投资战略咨询研究报告
- 《大学体育理论与实践教程》大学体育课程全套教学课件
- 2025年电信网上大学智能云服务交付工程师认证参考试题库-上(单选题)
- 图文快印公司机器操作规程复习课程
评论
0/150
提交评论