M
mariale442
Guest
I'm migruojančias mano PIC18F452 kodą į PIC18F4620 ir aš pakimba su LCD kodas.Kokia buvo darbo baudą į 452 dabar ne į 4620.
Ar kas nors susidūrė su tokio pobūdžio problemomis.
Tai prety labai svarbu man, kad tai darbas, kad bet kokia pagalba bus vertinama.
Dėkoju jums visiems.
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />
Parašytas po 16 minučių:Tai mano kodas.
Nežinau, kuri yra problema
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />-------------------------------------------------- ---------------------------------------------
Tai failą:
-------------------------------------------------- ---------------------------------------------
#
include "lcdconfig.h"
#
include <p18f4620.h>
VOID lcd_wait ();
VOID lcd_init ();
VOID wrcmd (char);
VOID sustabdyti (INT num)
/ / Elektrifikavimo kasdieninį sustabdyti už
/ / Tam tikrą laikotarpį.
(While (p -)
(/ * neveikimas * /
)
)
VOID lcd_init ()
/ / Initialise LCD ekranas.
(PORTA = TRISA = 0;
TRISB = PORTB = 0xFF;
ADCON1 = 7;
wrcmd (0x30); / / 8-bit mode - 1 eilutė.
wrcmd (LCD_SETVISIBLE
0 x04); / / Rodyti tik - ne ymeklis.
wrcmd (LCD_SETMODE
0 x02); / / Automatinis didinti - Rodyti perėjimas į kairę.
wrcmd (LCD_SETDDADDR
0 x0F); / / Pradinė pozicija dešinėje.
)
VOID clearscreen ()
/ / Clear LCD ekrano ir iš naujo
/ / Pradinę padėtį.
(Wrcmd (LCD_CLS);
wrcmd (LCD_SETDDADDR
0 x00);
)
/***** Elektrifikavimo funkcijos *****/
/ / Rašyti komandą LCD ekranas.
VOID wrcmd (CHAR cmdcode)
(TRISB = 0;
PORTB = cmdcode;
/ / Rašykite PORTB su sklende duomenis į ekraną.
/ / Toggle Pin "E" siųsti komandą.
PORTA = LCD_CMD_WR;
PORTA | = E_PIN_MASK;
Nop ();
PORTA & = ~ E_PIN_MASK;
lcd_wait ();
)
VOID wrdata (CHAR duomenų)
/ / Rašyti Rašmenų į LCD.
(TRISB = 0;
PORTB = duomenys;
PORTA = LCD_DATA_WR;
PORTA | = E_PIN_MASK;
Nop ();
PORTA & = ~ E_PIN_MASK;
lcd_wait ();
)
/ / Palaukite LCD užimtas vėliava aiškus.
VOID lcd_wait ()
(Byte statusą;
TRISB = 0xFF;
PORTA = LCD_BUSY_RD;
daryti
(PORTA | = E_PIN_MASK;
Nop ();
status = PORTB;
PORTA & = ~ E_PIN_MASK;
) While (statusas & 0x80);
)
CHAR BUF [16] = "1. Consultar";
/ / Initialise mūsų kintamieji ir skambinti
/ / Asamblėjos kasdieninį į Initialise LCD ekranas.
VOID calc_display (CHAR BUF [16])
/ / Naudoti Išvesties ir Clearscreen kasdienybe iš
/ / * LCD_Write * surinkimo failą išvesties ascii vertės LCD.
(INT8 i;
clearscreen ();
for (i = 0; i <strlen (BUF); i )
/ / (If (BUF [calc_testkey (BUF ) | | BUF == 0x2D)
(
wrdata (BUF );
Pauzė (5000);
)
/ /)
)Void main (void)
(Lcd_init ();
calc_display (BUF);
)-------------------------------------------------- ---------------------------------------------
tai yra failo pavadinimu:
-------------------------------------------------- ---------------------------------------------
Typedef tuščia VOID;
Typedef int INT;
Typedef pasirašė char INT8;
Typedef pasirašė int INT16;
Typedef pasirašė ilgai Int32;
Typedef Nepasirašytos trumpas;
Typedef char CHAR;
typedef unsigned char byte;
Typedef dvigubo plaustas;
Typedef ilgai ilgai;
Typedef INT8 BOOL;
/ / LCD Config
# define MAX_DISPLAY_CHAR 16/ / LCD registrų adresai (UOSTO B)
# define LCD_CMD_WR 0x00
# define LCD_DATA_WR 0x01
# define LCD_BUSY_RD 0x02
# define LCD_DATA_RD 0x03
/ / LCD Komandos
# define LCD_CLS 0x01
# define LCD_HOME 0x02
# define LCD_SETMODE 0x04
# define LCD_SETVISIBLE 0x08
# define LCD_SHIFT 0x10
# define LCD_SETFUNCTION 0x20
# define LCD_SETCGADDR 0x40
# define LCD_SETDDADDR 0x80
# define E_PIN_MASK 0x04
# define FALSE 0
# define TRUE 1
-------------------------------------------------- ------------------------------------------
padėti meeeeeee ...
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />
Ar kas nors susidūrė su tokio pobūdžio problemomis.
Tai prety labai svarbu man, kad tai darbas, kad bet kokia pagalba bus vertinama.
Dėkoju jums visiems.
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />
Parašytas po 16 minučių:Tai mano kodas.
Nežinau, kuri yra problema
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />-------------------------------------------------- ---------------------------------------------
Tai failą:
-------------------------------------------------- ---------------------------------------------
#
include "lcdconfig.h"
#
include <p18f4620.h>
VOID lcd_wait ();
VOID lcd_init ();
VOID wrcmd (char);
VOID sustabdyti (INT num)
/ / Elektrifikavimo kasdieninį sustabdyti už
/ / Tam tikrą laikotarpį.
(While (p -)
(/ * neveikimas * /
)
)
VOID lcd_init ()
/ / Initialise LCD ekranas.
(PORTA = TRISA = 0;
TRISB = PORTB = 0xFF;
ADCON1 = 7;
wrcmd (0x30); / / 8-bit mode - 1 eilutė.
wrcmd (LCD_SETVISIBLE
0 x04); / / Rodyti tik - ne ymeklis.
wrcmd (LCD_SETMODE
0 x02); / / Automatinis didinti - Rodyti perėjimas į kairę.
wrcmd (LCD_SETDDADDR
0 x0F); / / Pradinė pozicija dešinėje.
)
VOID clearscreen ()
/ / Clear LCD ekrano ir iš naujo
/ / Pradinę padėtį.
(Wrcmd (LCD_CLS);
wrcmd (LCD_SETDDADDR
0 x00);
)
/***** Elektrifikavimo funkcijos *****/
/ / Rašyti komandą LCD ekranas.
VOID wrcmd (CHAR cmdcode)
(TRISB = 0;
PORTB = cmdcode;
/ / Rašykite PORTB su sklende duomenis į ekraną.
/ / Toggle Pin "E" siųsti komandą.
PORTA = LCD_CMD_WR;
PORTA | = E_PIN_MASK;
Nop ();
PORTA & = ~ E_PIN_MASK;
lcd_wait ();
)
VOID wrdata (CHAR duomenų)
/ / Rašyti Rašmenų į LCD.
(TRISB = 0;
PORTB = duomenys;
PORTA = LCD_DATA_WR;
PORTA | = E_PIN_MASK;
Nop ();
PORTA & = ~ E_PIN_MASK;
lcd_wait ();
)
/ / Palaukite LCD užimtas vėliava aiškus.
VOID lcd_wait ()
(Byte statusą;
TRISB = 0xFF;
PORTA = LCD_BUSY_RD;
daryti
(PORTA | = E_PIN_MASK;
Nop ();
status = PORTB;
PORTA & = ~ E_PIN_MASK;
) While (statusas & 0x80);
)
CHAR BUF [16] = "1. Consultar";
/ / Initialise mūsų kintamieji ir skambinti
/ / Asamblėjos kasdieninį į Initialise LCD ekranas.
VOID calc_display (CHAR BUF [16])
/ / Naudoti Išvesties ir Clearscreen kasdienybe iš
/ / * LCD_Write * surinkimo failą išvesties ascii vertės LCD.
(INT8 i;
clearscreen ();
for (i = 0; i <strlen (BUF); i )
/ / (If (BUF [calc_testkey (BUF ) | | BUF == 0x2D)
(
wrdata (BUF );
Pauzė (5000);
)
/ /)
)Void main (void)
(Lcd_init ();
calc_display (BUF);
)-------------------------------------------------- ---------------------------------------------
tai yra failo pavadinimu:
-------------------------------------------------- ---------------------------------------------
Typedef tuščia VOID;
Typedef int INT;
Typedef pasirašė char INT8;
Typedef pasirašė int INT16;
Typedef pasirašė ilgai Int32;
Typedef Nepasirašytos trumpas;
Typedef char CHAR;
typedef unsigned char byte;
Typedef dvigubo plaustas;
Typedef ilgai ilgai;
Typedef INT8 BOOL;
/ / LCD Config
# define MAX_DISPLAY_CHAR 16/ / LCD registrų adresai (UOSTO B)
# define LCD_CMD_WR 0x00
# define LCD_DATA_WR 0x01
# define LCD_BUSY_RD 0x02
# define LCD_DATA_RD 0x03
/ / LCD Komandos
# define LCD_CLS 0x01
# define LCD_HOME 0x02
# define LCD_SETMODE 0x04
# define LCD_SETVISIBLE 0x08
# define LCD_SHIFT 0x10
# define LCD_SETFUNCTION 0x20
# define LCD_SETCGADDR 0x40
# define LCD_SETDDADDR 0x80
# define E_PIN_MASK 0x04
# define FALSE 0
# define TRUE 1
-------------------------------------------------- ------------------------------------------
padėti meeeeeee ...
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ar Labai liūdna" border="0" />