-em xin chào anh nhh và các anh.em mới học pic6f877a băng ASM nên muốn làm thưấmy cái mạch ứng dụng nhưng đang bí quá.Em rất mong anh em cùng nhau thảo luận về pic như thế này.
-em có vấn đề chưa hiểu mong anh các anh giúp đỡ em nghen.em đang làm thử cái mạch chạy chữ, dùng 2 con led matrix 8 nhan 8 dịch sang trái theo lập trình sẵn. em dùng 138 để quét cột, ngõ ra mắc với 8 con A1015 dùng port C, con 595 để xuất dữ liệu ra các cột dùng Port B. thì lý thuyết là vậy. nhưng bây giờ là cái code. do em mới học ASM à. nên việc viết code cái này em thấy hơi kho khó. em chỉ viết được chương trình đưa 8 byte(1 ký tự) xuất ra led thôi( dựa vào tài liệu co sẵn). chỉ là đưa byte ra thôi. nhưng em không biết nên thêm delay chỗ nào cho ảnh không bị giật hết ? với lại đó chỉ là 1 ký tự nên em viết dài vậy. còn mà em muốn lập trình cho chữ CHAU dịch trái chẳng hạn. thì viết như em chắc là die mất quá.em biết là cách của em là vô cùng dở, nhưng em chỉ mới tìm hiểu được nhiêu đó thôi. em có nghe nói là viết bảng table cho ký tự.nhưng em không hiểu viết bảng như thế nào cả.em nghĩ là lập bảng cho toàn bộ chữ CHAU.nhưng không biết lập như thế nào và liên kết như thế nào với đoạn chương trình chính? và cả delay nữa.em đang kẹt chỗ này.hichic.đây là code:
PROCESSOR 16F877A
INCLUDE <P16F877A.INC>
SENDREG EQU 20H
COUNT EQU 21H
#DEFINE DATA PORTB,0
#DEFINE CLOCK PORTB,1
#DEFINE CLEAR PORTB,2
#DEFINE LATCH PORTB,3
ORG 0000H
START
BCF STATUS,5
BCF STATUS,6
CLRF PORTB
CLRF PORTC
BSF STATUS,5
CLRF PORTB
CLRF PORTC
BCF STATUS,5
;-------------CHUONG TRINH-------------
MAIN
BSF PORTB,2
BCF CLEAR
NOP
BSF CLEAR
MOVLW 0FFH
CALL SEROUT
MOVLW D'0'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE1---------------
MOVLW 1H
CALL SEROUT
MOVLW D'1'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE2---------------
MOVLW 0H
CALL SEROUT
MOVLW D'2'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE3---------------
MOVLW 0CCH
CALL SEROUT
MOVLW D'3'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE4---------------
MOVLW 0CCH
CALL SEROUT
MOVLW D'4'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE5---------------
MOVLW 0H
CALL SEROUT
MOVLW D'5'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE6---------------
MOVLW 1H
CALL SEROUT
MOVLW D'6'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
;-------------XONG BYTE7---------------
MOVLW 0FFH
CALL SEROUT
MOVLW D'7'
MOVWF PORTC
BSF LATCH
NOP
BCF LATCH
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
END
trong room này em thấy nhiều anh rành về ASM ghê. em cứ thắc mắc hoài mà không biết hỏi đâu.các anh viết lại giúp em với. cho em biết là nên thêm chỗ nào và viết như thế nào là tối ưu nha. Sửa giúp em thì tốt quá cho em tham khảo
-Xong cái này em định viết chương trình hiển thị chữ ra led mt dùng bàn phím hex. mong được sự giúp đỡ của các anh. em xin cảm ơn trước.
dưới đây là file mô phỏng và code. em không up lên được nên phải làm vậy.các anh xem giúp em ngen.
code:
http://www.mediafire.com/download.php?omm32vqnmyi
mô phỏng:
http://www.mediafire.com/download.php?n5jo5uiim2g