基于pt100的温度采集系统设计

基于pt100的温度采集系统设计

ID:12076983

大小:109.00 KB

页数:8页

时间:2018-07-15

基于pt100的温度采集系统设计_第1页
基于pt100的温度采集系统设计_第2页
基于pt100的温度采集系统设计_第3页
基于pt100的温度采集系统设计_第4页
基于pt100的温度采集系统设计_第5页
资源描述:

《基于pt100的温度采集系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于PT100的温度采集系统设计姓名:冯学号:专业班级:目录一、设计简介1二、硬件设计11、单片机电路12、信号调理电路4三、上位机程序设计7四、总结8一.设计简介本设计采用STC89C51单片机实现测温功能。传感器为PT100热电阻,测温范围为0℃~300℃。采集的温度由四位数码管显示,并将温度值传送给上位机显示。可实现上限报警功能。二.硬件设计1.单片机电路本设计的单片机电路由STC89C51单片机最小系统、电源部分、数码管显示部分、按键部分、ADC及串行通信接口部分组成。1)单片机最小系统主函数部分代码:voidmain(voi

2、d){ucharbuff[4];TMOD=0x20;//定时器1,在模式2SCON=0x50;//8位串行口模式1,允许接收,REN=1PCON=0x00;TH1=0xFD;//波特率为9600,晶体频率为11.059MHzTL1=0xFD;//波特率为9600,晶体频率为11.059MHz//ES=1;//使能串行口中断TR1=1;//启动定时器1EA=1;//使能全局中断while(1){wendu_chuli();beep=1;if(wendu>40)baojing();sprintf(buff,"%f",tem2);delay

3、_ms(10);Send(buff);delay_ms(10);}}2)数码管显示电路数码显示部分代码:voidwrite_74HC164(unsignedcharmydata){unsignedchari,byte,h;byte=mydata;i=8;h=0;while(i){VSCL=0;if((0x80&mydata)==0x80){VSDA=1;}else{VSDA=0;}h=0;h=0;VSCL=1;h=0;h=0;mydata<<=1;i--;}}3)ADC转换电路AD转换代码:/*********************

4、*************************************/unsignedintread_adc(void){unsignedintu=0;unsignedchari,j;cs=1;j=0;cs=0;for(i=0;i<10;i++){clk=0;u=(u<<1)

5、dout;clk=1;j=0;}cs=1;//开始转换return(u);//返回ADC结果}4)串行通信接口部分串行通信部分代码:voidSend(char*parr){do{SBUF=*parr++;while(!TI);TI=0;}while(*pa

6、rr);}2.信号调理电路图中采用TL431稳压电路向PT100电桥供电。TL431的稳压值为2.5v,系统提供+5v电压,则PT100电桥电压为2.5v。温度为0℃时,PT100阻值为100,流过PT100的电流为2.5V/3.1k(约0.806mA),电桥输出电压为0;温度为300℃时,PT100阻值为212.05,电桥输出电压为0.806mA0.112(约0.09v)。该信号由U1A组成的差动放大器放大10倍,由U1B组成的同相放大器放大3.8倍。温度标定部分代码:voidwendu_chuli(){myad=0;for(j=0

7、;j<98;j++){myad=myad+read_adc();}myad=myad/100;A=((766.81728+3*myad)/(7925.76-myad)-0.015+0.00258)*1000;for(i=0;i<160;i++){if((A>=Pt100[i])&(A<=Pt100[i+1])){tem=i+(Pt100[i+1]-Pt100[i])*(A-Pt100[i]);break;}}三.上位机程序设计上位机代码如下PrivateSubForm_Load()MSComm1.Settings="9600,N,8,

8、1"MSComm1.CommPort=3MSComm1.InBufferSize=8MSComm1.OutBufferSize=2IfMSComm1.PortOpen=TrueThenMSComm1.PortOpen=FalseMSComm1.RThreshold=4MSComm1.SThreshold=1MSComm1.InputLen=0MSComm1.InputMode=comInputModeTextIfMSComm1.PortOpen=FalseThenMSComm1.PortOpen=TrueMSComm1.InBuffe

9、rCount=0Me.Caption="温度"EndSubPrivateSubMSComm1_OnComm()DimrecAsStringSelectCaseMSComm1.CommEventCasecomEvRecei

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

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

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