您的位置 首页 知识

使用AVR单片机制造电压表

通过研究和实验,用mega16可以制作5V电压。电压值从LED显示出来。下面是部分源程序:uintmega16_ad(){uintaddata;DDRD

经过研讨和试验,用mega16能够制造5V电压。电压值从LED显示出来。

下面是部分源程序:
uint mega16_ad()
{
uint addata;
DDRD|=BIT(4)|BIT(5)|BIT(6);
DDRA&=~BIT(PA3);
PORTA&=~BIT(PA3);
ADMUX=0x03;
ADCSR=0X80;//转化使能
ADCSR|=BIT(ADSC);//开端转化
while(!(ADCSR&(BIT(ADIF))));//等候转化完毕.
addata=ADC*4.8876; //转化为四位5V电压数
return addata;
}

void main()
{
uint ada;
while(1)
{
ada=mega16_ad();
if(ada>2500)
PORTD&=~BIT(2);//adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=cec722f12761e0de&k=%B5%E7%D1%B9&k0=%B5%E7%D1%B9&kdi0=0&luki=2&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=dee06127f122c7ce&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F2096%2Ehtml&urlid=0″ id=”0_nwl” mpid=”0″ target=”_blank”>电压值大于2.5V时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);
}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/318290.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部