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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 03-06-2007, 07:38 PM   #1
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
Mỗi 1 matrix 8x8 mà không làm xong:( Giúp em với:)

HIX đến cái ma trận một màu em làm cũng chưa được: 1 ma trận 8x8 thôi, mọi người giúp với ạ
HC595 nối với anode, hc138 nối với cathode,
hc595 nối vào RB0, RB1,RB2,RB3
HC138 nối vào RA2, RA3, RA4.
Hiện tượng: matrix chỉ sáng có một nửa:P, chẳng nhìn ra cái gì cả)
Code đây ạ
Code:
;********************************************************
;
;            THE LED FLASH 595
;
;                                 AUTHOR : HTALUVBEBEO
;********************************************************

        LIST            P=PIC16F84A
        INCLUDE         P16F84A.INC
        __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF


;****************  LABEL DEFINITION  ********************
RA0     EQU     00              ;RA0 BIT
RA1     EQU     01              ;RA1 BIT
RA2     EQU     02              ;RA2 BIT
RA3     EQU     03              ;RA3 BIT
RA4     EQU     04              ;RA4 BIT
CNT500U EQU     0x0C              ;500USEC COUNTER ADDRESS
CNT1M   EQU     0x0D              ;1MSEC COUNTER ADDRESS

SHIFT	EQU	0x11		;CHUA BIT CAN DICH
COUNTS	EQU	0x12		;KIEM TRA SO LUONG BIT DICH
ROW1	EQU	0x13
ROW2	EQU	0x14
ROW3	EQU	0x15
ROW4	EQU	0x16
ROW5	EQU	0x17
ROW6	EQU	0x18
ROW7	EQU	0x19
ROW8	EQU	0x1A
CNTTAB	EQU	0x1B		;COUNT CHO TABLE
CNTSC1	EQU	0x1C		;COUNT NUMBER OF SCAN1


;****************  KHAI BAO PHANCUNG VOI 595  *************

	#DEFINE	DATA	PORTB,0
	#DEFINE	CLOCK	PORTB,1
	#DEFINE	CLEAR	PORTB,2
	#DEFINE	LATCH	PORTB,3

;****************  PROGRAM START  ***********************
        ORG     0               ;RESET VECTOR
        GOTO    INIT
        ORG     4               ;INTERRUPT VECTOR
        GOTO    INIT
;****************  INITIAL PROCESS  *********************
        ORG     5
INIT   	BCF	STATUS,RP1
	BSF     STATUS,RP0      ;CHANGE TO BANK1 
        MOVLW   B'00011'        ;SET INPUT MODE DATA
        MOVWF   TRISA           ;SET PORTA TO INPUT MODE
	MOVLW	B'11110000'
	MOVWF	TRISB
        BCF     STATUS,RP0      ;CHANGE TO BANK0
       

;**************** ELEVATOR UP ************************
RUN1	CLRF	ROW1		;XOA HANG GHOST
	CLRF	ROW2		;XOA HANG GHOST
	CLRF	ROW3		;XOA HANG GHOST
	CLRF	ROW4		;XOA HANG GHOST
	CLRF	ROW5		;XOA HANG GHOST
	CLRF	ROW6		;XOA HANG GHOST
	CLRF	ROW7		;XOA HANG GHOST
	CLRF	ROW8		;XOA HANG GHOST
	CLRF	CNTTAB		;CHOBIEN  DEM TABLE VE 0
RUN2	MOVLW	D'100'		;SO LAN SCAN
	MOVWF	CNTSC1		;CHO VAO BIEN DEM SCAN1
	CALL	UP		;GOI CT UP HANG
	INCF	CNTTAB,1	;TANG BIEN DEM TABLE THEM 1 SAU MOT VONG
	MOVF	CNTTAB,0	;DUA BIEN DEM TABLE VAO W
	CALL	TABLE1		;TRA BANG
	MOVWF	ROW8		;DUA GIA TRI VAO HANG CUOI 8
	XORLW	0xFF		;GT TRONG W CO BANG GT CUOI CUA BANG 0FFh?
	BTFSC	STATUS,Z	;KIEM TRA BIT Z, KHAC FF THI BO QUA
	GOTO	RUN1		;QUAY LAI TU DAU KHI HET BANG
