ad.c

来自「基于ATMEGA16的AD转换的C程序源代码」· C语言 代码 · 共 32 行

C
32
字号
#include "iom16v.h"
#include "macros.h"
#include "delay.h"
#include "lcd.h"
unsigned int time;
void Adc_Init(void)
{
 ADMUX=0xc0;                //片内2.56基准源,通道为ADC0
 ADCSRA=0X00;                //停止ADC

 ACSR=(1<<ACD);				 //关闭模拟比较器
 ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADIE)
		|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);	//使能ADC、启动AD转换、使能ADC中断、128分频
                                            
}

#pragma interrupt_handler Adc_isr:15
void Adc_isr(void)
{
 	 	time=ADC&0x3ff;
  	 	//time=ADCH;		                //取出转换结果到缓冲数组
		lcd_write2(2,1,time);           //显示转换结果
		delay_nms(200);
		ADCSRA|=(1<<ADSC);				//启动转换
}
void main()
{CLI();
 Adc_Init();
 Lcd_INT();
 lcd_clear();
 SEI();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?