برنامج لتوليد ال Pwm

هذا البرنامج ل PIC 16F628

;*****************************************************

;* This Lab 1 of Microcontroller Course
;Rrogram name : program1
;Describtion:This program for generatting PWM
;Dseign By EAbueida
;
********************************************** ****
PROCESSOR 16F628
include “p16f628.inc”
__CONFIG 0x3f18
CBLOCK 0X20 ; VARIABLE BLOC
Number
FLAG
DELAY_X
ENDC

ORG 0X00
GOTO MAIN ; MAIN PROGRAM
ORG 0X04
GOTO ISR ; INTERRUPT PROGRAM

MAIN
;PORT SETTING
BANKSEL TRISA
MOVLW 0X00
MOVWF TRISA
MOVLW 0X00
MOVWF TRISB

BANKSEL PORTB
CLRF PORTB
CLRF PORTA
; TIMER SETTING
BANKSEL OPTION_REG
clrf OPTION_REG
MOVLW B’10000001’
MOVWF OPTION_REG
BANKSEL TMR0
CLRF TMR0
;INTERRUPT SETTING
BANKSEL INTCON
CLRF INTCON
BSF INTCON,T0IE
BSF INTCON,GIE

MAIN_PROG
BANKSEL PORTA
MOVLW .10 ; THE DUTY CYCLE PERCENT
MOVWF DELAY_X
BCF FLAG,1
BSF PORTB,0
MOVLW .6
ADDWF TMR0
CALL_D ;THE 10 u SECOND DELAY

NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ DELAY_X
GOTO CALL_D
LOOP
BCF PORTB,0
BTFSC FLAG,1
GOTO MAIN_PROG
GOTO LOOP
; THE INTERRUP PROGRAM
ISR
BCF INTCON,T0IF
BSF FLAG,1
RETFIE
END

في المرفقات البرنامج مع السميوليشن على برنامج الPROTEUS 6.7

لتغيير الduty Cycle
Movlw .10 ; The Duty Cycle Percent
قم بتغير الرقم فهو 10% هنا غيره مثلا الى 50% او الى ما تريده
فيصبح عند 50%
Movlw .50 ; The Duty Cycle Percent

مشكور eabueida
انت صاحب نشاط مميز وفقك الله

ghgfgfgghdhddhdhdjh

سسسسسسسسسكرااا

شكراااااااااااااااااااا

uyuiiiiyuiyiyiyiuyiyi

بارك الله فيك

اخي الحبيب هذا البرنامج يعطي نسبة تعديل ثابته فهل ممكن ان نتحكم فيها كمانريد

شكرا شكرا شكرا

السلام عليكم متأسف اخي عباده على التأخر بالرد
لتغير التعديل فقط عدل الرقم بهذا السطر
MOVLW .10 ; THE DUTY CYCLE PERCENT
وهي الآن 10 % ممكن تغيرها الى 100%

بارك الله لك اخي الحبيب

جزاك الله خيرا.

نتمنى جعله بلغة البيك بيسك مع شرح
وففقك الله لكل خير

موضوع رائع ومعلومات جديدة جديدة:)

بعد اذنك هو المشروع ده بيعمل ايه بالظبط

بعد اذنك هو المشروع ده بيعمل ايه بالظبط لو سمحت الشرح + الدائرة ارجوك

machkooooooooooooooooooooooooooooooooooooooooooooooooooooor

مشكور وبارك الله فيك

اخي العزيز شكرا على برنامج PWM
هل الاشارة المرجعية Refrance هي اشارة خطية ام موجة جيبية وهل من الممكن تغيير modelation index في البرنامج حيث ان مشروعي هو السيطرة على inverter وبجاجة لتوليد spwm اي ان التضمن جيبي.
ارجو الرد مع خالص الشكر والتقدير.