欢迎来到天天文库
浏览记录
ID:47110337
大小:81.63 KB
页数:5页
时间:2019-08-05
《基于51单片机的温度采集系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于52单片机的温度采集系统一、实验原理:单片机已在各行各业得到广泛应用,为适应更多的应用领域,本实验采用了在一块单片机上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展且体积较小,可靠性高。本设计是基于STC89C52单片机和DS18B20实现温度的测量系统。单片机在本系统中作为温度输入和显示控制器件,DS18B20被用作温度数据的采集和温度输出器件,本系统采用的是单总线操作,线路比较简单,测量值也比较精准,可实现多点测量。本系统被广泛应用于温度孔子,温度检测,温度采集,消防等系统中。二、实验目的:针对传统测温元件(热电偶、热电阻)组成的温度测量电路复杂,软件调:试
2、繁琐等缺点,设计基于MSC-51单片机及ADC0809的温度采集控制系统。该系统利用单片机中空余的I/O接口,以中断的方式实现温度的实时采集与控制,充分利用CPU的资源空间,简化了测量电路以及程序调试的复杂过程,方便了技术人员在实际中的开发和应用。三、系统方案论证局部电路图:5基于52单片机的温度采集系统开始四、在软件编程上,其流程图为:结束数码管对温度进行显示单片机对数据进行处理DS18B20进行数据的采集并将数据以二进制的形式传至单片机5基于52单片机的温度采集系统五、其软件编程为:#include#defineucharunsignedchar#defineui
3、ntunsignedint#definejump_ROM0xCC#definestart0x44#defineread_EEROM0xBEsbitDQ=P3^7;unsignedcharTMPH,TMPL;ucharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;voiddelay_1(){inti,j;for(i=0;i<=10;i++)for(j=0;j<=2;j++);}voiddelay(uintN){inti;for(i=0;i4、延时{ucharx,j;for(j=0;j5、elay(5);DQ=1;}ucharread_byte(void){uchari,m,receive_data;m=1;receive_data=0;for(i=0;i<8;i++){if(read_bit())receive_data=receive_data+(m<>i;temp=temp&0x01;5基于52单片机的温度采集系统write_bit(temp);delay(5);}}6、voidmain(){Floattt;uinttemp;P2=0x00;while(1){Reset();write_byte(jump_ROM);write_byte(start);Reset();write_byte(jump_ROM);write_byte(read_EEROM);TMPL=read_byte();TMPH=read_byte();temp=TMPL/16+TMPH*16;P0=table[temp/10%10];P2=6;Delay_1ms(5);P0=table[temp%10];P2=7;Delay_1ms(5);}}5
4、延时{ucharx,j;for(j=0;j
5、elay(5);DQ=1;}ucharread_byte(void){uchari,m,receive_data;m=1;receive_data=0;for(i=0;i<8;i++){if(read_bit())receive_data=receive_data+(m<>i;temp=temp&0x01;5基于52单片机的温度采集系统write_bit(temp);delay(5);}}
6、voidmain(){Floattt;uinttemp;P2=0x00;while(1){Reset();write_byte(jump_ROM);write_byte(start);Reset();write_byte(jump_ROM);write_byte(read_EEROM);TMPL=read_byte();TMPH=read_byte();temp=TMPL/16+TMPH*16;P0=table[temp/10%10];P2=6;Delay_1ms(5);P0=table[temp%10];P2=7;Delay_1ms(5);}}5
此文档下载收益归作者所有