GLCD PCF8833 ar ARM LPC2148

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 (y);

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

)

 
Zakłady Mechaniczne RUFUS oraz ASTOR zapraszają na seminarium Śniadanie z Robotem, które odbędzie się we wtorek, 25 stycznia 2011, o godzinie 10:00, w Dębicy.

Read more...
 
jums jāapraksta jūsu problēmu tieši.lai cilvēki var jums palīdzēt.

 

Welcome to EDABoard.com

Sponsor

Back
Top