Вт ноя 28, 2023 02:10:46
LIST P=18F2520, F=INHX32
#include <P18F2520.INC>
CONFIG OSC = INTIO67, WDT = off, pbaden=off, LVP=OFF, XINST= OFF
UDATA
WREG_TEMP RES 1
STATUS_TEMP RES 1
BSR_TEMP RES 1
UDATA_ACS
EXAMPLE RES 1
LED_REPIT RES 1
DATA_EEPROM CODE 0xf00000
DE "Test Data",0,1,2,3,4,5
RESET_VECTOR CODE 0x0000
goto Main
HI_INT_VECTOR CODE 0x0008
bra HighInt
LOW_INT_VECTOR CODE 0x0018
bra LowInt
CODE
HighInt:
BCF INTCON, TMR0IF
MOVLW HIGH .25535
MOVWF TMR0H
MOVLW LOW .25535
MOVWF TMR0L
INCF LED_REPIT
MOVLW .10
CPFSEQ LED_REPIT
BRA ext
BTFSC LATB, RB5
BRA TurnOn1
BTFSC LATB, RB2
BRA TurnOn2
BTFSC LATB, RB3
BRA TurnOn3
BTFSC LATB, RB4
BRA TurnOn4
TurnOn1:
BSF LATB, RB2
BCF LATB, RB3
BCF LATB, RB4
BCF LATB, RB5
MOVLW .0
MOVWF LED_REPIT
BRA ext
TurnOn2:
BCF LATB, RB2
BSF LATB, RB3
BCF LATB, RB4
BCF LATB, RB5
MOVLW .0
MOVWF LED_REPIT
BRA ext
TurnOn3:
BCF LATB, RB2
BCF LATB, RB3
BSF LATB, RB4
BCF LATB, RB5
MOVLW .0
MOVWF LED_REPIT
BRA ext
TurnOn4:
BCF LATB, RB2
BCF LATB, RB3
BCF LATB, RB4
BSF LATB, RB5
MOVLW .0
MOVWF LED_REPIT
BRA ext
ext:
retfie FAST
LowInt:
movff STATUS,STATUS_TEMP ;save STATUS register
movff WREG,WREG_TEMP ;save working register
movff BSR,BSR_TEMP ;save BSR register
; * low priority interrupt code goes here *
movff BSR_TEMP,BSR ;restore BSR register
movff WREG_TEMP,WREG ;restore working register
movff STATUS_TEMP,STATUS ;restore STATUS register
retfie
Main:
BCF OSCCON,IRCF0
BSF OSCCON,IRCF1
BSF OSCCON,IRCF2 ;110 - ???? 4???
BCF OSCTUNE,PLLEN ;?????????? ??????? ? ???? ????????
BCF TRISB, RB2
BCF TRISB, RB3
BCF TRISB, RB4
BCF TRISB, RB5 ;????? ??????????? ??? ??????
BCF LATB, RB2
BCF LATB, RB3
BCF LATB, RB4
BCF LATB, RB5 ;???? ?????? ??????? ?? ?????
BSF RCON, IPEN ;???????????? ?????????? ?????????
BSF INTCON, GIEH;?????????? ??????? ??????????
BSF INTCON, TMR0IE;??????? ??????????
BCF INTCON, TMR0IF;???? ?????????? ???????????? TMR0
BSF INTCON, TMR0IP;???? ???????? ??????????
MOVLW b'00001000' ;3 ??? - ?? ??????????? ????????????
MOVWF T0CON
MOVLW HIGH .25535 ;65536-25535=50? ????????
MOVWF TMR0H
MOVLW LOW .25535
MOVWF TMR0L
BSF T0CON, TMR0ON
MOVLW .0
MOVWF LED_REPIT
CycleMain:
BRA CycleMain
end
Вт ноя 28, 2023 06:15:23
Вт ноя 28, 2023 06:43:15
Вт ноя 28, 2023 06:57:17
Вт ноя 28, 2023 22:43:07