Ðề tài: Dịch MPLAB
View Single Post
Old 02-05-2009, 04:58 PM   #40
thi_si_co_don
Nhập môn đệ tử
 
Tham gia ngày: Feb 2009
Bài gửi: 6
:
hi, em thanks bác rất nhiều, giờ em lại đang gặp trục trặc với cái bài sau.
em định cho ma trận led hiển thị chữ A-I bằng ma trạn 8x8 em quét hàng bằng portC và đưa dữ liệu ra cột bằng portB, tuy nhiên vì áp rơi trên led cao hơn so với chân ra nên em phải dùng mấy con NPN để đưa áp vào, hình vẽ dưới
em code và dịch ra ko vđề gì, but khi cho nó chạy mô phỏng thì hỡi ôi toàn bị thông báo là over flow, chả hiểu đc.
Code:
processor 16f877a		;khai bao vdk
#include "p16f877a.inc"		;header file dinh kem

__CONFIG _CP_OFF&_WDT_OFF&_BODEN_OFF&_PWRTE_OFF&_XT_OSC&_WRT_OFF&_LVP_OFF&_CPD_OFF
				;khai bao configuration
;------------------------------------------------------
;khai bao bien
;------------------------------------------------------
count	equ	0x23
COUNT1	EQU	0X20		;dung cho delay
COUNTA	EQU	0X21		;dung cho delay
COUNTB	EQU	0X22		;dung cho delay

	org		0x000
	goto	START
START
	BCF		STATUS,RP1
	bcf		STATUS,RP0
	clrf	PORTB
	CLRF	PORTC
	bsf		STATUS,RP0
	movlw	0x00
	movwf	TRISB
	MOVWF	TRISC
	BCF		STATUS,RP0
	MOVLW	B'11111110'
	MOVWF	PORTC
loop
	clrf	count
loop1
	movwf	count
	RRF		PORTC,1
	call	table
	movwf	PORTB
	call	DELAY100MS
	incf	count,0
	xorlw	d'8'
	btfsc	STATUS,Z
	goto	loop
	incf	count,1
	goto	loop1

table
	addwf	PCL,1
	retlw	b'00111111'
	RETLW	B'01010000'
	RETLW	B'10010000'
	RETLW	B'01010000'
	RETLW	B'00111111'
	RETLW	B'00000000'
	RETLW	B'11111111'
	RETLW	B'00000000'

DELAY100MS
	MOVLW	D'200'
	MOVWF	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
	RETURN

end
em ko gửi đc cái file của proteus nên chỉ chụp đc hình thôi, các bác xem họ em nhé ^^
Hình Kèm Theo
File Type: gif LED_8x8.gif (46.7 KB, 423 lần tải)

thay đổi nội dung bởi: namqn, 02-05-2009 lúc 05:38 PM. Lý do: .bmp => .gif
thi_si_co_don vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn