You are on page 1of 11

; PIC0504.

ASM
; PIC16C84 ILE YAPILAN 7*16=112 LED LI KAYAN YAZI DEVRESI
; 32 KARAKTER KULLANILABILIR
LIST
P = 16C84, F = INHX8M, n = 66
PIC84 equ
H'03FF'
;==========================================================================
;
;
Register Definitions
;
;==========================================================================
W
EQU
H'0000'
F
EQU
H'0001'
;----- Register Files-----------------------------------------------------INDF
EQU
H'0000'
TMR0
EQU
H'0001'
PCL
EQU
H'0002'
STATUS
EQU
H'0003'
FSR
EQU
H'0004'
PORTA
EQU
H'0005'
PORTB
EQU
H'0006'
EEDATA
EQU
H'0008'
EEADR
EQU
H'0009'
PCLATH
EQU
H'000A'
INTCON
EQU
H'000B'
OPTION_REG
EQU
H'0081'
TRISA
EQU
H'0085'
TRISB
EQU
H'0086'
EECON1
EQU
H'0088'
EECON2
EQU
H'0089'
;----- STATUS Bits -------------------------------------------------------IRP
EQU
H'0007'
RP1
EQU
H'0006'
RP0
EQU
H'0005'
NOT_TO
EQU
H'0004'
NOT_PD
EQU
H'0003'
Z
EQU
H'0002'
DC
EQU
H'0001'
C
EQU
H'0000'
;----- INTCON Bits -------------------------------------------------------GIE
EQU
H'0007'
EEIE
EQU
H'0006'
T0IE
EQU
H'0005'
INTE
EQU
H'0004'
RBIE
EQU
H'0003'
T0IF
EQU
H'0002'
INTF
EQU
H'0001'
RBIF
EQU
H'0000'
;----- OPTION Bits -------------------------------------------------------NOT_RBPU
EQU
H'0007'
INTEDG
EQU
H'0006'
T0CS
EQU
H'0005'
T0SE
EQU
H'0004'
PSA
EQU
H'0003'
PS2
EQU
H'0002'
PS1
EQU
H'0001'
PS0
EQU
H'0000'
;----- EECON1 Bits --------------------------------------------------------

EEIF
EQU
H'0004'
WRERR
EQU
H'0003'
WREN
EQU
H'0002'
WR
EQU
H'0001'
RD
EQU
H'0000'
;==========================================================================
;
;
RAM Definition
;
;==========================================================================
__MAXRAM H'AF'
__BADRAM H'07', H'30'-H'7F', H'87'
;==========================================================================
;
;
Configuration Bits
;
;==========================================================================
_CP_ON
EQU
H'3FEF'
_CP_OFF
EQU
H'3FFF'
_PWRTE_ON
EQU
H'3FFF'
_PWRTE_OFF
EQU
H'3FF7'
_WDT_ON
EQU
H'3FFF'
_WDT_OFF
EQU
H'3FFB'
_LP_OSC
EQU
H'3FFC'
_XT_OSC
EQU
H'3FFD'
_HS_OSC
EQU
H'3FFE'
_RC_OSC
EQU
H'3FFF'

;----------- USER REGISTERS ---------------------------------------------POINTER


EQU
H'000C'
HCOUNT
equ
H'000D'
LCOUNT
equ
H'000E'
TEMP1
EQU
H'002B'
TEMP2
EQU
H'002C'
TEMP3
EQU
H'002D'
ZAMAN
equ
H'002E'
DISP
EQU
H'002F'
msb
equ
0x29
;general delay register
lsb
equ
0x2A
;general delay register
FLCOUNT
equ
H'0027'
;flas counter
WAITC
equ
H'0026'
;wait and run
SPECIAL
equ
H'0025'
;special function register
COUNT1
equ
H'0022'
;system timer counter
COUNT2
equ
H'0021'
;system flas timer counter
SYSFUNC
equ
H'0020'
;system control register
LINE1
EQU
H'0010'
LINE2
EQU
H'0011'
LINE3
EQU
H'0012'
LINE4
EQU
H'0013'
LINE5
EQU
H'0014'
LINE6
EQU
H'0015'
LINE7
EQU
H'0016'
LINE8
EQU
H'0017'
LINE9
EQU
H'0018'
LINE10
EQU
H'0019'
LINE11
EQU
H'001A'
LINE12
EQU
H'001B'
LINE13
EQU
H'001C'

LINE14
LINE15
LINE16
SATIRLAR
;
;
;
START

EQU
EQU
EQU
EQU

