Beruflich Dokumente
Kultur Dokumente
asm
; LOOKUP TABLE - LIGHTING 24 LEDS IN DIFFERENT PATTERN
;--------------------------------------------------------------;PROGRAMMAR--- SYED TASWAR MAHBUB
;CLOCK SPEED = 20 MHZ
;AFTER SEMICOLON,EVERYTHING IS COMMENT,COMPILER WILL NOT DO ANY ACTION
;---------------------------------------------------------------------------------------TITLE : "24 LED-LIGHT IN PORT B,C,D IN DIFFERENT PATTERN"
LIST P
#INCLUDE
__CONFIG
CBLOCK
0X20
ORG
GOTO
0X00
INIT
;---------------SUBROUTINE------------------------------------------------------------DELAY
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
DELAY_0
DECFSZ
GOTO
DECFSZ
GOTO
DECFSZ
GOTO
GOTO
GOTO
NOP
RETLW
;------------------------------------------------------------------------------TABLE
ADDWF
DT
DT
DT
DT
DT
DT
DT
DT
PCL,F
0X01
0X02
0X04
0X08
0X10
0X20
0X40
0X80
;
;
;
;
;
;
;
;
TABLE_1
ADDWF
DT
DT
PCL,F
0X80 ; -----DO---- PORTB,7/PORTC,7/PORTD,7
0X40 ; -----DO-----PORTB,6/PORTC,6/PORTD,6
1
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
DT
DT
DT
DT
DT
DT
0X20
0X10
0X08
0X04
0X02
0X01
;
;
;
;
;
;
-----DO-----PORTB,5/PORTC,5/PORTD,5
-----DO-----PORTB,4/PORTC,4/PORTD,4
-----DO ----PORTB,3/PORTC,3/PORTD,3
---- DO-----PORTB,2/PORTC,2/PORTD,2
FOR SETTING PORTB,1/PORTC,1/PORTD,1
FOR SETTING PORTB,0/PORTC,0/PORTD,0
ADDWF
DT
DT
DT
DT
PCL,F
B'10000001'
B'01000010'
B'00100100'
B'00011000'
ADDWF
DT
DT
DT
DT
PCL,F
B'00011000'
B'00100100'
B'01000010'
B'10000001'
MAIN
LUKO_CURI
KHELA
GAME
KHELA_2
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X08
CCON
DCON,W ;MOVING DCON COUNTER IN W SO THAT W VALUE IS STORED IN DCON
TABLE
PORTB
;MOVING W IN PORTB AND HENCE DCON VALUE IS SENT TO PORTB
DELAY
;DELAY IS CALLED SO THAT EYE CAN DETECT THE DISPLAY
DCON
;DCON IS INCREMENTED,SO INCREMENTED VALUE IS SHOWN IN PORTB
CCON,F
LUKO_CURI
PORTB
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
NOP
CLRF
DCON
0X08
CCON
DCON,W
TABLE
PORTC
DELAY
DCON
CCON,F
GAME
PORTC
;MAKING DCON = 0
;MOVING 0X08 VALUE IN W
;MOVING W INTO CCON.SO,CCON VALUE NOW = W VALUE
;MOVING DCON IN W,SO DCON VALUE WILL EQUAL TO W VALUE
;PLACING W IN PORTC.SO,PORTC
;DELAY IS CALLED SO THAT EYE
;DCON IS INCREMENTED SO THAT
;CCON COUNTER IS DECREMENTED
DCON
2
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
GAME_2
MAIN_2
AGAIN
PLAY
REPEAT
PLAY_2
REPEAT_2
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
CALL
0X08
CCON
DCON,W ;DCON IS PUT IN W,SO THAT DCON VALUE WILL EQUAL TO W VALUE
TABLE
PORTD ;W IS MOVED TO PORTD,SO PORTD WILL DISPLAY DCON VALUE
DELAY
DCON
;DCON IS INCREMENTED,SO,INCREMENTED VALUE WILL BE SHOWN IN PORTD
CCON,F
GAME_2
PORTD
DELAY
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X08
CCON
DCON,W
TABLE_1
PORTD
DELAY
DCON
CCON,F
AGAIN
PORTD
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
NOP
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
DECFSZ
GOTO
CLRF
CALL
DCON
0X08
CCON
DCON,W
TABLE_1
PORTC
DELAY
DCON
CCON,F
REPEAT
PORTC
DCON
0X08
CCON
DCON,W
TABLE_1
PORTB
DELAY
DCON
CCON,F
REPEAT_2
PORTB
DELAY
CHAKKAR
SHURU_2
CHAKKAR_2
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X04
CCON
DCON,W
TABLE
PORTB
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVF
DCON
0X04
CCON
DCON,W
DCON,F
CCON,F
CHAKKAR
PORTB
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
SHURU_3
CHAKKAR_3
ABAR_SURU
TAKKAR
SURU_SURU
TAKKAR_2
SURU_4
TAKKAR_3
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
TABLE
PORTC
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
CALL
DCON
0X04
CCON
DCON,W
TABLE
PORTD
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X04
CCON
DCON,W
TABLE_1
PORTD
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X04
CCON
DCON,W
TABLE_1
PORTC
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X04
CCON
DCON,W
TABLE_1
PORTB
DELAY
DCON,F
DCON,F
CCON,F
CHAKKAR_2
PORTC
DCON,F
CCON,F
CHAKKAR_3
PORTD
DELAY
DCON,F
CCON,F
TAKKAR
PORTD
DCON,F
CCON,F
TAKKAR_2
PORTC
DCON,F
CCON,F
TAKKAR_3
PORTB
4
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
CALL
DELAY
;--------------------------------------------------------------------NUTON
MELA
MELA_2
KHELA_5
MELA_5
CHAKKAR_8
NEW_NEW
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X03
CCON
DCON,W
TABLE
PORTB
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X01
DCON
0X03
CCON
DCON,W
TABLE
PORTC
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
NOP
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
CLRF
CALL
DCON
0X02
DCON
0X02
CCON
DCON,W
TABLE
PORTD
DELAY
DCON,F
CLRF
MOVLW
DCON
0X03
DCON,F
DCON,F
CCON,F
MELA
PORTB
DCON,F
DCON,F
CCON,F
KHELA_5
PORTC
DCON,F
DCON,F
CCON,F
CHAKKAR_8
DCON
0X07
DCON
DCON,W
TABLE
PORTD
DELAY
PORTD
DELAY
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
MELA_7
MELA_8
KHELA_7
MELA_9
CHAKKAR_7
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
CCON
DCON,W
TABLE_1
PORTD
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
0X01
DCON
0X03
CCON
DCON,W
TABLE_1
PORTC
DELAY
DCON,F
CLRF
MOVLW
MOVWF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
INCF
NOP
INCF
NOP
INCF
DECFSZ
GOTO
NOP
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
CALL
CLRF
CALL
DCON
0X02
DCON
0X02
CCON
DCON,W
TABLE_1
PORTB
DELAY
DCON,F
DCON,F
DCON,F
CCON,F
MELA_7
PORTD
DCON,F
DCON,F
CCON,F
KHELA_7
PORTC
DCON,F
DCON,F
CCON,F
CHAKKAR_7
DCON
0X07
DCON
DCON,W
TABLE_1
PORTB
DELAY
PORTB
DELAY
;-----------------------------------------------------------------------TOKAI
KANAMASI
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
NOP
MOVF
DCON
0X08
CCON
DCON,W
TABLE
PORTB
DCON,W
6
F:\Prog-pic16F877A\Test prog-datatable4\test_data4.asm
CALL
TABLE_1
MOVWF
PORTD
CALL
DELAY
INCF
DCON,F
DECFSZ CCON,F
GOTO
KANAMASI
CLRF
PORTB
NOP
CLRF
PORTD
;-------------------------------------------------------------------------TAMASHA
CLRF
DCON ;MAKING DCON VALUE = 0
MOVLW
0X04 ;MOVING VALUE OF 0X04 TO W
MOVWF
CCON ;MOVING W TO CCON.SO,CCON VALUE IS 0X04
STAY_1
MOVF
DCON,W ;MOVING DCON TO W,SO DCON VALUE WILL BE W VALUE
CALL
TABLE_2;BRINGING REQUIRED VALUE FROM TABLE_2 THROUGH W
MOVWF
PORTC ;MOVING W TO PORTC.SO,W VALUE=DCON VALUE WILL DISPLAY IN PORTC
NOP
;DOING NOTHING
CALL
DELAY ;DELAY IS CALLED SO THAT EYE CAN SEE THE DISPLAY
INCF
DCON,F ;INCREMENTING DCON VALUE,SO THAT IT WILL DISPLAY IN PORTC
DECFSZ CCON,F
GOTO
STAY_1
CLRF
PORTC
NOP
;---------------------------------------------------------------------------------------ULTA
STAY_2
CLRF
CLRF
MOVLW
MOVWF
MOVF
CALL
MOVWF
NOP
CALL
INCF
DECFSZ
GOTO
CLRF
NOP
DCON
CCON
0X04
CCON
DCON,W ;MOVING DCON TO W SO THAT DCON VALUE IS SHOWN
TABLE_3 ;CALLING THE VALUE FROM TABLE_3 BY ADDING W WITH PCL IN TABLE_3
PORTC
;SHOWING THAT VALUE IN PORTC
DELAY
DCON,F
CCON,F
STAY_2
PORTC
;----------------------------------------------------------------------------PALTA
CLRF
DCON ;MAKING DCON 0
MOVWF
DCON
MOVLW
0X08
MOVWF
CCON
ULTA_2
MOVF
DCON,W
CALL
TABLE_1
MOVWF
PORTB
NOP
;DOING NOTHING
MOVF
DCON,W
CALL
TABLE
MOVWF
PORTD
CALL
DELAY
INCF
DCON,F
DECFSZ CCON,F
GOTO
ULTA_2
CLRF
PORTB
NOP
CLRF
PORTD
NOP
CALL
DELAY
GOTO
MAIN ;GOING BACK TO MAIN TO REPEAT THE PROGRAM
END
;END OF THE PROGRAM.BEYOND THIS,PC WILL NOT SEE ANYTHING.
;----------------------------------------------------------------------------------