使用普中基础程序30-DS18B20温度传感器实验程序
u8 i=0;
u8 buf[4];
int temper;
SysTick_Init(72);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //ÖжÏÓÅÏȼ¶·Ö×é·Ö2×é
USART1_Init(115200);
LED_Init();
SMG_Init();
OLED_Init();
BEEP_Init();
while(DS18B20_Init())
{
printf("DS18B20¼ì²âʧ°Ü£¬Çë²åºÃ!\r\n");
delay_ms(500);
}
printf("DS18B20¼ì²â³É¹¦!\r\n");
while(1)
{
if(i%50==0)
{
temper=DS18B20_GetTemperture()*10;
if(temper<0)
{
printf("¼ì²âµÄζÈΪ£º-");
}
else
{
printf("¼ì²âµÄζÈΪ£º ");
}
printf("%.1f¡ãC\r\n",(float)temper/10);
}
buf[0]=gsmg_code[temper/100];
buf[1]=gsmg_code[temper%100/10]|0x80;
buf[2]=gsmg_code[temper%100%10];
buf[3]=0x39;
SMG_Display(buf,5);
i++;
if(i%10==0)
LED0=!LED0;
delay_ms(10);
}
}