با سلام من چهار کانال pwm در مگا 32 درست کردم و میخوام کنترل دور چهار تا فن 8*8 رو انجام بدم ولی حالا با هر ولومی که میچرخونم همه فن ها دورش کم و زیاد میشه ولی من میخوام با هر ولوم یک فن سرعتش تغییر کنه
این برنامه
$regfile = "m32def.dat"
$crystal = 4000000
Config Timer0 = Pwm , Clear Timer = 0 , Compare Pwm = Clear Up , Prescale = 8
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down
Config Timer2 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Up
Config Adc = Single , Prescaler = Auto
Config Pina.0 = Output
Config Pina.1 = Output
Config Pina.2 = Output
Config Pina.3 = Output
Start Adc
Start Timer0
Start Timer1
Start Timer2
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Do
A = Getadc(0)
B = Getadc(1)
C = Getadc(2)
D = Getadc(3)
Pwm0 = A
Pwm1a = B
Pwm1b = C
Pwm2 = D
Loop
End
این برنامه
$regfile = "m32def.dat"
$crystal = 4000000
Config Timer0 = Pwm , Clear Timer = 0 , Compare Pwm = Clear Up , Prescale = 8
Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down
Config Timer2 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Up
Config Adc = Single , Prescaler = Auto
Config Pina.0 = Output
Config Pina.1 = Output
Config Pina.2 = Output
Config Pina.3 = Output
Start Adc
Start Timer0
Start Timer1
Start Timer2
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Do
A = Getadc(0)
B = Getadc(1)
C = Getadc(2)
D = Getadc(3)
Pwm0 = A
Pwm1a = B
Pwm1b = C
Pwm2 = D
Loop
End
دیدگاه