H
Hasher
Guest
Eu lucrez cu PIC18F2420 (8 Mhz & HS-PLL) & Hi-Tech PICC-18 compilator.
Fac un proiect pentru a accepta serie de caractere date & vedere aceste caractere pe PAL Sytem TV.
Pentru vizualizarea caractere de date stocate în ROM PIC Am perfect o / p la TV.
Pentru serial de comunicare cu PC-ul am o frumoasă o / p la hiper-terminal
DAR
când încerc să combine cele două părţi am primit nici o eroare, dar am primit nici o / p la TV.
Este pentru că eu
sunt schimbătoare de date cu privire la portul C şi, în acelaşi timp, eu
sunt, folosind TX & RC pe ghimpi 6
şi 7 în port, C?
ce crezi?
Notă: unele din cod nu sunt aici.
//------------------------------------------------ ------
/ / B PORT Setup
//------------------------------------------------ ------
TRISB = 0; / / configure PortB ca ieşire
PORTB = 0x00;
//------------------------------------------------ ------
/ /
Port C Setup
//------------------------------------------------ ------
TRISC = 0; / / configure PortC ca ieşire
PORTC = 0x00;
//------------------------------------------------ ------
/ / Shift de caractere la o / p la TV
//------------------------------------------------ ------
nule chrShift (nesemnate caracter chr)
(
PORTC = chr;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
)
//------------------------------------------------ ------
nule drawChar (int linie)
(
dacă (lineCount == 5)
(
dacă (RCIF)
(
serData = RCREG;
)
dacă (serData> = 65 & & serData <= 90)
(
chrOrder [ptr] = serData - 65;
)
else if (serData> = 97 & & serData <= 122)
(
chrOrder [ptr] = serData - 97 26;
)
else if (serData> = 48 & & serData <= 57)
(
chrOrder [ptr] = serData - 48 52;
)
ptr ;
chrOrder [ptr] = -1;
if (ptr == 9) ptr = 0;
j = 0;
în timp ce (chrOrder [j]! = -1)
(
k = chrOrder [j];
screen1 [j] = chrTable [k] [0];
screen2 [j] = chrTable [k] [1];
screen3 [j] = chrTable [k] [2];
screen4 [j] = chrTable [k] [3];
screen5 [j] = chrTable [k] [4];
screen6 [j] = chrTable [k] [5];
j ;
)
)dacă (lineCount == linia 2) / / linia1
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 4) / / linie2
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 6) / / line3
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linie
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
/ / line4
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 10) / / line5
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 12) / / line6
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
) / / sfârşitul drawChar
//************************************************ *************************************
/ / * Main
//************************************************ *************************************
principale (gol)
(
PAL_Init ();
în timp ce (1)
(
dacă (HSync == 1 & & VSync == 0)
(
drawChar (9
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
;
HSync = 0;
) / / sfârşitul dacă
) / / sfârşitul în timp ce
) / / scop principal
Fac un proiect pentru a accepta serie de caractere date & vedere aceste caractere pe PAL Sytem TV.
Pentru vizualizarea caractere de date stocate în ROM PIC Am perfect o / p la TV.
Pentru serial de comunicare cu PC-ul am o frumoasă o / p la hiper-terminal
DAR
când încerc să combine cele două părţi am primit nici o eroare, dar am primit nici o / p la TV.
Este pentru că eu
sunt schimbătoare de date cu privire la portul C şi, în acelaşi timp, eu
sunt, folosind TX & RC pe ghimpi 6
şi 7 în port, C?
ce crezi?
Notă: unele din cod nu sunt aici.
//------------------------------------------------ ------
/ / B PORT Setup
//------------------------------------------------ ------
TRISB = 0; / / configure PortB ca ieşire
PORTB = 0x00;
//------------------------------------------------ ------
/ /
Port C Setup
//------------------------------------------------ ------
TRISC = 0; / / configure PortC ca ieşire
PORTC = 0x00;
//------------------------------------------------ ------
/ / Shift de caractere la o / p la TV
//------------------------------------------------ ------
nule chrShift (nesemnate caracter chr)
(
PORTC = chr;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
PORTC>> = 1;
)
//------------------------------------------------ ------
nule drawChar (int linie)
(
dacă (lineCount == 5)
(
dacă (RCIF)
(
serData = RCREG;
)
dacă (serData> = 65 & & serData <= 90)
(
chrOrder [ptr] = serData - 65;
)
else if (serData> = 97 & & serData <= 122)
(
chrOrder [ptr] = serData - 97 26;
)
else if (serData> = 48 & & serData <= 57)
(
chrOrder [ptr] = serData - 48 52;
)
ptr ;
chrOrder [ptr] = -1;
if (ptr == 9) ptr = 0;
j = 0;
în timp ce (chrOrder [j]! = -1)
(
k = chrOrder [j];
screen1 [j] = chrTable [k] [0];
screen2 [j] = chrTable [k] [1];
screen3 [j] = chrTable [k] [2];
screen4 [j] = chrTable [k] [3];
screen5 [j] = chrTable [k] [4];
screen6 [j] = chrTable [k] [5];
j ;
)
)dacă (lineCount == linia 2) / / linia1
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
chrShift (screen1 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 4) / / linie2
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
chrShift (screen2 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 6) / / line3
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
chrShift (screen3 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linie
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
/ / line4
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
chrShift (screen4 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 10) / / line5
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
chrShift (screen5 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
dacă (lineCount == linia 12) / / line6
(
/ / # asm delay10 ();
/ / # endasm
delay20 ();
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
chrShift (screen6 [i ]);
PORTC = 0;
i = 0;
HSync = 0;
)
) / / sfârşitul drawChar
//************************************************ *************************************
/ / * Main
//************************************************ *************************************
principale (gol)
(
PAL_Init ();
în timp ce (1)
(
dacă (HSync == 1 & & VSync == 0)
(
drawChar (9
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
;
HSync = 0;
) / / sfârşitul dacă
) / / sfârşitul în timp ce
) / / scop principal