عکس پیش‌فرض نوشته

در این روش می توانید به تعداد پایه های میکرو موج PWM تولید کنید.

اما نکته مهم در این مورد این است که این موج خیلی دقیق نیست و فقط برای تابلوهای LED  می توان استفاده کرد که بتوان با آن نور LED  ها را کم کرد.

موج PWM

روش استفاده:

ابتدا میکرو را معرفی می کنیم:

“regfile = “m32def.dat$

$crystal = 8000000

Config Porta = output

Dim C As Byte , X As Byte , LED(8) As Byte

 سپس پیکربندی تایمر 1 :

Config Timer0 = Timer , Prescale = 1

On Ovf0 Rgbpwm

Enable Timer0

Enable Interrupts

For x=1 to 8

LED(x) = 0

next

 در این قسمت برنامه خودتون رو بنویسید:

Do

حال در بین do   loop   باید برنامه ای بنویسید که مقادیر متغییرهای LED رو با توجه به شدت نور مقدار دهی کنید. بین 0 تا 255       ( 0  برای کاملا خاموش و 1  برای کاملا روشن)

به طور مثال: با توجه به شکل بالا رنگ قرمز برابر 210 و سبز 120 و آبی 50 میباشد که با توجه به عدد ها رنگ قرمز پرنورتر از همه و رنگ آبی کم نورتر از همه میباشد.

led1=210

led2=120

led3=50

Loop

END

 این قسمت باید در پایین ترین قسمت برنامه و زیر END  قرار دهید.

در این قسمت led قرمز به پورت a.0 که همان متقیر led1 است متصل شده  و به همین ترتیب led سبز به پورت a.1 و led آبی به پورت a.2 متصل شده است.

Rgbpwm:

Timer0 = 0

Incr C

If C = 0 Then Porta = &B11111111

If LED1 = C Then Reset Porta.0

If LED2 = C Then Reset Porta.1

If LED3 = C Then Reset Porta.2

Return

در صورت نیاز به کدها در قسمت نظرات اعلام کنید تا برایتان ایمیل کنم.

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.