if(flag_measure==1)
{
flag_measure=0;
//step1:
//temperature sensor
ADC_channel_temperature();
delayms(0x01);
temperature_value=ADC0_TR_DATA();
//step2:
ADC_channel_photosensor();
delayms(0x01);
photo_value=ADC0_TR_DATA();
//step3:
//SMG show data store
data_to_array(temperature_value,photo_value,show);
}
flag_measure 在初始化过程中设置为1,所以进入if。
step1:获取温度传感器的值
void ADC_channel_temperature()
{
ADC0_SC1A=ADC_SC1_ADCH(15); //PTC1----temperature sensor
}

选择温度传感器,即ADC0_SE15。

step2:获取阳光传感器的值
void ADC_channel_photosensor()
{
ADC0_SC1A=ADC_SC1_ADCH(11); //photosensor sensor path acquire
}

step3:液晶显示屏显示温度传感器和阳光传感器的值
data_to_array(temperature_value,photo_value,show);
搜show数组,可以看到show在中断函数中会呈现到液晶显示屏中。
该代码段展示了如何在嵌入式系统中实现温度和光照的实时测量。首先,通过ADC通道选择温度传感器和光照传感器进行采样,并延迟一定时间。然后,将获取的传感器数据存储到数组中,最终这些数据会在中断服务函数中显示在液晶显示屏上。

1043

被折叠的 条评论
为什么被折叠?