RUN3	DECFSZ	CNTSC1,1	;GIAM BIEN DEM SCAN1, 100 LAN
	GOTO	RUN4
	GOTO	RUN2
RUN4	CALL	SCAN
	GOTO	RUN3
;************************** SCAN**************************
SCAN	CALL	CLR		;XOA 595
	MOVF	ROW8,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR8		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW7,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR7		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW6,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR6		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW5,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR5		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW4,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR4		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW3,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR3		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW2,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR2		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW1,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR1		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS
	
	RETURN
;**********************CT UP******************
UP	MOVF	ROW2,0		;ROW DUOI VAO W
	MOVWF	ROW1		; W VAO ROW TREN

	MOVF	ROW3,0		;ROW DUOI VAO W
	MOVWF	ROW2		; W VAO ROW TREN

	MOVF	ROW4,0		;ROW DUOI VAO W
	MOVWF	ROW3		; W VAO ROW TREN

	MOVF	ROW5,0		;ROW DUOI VAO W
	MOVWF	ROW4		; W VAO ROW TREN

	MOVF	ROW6,0		;ROW DUOI VAO W
	MOVWF	ROW5		; W VAO ROW TREN

	MOVF	ROW7,0		;ROW DUOI VAO W
	MOVWF	ROW6		; W VAO ROW TREN

	MOVF	ROW8,0		;ROW DUOI VAO W
	MOVWF	ROW7		; W VAO ROW TREN

	RETURN
;********************************************************
;          TIMER  SUBROUTINE FOR 10MHZ CLOCK
;********************************************************

;*************  1MSEC TIMER SUBROUTINE  *****************
T1M     MOVLW   D'2'            ;(1)       SET LOOP CNT1
        MOVWF   CNT1M           ;(1)       SAVE LOOP CNT1
TM1LP1  MOVLW   D'249'          ;(1)*2     SET LOOP CNT2
        MOVWF   CNT500U         ;(1)*2     SAVE LOOP CNT2
TM1LP2  NOP                     ;(1)*249*2 TIME ADJUST
        NOP                     ;(1)*249*2 TIME ADJUST
        DECFSZ  CNT500U,F       ;(1)*249*2 CNT500U-1=0 ?
        GOTO    TM1LP2          ;(2)*248*2 NO, CONTINUE
        DECFSZ  CNT1M,F         ;(1)*2     CNT1M-1=0 ?
        GOTO    TM1LP1          ;(2)       NO. CONTINUE
        RETURN                  ;(2)       YES. CNT END
                                ;TOTAL 2501*0.4USEC=1MSEC

;*********** CHUONG TRINH CON DICH BIT **********
SHIFTOUT
	MOVWF	SHIFT		;DUA DU LIEU VAO THANH GHI SHIFT
	MOVLW	D'8'		;DEM 8BIT DU LIEU
	MOVWF	COUNTS
TESTBIT
	BCF	DATA		;DU LIEC BAN DAU LA 0
	BTFSC	SHIFT,7		;SHIFT CO BIT7 BANG 0 KKO??
	BSF	DATA		;NEU KO SET DU LIEU TU O THANH 1
	BSF	CLOCK		;DUA DU LIEU VAO
	NOP
	BCF	CLOCK		;DUA CHAN CLOCK VE MUC THAP
	RLF	SHIFT,0		;DICH TRAI THANH GHI DU LIEU
	MOVWF	SHIFT		;TRA GIA TRI LAI THANH GHI SHIFT
	DECFSZ	COUNTS,1	; XEM BIEN COUNT KHI GIAM BANG 0???
	GOTO	TESTBIT		;NEU CHUA THI DICH TIEP

	RETURN

;**************** KHOI TAO 595  *********************
CLR	BCF	CLEAR		;RESET DU LIEU TRONG 595
	NOP			; CLEAR TAC DONG CANH XUONG
	BSF	CLEAR		; DUA CHAN RESET VE MUC LOGIC CAO
	RETURN
