با سلام خدمت دوستان
میخوام یک عدد یا پالسی رو بوسیله PWM میکرو مگا 8 ارسال کنم در نرم افزار پروتئوس جواب میده ولی در عمل روی برد بورد کار نمیکنه
برای امتحان ، به پین OC1a یا OC1b با تایمر یک و OC2 با تایمر2 و هر کدوم بصورت جداگانه در پروتئوس یک LED وصل کردم و جواب داد یعنی با توجه به پالس رسیده بسرعت روشن و خاموش میشد ولی زمانیکه همین برنامه رو روی مگا 8 پروگرام میکنم و با توجه به اینکه به led وصل میکنم فقط بطور ثابت روشن میماند . در ضمن از سالم بودن میکروی خودم مطمئنم
این نکته رو هم بگم که من این کار رو برای پروژه ارسال سیگنال با لیزر انجام دادم
برنامه :
میکروی فرستنده
$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Pwm , Pwm = 9 , Prescale = 1 , Compare A Pwm = Clear Down , _
Compare B Pwm = Clear Up
Config Portb.1 = Output
Config Portb.2 = Output
Dim T As Word
Config Adc = Single , Prescaler = Auto , Reference = Internal
Do
Start Adc
T = Getadc(0)
T = T / 8
Pwm1a = T
Pwm1b = T
Waitus 1
Loop
End
برنامه گیرنده
$regfile = "m8def.dat"
$crystal = 16000000
Config Pinc.0 = Input
Config Portd = Output
Config Timer1 = Timer , Prescale = 8
Stop Timer1
Do
Bitwait Pinc.0 , Reset
Start Timer1
Bitwait Pinc.0 , Set
Stop Timer1
Timer1 = Timer1 * 2
Portd = Timer1
Timer1 = 0
Loop
End
میخوام یک عدد یا پالسی رو بوسیله PWM میکرو مگا 8 ارسال کنم در نرم افزار پروتئوس جواب میده ولی در عمل روی برد بورد کار نمیکنه
برای امتحان ، به پین OC1a یا OC1b با تایمر یک و OC2 با تایمر2 و هر کدوم بصورت جداگانه در پروتئوس یک LED وصل کردم و جواب داد یعنی با توجه به پالس رسیده بسرعت روشن و خاموش میشد ولی زمانیکه همین برنامه رو روی مگا 8 پروگرام میکنم و با توجه به اینکه به led وصل میکنم فقط بطور ثابت روشن میماند . در ضمن از سالم بودن میکروی خودم مطمئنم
این نکته رو هم بگم که من این کار رو برای پروژه ارسال سیگنال با لیزر انجام دادم
برنامه :
میکروی فرستنده
$regfile = "m8def.dat"
$crystal = 8000000
Config Timer1 = Pwm , Pwm = 9 , Prescale = 1 , Compare A Pwm = Clear Down , _
Compare B Pwm = Clear Up
Config Portb.1 = Output
Config Portb.2 = Output
Dim T As Word
Config Adc = Single , Prescaler = Auto , Reference = Internal
Do
Start Adc
T = Getadc(0)
T = T / 8
Pwm1a = T
Pwm1b = T
Waitus 1
Loop
End
برنامه گیرنده
$regfile = "m8def.dat"
$crystal = 16000000
Config Pinc.0 = Input
Config Portd = Output
Config Timer1 = Timer , Prescale = 8
Stop Timer1
Do
Bitwait Pinc.0 , Reset
Start Timer1
Bitwait Pinc.0 , Set
Stop Timer1
Timer1 = Timer1 * 2
Portd = Timer1
Timer1 = 0
Loop
End
دیدگاه