Hjelp feil PIC16F84 assembly-kode.

N

ntege

Guest
hei fyrene jeg utviklet denne koden for en bevegelig tegn punktmatrisedisplayby five figures.

min kode ser ut til å ha en problem.it vil ikke fungere hvis jeg redusere på størrelsen av tabell 1
med fem tall.er det noen ting jeg kan gjøre for å løse dette problem.Here er koden.Start ORG 0x00; Dette setter opp portene
BSF 03,5
MOVLW 00h
MOVWF 05h
MOVWF 06h
BCF 03,5
GOTO Run1

; Tabell1 holder hex verdiene for hver kolonne av LED-lys

Tabell1 02h ADDWF, 1; Legg W til Program Counter
RETLW 00h; bokstaven A
RETLW 3Fh
RETLW 48t
RETLW 48t
RETLW 48t
RETLW 3Fh
RETLW 0FFh
RETLW 00h; bokstaven B
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 36h
RETLW 0FFh
RETLW 00h; bokstaven C
RETLW 3EH
RETLW 41H
RETLW 41H
RETLW 41H
RETLW 22h
RETLW 0FFh
RETLW 00h; bokstaven D
RETLW 7Fh
RETLW 41H
RETLW 41H
RETLW 41H
RETLW 3EH
RETLW 0FFh
RETLW 00h; bokstaven E
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 41H
RETLW 0FFh
RETLW 00h; bokstaven F
RETLW 7Fh
RETLW 48t
RETLW 48t
RETLW 40h
RETLW 0FFh
RETLW 00h; bokstaven G
RETLW 3EH
RETLW 41H
RETLW 49h
RETLW 49h
RETLW 2Eh
RETLW 0FFh
RETLW 00h; bokstaven H
RETLW 7Fh
RETLW 08h
RETLW 08h
RETLW 08h
RETLW 7Fh
RETLW 0FFh
RETLW 00h; brev jeg
RETLW 00h
RETLW 7Fh
RETLW 00h
RETLW 0FFh
RETLW 00h; bokstav j
RETLW 02h
RETLW 01t
RETLW 01t
RETLW 7Eh
RETLW 0FFh
RETLW 00h; bokstaven K
RETLW 7Fh
RETLW 08h
RETLW 18h
RETLW Resepsjon åpen 24
RETLW 43h
RETLW 0FFh
RETLW 00h; bokstaven L
RETLW 7Fh
RETLW 01t
RETLW 01t
RETLW 01t
RETLW 0FFh
RETLW 00h; bokstaven M
RETLW 3Fh
RETLW 40h
RETLW 40h
RETLW 3Fh
RETLW 40h
RETLW 40h
RETLW 3Fh
RETLW 0FFh
RETLW 00h; bokstaven N
RETLW 7Fh
RETLW 20h
RETLW 1CH
RETLW 02h
RETLW 7Fh
RETLW 0FFh
RETLW 00h; bokstaven O
RETLW 3EH
RETLW 41H
RETLW 41H
RETLW 41H
RETLW 3EH
RETLW 0FFh
RETLW 00h; bokstaven P
RETLW 3Fh
RETLW 48t
RETLW 48t
RETLW 48t
RETLW 30h
RETLW 0FFh
RETLW 00h; bokstaven Q
RETLW 3EH
RETLW 41H
RETLW 45H
RETLW 43h
RETLW 3Fh
RETLW 0FFh
RETLW 00h; bokstaven R
RETLW 7Fh
RETLW 48t
RETLW 4CH
RETLW 4Ah
RETLW 31h
RETLW 0FFh
RETLW 00h; bokstaven S
RETLW 32H
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 26h
RETLW 0FFh
RETLW 00h; bokstaven T
RETLW 40h
RETLW 40h
RETLW 7Fh
RETLW 40h
RETLW 40h
RETLW 0FFh
RETLW 00h; bokstaven U
RETLW 3EH
RETLW 01t
RETLW 01t
RETLW 01t
RETLW 3EH
RETLW 0FFh
RETLW 00h; bokstaven V
RETLW 78h
RETLW 06h
RETLW 01t
RETLW 06h
RETLW 78h
RETLW 0FFh
RETLW 00h; brev w
RETLW 7Eh
RETLW 01t
RETLW 01t
RETLW 7Eh
RETLW 01t
RETLW 01t
RETLW 7Eh
RETLW 0FFh
RETLW 00h; brev x
RETLW 41H
RETLW 22h
RETLW 1CH
RETLW 22h
RETLW 41H
RETLW 0FFh
RETLW 00h; bokstaven Y
RETLW 40h
RETLW 20h
RETLW 1Fh
RETLW 20h
RETLW 40h
RETLW 0FFh
RETLW 00h; bokstaven z
RETLW 43h
RETLW 45H
RETLW 49h
RETLW 51h
RETLW 51h
RETLW 0FFh
RETLW 00h; tall1
RETLW 10h
RETLW 20h
RETLW 7Fh
RETLW 0FFh
RETLW 00h; tall2
RETLW 27t
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 31h
RETLW 0FFh
RETLW 00h; number3
RETLW 22h
RETLW 41H
RETLW 49h
RETLW 49h
RETLW 36h
RETLW 0FFh
RETLW 00h; number4
RETLW 0Ch
RETLW 14h
RETLW Resepsjon åpen 24
RETLW 7Fh
RETLW 04h
RETLW 0FFh
RETLW 00h; number5
RETLW 7Ah
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 46h
RETLW 0FFh
RETLW 00h; number6
RETLW 3EH
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 26h
RETLW 0FFh
RETLW 00h; number7
RETLW 40h
RETLW 47h
RETLW 48t
RETLW 50h
RETLW 60h
RETLW 0FFh
RETLW 00h; number8
RETLW 36h
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 36h
RETLW 0FFh
RETLW 00h; number9
RETLW 32H
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 3EH
RETLW 0FFh
RETLW 00h; number0
RETLW 3EH
RETLW 41H
RETLW 41H
RETLW 41H
RETLW 3EH
RETLW 0FFh