;*********** CHUONG TRINH CHOT **********
CHOT
	BSF	LATCH		;LEN MUC CAO DE DUA BYTE VAO
	NOP
	BCF	LATCH		;XUONG THAP KET THUC
	
	RETURN
;*********** SCAN ROW *************
SCR1	MOVLW	B'00011'
	MOVWF	PORTA
	RETURN
	
SCR2	MOVLW	B'00111'
	MOVWF	PORTA
	RETURN
	
SCR3	MOVLW	B'01011'
	MOVWF	PORTA
	RETURN
	
SCR4	MOVLW	B'01111'
	MOVWF	PORTA
	RETURN
	
SCR5	MOVLW	B'10011'
	MOVWF	PORTA
	RETURN
	
SCR6	MOVLW	B'10111'
	MOVWF	PORTA
	RETURN
	
SCR7	MOVLW	B'11011'
	MOVWF	PORTA
	RETURN
	
SCR8	MOVLW	B'11111'
	MOVWF	PORTA
	RETURN

;******************** BANG DU LIEU ****************
TABLE1	ADDWF	PCL,1         ;Add W to Program Counter
	RETLW	0x00	
	RETLW	B'00110000'
	RETLW	B'01001000'
	RETLW	B'10000100'
	RETLW	B'11000010'
	RETLW	B'01000001'
	RETLW	B'11000010'
	RETLW	B'10000100'
	RETLW	B'01001000'
	RETLW	B'00110000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'11111111'
	RETLW	B'10010001'
	RETLW	B'10010001'
	RETLW	B'01101001'
	RETLW	B'00000110'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	B'00000000'
	RETLW	0xFF
;************************************************************

        END
Xin các huynh chỉ với ạ
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-06-2007, 10:28 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Có vẻ như bạn đang dùng cách quét hàng (các LED trong cùng một hàng nối chung cathode)?

Bạn chưa nói rõ sáng một nửa ma trận là theo chiều nào, hàng hay cột?

Sao bạn không thử quét một ma trận tĩnh trước khi cho dữ liệu chạy, nghĩa là chỉ quét 8 hàng/cột với dữ liệu cố định trong vòng lặp chính.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-06-2007, 11:43 PM   #3
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
vâng ạ Em quét hàng ạ row 5->8 không sáng anh ạ.
Cái matrix em có ở nhà là bi-colour, nhưng mà làm một màu còn chưa được ạ. Để em thử với matrix tĩnh
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2007, 12:37 AM   #4
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
Có thể là do phần cứng chăng,
đây là code matrix tĩnh em vừa sửa lại tình trạng tương tự Row 5>8 do hc138 đảm nhận không sáng, phần còn lại thì hiển thị lung tung
Code:
;********************************************************
;
;            THE LED FLASH 595
;
;                                 AUTHOR : HTALUVBEBEO
;********************************************************

        LIST            P=PIC16F84A
        INCLUDE         P16F84A.INC
        __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF


;****************  LABEL DEFINITION  ********************
RA0     EQU     00              ;RA0 BIT
RA1     EQU     01              ;RA1 BIT
RA2     EQU     02              ;RA2 BIT
RA3     EQU     03              ;RA3 BIT
RA4     EQU     04              ;RA4 BIT
CNT500U EQU     0x0C              ;500USEC COUNTER ADDRESS
CNT1M   EQU     0x0D              ;1MSEC COUNTER ADDRESS

SHIFT	EQU	0x11		;CHUA BIT CAN DICH
COUNTS	EQU	0x12		;KIEM TRA SO LUONG BIT DICH
ROW1	EQU	0x13
ROW2	EQU	0x14
ROW3	EQU	0x15
ROW4	EQU	0x16
ROW5	EQU	0x17
ROW6	EQU	0x18
ROW7	EQU	0x19
ROW8	EQU	0x1A
CNTTAB	EQU	0x1B		;COUNT CHO TABLE
CNTSC1	EQU	0x1C		;COUNT NUMBER OF SCAN1


