سلام بر دوستان
من قصد تولید موج pwm در پایه میکرو غیر از پایه های اختصاصی pwm دارم.
میخوام فرکانس 50 کیلوهرتز ثابت تولید کنم. که بتوانم دیوتی سایکل ان را بعدا نیز راحت تغییر دهم.
این برنامه را نوشتم. ابتدا با فرکانس 500 هرتز طراحی کردم خوب کار میکرد. میزان دیوتی سایکل را داخل یک حلقه قرار دادم که خودش کم زیاد میشود. فایل پروتیوس را ضمیمه کردم.
اما برای فرکانس 50 کیلوهرتز با مشکل مواجه شدم. نمیدونم چرا نمیتونم میزان دیوتی سایکل را کنترل کنم.
برنامه اینه :
$regfile = "m32def.dat"
$crystal =32000000
dim mpwm(1) as word
dim count as word
dim i as word
config timer0 = TIMER , Prescale = 1
timer0 = 255
on timer0 isr
config PORTA.0=OUTPUT
enable timer0
enable interrupts
do
for i=1 to 900
mpwm(1)=900-i
waitus 50
next
loop
end
isr:
stop timer0
count=count+95
incr count
if mpwm(1) > count then
porta.0=1
else
porta.0=0
endif
if count> 99 then
count=0
endif
timer0=255
start timer0
return
همچنین روش طراحی ام برای فرکانس 500 هرتز به شکل زیر است.
همچنین فایل پروتیوس با بسکام را از اینجا دانلود کنید
راستش یک هفته است که درگیر هستم و نتونستم درستش کنم. فایل را ضمیمه کردم اگر دوستان همکاری کنن کمک کنن ممنون میشوم.
من قصد تولید موج pwm در پایه میکرو غیر از پایه های اختصاصی pwm دارم.
میخوام فرکانس 50 کیلوهرتز ثابت تولید کنم. که بتوانم دیوتی سایکل ان را بعدا نیز راحت تغییر دهم.
این برنامه را نوشتم. ابتدا با فرکانس 500 هرتز طراحی کردم خوب کار میکرد. میزان دیوتی سایکل را داخل یک حلقه قرار دادم که خودش کم زیاد میشود. فایل پروتیوس را ضمیمه کردم.
اما برای فرکانس 50 کیلوهرتز با مشکل مواجه شدم. نمیدونم چرا نمیتونم میزان دیوتی سایکل را کنترل کنم.
برنامه اینه :
$regfile = "m32def.dat"
$crystal =32000000
dim mpwm(1) as word
dim count as word
dim i as word
config timer0 = TIMER , Prescale = 1
timer0 = 255
on timer0 isr
config PORTA.0=OUTPUT
enable timer0
enable interrupts
do
for i=1 to 900
mpwm(1)=900-i
waitus 50
next
loop
end
isr:
stop timer0
count=count+95
incr count
if mpwm(1) > count then
porta.0=1
else
porta.0=0
endif
if count> 99 then
count=0
endif
timer0=255
start timer0
return
همچنین روش طراحی ام برای فرکانس 500 هرتز به شکل زیر است.
همچنین فایل پروتیوس با بسکام را از اینجا دانلود کنید
راستش یک هفته است که درگیر هستم و نتونستم درستش کنم. فایل را ضمیمه کردم اگر دوستان همکاری کنن کمک کنن ممنون میشوم.
دیدگاه