Table2 02h ADDWF, 1; Legg W til Program Counter
RETLW 00h
RETLW 00h; pekeren for A
RETLW 07h; pekeren for B
RETLW 0Eh; pekeren for c
RETLW 15h; pekeren for D
RETLW 1CH; pekeren for E
RETLW 22h; pekeren for F
RETLW 28H; pekeren for G
RETLW 2Fh; pekeren for H
RETLW 36h; pekeren for jeg
RETLW 3Bh; pekeren for J
RETLW 41H; pekeren for K
RETLW 48t; pekeren for L
RETLW 4Eh; pekeren for M
RETLW 57h; pekeren for N
RETLW 5Eh; pekeren for O
RETLW 65h; pekeren for P
RETLW 6CH; pekeren for Q
RETLW 73h; pekeren for R
RETLW 7Ah; pekeren for S
RETLW 81h; pekeren for T
RETLW 88h; pekeren for U
RETLW 8Fh; pekeren for V
RETLW 96h; peker på W
RETLW 9Fh; pekeren for X
RETLW 0xA6; pekeren for Y
RETLW 0xAD; peker på Z
RETLW 0xB4; pekeren for 1
RETLW 0xB9; pekeren for 2
RETLW 0xC0; pekeren for 3
RETLW 0xC7; pekeren for 4
RETLW 0xCE; pekeren for 5
RETLW 0xD5; pekeren for 6
RETLW 0xDC; pekeren for 7
RETLW 0xE3; pekeren til 8
RETLW 0xEA; pekeren for 9
RETLW 0xF1; pekeren for 0
RETLW 0FFhRun1 CLRF 11h; Tøm kolonnen steder klar for start
CLRF 12h; etter kolonne i hjelp søylene av lysdioder på
CLRF 13t; kjører skjerm
CLRF 14h
CLRF 15h
CLRF 16h
CLRF 17h
CLRF 18h
CLRF 19h
CLRF 20h
CLRF 21h
CLRF 22h
CLRF 23h
CLRF Resepsjon åpen 24
CLRF 25h
CLRF 26h
CLRF 27t
CLRF 28H
CLRF 29h
CLRF 30hMOVLW 00
MOVWF 40h, 40h fil er filen der viserne på tabell 2
; er satt
esp clrf 30h
clrf 35h
40h INCF, 1; dette trinn av pekere til table2 slik at
40h MOVF, 0, du kan flytte fra ett brev til en annen.
Ring table2
MOVWF 35h, 35h fil er filen der viserne for tabell 1 er satt.
XORLW 0FFh; Hvis tabellen verdien FF,
BTFSC 03,2; bit 2 av filen 3 vil bli satt (= 1)
GOTO Run1; Start Tabell1 igjen, start meldingen på nytt.
Run2 MOVLW 20h
MOVWF 36h; Arkiv 18h teller antallet skanninger
CALL Shift, og styrer "run speed". Hastigheten som meldingen beveger seg over skjermen.
35h INCF, 1
35h MOVF, 0; Sett hoppe verdi i W
CALL Tabell1
MOVWF 30h; W inneholder tabelldata - legg den i 15h
XORLW 0FFh; Hvis tabellen verdien FF,
BTFSC 03,2; bit 2 av filen 3 vil bli satt (= 1)
GOTO esp; Start Tabell1 igjen
Run3 36h DECFSZ, 1; Scan displayet 40h ganger
GOTO Run4
GOTO Run2
Run4 CALL Scan
GOTO Run3

