求AT89C51单片机与DS18B20的C语言程序,温度设定为10℃—70℃最小区分度为0.2℃,显示是四位共阳数码管,水温控制系统(仿真图这样的)求大神帮忙
用AT89C51单片机和温度传感器DS18B20S设计数字式温度计
本次设计采用的AT89S52是一种flash型单片机,可以直接在线编程,向单片机中写程序变得更加容易。本次设计的数字温度计采用的是DS18B20数字温度传感器,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本设计根据设计要求,首...
求基于AT89C51单片机的DS18B20温度检测程序(用C语言)
define discan P2 \/\/扫描口 define uchar unsigned char define uint unsigned int sbit DQ=P3^3; \/\/温度输入口 sbit DIN=P0^7; \/\/LED小数点控制 uint h;uchar flag;\/\/***温度小数部分用查表法***\/\/ uchar code ditab[16]= {0x00,0x01,0x01,0x02,0x03,0...
用AT89c51与DS18B20做数字温度计proteus怎么连接仿真图和C语言编程?
1、PROTEUS安装好后,默认不会在桌面上产生快捷方式。先打开开始菜单,依次点击“程序、Proteus 7 Professional、ISIS 7 Professional”打开PROTEUS。2、单击图中的P,添加单片机等元件。3、用关键字搜索,89C51,再加几个LED,因为是仿真就不用加限流电阻和晶振复位的元件了。4、把元件排列放好,再放一...
求:基于AT89C51单片机的多路DS18B20测温显示
startTempTrans(); \/\/步骤1:启动温度转换 LEDBuf[3] = 12; \/\/显示“+”LEDBuf[2] = t\/1000; \/\/显示温度的十位 LEDBuf[1] = (t\/100)%10; \/\/显示温度的个位 LEDBuf[0] = (t\/10)%10; \/\/显示温度的小数位 for(i = 0; i < 200; i++) \/\/步骤2:等待温度转换完成(必...
急需:AT89C51单片机的DS18B20温度检测电路及程序。
MOV A,29H MOV B,#10 ;10进制\/10=10进制 DIV AB MOV B_BIT,A ;十位在A MOV A_BIT,B ;个位在B MOV R0,#4 CLR C;多加的 DPL1: MOV R1,#250 ;显示1000次 DPLOP:MOV DPTR,#NUMTAB MOV A,TD MOVC A,@A+DPTR ;查通道的7段代码 MOV P0,A ;送出十位的7段代码 CLR P2.3...
急救!!基于AT89C51单片机的多路DS18b20测温显示系统的所有相关资料_百 ...
同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品...
求C语言程序,AT89C51单片机为核心,DS18B20测温度,实时用4位LED显示...
\/\/温度正负标志 \/***ds1820程序***\/ void delay_18B20(unsigned int i) \/\/延时1微秒 { while(i--); }void ds1820rst() \/*ds1820复位*\/ { unsigned char x=0; DQ = 1; \/\/DQ复位 delay_18B20(4); \/\/延时 DQ = 0; \/\/DQ拉低 delay...
求基于AT89C51单片机和DS18B20温度传感器、LCD1602液晶显示的数字温度...
\/\/延时程序 void delay(uint z){ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} \/\/lcd的写指令 void write_com(uchar com){ lcdrs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;} \/\/lcd的写数据 void write_data(uchar da){ lcdrs=1;lcden=0;P0=...
基于AT89C51单片机和DS18B20温度传感器、LCD1602液晶显示的高精度数字温...
Init_DS18B20();WriteOneChar(0xCC); \/\/跳过读序号列号的操作 WriteOneChar(0xBE); \/\/读取温度寄存器等(共可读9个寄存器) 前两个就是温度 delay_18B20(100);a=ReadOneChar(); \/\/读取温度值低位 b=ReadOneChar(); \/\/读取温度值高位 temp_value=b<<4;temp_value+=(a&0xf0)>>4...
基于AT89C51单片机与DS18B20的温度控制器程序中中断程序的作用是...
读 DS18B20的温度 的占用CPU时间较长,需要先进行中断保护才行。不然其他部分不能很正常的工作。