;****************  KHAI BAO PHANCUNG VOI 595  *************

	#DEFINE	DATA	PORTB,0
	#DEFINE	CLOCK	PORTB,1
	#DEFINE	CLEAR	PORTB,2
	#DEFINE	LATCH	PORTB,3

;****************  PROGRAM START  ***********************
        ORG     0               ;RESET VECTOR
        GOTO    INIT
        ORG     4               ;INTERRUPT VECTOR
        GOTO    INIT
;****************  INITIAL PROCESS  *********************
        ORG     5
INIT   	BCF	STATUS,RP1
	BSF     STATUS,RP0      ;CHANGE TO BANK1 
        MOVLW   B'00011'        ;SET INPUT MODE DATA
        MOVWF   TRISA           ;SET PORTA TO INPUT MODE
	MOVLW	B'11110000'
	MOVWF	TRISB
        BCF     STATUS,RP0      ;CHANGE TO BANK0
;***************** NHET CHU VAO DAY ***********
	MOVLW	B'01110000'
	MOVWF	ROW1

	MOVLW	B'01000100'
	MOVWF	ROW2

	MOVLW	B'01000100'
	MOVWF	ROW3

	MOVLW	B'01001000'
	MOVWF	ROW4

	MOVLW	B'01110000'
	MOVWF	ROW5

	MOVLW	B'01001000'
	MOVWF	ROW6

	MOVLW	B'01001000'
	MOVWF	ROW7

	MOVLW	B'01110000'
	MOVWF	ROW8
;************************** SCAN**************************
SCAN	CALL	CLR		;XOA 595
	MOVF	ROW8,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR8		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW7,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR7		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW6,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR6		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW5,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR5		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW4,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR4		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW3,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR3		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW2,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR2		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS

	CALL	CLR		;XOA 595
	MOVF	ROW1,0		;DUA DU LIEU ROW1 VAO W
	CALL	SHIFTOUT	;GOI CT DICH BIT
	CALL	CHOT		;CHOT DU LIEU RA O 595
	CALL	SCR1		;GOI CT SCAN ROW, TURN ROW ON
	CALL	T1M		;DELAY 1MS
	
	GOTO	SCAN
;********************************************************
;          TIMER  SUBROUTINE FOR 10MHZ CLOCK
;********************************************************

;*************  1MSEC TIMER SUBROUTINE  *****************
T1M     MOVLW   D'2'            ;(1)       SET LOOP CNT1
        MOVWF   CNT1M           ;(1)       SAVE LOOP CNT1
TM1LP1  MOVLW   D'249'          ;(1)*2     SET LOOP CNT2
        MOVWF   CNT500U         ;(1)*2     SAVE LOOP CNT2
TM1LP2  NOP                     ;(1)*249*2 TIME ADJUST
        NOP                     ;(1)*249*2 TIME ADJUST
        DECFSZ  CNT500U,F       ;(1)*249*2 CNT500U-1=0 ?
        GOTO    TM1LP2          ;(2)*248*2 NO, CONTINUE
        DECFSZ  CNT1M,F         ;(1)*2     CNT1M-1=0 ?
        GOTO    TM1LP1          ;(2)       NO. CONTINUE
        RETURN                  ;(2)       YES. CNT END
                                ;TOTAL 2501*0.4USEC=1MSEC

;*********** CHUONG TRINH CON DICH BIT **********
SHIFTOUT
	MOVWF	SHIFT		;DUA DU LIEU VAO THANH GHI SHIFT
	MOVLW	D'8'		;DEM 8BIT DU LIEU
	MOVWF	COUNTS
TESTBIT
	BCF	DATA		;DU LIEC BAN DAU LA 0
	BTFSC	SHIFT,7		;SHIFT CO BIT7 BANG 0 KKO??
	BSF	DATA		;NEU KO SET DU LIEU TU O THANH 1
	BSF	CLOCK		;DUA DU LIEU VAO
	NOP
	BCF	CLOCK		;DUA CHAN CLOCK VE MUC THAP
	RLF	SHIFT,0		;DICH TRAI THANH GHI DU LIEU
	MOVWF	SHIFT		;TRA GIA TRI LAI THANH GHI SHIFT
	DECFSZ	COUNTS,1	; XEM BIEN COUNT KHI GIAM BANG 0???
	GOTO	TESTBIT		;NEU CHUA THI DICH TIEP

	RETURN

