06-11-2008, 05:55 PM
|
#15
|
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
:
|
Trích:
Nguyên văn bởi trungduc
Chào qui vi,
Toi mới học PIC mấy ngày có 1 đọan chương trình giải không ra. Xin các bậc tiền bối chỉ giáo cho tại sao bấm nút mà không có tác dụng gì hết.
TITLE "TEST SWITCH PORTB"
PROCESSOR PIC16f877A
INCLUDE<P16f877A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF
;--------------------------------------------------------------------------
; Program Code
;--------------------------------------------------------------------------
ORG 0x000 ;reset vector
goto MAIN
MAIN
Start call Init ;Initialise hardware
Loop btfss PORTB,0 ;Is "ON" button pressed?
bsf PORTA,0 ; Yes - LED on
btfss PORTB,1 ;Is "OFF" button pressed?
bcf PORTA,0 ; Yes - LED off
goto Loop ;
;--------------------------------------------------------------------------
; Subroutines
;--------------------------------------------------------------------------
;*****Init - set up all ports, make unused ports outputs
Init clrf PORTA ;all of porta low
clrf PORTB ;all of portb low
bsf STATUS, RP0 ;change to bank1
movlw b'00000000' ;all outputs except
movwf TRISA ;
; movlw b'11111111' ;all inputs
; movwf TRISB ;
bcf STATUS, RP0 ;back to bank0
return
END ;Stop assembling here
|
Một chương trình cụ thể được viết cho một thiết kế phần cứng cụ thể. Phần cứng của bạn ra sao? Bạn thử nghiệm chương trình như thế nào mà kết luận rằng bấm nút không có tác dụng?
Thân,
|
|
|