سلام. من میخوام یک موج مربعی مثلا یک کیلوهرتز را به پایه ای از میکرو مثلا پایه ای adc یا هر پایه ای دیگه ای وارد کنم. و سپس دقیقا مثل همون موج مربعی را در پایه ای دیگر تولید کنم.
نکته این که موج ورودی ممکنه دیوتی سایکلش تغییر کنه. ولی فرکانس ثابت است. سطح سیگنال موج مربعی هم منطقی است.
اینطوری به نظرم رسید که ابتدا توسط adc میکرو avr نمونه برداری کنم و داخل یک متغییر بریزم. سپس محتوا متغییر را به خروجی یکی از پایه ها منتقل کنم.
برنامه را اینجوری نوشتم اما کار نمیکنه. دوستان اگه وارد هستن راهنمایی بفرمایند. ممنون میشم.
$regfile = "m32def.dat"
$crystal = 8000000
Dim W As word
config PORTd =OUTPUT
Config Adc = single , Prescaler = auto , Reference = Avcc
Start Adc
do
gosub Read_the_adc
portd=w
loop
end
'**********************************************
Read_the_adc:
W = Getadc(0)
return
نکته این که موج ورودی ممکنه دیوتی سایکلش تغییر کنه. ولی فرکانس ثابت است. سطح سیگنال موج مربعی هم منطقی است.
اینطوری به نظرم رسید که ابتدا توسط adc میکرو avr نمونه برداری کنم و داخل یک متغییر بریزم. سپس محتوا متغییر را به خروجی یکی از پایه ها منتقل کنم.
برنامه را اینجوری نوشتم اما کار نمیکنه. دوستان اگه وارد هستن راهنمایی بفرمایند. ممنون میشم.
$regfile = "m32def.dat"
$crystal = 8000000
Dim W As word
config PORTd =OUTPUT
Config Adc = single , Prescaler = auto , Reference = Avcc
Start Adc
do
gosub Read_the_adc
portd=w
loop
end
'**********************************************
Read_the_adc:
W = Getadc(0)
return

دیدگاه