ببخشید من این برنامه رو نوشتم که برا انالوگ تو دیجیتاله :
[code=c]#include <mega16.h>
#include <stdlib.h>
#include <alcd.h>
#include <delay.h>
int i=0;
int c;
char a[];
interrupt [TIM0_OVF] void timer0_ovf_isr(void){
i++;
if(i==4){
ADCSRA=0b11000111;
c=ADCH;
itoa(c,a);
lcd_clear();
lcd_puts(a);
i=0;
}
}
void main(){
lcd_init(16);
#asm("sei"
ADMUX=0b01100011;
ADCSRA=0b10000111;
TCCR0=0x05;
TCNT0=0x00;
TIMSK=0x01;
}[/code]
تو این برنامه رجیستر ADCW کار نمیکنه یعنی اعداد چرت و پرت نشون اعداد منفی و بیش تر از 1023 و ...
میشه یه کمک برسونید
[code=c]#include <mega16.h>
#include <stdlib.h>
#include <alcd.h>
#include <delay.h>
int i=0;
int c;
char a[];
interrupt [TIM0_OVF] void timer0_ovf_isr(void){
i++;
if(i==4){
ADCSRA=0b11000111;
c=ADCH;
itoa(c,a);
lcd_clear();
lcd_puts(a);
i=0;
}
}
void main(){
lcd_init(16);
#asm("sei"

ADMUX=0b01100011;
ADCSRA=0b10000111;
TCCR0=0x05;
TCNT0=0x00;
TIMSK=0x01;
}[/code]
تو این برنامه رجیستر ADCW کار نمیکنه یعنی اعداد چرت و پرت نشون اعداد منفی و بیش تر از 1023 و ...
میشه یه کمک برسونید
دیدگاه