H
hbaocr
Guest
hello;
Aš projekto naudojant GLCD (Phillip chipsetem naudoti NOKIA 6100)!Ir aš susitiko didelė problema, kai kodavimas, it.I nežinau kodėl mano kodas incorrect.Here kad kodas
Kodas:
/************************************************* *** // / LPC2148 -----> GLCD (6100 ekranas PCF8833)
/ / MOSI (P0.6) ------> DUOMENŲ (pin 3)
/ / SCK (P0.4) ------> SCK
/ / Sojų pasta (P0.5) ------- NC
/ / P0.2 ------> RS
/ / P0.7) ------------> CS
/ / P0.3---------------> Blink# include "LPC214x.H"
/ * Pototype skirsnis * / / / LPC2148 mpu Registruotis
/ / define LCD
/************************************************* ****************************
Command LCD NOKIA6100 (Phillips chipsetem)
************************************************** ***************************/
# define NOP 0x00 / / nop
# define SWRESET 0x01 / / programinė įranga iš naujo
# define BSTROFF 0x02 / / paaukštinta įtampa OFF
# define BSTRON 0x03 / / paaukštinta įtampa dėl
# define RDDIDIF 0x04 / / skaityti ekrano identifikavimo
# define RDDST 0x09 / / skaityti ekrano statusas
# define Sleepin 0x10 / / miegoti
# define SLEEPOUT 0x11 / / miego iš
# define PTLON 0x12 / / dalinio ekrano režimą
# define Noron 0x13 / / rodomas įprastu režimu
# define INVOFF 0x20 / / inversija OFF
# define INVON 0x21 / / inversija DĖL
# define DALO 0x22 / / visus pikseliui OFF
# define DAL 0x23 / / visus pikseliui DĖL
# define SETCON 0x25 / įrašymo / kontrastas
# define DISPOFF 0x28 / / rodyti OFF
# define DISPON 0x29 / / rodyti
# define CASET 0x2A / / adreso stulpelio nustatyti
# define PASET 0x2B / / puslapio adresą, nustatytus
# define RAMWR 0x2C / / įrašymo į atmintį
# define RGBSET 0x2D / / spalvų rinkinys
# define PTLAR 0x30 / / dalinis srityje
# define VSCRDEF 0x33 / / vertikalią slinktį apibrėžimas
# define TEOFF 0x34 / / bandymo būdas
# define TEON 0x35 / / bandymo būdas
# define MADCTL 0x36 / / atminties prieigos kontrolės
# define SEP 0x37 / / vertikalią slinktį pradėti adresas
# define IDMOFF 0x38 / / tuščiosios eigos režimu OFF
# define IDMON 0x39 / / tuščiosios eigos režimas
# define COLMOD 0x3A / / sąsaja taškų formatas
# define SETVOP 0xB0 / / nustatyti Vop
# define GRSRS 0xB4 / / apatinėje eilutėje apsikeitimo
# define TRS 0xB6 / / viršutinėje eilutėje apsikeitimo
# define DISCTR 0xB9 / / rodyti kontrolės
# define DOR 0xBA / / duomenų kad
# define TCDFE 0xBD / / įjungti / išjungti DF Temperatūros kompensacija
# define TCVOPE 0xBF / / įjungti / išjungti Vop temp comp
# define EB 0xC0 / / vidaus ar išorės generatorius
# define SETMUL 0xC2 / / nustatyti koeficientas
# define TCVOPAB 0xC3 / / nustatyti TCVOP linkę A ir B
# define TCVOPCD 0xC4 / / nustatyti TCVOP linkę c ir d
# define TCDF 0xC5 / / nustatyti dažnio daliklis
# define DF8COLOR 0xC6 / / diegimas daliklis dažnių 8 spalvų
# define SETBS 0xC7 / / nustatyti įstrižinės sistema
# define RDTEMP 0xC8 / / temperatūros Skaityti atgal
# define PIP 0xC9 / / n-line Inversija
# define RDID1 0xDA / / skaityti ID1
# define RDID2 0xDB / / skaityti ID2
# define RDID3 0xDC / / skaityti ID3
/ / define Kaisčiai
# define RS (1 <<2)
# define CS (1 <<7)
# define BL (1 <<3)
# define SDA (1 <<6) / / MOSI
# define CLK (1 <<4) / / CLK
//define program
//************************************************ *****************************
/ / Programos apibrėžimas
//************************************************ *****************************/
# define CS0 IOCLR0 = CS
# define CS1 IOSET0 = CS
# define CLK0 IOCLR0 = CLK
# define CLK1 IOSET0 = CLK
# define SDA0 IOCLR0 = Nuomoju
# define SDA1 IOSET0 = Nuomoju
# define RESET0 IOCLR0 = RS
# define RESET1 IOSET0 = RS/ * Pototype skirsnis * /
//************************************************ ****************************
/ / Programos prototipas
//************************************************ ****************************
tuščia lcd_init (void);
tuščia spi_init (void);
tuščia sendData (unsigned char duomenys);
tuščia sendCMD (unsigned char Lt);
tuščia LCD_put_pixel (unsigned char spalvotas, unsigned char x, unsigned char y);tuščia delay_ms (nepasiraðyta ilgai int); / / delsos laikas Pareigos
/ / Pagrindinė funkcijaint main (void)
(
unsigned int i;
/ / int
IODIR0 = CS | CLK | Nuomoju | RS;
lcd_init ();
o (1)
(
for (i = 1, i <131; i )
(
LCD_put_pixel (0xFC, i, 50);
)
/ / test code
)
)
//============= PIT int ==================tuščia spi_init (tuščia)
(
PINSEL0 | = 0x00001500; / / nustatyti port0.4-0.6 SPI0/ / SPI0 pradinė funkcija LCD6100
S0SPCCR = 8 / / SPI0 CLK = VPB CLK / S0PCCR
/ / 7.5 MHz = 60 MHz / 8
/ / SPI0 Registruokitės kontrolės
S0SPCR = 0x00000924; / / 9 bitų duomenų
/ / CPHA = 0, CPOL = 0
/ / Mpu kapitonas
/ / TPĮ pirmą
/ / SPIF pertraukinėja negali
)
//============= pabaigos funkcija ==============/************************************************* ****************************
LCD pradinio Pareigos
************************************************** ***************************/
tuščia lcd_init (tuščia)
(
int i = 0;spi_init ();/ *** Hardware Zresetuj LCD *** /
RESET0;
delay_ms (10);
RESET1;
delay_ms (10);
/ *** Pradinė valstybės *** /
CS0 / / cho phep LCD
sendCMD (SWRESET); / / Programinė įranga Zresetuj LCD
delay_ms (10);sendCMD (SLEEPOUT); / / pristabdytąją iš
delay_ms (10);
/ / sendCMD (INVON); / / atrodo būtina šio valdikliosendCMD (COLMOD); / / 8 bitų
sendData (0x02);
sendCMD (Noron); / / Paprastoji Ekranas
sendCMD (MADCTL); / / atminties prieigos kontrolės
sendData (0x40); / / Miror XsendCMD (SETCON); / / nustatyti kontrastas
sendData (63);
delay_ms (10);sendCMD (DISPON); / / rodyti
delay_ms (10);/ *** Nustatyti Juodosios Coulour į Backgound *** /
sendCMD (CASET);
sendData (0);
sendData (131);
sendCMD (PASET);
sendData (1);
sendData (131);
sendCMD (RAMWR);
for (i = 0; i <(131 * 131); i )
(
sendData (0);
)
)/************************************************* ****************************
Siųsti komandų LCD Pareigos
************************************************** ***************************/
tuščia sendCMD (unsigned char Ru)
(
CS0 / / lustą pasirinkite įjungti
S0SPDR = lt & ~ 0x0100 / / vadovavimo TPĮ "MAŽAI"
while ((S0SPSR & 0x80)! = 0x80 ){;;} / / Palaukite SPIF = 1 (SPI Siųsti Užbaigti)
CS1 / / odznaczyć
)/************************************************* ****************************
Siųsti duomenys LCD funkciją
************************************************** ***************************/
tuščia sendData (unsigned char duomenys)
(
CS0;
S0SPDR = duomenų | 0x0100 / / Nes duomenys TPĮ turi "DAUG"
while ((S0SPSR & 0x80)! = 0x80 ){;;} / / Palaukite SPIF = 1 (SPI Siųsti Užbaigti)
CS1;
)/************************************************* ****************************
LCD sklypo pikselių LCD Pareigos
************************************************** ***************************/tuščia LCD_put_pixel (unsigned char spalvotas, unsigned char x, unsigned char y)
(
sendCMD (PASET); / / puslapis pradžios / pabaigos barana = Eilutė
sendData
;
sendData (131);
sendCMD (CASET); / / stulpelis pradžios / pabaigos barana = Colum
sendData (x);
sendData (131);
sendCMD (RAMWR); / / rašyti DUOMENYS
sendData (spalvotas);
)
/***********************/
/ * Delsos laikas Pareigos * /
/***********************/tuščia delay_ms (nepasiraðyta ilgi int count1)
(
unsigned int i, k;
k = count1 * 2600;
for (i = 0; i <k; i ) / / Ciklas Sumažinti Skaitliukas
)
Aš projekto naudojant GLCD (Phillip chipsetem naudoti NOKIA 6100)!Ir aš susitiko didelė problema, kai kodavimas, it.I nežinau kodėl mano kodas incorrect.Here kad kodas
Kodas:
/************************************************* *** // / LPC2148 -----> GLCD (6100 ekranas PCF8833)
/ / MOSI (P0.6) ------> DUOMENŲ (pin 3)
/ / SCK (P0.4) ------> SCK
/ / Sojų pasta (P0.5) ------- NC
/ / P0.2 ------> RS
/ / P0.7) ------------> CS
/ / P0.3---------------> Blink# include "LPC214x.H"
/ * Pototype skirsnis * / / / LPC2148 mpu Registruotis
/ / define LCD
/************************************************* ****************************
Command LCD NOKIA6100 (Phillips chipsetem)
************************************************** ***************************/
# define NOP 0x00 / / nop
# define SWRESET 0x01 / / programinė įranga iš naujo
# define BSTROFF 0x02 / / paaukštinta įtampa OFF
# define BSTRON 0x03 / / paaukštinta įtampa dėl
# define RDDIDIF 0x04 / / skaityti ekrano identifikavimo
# define RDDST 0x09 / / skaityti ekrano statusas
# define Sleepin 0x10 / / miegoti
# define SLEEPOUT 0x11 / / miego iš
# define PTLON 0x12 / / dalinio ekrano režimą
# define Noron 0x13 / / rodomas įprastu režimu
# define INVOFF 0x20 / / inversija OFF
# define INVON 0x21 / / inversija DĖL
# define DALO 0x22 / / visus pikseliui OFF
# define DAL 0x23 / / visus pikseliui DĖL
# define SETCON 0x25 / įrašymo / kontrastas
# define DISPOFF 0x28 / / rodyti OFF
# define DISPON 0x29 / / rodyti
# define CASET 0x2A / / adreso stulpelio nustatyti
# define PASET 0x2B / / puslapio adresą, nustatytus
# define RAMWR 0x2C / / įrašymo į atmintį
# define RGBSET 0x2D / / spalvų rinkinys
# define PTLAR 0x30 / / dalinis srityje
# define VSCRDEF 0x33 / / vertikalią slinktį apibrėžimas
# define TEOFF 0x34 / / bandymo būdas
# define TEON 0x35 / / bandymo būdas
# define MADCTL 0x36 / / atminties prieigos kontrolės
# define SEP 0x37 / / vertikalią slinktį pradėti adresas
# define IDMOFF 0x38 / / tuščiosios eigos režimu OFF
# define IDMON 0x39 / / tuščiosios eigos režimas
# define COLMOD 0x3A / / sąsaja taškų formatas
# define SETVOP 0xB0 / / nustatyti Vop
# define GRSRS 0xB4 / / apatinėje eilutėje apsikeitimo
# define TRS 0xB6 / / viršutinėje eilutėje apsikeitimo
# define DISCTR 0xB9 / / rodyti kontrolės
# define DOR 0xBA / / duomenų kad
# define TCDFE 0xBD / / įjungti / išjungti DF Temperatūros kompensacija
# define TCVOPE 0xBF / / įjungti / išjungti Vop temp comp
# define EB 0xC0 / / vidaus ar išorės generatorius
# define SETMUL 0xC2 / / nustatyti koeficientas
# define TCVOPAB 0xC3 / / nustatyti TCVOP linkę A ir B
# define TCVOPCD 0xC4 / / nustatyti TCVOP linkę c ir d
# define TCDF 0xC5 / / nustatyti dažnio daliklis
# define DF8COLOR 0xC6 / / diegimas daliklis dažnių 8 spalvų
# define SETBS 0xC7 / / nustatyti įstrižinės sistema
# define RDTEMP 0xC8 / / temperatūros Skaityti atgal
# define PIP 0xC9 / / n-line Inversija
# define RDID1 0xDA / / skaityti ID1
# define RDID2 0xDB / / skaityti ID2
# define RDID3 0xDC / / skaityti ID3
/ / define Kaisčiai
# define RS (1 <<2)
# define CS (1 <<7)
# define BL (1 <<3)
# define SDA (1 <<6) / / MOSI
# define CLK (1 <<4) / / CLK
//define program
//************************************************ *****************************
/ / Programos apibrėžimas
//************************************************ *****************************/
# define CS0 IOCLR0 = CS
# define CS1 IOSET0 = CS
# define CLK0 IOCLR0 = CLK
# define CLK1 IOSET0 = CLK
# define SDA0 IOCLR0 = Nuomoju
# define SDA1 IOSET0 = Nuomoju
# define RESET0 IOCLR0 = RS
# define RESET1 IOSET0 = RS/ * Pototype skirsnis * /
//************************************************ ****************************
/ / Programos prototipas
//************************************************ ****************************
tuščia lcd_init (void);
tuščia spi_init (void);
tuščia sendData (unsigned char duomenys);
tuščia sendCMD (unsigned char Lt);
tuščia LCD_put_pixel (unsigned char spalvotas, unsigned char x, unsigned char y);tuščia delay_ms (nepasiraðyta ilgai int); / / delsos laikas Pareigos
/ / Pagrindinė funkcijaint main (void)
(
unsigned int i;
/ / int
IODIR0 = CS | CLK | Nuomoju | RS;
lcd_init ();
o (1)
(
for (i = 1, i <131; i )
(
LCD_put_pixel (0xFC, i, 50);
)
/ / test code
)
)
//============= PIT int ==================tuščia spi_init (tuščia)
(
PINSEL0 | = 0x00001500; / / nustatyti port0.4-0.6 SPI0/ / SPI0 pradinė funkcija LCD6100
S0SPCCR = 8 / / SPI0 CLK = VPB CLK / S0PCCR
/ / 7.5 MHz = 60 MHz / 8
/ / SPI0 Registruokitės kontrolės
S0SPCR = 0x00000924; / / 9 bitų duomenų
/ / CPHA = 0, CPOL = 0
/ / Mpu kapitonas
/ / TPĮ pirmą
/ / SPIF pertraukinėja negali
)
//============= pabaigos funkcija ==============/************************************************* ****************************
LCD pradinio Pareigos
************************************************** ***************************/
tuščia lcd_init (tuščia)
(
int i = 0;spi_init ();/ *** Hardware Zresetuj LCD *** /
RESET0;
delay_ms (10);
RESET1;
delay_ms (10);
/ *** Pradinė valstybės *** /
CS0 / / cho phep LCD
sendCMD (SWRESET); / / Programinė įranga Zresetuj LCD
delay_ms (10);sendCMD (SLEEPOUT); / / pristabdytąją iš
delay_ms (10);
/ / sendCMD (INVON); / / atrodo būtina šio valdikliosendCMD (COLMOD); / / 8 bitų
sendData (0x02);
sendCMD (Noron); / / Paprastoji Ekranas
sendCMD (MADCTL); / / atminties prieigos kontrolės
sendData (0x40); / / Miror XsendCMD (SETCON); / / nustatyti kontrastas
sendData (63);
delay_ms (10);sendCMD (DISPON); / / rodyti
delay_ms (10);/ *** Nustatyti Juodosios Coulour į Backgound *** /
sendCMD (CASET);
sendData (0);
sendData (131);
sendCMD (PASET);
sendData (1);
sendData (131);
sendCMD (RAMWR);
for (i = 0; i <(131 * 131); i )
(
sendData (0);
)
)/************************************************* ****************************
Siųsti komandų LCD Pareigos
************************************************** ***************************/
tuščia sendCMD (unsigned char Ru)
(
CS0 / / lustą pasirinkite įjungti
S0SPDR = lt & ~ 0x0100 / / vadovavimo TPĮ "MAŽAI"
while ((S0SPSR & 0x80)! = 0x80 ){;;} / / Palaukite SPIF = 1 (SPI Siųsti Užbaigti)
CS1 / / odznaczyć
)/************************************************* ****************************
Siųsti duomenys LCD funkciją
************************************************** ***************************/
tuščia sendData (unsigned char duomenys)
(
CS0;
S0SPDR = duomenų | 0x0100 / / Nes duomenys TPĮ turi "DAUG"
while ((S0SPSR & 0x80)! = 0x80 ){;;} / / Palaukite SPIF = 1 (SPI Siųsti Užbaigti)
CS1;
)/************************************************* ****************************
LCD sklypo pikselių LCD Pareigos
************************************************** ***************************/tuščia LCD_put_pixel (unsigned char spalvotas, unsigned char x, unsigned char y)
(
sendCMD (PASET); / / puslapis pradžios / pabaigos barana = Eilutė
sendData
sendData (131);
sendCMD (CASET); / / stulpelis pradžios / pabaigos barana = Colum
sendData (x);
sendData (131);
sendCMD (RAMWR); / / rašyti DUOMENYS
sendData (spalvotas);
)
/***********************/
/ * Delsos laikas Pareigos * /
/***********************/tuščia delay_ms (nepasiraðyta ilgi int count1)
(
unsigned int i, k;
k = count1 * 2600;
for (i = 0; i <k; i ) / / Ciklas Sumažinti Skaitliukas
)