Em mới bắt đầu với Pic,và đây là chường trình đếm xung vào ở chân RA0,hiện thị led7segment nối vào PortB,dùng kỹ thuật bảng.Em dùng MPLAP dịch thì không có lỗi,nhưng khi mô phỏng bằng Proteus thì nó không chạy,mong các bác chỉ cho chỗ sai.
Code:
;========================================================
TITLE "Dem xung"
PROCESSOR P16F877A
INCLUDE <P16F877A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF & _LVP_OFF
;==========================================================
;Khai bao bien :
DEM EQU 0x20
;============================================================
;Chuong trinh chinh:
;============================================================
ORG 0x0000
GOTO MAIN
ORG 0x0005
MAIN
BANKSEL TRISA
MOVLW b'00111111'
MOVWF TRISA
CLRF TRISB
BANKSEL PORTA
MOVLW b'00111111'
MOVWF PORTB
CLRF DEM
LOOP
BTFSC PORTA,0
GOTO $-1
BTFSS PORTA,0
GOTO $-1
INCF DEM,1
MOVF DEM,0
XORWF d'10'
BTFSC STATUS,Z
GOTO MAIN
MOVF DEM,0
CALL TABLE
MOVWF PORTB
GOTO LOOP
ORG 0x800
TABLE
ADDWF PCL,1
RETLW b'00111111'
RETLW b'00000110'
RETLW b'01011011'
RETLW b'01001111'
RETLW b'01100110'
RETLW b'01101101'
RETLW b'01111101'
RETLW b'00000111'
RETLW b'01111111'
RETLW b'01101111'
END