欢迎来到天天文库
浏览记录
ID:5471501
大小:48.01 KB
页数:0页
时间:2017-12-14
《at89s52温度变送器实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AT89S52温度变送器实验单片机技术使用越来越广泛,在各种仪器仪表生产制造、石油、化工、纺织、机械制造等行业中都得到了广泛运用。现用AT89S52单片机设计了一款温带度显示的变送器,所需材料如下:序号名称型号数量(只)1单片机AT89S5212电容22pF23电容16V10uF14晶振12M15电阻970欧姆16电阻100欧姆37滑动电阻510欧姆18AD转换芯片LTC186019DA转换芯片LTC1655110锁存器74HC573211数码管显示6位共阴极1仿真电路如下:温度变送器程序如下:#include#include#include"DAC.
2、c"sbitSDO=P1^2;sbitSCK=P1^3;sbitCON=P1^4;#include"LTC1860.c"sbitduan=P1^1;sbitwei=P1^0;sbitDIN=P1^5;sbitCLK=P1^6;sbitCS=P1^7;#defineA3367.8#defineB131.2856#defineC758.0757charm;charduantable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};charweitable[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};v
3、oiddisplay(longintdat,intdp){longinttemp,DATE[6],i=0,num=0;temp=dat;m=dp;do{temp=temp/10;num++;}while(temp!=0);if(num<=m)num=m+1;temp=dat;for(i=0;i4、0x80;}elseP2=duantable[DATE[i]];duan=1;duan=0;}}void5、LTC1655(longintdat){longinttemp,i,ch[16];temp=dat;for(i=0;i<16;i++){if((temp&0x8000)==0x8000)ch[i]=1;elsech[i]=0;temp=temp<<1;}CS=0;CLK=0;for(i=0;i<16;i++){DIN=ch[i];CLK=1;CLK=0;}i=0;CS=1;}floatLTC1860(){longinti=0,ch[12];floatdat,t;CON=0;for(i=0;i<12;i++){SCK=0;if(SDO==0)ch[i]=0;elsech[i]=1;SCK6、=1;}CON=1;dat=(ch[0]*2048)+(ch[1]*1024)+(ch[2]*512)+(ch[3]*256)+(ch[4]*128)+(ch[5]*64)+(ch[6]*32)+(ch[7]*16)+(ch[8]*8)+(ch[9]*4)+(ch[10]*2)+ch[11];t=(100*(A-B*sqrt(C-(500000/(2500-(dat*5000/4096))-100)))-18)*0.999361017;returnt;}voidmain(){floatt,m;while(1){t=LTC1860();m=65535*(t/65027);LTC1655(7、m);display(t,2);}}采用本方案设计的温度变送器测量精度可达0.2级,分辨率为0.25℃,测量范围为:0~650℃.设计:康联和电话:13608881508QQ:672260307个人网站:cqkangli32j7km.web1.cq118.cn2011年8月31日
4、0x80;}elseP2=duantable[DATE[i]];duan=1;duan=0;}}void
5、LTC1655(longintdat){longinttemp,i,ch[16];temp=dat;for(i=0;i<16;i++){if((temp&0x8000)==0x8000)ch[i]=1;elsech[i]=0;temp=temp<<1;}CS=0;CLK=0;for(i=0;i<16;i++){DIN=ch[i];CLK=1;CLK=0;}i=0;CS=1;}floatLTC1860(){longinti=0,ch[12];floatdat,t;CON=0;for(i=0;i<12;i++){SCK=0;if(SDO==0)ch[i]=0;elsech[i]=1;SCK
6、=1;}CON=1;dat=(ch[0]*2048)+(ch[1]*1024)+(ch[2]*512)+(ch[3]*256)+(ch[4]*128)+(ch[5]*64)+(ch[6]*32)+(ch[7]*16)+(ch[8]*8)+(ch[9]*4)+(ch[10]*2)+ch[11];t=(100*(A-B*sqrt(C-(500000/(2500-(dat*5000/4096))-100)))-18)*0.999361017;returnt;}voidmain(){floatt,m;while(1){t=LTC1860();m=65535*(t/65027);LTC1655(
7、m);display(t,2);}}采用本方案设计的温度变送器测量精度可达0.2级,分辨率为0.25℃,测量范围为:0~650℃.设计:康联和电话:13608881508QQ:672260307个人网站:cqkangli32j7km.web1.cq118.cn2011年8月31日
此文档下载收益归作者所有