
#define Min_Value1
float ADC_Result(void)
{
}
void LED_Flash(time)
{
}
void main(void)
{
while(1)
{
Real_Value = ADC_Result()
if(Real_Value >Max_Value)
{
LED_Flash_Fast(1)//快速闪烁
}
else if(Real_Value <Min_Value)
{
LED_Flash_Fast(0)//慢速闪烁
}
else{/*do nothing*/}
}
}
给你写了一个框架,必要的地方自己填写,不明白可以继续追问
没看懂你说的意思。相邻的引脚作为高电平输出是什么意思?一般用mcu芯片检测电压,需要在程序里面打开芯片自带的adc功能,然后测量,取得的数为一个数字量。同时,必须给芯片一个基准电压,数字量的值就是你测量电压和基准电压的一个线性系数运算的值。一般的,你测量电压不能高于基准(这点要看你的芯片adc,至少我用的那个芯片是这样。)否则芯片只能默认为最大值。如:基准电压2.5v,测量3v的,然后又可能芯片得到的数就是2.5v。最后一个问题,万用表测量开路电压?只要将你想测量电压的一端接红表笔,另一端接黑就可以了啊(感觉你不是这个意思,但是你写的是这个意思)。ADC有好几个控制寄存器,要弄懂它们的意义,要看STC的芯片手册主要功能,启动AD转换,迁择通道,设置转换频率 ,查询是否完成转换 等
还要设置IO输入 /输出模式
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)