PIC16F84Aсравнение
Добавлено: Пт мар 02, 2018 21:10:23
Проверьте код пожалуйста.Компиляция проходит но на симуляции не загораются светодиоды.
List P=16f84A
__CONFIG 03FF1H
STATUS equ 03h
PortB equ 06h ; ???? B
TRISB equ 06h ; ??????? Tris B - ????1
TRISA equ 05h
Porta equ 05h
; ??????? Status.
MY_REG EQU 0x0F
RegL equ 0Ch ; ??????? ???????? ??????? 1-?? ??????????.
RegH equ 0Eh ; ??????? ???????? ??????? 1-?? ??????????.
TimerL equ 1Ch ; ??????? ???????? ??????? 2-?? ??????????.
TimerH equ 1Eh ; ??????? ???????? ??????? 2-?? ??????????.
; ??????????? ????? ?????????? ??????????? ????????.
;========
W equ 0 ; ????????? ????????? ? ???????????.
F equ 1 ; ????????? ????????? ? ???????.
;========
; ???????????? ????? ????????.
;========
C equ 0 ; ??? ????? ????????-?????.
Z equ 2 ; ??? ????? ???????? ??????????.
ORG 0
goto STARTe ; ? ???????????? START.
;*************************************************************
STARTe
BSF STATUS,5
Movlw B'11111111'
MOVWF TRISB
BCF STATUS,5
goto start
;=====================
;SVET
;====================
start
;opros knopki 10
btfsc PortB,0
goto odin
goto zero
odin
movlw .1
movwf RegH
goto dva
zero
movlw 0
movwf RegH
goto dva
;---------------------------------------------------------------------------------------------------------------------------
dva
btfsc PortB,1
goto oneq
goto zeroq
oneq
movlw .1
movwf RegL
goto thre
zeroq
movlw 0
movwf RegL
goto thre
;----------------------------------------------------------------------------------------------------------------------------------
thre
btfsc PortB,2
goto onew
goto zerow
onew
movlw .1
movwf TimerH
goto four
zerow
movlw 0
movwf TimerH
goto four
;-------------------------------------------------------------------------------------------------------------------------------------
four
btfsc PortB,3
goto onew
goto zerow
onee
movlw .1
movwf TimerL
goto dokonca
zeroe
movlw 0
movwf TimerL
goto dokonca
dokonca
btfsc PortB,4
goto SRAVN
goto dokonca
SVET
BSF Porta,3
miganVD2
BSF Porta,0
MOVLW 0Xff;
MOVWF MY_REG;
LOOPVD21 DECFSZ MY_REG,1;
GOTO LOOPVD21;
BCF Porta,0
MOVLW 0Xff;
MOVWF MY_REG;
LOOPVD2 DECFSZ MY_REG,1;
GOTO LOOPVD2;
GOTO miganVD2 ;
miganVD3
BSF Porta,1
MOVLW 0XFF;
MOVWF MY_REG;
LOOP1 DECFSZ MY_REG,1;
GOTO LOOP1;
BCF Porta,1
MOVLW 0XFF;
MOVWF MY_REG;
LOOP2 DECFSZ MY_REG,1;
GOTO LOOP2;
GOTO miganVD3 ;
osnova
;=========
;??????
;==============
;========
; ?????????
;========
SRAVN
Movf RegH,w
Subwf TimerH,w
Btfss STATUS,Z
Goto neravenstvo
Goto mladshie
neravenstvo
Movf RegH,w
Subwf TimerH,w
Btfss STATUS,C
Goto miganVD3
Goto miganVD2 ; ???? ??? ? 2 =1, ?? ????????? ???????????
; ???????? TimerH ? ??????????? ??????????
; ? ??? ??.
mladshie
Movf RegL, w
Subwf TimerL,w
Btfss STATUS,Z
Goto neravenstvoL
Goto SVET
neravenstvoL
Movf RegL, w
Subwf TimerL,w
Btfss STATUS,C
Goto miganVD3
Goto miganVD2
;-----------------------------------------------------------------------
END
List P=16f84A
__CONFIG 03FF1H
STATUS equ 03h
PortB equ 06h ; ???? B
TRISB equ 06h ; ??????? Tris B - ????1
TRISA equ 05h
Porta equ 05h
; ??????? Status.
MY_REG EQU 0x0F
RegL equ 0Ch ; ??????? ???????? ??????? 1-?? ??????????.
RegH equ 0Eh ; ??????? ???????? ??????? 1-?? ??????????.
TimerL equ 1Ch ; ??????? ???????? ??????? 2-?? ??????????.
TimerH equ 1Eh ; ??????? ???????? ??????? 2-?? ??????????.
; ??????????? ????? ?????????? ??????????? ????????.
;========
W equ 0 ; ????????? ????????? ? ???????????.
F equ 1 ; ????????? ????????? ? ???????.
;========
; ???????????? ????? ????????.
;========
C equ 0 ; ??? ????? ????????-?????.
Z equ 2 ; ??? ????? ???????? ??????????.
ORG 0
goto STARTe ; ? ???????????? START.
;*************************************************************
STARTe
BSF STATUS,5
Movlw B'11111111'
MOVWF TRISB
BCF STATUS,5
goto start
;=====================
;SVET
;====================
start
;opros knopki 10
btfsc PortB,0
goto odin
goto zero
odin
movlw .1
movwf RegH
goto dva
zero
movlw 0
movwf RegH
goto dva
;---------------------------------------------------------------------------------------------------------------------------
dva
btfsc PortB,1
goto oneq
goto zeroq
oneq
movlw .1
movwf RegL
goto thre
zeroq
movlw 0
movwf RegL
goto thre
;----------------------------------------------------------------------------------------------------------------------------------
thre
btfsc PortB,2
goto onew
goto zerow
onew
movlw .1
movwf TimerH
goto four
zerow
movlw 0
movwf TimerH
goto four
;-------------------------------------------------------------------------------------------------------------------------------------
four
btfsc PortB,3
goto onew
goto zerow
onee
movlw .1
movwf TimerL
goto dokonca
zeroe
movlw 0
movwf TimerL
goto dokonca
dokonca
btfsc PortB,4
goto SRAVN
goto dokonca
SVET
BSF Porta,3
miganVD2
BSF Porta,0
MOVLW 0Xff;
MOVWF MY_REG;
LOOPVD21 DECFSZ MY_REG,1;
GOTO LOOPVD21;
BCF Porta,0
MOVLW 0Xff;
MOVWF MY_REG;
LOOPVD2 DECFSZ MY_REG,1;
GOTO LOOPVD2;
GOTO miganVD2 ;
miganVD3
BSF Porta,1
MOVLW 0XFF;
MOVWF MY_REG;
LOOP1 DECFSZ MY_REG,1;
GOTO LOOP1;
BCF Porta,1
MOVLW 0XFF;
MOVWF MY_REG;
LOOP2 DECFSZ MY_REG,1;
GOTO LOOP2;
GOTO miganVD3 ;
osnova
;=========
;??????
;==============
;========
; ?????????
;========
SRAVN
Movf RegH,w
Subwf TimerH,w
Btfss STATUS,Z
Goto neravenstvo
Goto mladshie
neravenstvo
Movf RegH,w
Subwf TimerH,w
Btfss STATUS,C
Goto miganVD3
Goto miganVD2 ; ???? ??? ? 2 =1, ?? ????????? ???????????
; ???????? TimerH ? ??????????? ??????????
; ? ??? ??.
mladshie
Movf RegL, w
Subwf TimerL,w
Btfss STATUS,Z
Goto neravenstvoL
Goto SVET
neravenstvoL
Movf RegL, w
Subwf TimerL,w
Btfss STATUS,C
Goto miganVD3
Goto miganVD2
;-----------------------------------------------------------------------
END