em đang làm bài code đo điện áp bằng atmega32 mà chạy code nó không ra được kết quả yêu cầu
code đây ạ mọi người sửa giúp em với
#include<avr/io.h>
#include<avr/delay.h>
#define FRE8
#include "lcd.h"
#include "pin.h"
#define AREF_MODE 0
#define INT_MODE (1<<REFS1)|(1<<REFS0)
#define AVCC_MODE (1<<REFS0) //dien ap tham chieu AVCC
#define ADC_VREF_TYPE AVCC_MODE //dinh nghia kieu dien ap tham chieu
unsigned int adc_val; //khai bao bien chua gia tri doc duoc tu ADC
unsigned int read_adc(unsigned char adc_channel){ //ham doc gia tri dien ap vao tu 1 kenh cua ADC
ADMUX = adc_channel|ADC_VREF_TYPE; //chon dien ap tham chieu
ADCSRA|=(1<<ADSC);
loop_until_bit_is_set(ADCSRA, ADIF); //lap cho den khi bit ADIF = 1 (khi chuyen doi hoan tat)
return ADCW; //ham tra ve gia tri doc duoc tu thanh ghi ADCW
}
void lcd_display(unsigned int t)
{
LCD_4_CUR_MODE(0,0);
LCD_4_INIT();
LCD_4_CUR_GOTO(0,1);
LCD_4_PRINT_STR("dien ap la");
LCD_4_CUR_GOTO(1,1);
LCD_4_PRINT_FLOAT(t,2,3);
}
int main(void)
{
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS0);// khoi dong ADC
ADMUX = ADC_VREF_TYPE;
adc_val = read_adc(0);// goi ham con read_adc de lay gia tri tu ADC gan cho bien adc_val
lcd_display(adc_val);//goi ham con led_out de hien thi tren led 7 thanh
}
thư viện và file code em gửi trong link sau đây
code đây ạ mọi người sửa giúp em với
#include<avr/io.h>
#include<avr/delay.h>
#define FRE8
#include "lcd.h"
#include "pin.h"
#define AREF_MODE 0
#define INT_MODE (1<<REFS1)|(1<<REFS0)
#define AVCC_MODE (1<<REFS0) //dien ap tham chieu AVCC
#define ADC_VREF_TYPE AVCC_MODE //dinh nghia kieu dien ap tham chieu
unsigned int adc_val; //khai bao bien chua gia tri doc duoc tu ADC
unsigned int read_adc(unsigned char adc_channel){ //ham doc gia tri dien ap vao tu 1 kenh cua ADC
ADMUX = adc_channel|ADC_VREF_TYPE; //chon dien ap tham chieu
ADCSRA|=(1<<ADSC);
loop_until_bit_is_set(ADCSRA, ADIF); //lap cho den khi bit ADIF = 1 (khi chuyen doi hoan tat)
return ADCW; //ham tra ve gia tri doc duoc tu thanh ghi ADCW
}
void lcd_display(unsigned int t)
{
LCD_4_CUR_MODE(0,0);
LCD_4_INIT();
LCD_4_CUR_GOTO(0,1);
LCD_4_PRINT_STR("dien ap la");
LCD_4_CUR_GOTO(1,1);
LCD_4_PRINT_FLOAT(t,2,3);
}
int main(void)
{
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS0);// khoi dong ADC
ADMUX = ADC_VREF_TYPE;
adc_val = read_adc(0);// goi ham con read_adc de lay gia tri tu ADC gan cho bien adc_val
lcd_display(adc_val);//goi ham con led_out de hien thi tren led 7 thanh
}
thư viện và file code em gửi trong link sau đây