;**************** KHOI TAO 595  *********************
CLR	BCF	CLEAR		;RESET DU LIEU TRONG 595
	NOP			; CLEAR TAC DONG CANH XUONG
	BSF	CLEAR		; DUA CHAN RESET VE MUC LOGIC CAO
	RETURN
;*********** CHUONG TRINH CHOT **********
CHOT
	BSF	LATCH		;LEN MUC CAO DE DUA BYTE VAO
	NOP
	BCF	LATCH		;XUONG THAP KET THUC
	
	RETURN
;*********** SCAN ROW *************
SCR1	MOVLW	B'00011'
	MOVWF	PORTA
	RETURN
	
SCR2	MOVLW	B'00111'
	MOVWF	PORTA
	RETURN
	
SCR3	MOVLW	B'01011'
	MOVWF	PORTA
	RETURN
	
SCR4	MOVLW	B'01111'
	MOVWF	PORTA
	RETURN
	
SCR5	MOVLW	B'10011'
	MOVWF	PORTA
	RETURN
	
SCR6	MOVLW	B'10111'
	MOVWF	PORTA
	RETURN
	
SCR7	MOVLW	B'11011'
	MOVWF	PORTA
	RETURN
	
SCR8	MOVLW	B'11111'
	MOVWF	PORTA
	RETURN

;************************************************************

        END

thay đổi nội dung bởi: HTAluvBeBeo, 04-06-2007 lúc 12:51 AM.
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2007, 11:17 AM   #5
tranvanthuong
Đệ tử 2 túi
 
Tham gia ngày: Mar 2007
Bài gửi: 45
:
bạn xem lại phần cứng mình đi led phai kiểm soất bằng phần mền trưoc da bạn cho tung dong roi tung cot roi tung led neu chay on moi viet chuong trinh chay chu , phần mền bạn chaư ổn lám, chạy đúng chỉ 1 vài chu kì đầu thôi,
__________________
Cổng trường Đại học cao vời vợi
Đồng ruộng mênh mong đón em về!
tranvanthuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2007, 01:54 PM   #6
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
bro chỉ cho em chỗ nào sai với ạ làm sao để nó chạy đúng hết được ạ.
Hehe, em hơi nhảy cóc, bắt tay viết luôn chạy rồi: đê em thử lại ạ, thanks
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2007, 07:09 PM   #7
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
À, chân RA4 của PIC16F84A là loại cực máng hở, bạn phải có điện trở kéo lên (khoảng vài k) thì mới có thể có mức 1 ở chân RA4, lúc đó các hàng 5->8 của bạn mới được kích hoạt.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-06-2007, 09:12 PM   #8
thaithienanh
Đệ tử 7 túi
 
thaithienanh's Avatar
 
