PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

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
Prev Previous Post   Next Post Next
Old 09-11-2009, 02:57 PM   #6
tdm
Đệ tử 7 túi
 
Tham gia ngày: May 2005
Bài gửi: 258
:
Trích:
Nguyên văn bởi zero07a View Post
Đi học về => truy cập inter xem chủ đề hy vọng sẽ có nhiều anh quan tâm và giúp đỡ => chẳng thấy 1 lời khuyên nào dù chỉ là gợi mở => chán nản => shut down máy tính.
cứ từ từ:
phân tích c/t cửa bạn nhé:

PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
thiếu câú hình cho pic
;--------------------------------------------
;KHAI BAO BIEN
;--------------------------------------------
SENDREG EQU 20H
COUNT EQU 21H
COUNT_138 EQU 22H ;DEM CHO 138
COUNT_8BYTE EQU 23H ;DEM CHO 8BYTE
COUNT1 EQU 24H
COUNTA EQU 25H
COUNTB EQU 26H
;--------------------------------------------
;DINH NGHIA PHAN CUNG
;--------------------------------------------
#DEFINE DATA PORTB,0
#DEFINE CLOCK PORTB,1
#DEFINE CLEAR PORTB,2
#DEFINE LATCH PORTB,3
;--------------------------------------------
;CHUONG TRINH CHINH
;--------------------------------------------
ORG 0000H
START ;CHUONG TRINH CHINH
BCF STATUS,5
BCF STATUS,6
CLRF PORTB
CLRF PORTC
BSF STATUS,5
CLRF PORTB ;CHON BR3:RB0 LA OUTPUT;dùng tris để định i/o port
CLRF PORTC ;CHON RB2:RB0 LA INPUT
BCF STATUS,5 ;CHON BANK1
;============CHUONG TRINH CHINH==============
CLRF COUNT_138
CLRF COUNT_8BYTE
MAIN
MOVLW 04H
MOVWF PORTB ;DUA CHAN SCLK LEN CAO
MOVLW D'255'
MOVWF PORTC
BCF CLEAR ;RESET DU LIEU TRONG 74HC595
NOP ;clear tac dong canh XUONG
BSF CLEAR ;DUA PIN SCLR TRO VE MUC LOGIC CAO
DI
MOVF COUNT_8BYTE,0 ;DUA GIA TRI COUNT_8BYTE VAO
;THANH GHI W
CALL TABLE ;GOI CHUONG TRINH CON TABLE
CALL SEROUT ;GOI CHUONG TRINH CON DUA 8BIT VAO 595
INCF COUNT_138,1 ;TANG COUNT_138 LEN 1 KET QUA LUU
;TRONG COUNT_138
;tăng lên rồi xuât đi đâu để d/k quét matrix
BSF LATCH
NOP
BCF LATCH
CALL DELAY_8ms ;TAO TRE 8ms LUU 1 BYTE TREN LED MT
INCF COUNT_8BYTE,1 ;TANG COUNT_8BYTE LEN 1 KET
;QUA LUU TRONG COUNT_8BYTE
XORWF D'8' ;XOR COUNT_8BYTE VOI 8
BTFSS STATUS,Z ;KT BIT Z
GOTO DI ;NEU Z CHUA BANG 0 THI TIEP TUC LAY DU
;LIEU TRONG BANG TRA
GOTO MAIN
SEROUT
MOVWF SENDREG
MOVLW 08H
MOVWF COUNT
TESTBIT
BCF DATA
BTFSC SENDREG,7
BSF DATA
BSF CLOCK
NOP
BCF CLOCK
RLF SENDREG
DECFSZ COUNT,1
GOTO TESTBIT
RETURN
TABLE;bảng tra dạng này lên đưa lên đầu c/t
ADDWF PCL,F
RETLW B'11111111'
RETLW B'00000001'
RETLW B'00000000'
RETLW B'11100100'
RETLW B'11100100'
RETLW B'00000000'
RETLW B'00000001'
RETLW B'11111111'
DELAY_8ms;bạn tính lại chỗ này thời gian quá dài
MOVLW D'100'
MOVLW COUNT1
LOOP
MOVLW 0C7H
MOVWF COUNTA
MOVLW 01H
MOVWF COUNTB
LOOP1
DECFSZ COUNTA,1
GOTO $+2
DECFSZ COUNTB,1
GOTO LOOP1
DECFSZ COUNT1,1
GOTO LOOP1
RETURN
END
bạn coi lại nhé rôi tính tiếp.
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề.
tdm vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Tags
led matrix


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:09 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam