|
通過(guò)研究和實(shí)驗(yàn),用mega16可以制作5V電壓。電壓值從LED顯示出來(lái)。
下面是部分源程序:
uint mega16_ad()
{
uint addata;
DDRD|=BIT(4)|BIT(5)|BIT(6);
DDRA&=~BIT(PA3);
PORTA&=~BIT(PA3);
ADMUX=0x03;
ADCSR=0X80;//轉(zhuǎn)換使能
ADCSR|=BIT(ADSC);//開(kāi)始轉(zhuǎn)換
while(!(ADCSR&(BIT(ADIF))));//等待轉(zhuǎn)換結(jié)束.
addata=ADC*4.8876; //轉(zhuǎn)換為四位5V電壓數(shù)
return addata;
}
void main()
{
uint ada;
while(1)
{
ada=mega16_ad();
if(ada>2500)
PORTD&=~BIT(2);//電壓值大于2.5V時(shí)LED1亮
else
PORTD|=BIT(2); //否則LED1滅
show(4,ada%10);
delay(1);
ada=ada/10;
show(3,ada%10);
delay(1);
ada=ada/10;
show(2,ada%10);
delay(1);
ada=ada/10;
showdian(1,ada%10);
}
}
|
|