![]() |
|
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 |
|
Đệ tử 1 túi
Tham gia ngày: Jul 2006
Bài gửi: 11
: |
Nhờ các bác xem giúp em chương trình
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: 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
thay đổi nội dung bởi: hatbui, 09-02-2009 lúc 09:14 PM. |
|
|
|
|
|
#2 |
|
Đệ tử 3 túi
|
Code:
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 Code:
;========================= CHUONG TRINH CON ================================= Delay100ms MOVLW d'100' MOVLW count1 <<< MOVWF count1 |
|
|
|
|
|
#3 |
|
Đệ tử 1 túi
Tham gia ngày: Jul 2006
Bài gửi: 11
: |
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. thay đổi nội dung bởi: hatbui, 08-02-2009 lúc 06:48 AM. |
|
|
|
![]() |
|
|