distab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff,0xfe,0xf7};❓
uchar dismod=0,xiaodou1=0,xiaodou2=0,currtemp;
bit flag;❓定义一个位变量
void t0isr() interrupt 1
{
TH0=(65536-5000)/256;❓定时器0 5ms溢出一次参数高八位
TL0=(65536-5000)%256;❓定时器0 5ms溢出一次参数低八位
switch(number)❓显示第number位
{
case 0:
P2=0x08;❓第一位选
P0=distab[TempBuffer1[0]];❓第一段码
break;❓退出switch
case 1:
P2=0x04;
P0=distab[TempBuffer1[1]];
break;
case 2:
P2=0x02;
P0=distab[TempBuffer1[2]]&0x7f;
break;
case 3:
P2=0x01;
P0=distab[TempBuffer1[3]];❓第四段码
break;
default:
break;
}
number++;
if(number>3)number=0;
}
void delay_18B20(unsigned int i)❓延时
{
while(i--);
}
/**********ds18b20初始化函数**********************/
void Init_DS18B20(void)
{
bit x=0;
do{
DQ=1;
delay_18B20(8);
DQ = 0; //单片机将DQ❓数据位送0
delay_18B20(90); //精确延时 大于 480us
DQ = 1; //拉高总线❓数据位送1
delay_18B20(14);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败,继续初始化
}while(x);
delay_18B20(20);
}
/***********ds18b20读一个字节**************/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号❓数据送0
dat>>=1;
DQ = 1; // 给脉冲信号
i
我的天,你这个问号打的,给你老师看到能气死不?
看不懂问号阿
懂事电子设计 Vgz