Scan BSF 05,1; Reset 4017
NOP
BCF 05,1

11h MOVF, 0; Output dataene på de 5 Ghost
MOVWF 06h; steder til skjermen
CALL DelD
12h MOVF, 0
MOVWF 06h
CALL DelD
13t MOVF, 0
MOVWF 06h
CALL DelD
14h MOVF, 0
MOVWF 06h
CALL DelD
15h MOVF, 0
MOVWF 06h
CALL DelD
16h MOVF, 0
MOVWF 06h
CALL DelD
17h MOVF, 0
MOVWF 06h
CALL DelD
18h MOVF, 0
MOVWF 06h
CALL DelD
19h MOVF, 0
MOVWF 06h
CALL DelD
20h MOVF, 0
MOVWF 06h
CALL DelD
21h MOVF, 0
MOVWF 06h
CALL DelD
22h MOVF, 0
MOVWF 06h
CALL DelD
23h MOVF, 0
MOVWF 06h
CALL DelD
Resepsjon åpen 24 MOVF, 0
MOVWF 06h
CALL DelD
25h MOVF, 0
MOVWF 06h
CALL DelD
26h MOVF, 0
MOVWF 06h
CALL DelD
27t MOVF, 0
MOVWF 06h
CALL DelD
28H MOVF, 0
MOVWF 06h
CALL DelD
29h MOVF, 0
MOVWF 06h
CALL DelD
30h MOVF, 0
MOVWF 06h
CALL DelD
RETURN; SKIFT flytter data ett sted til venstre for å gi "bevegelse"
; Effekt på skjermen

Skift 12t MOVF, 0; Flytt filen 12t til W
MOVWF 11h; Flytt W til fil 11h
13t MOVF, 0; Flytt filen 13h til W
MOVWF 12h; Flytt W til fil 12t
14h MOVF, 0; Flytt filen 14h til W
MOVWF 13t; Flytt W til fil 13h
15h MOVF, 0; Flytt filen 15h til W
MOVWF 14h; Flytt W til fil 14h
16h MOVF, 0; Flytt filen 16h til W
MOVWF 15h; Flytt W til fil 15h
17h MOVF, 0; Flytt filen 17h til W
MOVWF 16h; Flytt W til fil 16h
18h MOVF, 0; Flytt filen 17h til W
MOVWF 17h; Flytt W til fil 16h
19h MOVF, 0; Flytt filen 17h til W
MOVWF 18h; Flytt W til fil 16h
20h MOVF, 0; Flytt filen 17h til W
MOVWF 19h; Flytt W til fil 16h
21h MOVF, 0; Flytt filen 17h til W
MOVWF 20h; Flytt W til fil 16h
22h MOVF, 0; Flytt filen 17h til W
MOVWF 21h; Flytt W til fil 16h
23h MOVF, 0; Flytt filen 17h til W
MOVWF 22h; Flytt W til fil 16h
Resepsjon åpen 24 MOVF, 0; Flytt filen 17h til W
MOVWF 23h; Flytt W til fil 16h
25h MOVF, 0; Flytt filen 17h til W
MOVWF 24h; Flytt W til fil 16h
26h MOVF, 0; Flytt filen 17h til W
MOVWF 25h; Flytt W til fil 16h
27t MOVF, 0; Flytt filen 17h til W
MOVWF 26h; Flytt W til fil 16h
28H MOVF, 0; Flytt filen 17h til W
MOVWF 27t; Flytt W til fil 16h
29h MOVF, 0; Flytt filen 17h til W
MOVWF 28H; Flytt W til fil 16h
30h MOVF, 0; Flytt filen 17h til W
MOVWF 29h; Flytt W til fil 16h
RETURNDelD 1BH DECFSZ, 1; Delay for visning av
GOTO DelD; kolonne med lysdioder
MOVLW 00h
MOVWF 06
CLK BSF 05,0; Klokke i 4017 til
NOP; neste utgang
BCF 05,0
RETURN

END

 

Welcome to EDABoard.com

Sponsor

Back
Top