۱۱-دى-۱۳۸۹, ۱۹:۲۳:۱۶
۱۱-دى-۱۳۸۹, ۱۹:۳۸:۴۰
(۱۱-دى-۱۳۸۹, ۱۹:۲۳:۱۶)parisa_memari نوشته است: [ -> ]من یه برنامه دارم که تبدیل موج pwm به adc هست میخوام یه lcd بهش وصل کنم که فرکانس و پهنای باند موج رو نشون بده باید چیکار کنم؟برنامت رو بزار یه نگاه بهش بندازم!!!؟؟"
۱۱-دى-۱۳۸۹, ۲۳:۳۷:۰۷
#include <mega8.h>
unsigned char read_adc(unsigned char adc_input);
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
OCR2=read_adc(0);
}
#define ADC_VREF_TYPE 0x60
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func0=In Func1=In Func2=In Func3=Out Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=0 State4=T State5=T State6=T State7=T
PORTB=0x00;
DDRB=0x08;
DDRC.0=0;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 0.977 kHz
// Mode: Fast PWM top=FFh
// OC2 output: Inverted PWM
ASSR=0x00;
TCCR2=0x7F;
TCNT2=0x00;
OCR2=0x80;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x83;
SFIOR&=0xEF;
#asm("sei")
while (1)
{
};
}
unsigned char read_adc(unsigned char adc_input);
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
OCR2=read_adc(0);
}
#define ADC_VREF_TYPE 0x60
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func0=In Func1=In Func2=In Func3=Out Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=0 State4=T State5=T State6=T State7=T
PORTB=0x00;
DDRB=0x08;
DDRC.0=0;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 0.977 kHz
// Mode: Fast PWM top=FFh
// OC2 output: Inverted PWM
ASSR=0x00;
TCCR2=0x7F;
TCNT2=0x00;
OCR2=0x80;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x83;
SFIOR&=0xEF;
#asm("sei")
while (1)
{
};
}
۱۲-دى-۱۳۸۹, ۱۰:۲۴:۲۳
دوستانی که کدویژن کار میکنن راهنمایی کنن
۱۲-دى-۱۳۸۹, ۱۵:۴۷:۱۹
????? من یه برنامه مشابه دارم ولی الان پیشم نیست حتما میزارم
۱۲-دى-۱۳۸۹, ۱۵:۵۴:۱۴
من تا 2شنبه شب باید داشته باشم.لطفا کمکم کنید
۱۳-دى-۱۳۸۹, ۰۸:۴۰:۴۶
(۱۱-دى-۱۳۸۹, ۲۳:۳۷:۰۷)parisa_memari نوشته است: [ -> ]#include <mega8.h>
unsigned char read_adc(unsigned char adc_input);
// Timer 2 overflow interrupt service routine
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
OCR2=read_adc(0);
}
#define ADC_VREF_TYPE 0x60
// Read the 8 most significant bits
// of the AD conversion result
unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input|ADC_VREF_TYPE;
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func0=In Func1=In Func2=In Func3=Out Func4=In Func5=In Func6=In Func7=In
// State0=T State1=T State2=T State3=0 State4=T State5=T State6=T State7=T
PORTB=0x00;
DDRB=0x08;
DDRC.0=0;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 0.977 kHz
// Mode: Fast PWM top=FFh
// OC2 output: Inverted PWM
ASSR=0x00;
TCCR2=0x7F;
TCNT2=0x00;
OCR2=0x80;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x40;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
// Analog Comparator Output: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AVCC pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE;
ADCSRA=0x83;
SFIOR&=0xEF;
#asm("sei")
while (1)
{
};
}
این که برنامه نیست!!!!!!
توی کدویزارد adc را فعال کردی و کد تولید کردی.
زحمت بکشین و برنامه بنویسین تا ما کمک کنیم