51单片机用DS18B20做温控器,想用数码管高位的后3位显示温度,十位,个位,小数

2024年11月15日 12:28
有3个网友回答
网友(1):

void dis_temp(uint t)//显示温度数值函数 t传递的是整形的温度值
{
uint shi,ge,shifen;
shi=t/100;
ge=t%100/10;
shifen=t%100%10;

P1=table[shi];
led1=0; //位选,第一个数码管亮
delay(5); //延时,亮一会
led1=1; //CLOSE

P1=table[ge];
led2=0; //位选,第二个数码管亮
delay(5);
led2=1;

P1=table[shifen];
led3=0; //位选,第三个数码管亮
delay(5);
led3=1;

led4=1;
}

网友(2):

P0口有上拉电阻吗?

对于P口进行数码管扫描显示,数码管位数较多的时候,最好不要对P口用位寻址,用这样的写法:
比如想让P1^0=0;
你可以这样写:

P1&=0XFE;

网友(3):

建议你买一本郭天祥出的书--《新概念51单片机C语言教程》,对初学者很有用,我就是看他的视频如入门的,现在已经接了好几个项目了