第10章模拟比较器和ADC接口范例.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 程序 #include mega16.h flash unsigned char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; flash unsigned char position[4]={0xfe,0xfd,0xfb,0xf7}; unsigned char dis_buff[4]={0,0,0,0},posit; bit time_2ms_ok; * // ADC电压值送显示缓冲区函数 void adc_to_disbuffer(unsigned int adc) { unsigned char i; for (i=0;i=3;i++) { dis_buff[i]=adc%10; adc /= 10; } } * // Timer 0 比较匹配中断服务 interrupt [TIM0_COMP] void timer0_comp_isr(void) { time_2ms_ok = 1; } // ADC 转换完成中断服务 interrupt [ADC_INT] void adc_isr(void) { unsigned int adc_data,adc_v; adc_data=ADCW; //读取ADC置换结果 adc_v=(unsigned long)adc_data*5000/1024; //换算成电压值 adc_to_disbuffer(adc_v); } * void display(void) // 4位LED数码管动态扫描函数 { PORTA |= 0x0f; PORTC = led_7[dis_buff[posit]]; if (posit==3) PORTC |= 0x80; PORTA = position[posit]; if (++posit =4 ) posit = 0; } * void main(void) { DDRA=0x0f; PORTA=0x0f; DDRC=0xff; // LED显示控制I/O端口初始化 PORTC=0x00; // T/C0 初始化 TCCR0=0x0B; // 内部时钟,64分频(4M/64=62.5KHz),CTC模式 TCNT0=0x00; OCR0=0x7C; // OCR0 = 0x7C(124),(124+1)/62.5=2ms TIMSK=0x02; // 允许T/C0比较中断 // ADC 初始化 ADMUX=0x47; // 参考电源AVcc、ADC7单端输入 SFIOR=0x1F; SFIOR|=0x60; // 选择T/C0比较匹配中断为ADC触发源 ADCSRA=0xAD; // ADC允许、自动触发转换、ADC转换中断允许、ADCclk=125Kz #asm(sei) // 开放全局中断 * while (1) { if (time_2ms_ok) { display(); // LED扫描显示 time_2ms_ok = 0; } } } * 10.2.5 ADC的应用设计的深入讨论 1.AVcc的稳定性。 AVcc是提供给ADC工作的电源,如果AVcc不稳定,就会影响ADC的转换精度。 通常采用系统电源通过一个LC滤波后接入AVcc,抑制掉系统电源中的高频躁声,提高AVcc的稳定性。 必要时,PA口上的那些没被用做ADC输入的端口尽量不要作为数字I/O口使用。因为PA口的工作电源是由AVcc提供的,如果PA口上有比较大的电流波动,也会影响AVcc的稳定。 * 2.参考电压VREF的选择确定 ADC的参考电压VREF还决定了A/D转换的范围。如果单端通道的输入电压超过VREF,将导致转换结果全部接近于0x3FF,因此ADC的参考电压应稍大于模拟输入电压的最高值。 ADC的参考电压VREF可以选择为AVCC,或芯片内部的2.56V参考源,或者为外接在AREF引脚上的参考电压源。外接参考电压应该稳定,并大于2.0V(芯片的工作电压为1.8V时,外接参考电压应大于1.0V)。要求比较高的场合,建议在AREF引脚外接标准参考电压源来作为A

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档