数码管显现STC89C54RD+DB18B20测温板,材料来源于网络。
首要元件用到了单片机STC89C54RD+,DB18B20温度传感器,4为共阳数码管,PNPS8550三极管等。
原理图:
原理图:
#include"reg52.h"#define uchar unsigned char#define uint unsigned intsbit DQ=P3^4; //温度数据口sbit wx1=P2^0; //位选1sbit wx2=P2^1; //位选2sbit wx3=P2^2; //位选3sbit wx4=P2^3; //位选4unsigned int temp, temp1,temp2, xs;uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99, //共阳数码管0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6};/******延时程序*******/void delay1(unsigned int m){unsigned int i,j;for(i=m;i>0;i--)for(j=110;j>0;j--);}void delay(unsigned int m) //温度延时程序{while(m--);}void Init_DS18B20() {unsigned char x=0;DQ = 1; //DQ复位 ds18b20通讯端口delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //准确延时 大于 480usDQ = 1; //拉高总线 delay(4);x=DQ; //稍做延时后 假如x=0则初始化成功 x=1则初始化失利delay(20);}