Ðăng Nhập

View Full Version : Xin lỗi - Nhờ các bác xem giúp em chương trình


hatbui
05-02-2009, 12:29 AM
Em đang tìm hiểu về dữ liệu bảng. Các bác giúp em chương trình bên dưới sai và thiếu những gì mà không thể chạy đc. Xin chân thành cảm ơn.
code:
;================================================= ============================
TITLE "Mach test LED"
PROCESSOR P=16F877a
INCLUDE <P16F877A.inc>
__CONFIG _CP_OFF &_PWRTE_ON &_WDT_OFF &_HS_OSC &_LVP_OFF
;================================================= ============================
;======================== Date 02/02/2009 ====================================

count1 EQU 0x20
counta EQU 0x21
countb EQU 0x22
count EQU 0x23

;======================= CHUONG TRINH CHINH ==================================
ORG 0x0000 ; Dia chi bat dau chuong trinh
GOTO START
ORG 0x0005

START BCF STATUS,RP1 ;RP1=0 /
BCF STATUS,RP0 ;RP0=1/chon BANK 0
CLRF PORTB ;xoa PORTB
BSF STATUS,RP0 ;chon BANK1



MOVLW 0X00
MOVWF TRISB
BCF STATUS,RP0


LOOP1
CLRF count ;clear thanh ghi chua gia tri dem
LOOP2
MOVF count,0 ;dua gia tri dem vao thanh ghi W
CALL Table ;goi chuong trinh con Table
MOVLW PORTB ;Xuat gia tri chua trong W ra PortB
CALL Delay100ms
INCF count,0 ;tang gia tri thanh ghi count va chua trong W
XORLW d'8' ;so sanh thanh ghi W voi gia tri 8
BTFSC STATUS,Z ;kiem tra bit Z (Zero)
GOTO LOOP1 ;nhay ve label LOOP1 neu W=0

INCF count,1 ;thuc thi lenh nay neu W khac 0
GOTO LOOP2


Table
ADDWF PCL,1 ;cong gia tri thanh W vao thanh ghi PCL ke
;ket qua chua trong PCL
RETLW b'10000000'
RETLW b'01000000'
RETLW b'00100000'
RETLW b'00010000'
RETLW b'00001000'
RETLW b'00000100'
RETLW b'00000010'
RETLW b'00000001'



;========================= CHUONG TRINH CON =================================
Delay100ms
MOVLW d'100'
MOVLW count1
d1
MOVLW 0xC7
MOVWF counta
MOVLW 0x01
MOVWF countb
delay_0
DECFSZ counta,1
GOTO $+2
DECFSZ countb,1
GOTO delay_0
DECFSZ count1,1
GOTO d1 ;Delay100ms

RETURN

END

dvkkt
05-02-2009, 08:04 AM
LOOP2
MOVF count,0 ;dua gia tri dem vao thanh ghi W
CALL Table ;goi chuong trinh con Table
MOVLW PORTB ;Xuat gia tri chua trong W ra PortB <<< MOVWF PORTB



;========================= CHUONG TRINH CON =================================
Delay100ms
MOVLW d'100'
MOVLW count1 <<< MOVWF count1

hatbui
05-02-2009, 08:48 PM
Các Bác chỉ giúp em cách chỉnh code để vi điều khiển xuất ra các chân là active low trong chương trình trên đc không ah ?
Xin Chân Thành Cảm Ơn.
Nhân đây xin Các bác lời khuyên là em muốn điều khiển những led đơn(Led mô phỏng-ngoài thực tế là những con Relay đóng mở bóng đèn) mục đích cuối cùng là tạo ra những hiệu ứng đẹp mắt.Mục đich của em là như vậy các bác khuyên em nên học trọng tâm vào phần nào của PIC. Cảm ơn nhiều.