Tham gia ngày: Jul 2006
Bài gửi: 189
:
Send a message via Yahoo to thaithienanh
Câu trả lời của anh Namq bảo đảm chính xác 100% , Hì 74138 có 3 đầu vào song song nên sẽ giải mà ra đuợc 8 đường, bây giừ chỉ còn hai chân nên tất nhiên chỉ giải mã đuợc 4 đường thui , làm theo là xong
__________________
_____________________________Tri nhân tri tự bất tri tâm_____________________________
_ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
. . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .
thaithienanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 12:08 AM   #9
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
hehe
Vui quá, thanks anh Nam nhé:cả hai cái code em post lên đều hoạt động tốt ạ. Mã hóa font hơi ngu:P Bi h em có câu hỏi thế này ạ
- Em không hiểu cái cực máng hở là gì ạ tiếng anh là gì ạ, để em đọc thêm Lúc đầu em lại nghĩ là do chân C của 138 bị đơ:P
- Việc mã hóa font thế nào cho hợp lý nhất, chứ mỗi lần thay đổi nội dung lại phải thay nội dung để tra lại bảng
- Em vẫn chưa hiểu giải thuật để quét được nhiều màu hơn ạ matrix em có ở nhà là bicolor Red và Green. Sau khi làm cái đầu tiên này, em định dùng 2 con 138 quét hàng, mỗi con phụ trách một màu, 595 vẫn để dịch dữ liệu vào. Các bro gợi ý cho em giải thuật ở đây với
Thanks mọ người, vui quá
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 12:31 AM   #10
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi HTAluvBeBeo View Post
hehe
Vui quá, thanks anh Nam nhé:cả hai cái code em post lên đều hoạt động tốt ạ. Mã hóa font hơi ngu:P Bi h em có câu hỏi thế này ạ
- Em không hiểu cái cực máng hở là gì ạ tiếng anh là gì ạ, để em đọc thêm Lúc đầu em lại nghĩ là do chân C của 138 bị đơ:P
- Việc mã hóa font thế nào cho hợp lý nhất, chứ mỗi lần thay đổi nội dung lại phải thay nội dung để tra lại bảng
- Em vẫn chưa hiểu giải thuật để quét được nhiều màu hơn ạ matrix em có ở nhà là bicolor Red và Green. Sau khi làm cái đầu tiên này, em định dùng 2 con 138 quét hàng, mỗi con phụ trách một màu, 595 vẫn để dịch dữ liệu vào. Các bro gợi ý cho em giải thuật ở đây với
Thanks mọ người, vui quá
- Cực máng hở dịch từ thuật ngữ tiếng Anh open-drain. Trong các vi mạch CMOS, ngõ ra thường là một cặp MOSFET bổ phụ, bao gồm kênh P và kênh N. Trong một số trường hợp, người ta bỏ MOSFET kênh P đi, và đưa cực máng của MOSFET kênh N ra ngoài. Như vậy, ngõ ra trong trường hợp này chỉ có thể rút dòng về Vss, chứ không thể cấp dòng từ Vdd. Ứng dụng trong chuyển mức điện áp, AND nối dây, ...

- Để quét nhiều màu, bạn phải xem các LED ở cùng vị trí sử dụng chung chân hàng hay là cột, thì mới có cách quét thích hợp. Chẳng hạn, cả 2 LED dùng chung chân anode, là chân hàng, như vậy bạn phải có một mạch quét hàng với khả năng cấp dòng. Các chân cathode riêng biệt của từng LED sẽ được dùng để bật/tắt LED đó. Với ví dụ này, bạn dùng cách quét hàng, có thể dùng các transistor để cấp dòng cho các hàng, các vi mạch như 595 để đưa trạng thái LED, một 595 cho mỗi màu.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 01:12 AM   #11
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
theo đúng datasheet em tìm được thì loai ở nhà em là column cathode, giống như anh lấy ví dụ: chung anode và là hàng.
Nhưng do đặc tình của 138 ( output có 1 chân Low) và 595 nên em quay 90 dộ, cho tiện làm,
do đó hàng của em giờ đây là cathode màu đỏ, bật tắt là nhờ 138. Còn anode chung là do 595 dịch dữ liệu vào. heheem xoay thế nên data trong bảng đưa vào 595 cũng hơi ngược:P
Anyway cái dữ liệu đưa vào này không phải vấn đề
Theo như em hiểu bài của anh, với ví dụ chính xác của anh thì là mình vẫn dùng 138 để bật tắt các hàng ở đây là anode chung. Còn 2 con 595 nói với cột cathode , mỗi con với 1 màu, thế thì ở đây nên mắc nồi tiếp hai con 595 này ạ hay là để tách nó ra, tức là mỗi con gắn vào PIC là riêng biệt, mất 8 chân để đk 2 côn 595:-?. Trong cả hai trường hợp, em cũng chưa tưởng tượng ra hai màu đấy khi mà tạo hiệu ứng thì nó thể nào ạ VD em muốn chạy một dòng chữ từ trái qua, phải qua, len trên, xuống dưới,etc.... như là 'ABC' mà A là red, B green, còn C orange anh Nam có thể gợi ý cho em giải thuật ở đây không ạ Thêm một tí xíu nữa là led sáng không đều, chỗ ít led sẽ sáng hơn nhièu led, phải giải quyết sao đây ạ
Hehe còn vụ open drain em không học điện tử nên không biết, nhưng bi h hiểu rồi ạ