H'001D'
H'001E'
H'001F'
H'0023'

call
call
KAYANYAZI_1
MOVLW
MOVWF
KAYANYAZI_2
INCFSZ
GOTO
GOTO
KAYANYAZI_3
goto
KAYANYAZI_4
goto
KAYANYAZI_5
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF
CALL
movwf
MOVLW
ADDWF

SETCPUPORTSTATUS
STEP_CLEAR
H'0000'
SATIRLAR
SATIRLAR
KAYANYAZI_3
KAYANYAZI_4
KAYANYAZI_5
KAYANYAZI_1
H'00'
SATIRLAR,0
FINDSHOW
LINE1
H'01'
SATIRLAR,0
FINDSHOW
LINE2
H'02'
SATIRLAR,0
FINDSHOW
LINE3
H'03'
SATIRLAR,0
FINDSHOW
LINE4
H'04'
SATIRLAR,0
FINDSHOW
LINE5
H'05'
SATIRLAR,0
FINDSHOW
LINE6
H'06'
SATIRLAR,0
FINDSHOW
LINE7
H'07'
SATIRLAR,0
FINDSHOW
LINE8
H'08'
SATIRLAR,0
FINDSHOW
LINE9
H'09'
SATIRLAR,0

CALL
FINDSHOW
movwf LINE10
MOVLW H'0A'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE11
MOVLW H'0B'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE12
MOVLW H'0C'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE13
MOVLW H'0D'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE14
MOVLW H'0E'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE15
MOVLW H'0F'
ADDWF SATIRLAR,0
CALL
FINDSHOW
movwf LINE16
MOVLW D'15'
MOVWF ZAMAN
CALL
STEP_DELAY
goto
KAYANYAZI_2
;****************************************************************************
;YAZILARINIZI ASAGIDAKI KOD'DA DEGISIKLIK YAPARAK HAZIRLAYINIZ
;****************************************************************************
FINDSHOW:
showdata:
addwf PCL,1
retlw B'00000000'
;0
retlw B'00000000'
;1
retlw B'00000000'
;2
retlw B'00000000'
;3
retlw B'00000000'
;4
retlw B'00000000'
;6
retlw B'00000000'
;7
retlw B'00000000'
;8
retlw B'00000000'
;9
retlw B'00000000'
;10
retlw B'00000000'
;11
retlw B'00000000'
;12
retlw B'00000000'
;13
retlw B'00000000'
;14
retlw B'00000000'
;15
retlw B'00000000'
;16
retlw B'01110111';A
retlw B'01101101';S
retlw B'00111110';U
retlw B'01101101';S
retlw B'00000000'; BOLUK
retlw B'01110011';p
retlw B'01101101';5
retlw B'00111000';L

retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw

B'01011110';d
B'01011011';2
B'00000000'
B'00000000'
B'00000000'
B'01110011';p
B'01100110';4
B'00000000'; BOLUK
B'11001111';3
B'01111101';0
B'00000000'
;36
B'01111101';
B'01110110';H
B'01011011';2
B'00000000'
B'00000000'
B'00000000'
B'10000110';1.5
B'01101101';5
B'00000000'
B'01111101';
B'01111100';b
B'00000000'
B'01011110';d
B'01011110';d
B'01011011';2
B'00000000'
B'01101101';5
B'01001111';3
B'01001111';3
B'00000000'
;52
B'00000000'
;53
B'00000000'
;54
B'00000000'
;55
B'00000000'
;56
B'01110001';f
B'01010000';r
B'01111001';E
B'00110111';N
B'01101101';S
B'01000000';B'00000000'
B'00000000'
B'00000000'
B'01101101';5
B'01001111';3
B'11001111';3.
B'00000111';7
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00111110';U
B'01011100';o
B'00111000';L
B'01111000';t
B'00000000'
B'00000000'
B'00000000'
B'11011011';2

retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw

B'01111111';8
B'01011011';2
B'00111110';U
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'01111000';t
B'01111001';E
B'01010000';r
B'00000000'
B'00000000'
B'00000000'
B'00000110';1
B'10000111';7
B'01100110';4
B'01100011';derece isareti
B'00111001';C
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00110000';I
B'01010100';n
B'01111000';t
B'01111001';E
B'00111000';L
B'00000000'
B'00000000'
B'00000000'
B'01101101';S
B'01111001';E
B'01010000';r
B'00110000';I
B'01111001';E
B'01101101';S
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00111001';C
B'00110000';I
B'01110011';p
B'01101101';S
B'01111001';E
B'01111000';t
B'00000000'
B'00000000'
B'01101111';9
B'01100110';4
B'01101101';5
B'01110011';p
B'00000000'
;98
B'00000000'
;99
B'00000000'
;100
B'00000000'
;101

retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw

B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'

;102
;103
;104
;105
;106
;107
;108
;109
;110
;111
;112
;113
;114
;115
;116
;117
;118
;119
;120
;121
;122
;123
;124
;125
;126
;127
;128
;129
;130
;131
;132
;133
;134
;135
;136
;137
;138
;139
;140
;141
;142
;143
;144
;145
;146
;147
;148
;149
;150
;151
;152
;153
;154
;155
;156
;157
;158
;159
;160
;161

retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw

B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'
B'00000000'

;162
;163
;164
;165
;166
;167
;168
;169
;170
;171
;172
;173
;174
;175
;176
;177
;178
;179
;180
;181
;182
;183
;184
;185
;186
;187
;188
;189
;190
;191
;192
;193
;194
;195
;196
;197
;198
;199
;200
;201
;202
;203
;204
;205
;206
;207
;208

return
;****************************************************************************
STEP_CLEAR
movlw B'00000000'
movwf LINE1
movwf LINE2
movwf LINE3
movwf LINE4
movwf LINE5
movwf LINE6
movwf LINE7
movwf LINE8
movwf LINE9

movwf
movwf
movwf
movwf
movwf
movwf
movwf
MOVLW
MOVWF
CALL

LINE10
LINE11
LINE12
LINE13
LINE14
LINE15
LINE16
D'50'
ZAMAN
STEP_DELAY

RETURN
;****************************************************************************
STEP_DELAY
clrwdt
; call
DELAYSYS
;20 msec delay
CALL
RUNTIME
decfsz ZAMAN
goto
STEP_DELAY
return
;****************************************************************************
RUNTIME
WRITEDISP
;test
;call
delay20
;test
clrwdt
movlw D'0'
movwf PORTA
movf
LINE1,0
movwf PORTB
call
delay1
clrwdt
movlw D'1'
movwf PORTA
movf
LINE2,0
movwf PORTB
call
delay1
clrwdt
movlw D'2'
movwf PORTA
movf
LINE3,0
movwf PORTB
call
delay1
clrwdt
movlw D'3'
movwf PORTA
movf
LINE4,0
movwf PORTB
call
delay1
clrwdt
movlw D'4'
movwf PORTA
movf
LINE5,0
movwf PORTB
call
delay1
clrwdt
movlw D'5'
movwf PORTA
movf
LINE6,0
movwf PORTB

call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf
call
clrwdt
movlw
movwf
movf
movwf

delay1
D'6'
PORTA
LINE7,0
PORTB
delay1
D'7'
PORTA
LINE8,0
PORTB
delay1
D'8'
PORTA
LINE9,0
PORTB
delay1
D'9'
PORTA
LINE10,0
PORTB
delay1
D'10'
PORTA
LINE11,0
PORTB
delay1
D'11'
PORTA
LINE12,0
PORTB
delay1
D'12'
PORTA
LINE13,0
PORTB
delay1
D'13'
PORTA
LINE14,0
PORTB
delay1
D'14'
PORTA
LINE15,0
PORTB
delay1
D'15'
PORTA
LINE16,0
PORTB

call
delay1
movlw H'00'
movwf PORTB
RETURN
;***************************************************************************
SETCPUPORTSTATUS
bsf
STATUS,RP0
movlw H'00'
movwf TRISB
;PORTB pins : O-O-O-O-O-O-O-O
movlw B'00000000'
movwf TRISA
;PORTA pins : X-X-X-O-O-O-O-O
bcf
STATUS,RP0
movlw H'00'
movwf PORTA
movwf PORTB
RETURN
;****************************************************************************
;*Delay Routines
-*
;****************************************************************************
vlong
movlw 0xff
;200msec
movwf msb
goto
d1
DELAYSYS
;20 msec delay
movlw .26
movwf msb
CLRWDT
CALL
RUNTIME
goto
d1
delay20
;20 msec delay
movlw .26
movwf msb
goto
d1
delay16
;16 msec delay
movlw .21
movwf msb
goto
d1
delay1
;750nsec delay
movlw .1
movwf msb
d1
movlw 0xff
movwf lsb
d2
decfsz lsb,F
goto
d2
decfsz msb,F
goto
d1
return
;****************************************************************************
FINISH
goto
START
end

You might also like