H
hbaocr
Guest
hello;
Man ir projekts, izmantojot GLCD (Phillip Chipset izmantot Nokia 6100)!Un es satiku liela problēma, kad kodēšanas ar it.I nezinu kāpēc mans kods incorrect.Here ka kods
Kods:
/************************************************* *** // / LPC2148 -----> GLCD (6100 displejs PCF8833)
/ / MOSI (P0.6) ------> DATI (pin 3)
/ / SCK (P0.4) ------> SCK
/ / Miso (P0.5) ------- NC
/ / P0.2 ------> RS
/ / P0.7) ------------> CS
/ / P0.3---------------> mirgot# ietver "LPC214x.H"
/ * Pototype sadaļā * / / / LPC2148 MPU Reģistrēties
/ / define par LCD
/************************************************* ****************************
Komandēt LCD NOKIA6100 (Phillips Chipset)
************************************************** ***************************/
# define NOP 0x00 / / nop
# define SWRESET 0x01 / / programmatūras reset
# define BSTROFF 0x02 / / pastiprinātājs sprieguma OFF
# define BSTRON 0x03 / / pastiprinātājs sprieguma ON
# define RDDIDIF 0x04 / / lasīt displejs identifikācija
# define RDDST 0x09 / / lasīt displejs status
# define SLEEPIN 0x10 / / miega in
# define SLEEPOUT 0x11 / / miega ārpus
# define PTLON 0x12 / / daļēji displeja režīmu
# define NORON 0x13 / / displejs normālā režīmā
# define INVOFF 0x20 / / inversija OFF
# define INVON 0x21 / / inversija ON
# define DALO 0x22 / / visi pixel OFF
# define Dal 0x23 / / visi pixel ON
# define SETCON 0x25 / / rakstīt kontrasts
# define DISPOFF 0x28 / / displejs OFF
# define DISPON 0x29 / / displejs
# define CASET 0x2A / / kolonna adrese, kas noteikta
# define PASET 0x2B / / lapas adrese, kas noteikta
# define RAMWR 0x2C / / atmiņa rakstīt
# define RGBSET 0x2D / / krāsa, kas
# define PTLAR 0x30 / / daļēji platība
# define VSCRDEF 0x33 / / vertikālā ritināšanu definīcija
# define TEOFF 0x34 / / testa režīmā
# define TEON 0x35 / / testa režīmā
# define MADCTL 0x36 / / atmiņas piekļuves kontrole
# define SEP 0x37 / / vertikālā ritināšanu sākt adrese
# define IDMOFF 0x38 / / tukšgaitas režīmā OFF
# define IDMON 0x39 / / tukšgaitas režīmā ON
# define COLMOD 0x3A / / interfeisa pikseļu formāts
# define SETVOP 0xB0 / / kopums Vop
# define BRS 0xB4 / / apakšējā rindā mijmaiņas
# define TRS 0xB6 / / augšējā rindā mijmaiņas
# define DISCTR 0xB9 / / displejs kontrole
# define maijvabole 0xBA / / datu lai
# define TCDFE 0xBD / / aktivizēt / deaktivizēt DF temperatūras kompensācijas
# define TCVOPE 0xBF / / aktivizēt / deaktivizēt Vop temp comp
# define EK 0xC0 / / iekšējo vai ārējo oscilatoru
# define SETMUL 0xC2 / / noteikts reizināšanas koeficients
# define TCVOPAB 0xC3 / / kopums TCVOP nogāzes A un B
# define TCVOPCD 0xC4 / / kopums TCVOP nogāzes c un d
# define TCDF 0xC5 / / noteikts dalītāju biežums
# define DF8COLOR 0xC6 / / noteikts dalītāju biežums 8-krāsu režīmā
# define SETBS 0xC7 / / noteikts slīpo sistēma
# define RDTEMP 0xC8 / / temperatūras lasīt atpakaļ
# define NLI 0xC9 / / n-line inversija
# define RDID1 0xDA / / lasīt ID1
# define RDID2 0xDB / / lasīt ID2
# define RDID3 0xDC / / lasīt ID3
/ / define pin
# define RS (1 <<2)
# define CS (1 <<7)
# define BL (1 <<3)
# define SDA (1 <<6) / / MOSI
# define CLK (1 <<4) / / CLK
/ / define programma
//************************************************ *****************************
/ / Programmas definīcija
//************************************************ *****************************/
# define CS0 IOCLR0 = CS
# define CS1 IOSET0 = CS
# define CLK0 IOCLR0 = CLK
# define CLK1 IOSET0 = CLK
# define SDA0 IOCLR0 = SDA
# define SDA1 IOSET0 = SDA
# define RESET0 IOCLR0 = RS
# define RESET1 IOSET0 = RS/ * Pototype sadaļā * /
//************************************************ ****************************
/ / Program prototips
//************************************************ ****************************
anulēts lcd_init (spēkā neesošs);
anulēts spi_init (spēkā neesošs);
anulēts sendData (neparakstīta CHAR datus);
anulēts sendCMD (neparakstīta CHAR KOM);
anulēts LCD_put_pixel (neparakstīta CHAR krāsu, neparakstīts CHAR x, neparakstīts CHAR y);anulēts delay_ms (neparakstīta ilgi int); / / aizkaves laiks Amats
/ / galvenā funkcijaint galvenās (anulēts)
(
neparakstīts int i;
/ / int
IODIR0 = CS | CLK | SDA | RS;
lcd_init ();
tajā pašā laikā (1)
(
(i = 1; i <131; i )
(
LCD_put_pixel (0xFC, i, 50);
)
/ / testa kods
)
)
//============= spi int ==================anulēts spi_init (spēkā neesošs)
(
PINSEL0 | = 0x00001500; / /, kas port0.4-0,6 SPI0/ / SPI0 sākotnējā funkcija LCD6100
S0SPCCR = 8; / / SPI0 CLK = VPB CLK / S0PCCR
/ / 7,5 MHz = 60 MHz / 8
/ / SPI0 Reģistrēties kontrole
S0SPCR = 0x00000924; / / 9 bitu datu
/ / CPHA = 0, CPOL = 0
/ / MPU kapteinis
/ / MSB pirmo
/ / SPIF pārtrauc nespēj
)
//============= end funkcija ==============/************************************************* ****************************
LCD sākotnējā funkcija
************************************************** ***************************/
anulēts lcd_init (spēkā neesošs)
(
int i = 0;spi_init ();/ *** Hardware Reset LCD *** /
RESET0;
delay_ms (10);
RESET1;
delay_ms (10);
/ *** Sākuma stāvoklis *** /
CS0; / / CHO phep LCD
sendCMD (SWRESET); / / Software Reset LCD
delay_ms (10);sendCMD (SLEEPOUT); / / miega ārpus
delay_ms (10);
/ / sendCMD (INVON); / /, šķiet, ir nepieciešams šis kontrolierissendCMD (COLMOD); / / 8 bitu krāsu
sendData (0x02);
sendCMD (NORON); / / Normal Displejs
sendCMD (MADCTL); / / atmiņas piekļuves kontrole
sendData (0x40); / / Miror XsendCMD (SETCON); / /, kas kontrasts
sendData (63);
delay_ms (10);sendCMD (DISPON); / / displejs
delay_ms (10);/ *** Set Black Coulour, lai Backgound *** /
sendCMD (CASET);
sendData (0);
sendData (131);
sendCMD (PASET);
sendData (1);
sendData (131);
sendCMD (RAMWR);
(i = 0; i <(131 * 131), i )
(
sendData (0);
)
)/************************************************* ****************************
Sūtīt komandu LCD Amats
************************************************** ***************************/
anulēts sendCMD (neparakstīta CHAR com)
(
CS0; / / chip izvēlieties iespēju
S0SPDR = lv & ~ 0x0100; / / For Command MSB "LOW"
kamēr ((S0SPSR & 0x80)! = 0x80 ){;;} / / Uzgaidiet SPIF = 1 (SPI Sūtīt Complete)
CS1; / / noņemiet
)/************************************************* ****************************
Sūtīt dati LCD funkcija
************************************************** ***************************/
anulēts sendData (neparakstīta CHAR dati)
(
CS0;
S0SPDR = dati | 0x0100; / / For Data MSB ir "AUGSTS"
kamēr ((S0SPSR & 0x80)! = 0x80 ){;;} / / Uzgaidiet SPIF = 1 (SPI Sūtīt Complete)
CS1;
)/************************************************* ****************************
LCD plot pixel par LCD Amats
************************************************** ***************************/anulēts LCD_put_pixel (neparakstīta CHAR krāsu, neparakstīts CHAR x, neparakstīts CHAR y)
(
sendCMD (PASET); / / lapa sākuma / beigu ram = Row
sendData
;
sendData (131);
sendCMD (CASET); / / kolonna sākuma / beigu ram = Colum
sendData (x);
sendData (131);
sendCMD (RAMWR); / / rakstīt DATI
sendData (krāsu);
)
/***********************/
/ * Aizkaves laiks Amats * /
/***********************/anulēts delay_ms (neparakstīta ilgi int count1)
(
neparakstīts int i, k;
k = count1 * 2600;
(i = 0; i <k, i ); / / Cikls Samazinājums Counter
)
Man ir projekts, izmantojot GLCD (Phillip Chipset izmantot Nokia 6100)!Un es satiku liela problēma, kad kodēšanas ar it.I nezinu kāpēc mans kods incorrect.Here ka kods
Kods:
/************************************************* *** // / LPC2148 -----> GLCD (6100 displejs PCF8833)
/ / MOSI (P0.6) ------> DATI (pin 3)
/ / SCK (P0.4) ------> SCK
/ / Miso (P0.5) ------- NC
/ / P0.2 ------> RS
/ / P0.7) ------------> CS
/ / P0.3---------------> mirgot# ietver "LPC214x.H"
/ * Pototype sadaļā * / / / LPC2148 MPU Reģistrēties
/ / define par LCD
/************************************************* ****************************
Komandēt LCD NOKIA6100 (Phillips Chipset)
************************************************** ***************************/
# define NOP 0x00 / / nop
# define SWRESET 0x01 / / programmatūras reset
# define BSTROFF 0x02 / / pastiprinātājs sprieguma OFF
# define BSTRON 0x03 / / pastiprinātājs sprieguma ON
# define RDDIDIF 0x04 / / lasīt displejs identifikācija
# define RDDST 0x09 / / lasīt displejs status
# define SLEEPIN 0x10 / / miega in
# define SLEEPOUT 0x11 / / miega ārpus
# define PTLON 0x12 / / daļēji displeja režīmu
# define NORON 0x13 / / displejs normālā režīmā
# define INVOFF 0x20 / / inversija OFF
# define INVON 0x21 / / inversija ON
# define DALO 0x22 / / visi pixel OFF
# define Dal 0x23 / / visi pixel ON
# define SETCON 0x25 / / rakstīt kontrasts
# define DISPOFF 0x28 / / displejs OFF
# define DISPON 0x29 / / displejs
# define CASET 0x2A / / kolonna adrese, kas noteikta
# define PASET 0x2B / / lapas adrese, kas noteikta
# define RAMWR 0x2C / / atmiņa rakstīt
# define RGBSET 0x2D / / krāsa, kas
# define PTLAR 0x30 / / daļēji platība
# define VSCRDEF 0x33 / / vertikālā ritināšanu definīcija
# define TEOFF 0x34 / / testa režīmā
# define TEON 0x35 / / testa režīmā
# define MADCTL 0x36 / / atmiņas piekļuves kontrole
# define SEP 0x37 / / vertikālā ritināšanu sākt adrese
# define IDMOFF 0x38 / / tukšgaitas režīmā OFF
# define IDMON 0x39 / / tukšgaitas režīmā ON
# define COLMOD 0x3A / / interfeisa pikseļu formāts
# define SETVOP 0xB0 / / kopums Vop
# define BRS 0xB4 / / apakšējā rindā mijmaiņas
# define TRS 0xB6 / / augšējā rindā mijmaiņas
# define DISCTR 0xB9 / / displejs kontrole
# define maijvabole 0xBA / / datu lai
# define TCDFE 0xBD / / aktivizēt / deaktivizēt DF temperatūras kompensācijas
# define TCVOPE 0xBF / / aktivizēt / deaktivizēt Vop temp comp
# define EK 0xC0 / / iekšējo vai ārējo oscilatoru
# define SETMUL 0xC2 / / noteikts reizināšanas koeficients
# define TCVOPAB 0xC3 / / kopums TCVOP nogāzes A un B
# define TCVOPCD 0xC4 / / kopums TCVOP nogāzes c un d
# define TCDF 0xC5 / / noteikts dalītāju biežums
# define DF8COLOR 0xC6 / / noteikts dalītāju biežums 8-krāsu režīmā
# define SETBS 0xC7 / / noteikts slīpo sistēma
# define RDTEMP 0xC8 / / temperatūras lasīt atpakaļ
# define NLI 0xC9 / / n-line inversija
# define RDID1 0xDA / / lasīt ID1
# define RDID2 0xDB / / lasīt ID2
# define RDID3 0xDC / / lasīt ID3
/ / define pin
# define RS (1 <<2)
# define CS (1 <<7)
# define BL (1 <<3)
# define SDA (1 <<6) / / MOSI
# define CLK (1 <<4) / / CLK
/ / define programma
//************************************************ *****************************
/ / Programmas definīcija
//************************************************ *****************************/
# define CS0 IOCLR0 = CS
# define CS1 IOSET0 = CS
# define CLK0 IOCLR0 = CLK
# define CLK1 IOSET0 = CLK
# define SDA0 IOCLR0 = SDA
# define SDA1 IOSET0 = SDA
# define RESET0 IOCLR0 = RS
# define RESET1 IOSET0 = RS/ * Pototype sadaļā * /
//************************************************ ****************************
/ / Program prototips
//************************************************ ****************************
anulēts lcd_init (spēkā neesošs);
anulēts spi_init (spēkā neesošs);
anulēts sendData (neparakstīta CHAR datus);
anulēts sendCMD (neparakstīta CHAR KOM);
anulēts LCD_put_pixel (neparakstīta CHAR krāsu, neparakstīts CHAR x, neparakstīts CHAR y);anulēts delay_ms (neparakstīta ilgi int); / / aizkaves laiks Amats
/ / galvenā funkcijaint galvenās (anulēts)
(
neparakstīts int i;
/ / int
IODIR0 = CS | CLK | SDA | RS;
lcd_init ();
tajā pašā laikā (1)
(
(i = 1; i <131; i )
(
LCD_put_pixel (0xFC, i, 50);
)
/ / testa kods
)
)
//============= spi int ==================anulēts spi_init (spēkā neesošs)
(
PINSEL0 | = 0x00001500; / /, kas port0.4-0,6 SPI0/ / SPI0 sākotnējā funkcija LCD6100
S0SPCCR = 8; / / SPI0 CLK = VPB CLK / S0PCCR
/ / 7,5 MHz = 60 MHz / 8
/ / SPI0 Reģistrēties kontrole
S0SPCR = 0x00000924; / / 9 bitu datu
/ / CPHA = 0, CPOL = 0
/ / MPU kapteinis
/ / MSB pirmo
/ / SPIF pārtrauc nespēj
)
//============= end funkcija ==============/************************************************* ****************************
LCD sākotnējā funkcija
************************************************** ***************************/
anulēts lcd_init (spēkā neesošs)
(
int i = 0;spi_init ();/ *** Hardware Reset LCD *** /
RESET0;
delay_ms (10);
RESET1;
delay_ms (10);
/ *** Sākuma stāvoklis *** /
CS0; / / CHO phep LCD
sendCMD (SWRESET); / / Software Reset LCD
delay_ms (10);sendCMD (SLEEPOUT); / / miega ārpus
delay_ms (10);
/ / sendCMD (INVON); / /, šķiet, ir nepieciešams šis kontrolierissendCMD (COLMOD); / / 8 bitu krāsu
sendData (0x02);
sendCMD (NORON); / / Normal Displejs
sendCMD (MADCTL); / / atmiņas piekļuves kontrole
sendData (0x40); / / Miror XsendCMD (SETCON); / /, kas kontrasts
sendData (63);
delay_ms (10);sendCMD (DISPON); / / displejs
delay_ms (10);/ *** Set Black Coulour, lai Backgound *** /
sendCMD (CASET);
sendData (0);
sendData (131);
sendCMD (PASET);
sendData (1);
sendData (131);
sendCMD (RAMWR);
(i = 0; i <(131 * 131), i )
(
sendData (0);
)
)/************************************************* ****************************
Sūtīt komandu LCD Amats
************************************************** ***************************/
anulēts sendCMD (neparakstīta CHAR com)
(
CS0; / / chip izvēlieties iespēju
S0SPDR = lv & ~ 0x0100; / / For Command MSB "LOW"
kamēr ((S0SPSR & 0x80)! = 0x80 ){;;} / / Uzgaidiet SPIF = 1 (SPI Sūtīt Complete)
CS1; / / noņemiet
)/************************************************* ****************************
Sūtīt dati LCD funkcija
************************************************** ***************************/
anulēts sendData (neparakstīta CHAR dati)
(
CS0;
S0SPDR = dati | 0x0100; / / For Data MSB ir "AUGSTS"
kamēr ((S0SPSR & 0x80)! = 0x80 ){;;} / / Uzgaidiet SPIF = 1 (SPI Sūtīt Complete)
CS1;
)/************************************************* ****************************
LCD plot pixel par LCD Amats
************************************************** ***************************/anulēts LCD_put_pixel (neparakstīta CHAR krāsu, neparakstīts CHAR x, neparakstīts CHAR y)
(
sendCMD (PASET); / / lapa sākuma / beigu ram = Row
sendData
sendData (131);
sendCMD (CASET); / / kolonna sākuma / beigu ram = Colum
sendData (x);
sendData (131);
sendCMD (RAMWR); / / rakstīt DATI
sendData (krāsu);
)
/***********************/
/ * Aizkaves laiks Amats * /
/***********************/anulēts delay_ms (neparakstīta ilgi int count1)
(
neparakstīts int i, k;
k = count1 * 2600;
(i = 0; i <k, i ); / / Cikls Samazinājums Counter
)