Ðăng Nhập

View Full Version : PWM pic16f877a viết bằng ASM cần giúp


ladykiller
19-11-2011, 12:52 AM
chẳng hiểu sao cái chương trình PWM của em trong mô phỏng bằng proteus ISIS không thấy chạy có bác nào rành về cái này xem hộ em cái, thank!
dưới đây là code của em (viết theo các bước của 1 tài liệu p16f877a)

PROCESSOR 16F877A
#INCLUDE<P16F877A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF

;--------------------------------------------------------------------------------
ORG 0000H
;--------------------------------------------------------------------------------
BANKSEL TRISC
CLRF TRISC
BANKSEL PORTC
CLRF PORTC
;================================================= ===============================
MAIN
BANKSEL PR2
MOVLW D'250'
MOVWF PR2
BANKSEL CCPR1L
MOVLW D'127'
MOVWF CCPR1L
BCF CCP1CON,5
BCF CCP1CON,4
BSF T2CON,1
BSF T2CON,0
BSF T2CON,2
BSF CCP1CON,3
BSF CCP1CON,2
GOTO $
END

trungduc
19-11-2011, 03:40 PM
Tham khảo đoạn code này nhé!
PWM_ROUTINE

;BANKSEL ADCON1 ;turn off A2D
;MOVLW 0x06
;MOVWF ADCON1

MOVWF CCPR1L
MOVWF CCPR2L

BANKSEL TRISC
MOVLW D'0' ;set PORTC as all outputs
MOVWF TRISC
BANKSEL PORTC
MOVLW 0x0C
MOVWF CCP1CON
MOVLW 0x0C
MOVWF CCP2CON

MOVLW D'63' ;set highest PWM value
BANKSEL PR2 ;over this (63) is permanently on
MOVWF PR2
BANKSEL TMR2

MOVLW 0x00
MOVWF T2CON

BSF T2CON, TMR2ON ;and start the timer running

RETURN

ladykiller
19-11-2011, 05:22 PM
Thank bạn trungduc, không biết bạn lấy đoạn code trên ở đâu nhưng nói thật nó còn nhiều vấn đề không được bình thường lắm ví dụ:
;BANKSEL ADCON1 ;turn off A2D
;MOVLW 0x06
;MOVWF ADCON1
câu lệnh bạn viết sau dấu; thì coi như không viết
Mình chỉ muốn hỏi là đoạn code của mình viết sai chổ nào mà trong mô phỏng không chạy chứ
không có ý định xin một đoạn code khác. Dù sao củng cám ơn bạn, ^^

ladykiller
20-11-2011, 10:18 PM
tình hình là đợi được 1 ngày rồi nhưng củng chả thấy ai ghé thăm T_T

ladykiller
22-11-2011, 10:12 AM
tình hình là diễn đàn ko có ai

duchoadt
22-11-2011, 12:09 PM
minh dang can mua 1 dong co brushless dc motor ban nao giup minh voi dien ap 24v
cong suat 150w tro xuong
minh dang can lam ban nao co giup minh qua so dt 01682935220

ladykiller
22-11-2011, 09:30 PM
brushless là động cơ không chổi than mà, bạn phải nói thông số cụ thẻ về tốc độ, kích thước.... 150w thì không biết chứ 250w thì trong xe đạp điện ak