|
Tài trợ cho PIC Vietnam |
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 |
19-09-2008, 06:44 PM | #1 |
Đệ 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 thay đổi nội dung bởi: 8051topic, 22-09-2008 lúc 04:48 PM. |
|
|