完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ADCSRA:ADC控制状态寄存器。第七位:ADC使能位。第六位:启动转换位。第五位:触发源的选择。4:中断标志位。3:中断使能位。2,1,0:预分频选择。 ADMUX:多工选择寄存器。主要用来选择ADC通道,转换结果的对齐方式,以及参考电压的选择。 SFIOR:特殊功能寄存器。7,6,5用来选择自动触发源。 ADCL,ADCH:转换结果寄存器。 对于转换结果一般先读低位在读高位ADCL+(ADCH*256);右对齐 当设置为连续触发方式可以连续转换。如果不使能自动触发源,则只转换一次。ADSC将会自动清0.如果想进行下一次的转换则软件将ADSC置位
#include #include typedef unsigned int uint; typedef unsigned char uchar; uint result=0; void adc_init(void) { ADMUX=0xC0;//2.56为参考电压,右对齐,ADC0 ADCSRA=0xa8; SFIOR=0x00;//连续转换模式 SREG|=BIT(7);//开总中断 ADCSRA|=(1<<6);//开启转换 } void main(void) { DDRA=0xfe; DDRB =0xff; DDRD=0xff; adc_init(); while(1) { } } #pragma interrupt_handler ADC_isr:15 void ADC_isr(void) { result=ADCL; result+=(ADCH*256); } |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5011 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7667 浏览 0 评论
2949 浏览 2 评论
3043 浏览 1 评论
9932 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-30 22:19 , Processed in 0.550534 second(s), Total 68, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191