سلام
دوستان من این برنامه نوشتم با موفقیت کامپایل میشه ولی نه در سیمولاتور avr studio درست کار میکنه و نه در روی مدار.
فرکانس کاری میکرو 8 مگا
نوع میکرو atmega16
کانال adc1
مد single convertion
دوییژن 64
رفرنش وتاژ:avcc با خازن
مشکل اینجاست که من هم اینتراپت adc رو فعال کردم(ADIE) و هم از بیت ADIF پبگیرم ولی نه وقفه ای رخ میده و نه ADIF ست میشه.من این برنامه رو با »:
http://winavr.scienceprog.com/example-avr-projects/programming-avr-adc-module-with-winavr.html
http://coding.derkeiler.com/Archive/General/comp.arch.embedded/2006-04/msg01016.html
مقایسه کردم هیچ موردی نبوده که در این ایجا بوده باشه و من لحاظ نکرده باشم.
و این شد که مزاحم دوستان شدم.....
دوستان من این برنامه نوشتم با موفقیت کامپایل میشه ولی نه در سیمولاتور avr studio درست کار میکنه و نه در روی مدار.
کد:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
uint16_t ch;
int fl=1;
//****************************************************************
void int_usart(void){
UCSRB=(1<<TXEN);
UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UCSRA=(1<<U2X);
UBRRL=103;
}
//*******************************************************************
void int_adc(void){
//set refrence voltag
//set channal input and gain
ADMUX|=(1<<REFS0)|(0<<REFS1)|(1<<MUX1);
ADCSRA|=(1<<ADEN)|(0<<ADPS0)|(1<<ADPS1)|(1<<ADPS2);
SREG|=(1<<7);
}
//*******************************************************************
ISR(ADC_vect){
PORTC|=(1<<1);
ch=ADCL;
UDR='2';
UDR=ch;
ch=ADCH;
fl=1;
}
//*******************************************************************
int main(void){
DDRC=0xFF;
int_usart();
int_adc();
UDR='y';
sei();
PORTC|=(1<<0);
for(;;){
UDR='B';
if(fl==1){
ADCSRA|=(1<<ADIE)|(1<<ADSC);
fl=0;
PORTC|=(1<<2);
UDR='I';
}
if(bit_is_set(ADCSRA,ADIF)){
UDR='s';
fl=1;
}
_delay_ms(500);
}
return 0;
}
فرکانس کاری میکرو 8 مگا
نوع میکرو atmega16
کانال adc1
مد single convertion
دوییژن 64
رفرنش وتاژ:avcc با خازن
مشکل اینجاست که من هم اینتراپت adc رو فعال کردم(ADIE) و هم از بیت ADIF پبگیرم ولی نه وقفه ای رخ میده و نه ADIF ست میشه.من این برنامه رو با »:
http://winavr.scienceprog.com/example-avr-projects/programming-avr-adc-module-with-winavr.html
http://coding.derkeiler.com/Archive/General/comp.arch.embedded/2006-04/msg01016.html
مقایسه کردم هیچ موردی نبوده که در این ایجا بوده باشه و من لحاظ نکرده باشم.
و این شد که مزاحم دوستان شدم.....





دیدگاه