ad._c

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

_C
32
字号
#include "iom16v.h"
#include "macros.h"
#include "lcd.h"
unsigned int Adc0_Conver[1];
unsigned char time;
void Adc_Init(void)
{
  DDRD&=~0x80;
  PORTD&=~0x80;
 ADMUX=0xe0;                //片内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=ADCH;		                //取出转换结果到缓冲数组
		lcd_write2(3,1,time);           //显示转换结果
		ADCSRA|=(1<<ADSC);				//启动转换
}
void main()
{ CLI();
 Adc_Init();
 Lcd_INT();
 lcd_clear();
 SEI();
}

⌨️ 快捷键说明

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