thay đổi nội dung bởi: HTAluvBeBeo, 05-06-2007 lúc 01:23 AM.
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 02:48 AM   #12
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Nếu bạn quay ma trận LED 90 độ thì lúc này bạn phải quét cột, vì các LED xanh và đỏ bây giờ có chung anode cột. Bạn vẫn phải dùng transistor để cấp dòng cho các anode, bây giờ là các cột. Nếu dùng 74138 thì bạn có thể dùng các transistor BJT loại PNP để cấp dòng cho các cột. Như vậy bạn có thể cấp dòng đồng thời cho cả LED xanh và LED đỏ, để tạo ra màu cam (orange).

Về chuyện hàng nào có ít LED thì sáng mạnh hơn, theo tôi lý do là bạn chỉ dùng 1 điện trở hạn dòng cho cả hàng, mắc giữa LED ma trận và 74138. Nếu có ít LED sáng thì dòng điện chia cho mỗi LED sẽ nhiều hơn. Để các LED sáng đều bất chấp số lượng LED được kích hoạt ở mỗi hàng, bạn nên dùng điện trở hạn dòng riêng biệt cho mỗi LED, tức là mắc các điện trở hạn dòng giữa 595 và LED ma trận. Cần tính lại giá trị điện trở, vì lúc này mỗi điện trở chỉ cấp dòng cho 1 LED.

Bạn có thể nối các 595 thành chuỗi nối tiếp (đây là ưu thế của 595) hay kết nối từng con riêng biệt với PIC.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-06-2007, 08:54 AM   #13
HTAluvBeBeo
Đệ tử 2 túi
 
Tham gia ngày: Dec 2006
Nơi Cư Ngụ: HN
Bài gửi: 39
:
Vậng ạ, về phần cứng như thế em hiểu thế này ạ
Tóm lại là em sẽ không quay kiếc gì nữa, cho nó thống nhât:P(tại lần trước lười dùng thêm transitor nên mới quay ra mắc như thế
Bây giờ để quét hàng đúng như cái loại matrix mà anh Nam lấy làm ví dụ Em dùng 138 và trans (A1015 chắc là ổn )để quét hàng anode chung. Hai con 595 mắc nối tiếp với nhau và mỗi con mắc với cathode của một màuở giữa là trở hạn dòng Vcc là 5V, dòng qua 1 led là 20mA, V led khoảng 2V thì trở tầm 150 Ohm. Phần cứng thế là OK
Em làm nốt cái hiệu ứng cũ với phần cứng mới này rồi 1 tháng sau em hỏi tiếp:P (bây giờ phải ôn thi HK rồi
Thanks anh Nam và mọi người nhiều

thay đổi nội dung bởi: HTAluvBeBeo, 05-06-2007 lúc 09:19 AM.
HTAluvBeBeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2008, 09:30 PM   #14
vuhungdtk36
Nhập môn đệ tử
 
vuhungdtk36's Avatar
 
Tham gia ngày: Feb 2008
Bài gửi: 2
:
co ai co phan cung ve quang cao bang ma tran led dung vi dieu khien 8051 ko .Post len cho em dc khong .Em xin cam on > manhhung107@gmail.com
vuhungdtk36 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2010, 11:29 AM   #15
huuquynh08
Nhập môn đệ tử
 
Tham gia ngày: Jun 2010
Bài gửi: 5
:
Talking giup e bai nay voi

e dang lam quet led ma tran .cho em hoi mo phong cua em co dung ko ,sao no chay lung tung .em co lam theo bai trong dien dan .nhung no chay lung tung wa .nho may anh chi giup e
huuquynh08 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 08:32 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