PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چگونه میتوان دو پالس مربعی متغیر بدونن تاثیر گذاری یکی در دیگری



4221577
18-12-2016, 17:00
سلام دوستان.من میخوام ( بیسکام) میکرو در خروجی دو پالس مربعی (دو لامپ چشمک زن)که متغییر باشن رو تولید کنم که بتوان با تغییر ولوم هر یک از پالسهابدون تاثیر بردیگری(تاخیر روی دیگری تاپیر نذاره)کارش رو انجام بده.هر جور فکر کردم نتونستم.لطفا راهنمایی کنید

متشکرم

taktrashe
19-12-2016, 03:40
وقت بخیر

از اینتراپت تایمر ها باید استفاده کنی !!

mstkmn
19-12-2016, 12:45
سلام
از دو تایمر مجزا برای تولید پالس استفاده کن.

4221577
19-12-2016, 15:18
من زیاد با تایمر کانترر کار نکردم.یه مقدار باید مطالعه کنم
خیلی ممنونم که جواب دادید و راهنماییم کردید.متشکرم

- - - Updated - - -

4221577
21-12-2016, 16:17
سلام دوستان مطالعه کردم.این رو نوشتم.تو پروتیوس خوب کار نمیکنه .دقیق نیست فکر کنماز ویندوزم باشه.سرعتش تغییر میکنه.ولی عملا اصلا کار نمیکنه.سرعت فرکانس خیلی بالاست.با تغییر ولوم سرعت با ولوم اصلا چیزی تغییر نمیکنه.





$regfile = "m8def.dat"
$crystal = 1000000
Config Timer1 = Pwm , Prescale = 1 , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down

Config Lcdpin = Pin , Rs = Pind.0 , E = Pind.1 , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , Db7 = Pind.5
Config Lcd = 16 * 2
Cursor Off
Cls


Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim A As Byte
Dim W As Word
Dim G As Word
Do

Pwm1b = W / 4

Pwm1a = G / 4




Cls
Gosub Read_the_adc
Gosub Display_lcd_2
Waitms 500

Loop
End





'************************************************* ********************
Read_the_adc:
W = Getadc(1)
G = Getadc(0)

Return

'----------------------------------------
Display_lcd_2:
Locate 1 , 1 : Lcd "w:" ; W
Locate 2 , 1 : Lcd "g:" ; G
Return