温度传感器-51单片机
C语言 #include <reg51.h> #define uchar unsigned char sbit DQ =P3^7; //18B20 数据线引脚 //数码管显示的段码表 uchar code table[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; // 0 1 2 3 4 5 6 7 8 9 uchar code table_d[]= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; // 0 1 2 3 4 5 6 7 8 9 uchar dispbuf[4]; //显示缓冲区 uchar temper[2];//存放温度的数组 void seg_scan(); /*****************************延时函数**************************/ void delay (unsigned int us) { while(us--); } void reset(void) //复位 { uchar x=0; DQ = 1; delay(8); //稍做延时 DQ = 0; delay(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay(14); x=DQ; delay(20)