View Single Post
Old 19-09-2008, 06:44 PM   #1
8051topic
Đệ tử 4 túi
 
Tham gia ngày: Apr 2006
Bài gửi: 71
:
Hiển thị số '1234' trên LED 7 đoạn - PIC6F887

Chào mọi người!
Mình viết một chương trình đơn giản hiển thị số '1234' trên 4 LED 7 đoạn (dùng 7447 để giải mã) với PIC16F887 mà nó hiển thị đúng với PORTC, D, còn PORTB thì hiển thị số '1288'.
Nhưng nếu lấy kết quả ở PORTD đem qua PORTB thì lại đúng.
Mình đã kiểm tra phần cứng rồi (mạch không hề bị chạm ở PORTB), đã thử với con PIC mới khác luôn.
Mô phỏng trên Proteus thấy tốt trên cả 3 PORT.
PORTB chạy các ứng dụng khác bình thường.
Vậy mọi người xem giúp mình xem lí do tại sao?
Thanks everybody!
Code:
;---------------------------------------------------------------------------
	List p=16f887
	#INCLUDE <P16F887.INC>
	__CONFIG	_CONFIG1, _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC &_LVP_OFF
;THACH ANH 4MHZ
;CHUONG TRINH HIEN THI SO '1234' LEN 4 LED 7SEG DUNG 7447
;OK VOI PORT C, D
;O PORT B NO HIEN THI SO 1288 --> KHONG HIEU
;TRINH DICH MPLAB 8.14
;---------------------------------------------------------------------------
COUNT1	EQU	0X20
COUNT2	EQU	0X21
COUNT3	EQU	0X22
;---------------------------------------------------------------------------
	ORG		0X0000
	GOTO	MAIN
MAIN
;KHOI TAO PORT
	BANKSEL	TRISB
	CLRF	TRISB
	CLRF	TRISC
	CLRF	TRISD
	BANKSEL	PORTB
;---------------------------------------------------------------------------
;BAT DAU CHUONG TRINH
START
	MOVLW	0xE0		;DONVI
	MOVWF	PORTB
	MOVLW	0x04
	IORWF	PORTB,F
	CALL	DELAY1

	MOVLW	0D0H		;CHUC
	MOVWF	PORTB
	MOVLW	03H
	IORWF	PORTB,F
	CALL	DELAY1

	MOVLW	0B0H		;TRAM
	MOVWF	PORTB
	MOVLW	02H
	IORWF	PORTB,F
	CALL	DELAY1

	MOVLW	070H		;NGAN
	MOVWF	PORTB
	MOVLW	01H
	IORWF	PORTB,F
	CALL	DELAY1

	GOTO	START
                    
DELAY1
	MOVLW	d'1'
	MOVWF	COUNT1
D1
	MOVLW	d'199'
	MOVWF	COUNT2
	MOVLW	d'1'
	MOVWF	COUNT3
DELAY0
	DECFSZ	COUNT2,1
	GOTO	$+2
	DECFSZ	COUNT3,1
	GOTO	DELAY0
	DECFSZ	COUNT1,1
	GOTO	D1
	RETURN

	END
Mình không biết cách pót code mong moi người thông cảm!

thay đổi nội dung bởi: 8051topic, 22-09-2008 lúc 04:48 PM.
8051topic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn