微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 温度传感器18B20的驱动程序

温度传感器18B20的驱动程序

时间:11-26 来源:互联网 点击:

se IO
sbitLS138A=P2^2;//管脚定义
sbitLS138B=P2^3;
sbitLS138C=P2^4;

//此表为 LED 的字模, 共阴数码管 0-9-
unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsigned longLedOut[5],LedNumVal;

void system_Ini()
{
TMOD|= 0x11;
TH1 = 0xD8;//10
TL1 = 0xF0;
IE = 0x8A;
TR1= 1;

}

main()
{ unsigned char i;
system_Ini();
while(1)
{
GetTemp();


LedNumVal=Temperature;//把实际温度送到LedNumVal变量中
LedOut[0]=Disp_Tab[LedNumVal000/1000];
LedOut[1]=Disp_Tab[LedNumVal00/100];
LedOut[2]=Disp_Tab[LedNumVal0/10];//十位
LedOut[3]=Disp_Tab[LedNumVal];//个位

for(i=0; i<4; i++)
{
P0 = LedOut[i] ;

switch(i)
{//138译码
case 0:LS138A=0; LS138B=0; LS138C=0; break;
case 1:LS138A=1; LS138B=0; LS138C=0; break;
case 2:LS138A=0; LS138B=1; LS138C=0; break;
case 3:LS138A=1; LS138B=1; LS138C=0; break;
}

delay(100);
}

P0 = 0;

}
}

//延时程序
void delay(unsigned int i)
{
char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top