![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 4
: |
![]() Chào mọi người, Mi rất cần sự giúp đỡ từ các bạn. Sau 2 tuần mày mò tìm kiếm tài liệu, lập trình nhưng chạy mô phỏng thấy bất ổn. (Mi chưa có kinh nghiệm làm mạch, sợ sai nhiều chỗ!)mong mọi người giúp đỡ, phần ngắt tmr0 để sau này dùng led hiển thị tốc độ động cơ!(không biết upfile,có vào hỏi đáp mà đọc...không hiểu lắm.huhu).
;lap trinh su dung pwm dieu che do rong xung include <p16f877a.inc> __config _HS_OSC&_WDT_OFF&_LVP_OFF COUNT EQU 0X20 ;KHAI BAO CHO NGAT W_SAVE EQU 0X25 PCLATH_SAVE EQU 0X26 STATUS_SAVE EQU 0X27 FSR_SAVE EQU 0X28 ORG 0x00 GOTO MAIN ORG 0X04 GOTO NGAT MAIN ;CHUYEN BANK1 BANKSEL TRISC ;KHIA BAO DAU VAO RA BCF TRISC,1 ;3.CHAN RC1 VA RC2 CUA KHOI CCP BCF TRISC,2 ;CHO PHEP TMR2 HOAT DONG BANG CACH DUA GIA TRI THICH HOP VAO THANH GHI T2CON ;CAI DAT HOAT DONG O CHE DO PWM MOVLW d'24' ;1.mov gia tri vao thanh ghi PR2 (bank1):PWM period=[(PR2+1)]*4*Tosc*(gia tri bo chia tan so TMR2)=64 MOVWF PR2 ;dong co hoat dong tot o tan so 10kHZ nen 1T= 0.1ms=10^-4 ;CHUYEN BANK 0 CAI DAT TI LE CHIA TMR2 '''''SUU DUNG BO CHIA PRESCALER''''''' BANKSEL PORTD BSF T2CON,TMR2ON ;CHO PHEP TMR2 BCF T2CON,T2CKPS1 ;4.CHON TI LE 01=1:4 BSF T2CON,T2CKPS0 MOVLW B'00000111' ;2.thiet lap do rong xung can dieu che MOVWF CCPR1L ;thanh ghi 8 bit thap cua khoi CPP1 BCF CCP1CON,5 ;2bit CCP1CON<5:4> hau 2 bit LSB BCF CCP1CON,4 MOVF CCP1CON,W ;5.cho phep CCP hoat dong o che do PWM 11xx ANDLW B'00110000' IORLW B'00001111' MOVWF CCP1CON ;CHO PHEP NGAT TMR1 DE DINH THOI BANK1 BSF INTCON,PEIE BSF INTCON,GIE BSF PIE1,TMR1IE ;BANK 0 CAI DAT TMR1 O CHE DO DINH THOI VA CAI DAT TI LE CHIA BANKSEL PORTC CLRF PORTC BSF T1CON,TMR1ON BSF T1CON,T1CKPS1 ;CHON TI LE 1:8 BSF T1CON,T1CKPS0 ;CHO PHEP NGAT TMR1 DE DINH THOI BANK1 BSF INTCON,PEIE BSF INTCON,GIE BSF PIE1,TMR1IE ;BANK 0 CAI DAT TMR1 O CHE DO DINH THOI VA CAI DAT TI LE CHIA BANKSEL PORTC BSF T1CON,TMR1ON BSF T1CON,T1CKPS1 ;CHON TI LE 1:8 BSF T1CON,T1CKPS0 ;CHUYEN BANK 0 MOVLW D'2 MOVWF COUNT BSF PORTC,1;QUAY THUAN BCF PORTC,2 QUAY_DC MOVLW 0X0F MOVWF TMR1H MOVLW 0XC4 MOVWF TMR1L GOTO $ ;"""""""""""""""chu y"""""""""""""" ;KHI TRAN TMR1 NGAT ;DAU CHUONG TRINH NGAT MOVWF W_SAVE SWAPF STATUS,W CLRF STATUS MOVWF STATUS_SAVE MOVF PCLATH,W MOVWF PCLATH_SAVE CLRF PCLATH MOVF FSR MOVWF FSR_SAVE ;DOAN CHUONG TRINH NGAT ;-------KIEM TRA XEM NGAT NAO DANG XAY RA------- ;----------------XOA CO NGAT-------------------- BTFSS PIR1,TMR2IF ;KIEM TRA CO NGAT TMR2 NEU CO THOAT RA GOTO EXIT_INT BTFSS PIR1,TMR1IF ;KIEM TRA CO NGAT TMR1 GOTO EXIT_INT BCF PIR1,TMR1IF;XOA CO NGAT DECFSZ COUNT GOTO DONGCO MOVLW D'2 MOVWF COUNT MOVLW 0X0F MOVWF TMR1H MOVLW 0XC4 MOVWF TMR1L DONGCO BTFSS PORTC,1 GOTO N GOTO T N BSF PORTC,1 BCF PORTC,2 GOTO EXIT_INT T BCF PORTC,1 BSF PORTC,2 ;CAC THAO TAC CHINH CUA CHUONG TRINH NGAT ;DOAN CUOI CHUONG TRINH NGAT EXIT_INT MOVF FSR_SAVE,W MOVWF FSR MOVF PCLATH_SAVE,W MOVWF PCLATH SWAPF STATUS_SAVE,W MOVWF STATUS SWAPF W_SAVE,1 SWAPF W_SAVE,0 RETFIE END |
![]() |
![]() |
|
|