[Pagalba] kodai Nokia 6610/6100 LCD atmega32

R

roy_mm

Guest
Turiu Nokia 6610/6100 LCD Philips kontrolierius.Aš sąsajos jį atmega32 bent 16MHz krištolo ir JTAG neįgaliesiems.Aš naudoju winavr WinAVR 20.080.430.

Tai už įvairiaspalviais laukelyje LCD centro kodą.

Prašau man padėti ir ištaisyti šį kodą rašau (ar pasakyti kartą iš kodus galima rasti internete) ----

Kodas# include <avr/io.h>

# include <util/delay.h># define F_CPU 16000000UL# define SPIPORT PORTB

# define SPIDDR DDRB

# define CS 2

# define Nuomoju 3

# define RESET 4

# define CLK 5# define CBI (REG, bit) (REG & = ~ (1 <<bitų))

# define Skaičius (REG, bit) (REG | = (1 <<bitų))# define CS0 CBI (SPIPORT, CS);

# define CS1 Skaičius (SPIPORT, CS);

# define CLK0 CBI (SPIPORT, CLK);

# define CLK1 Skaičius (SPIPORT, CLK);

# define SDA0 CBI (SPIPORT SDA);

# define sda1 Skaičius (SPIPORT SDA);

# define RESET0 CBI (SPIPORT, RESET);

# define RESET1 Skaičius (SPIPORT, RESET);# define baitas unsigned char

baitas n = 0;

baitas s1, s2;

baitą R, G, B;tuščia sendCMD (baitas cmd);

tuščia sendData (baitas cmd);

tuščia shiftBits (baitas b);

tuščia setPixel (baitas R, baitas g baitas b);tuščia waitms (int MS)

(

int j;

for (j = 0; j <ms ir j )

(

_delay_ms (1);

)

)int main (void)

(

int i;DDRB = 0xFF;SPIDDR = (1 <<SDA) | (1 <<CLK) | (1 <<CS) | (1 <<RESET) / / Port krypties nustatymas/ / Hardware resetCS0

SDA0

CLK1RESET1

RESET0waitms (10);RESET1CLK0

Sda1

CLK1waitms (10);/ / Software Reset

sendCMD (0x01);/ / Sleep Out

sendCMD (0x11);/ / Set Constrast

sendCMD (0x25);

sendData (0x3F);/ / Booster ON

sendCMD (0x03);waitms (10);/ / Parodyti inversija dėl

sendCMD (0x21);Įprasta ekrano režimą

sendCMD (0x13);/ / Duomenys būtų

sendCMD (0xBA);/ / Atminties duomenų prieigos kontrolė

sendCMD (0x36);/ / Spalvų 8 bitų

sendCMD (0x3A);

sendData (2);/ / Setup spalvų peržvalgos lentelę

sendCMD (0x2D);sendData (0) / / raudona 000 vertė

sendData (2) / / raudona 001 vertė

sendData (5) / / raudona 010 vertė

sendData (7) / / raudona 011 vertė

sendData (9) / / raudona 100 vertė

sendData (11) / / raudona 101 vertė

sendData (14) / / raudona 110 vertė

sendData (16) / / raudona 111 vertė

sendData (0) / / žalios 000 vertė

sendData (2) / / žalios 001 vertė

sendData (5) / / Green 010 vertė

sendData (7) / / Green 011 vertė

sendData (9) / / žalios 100 vertė

sendData (11) / / Green 101 vertė

sendData (14) / / žalios 110 vertė

sendData (16) / / žalios 111 vertė

sendData (0) / / mėlyna 000 vertė

sendData (6); / mėlyna / 001 vertė

sendData (11) / / mėlyna 010 vertė

sendData (15) / / mėlyna 011 vertė/ / NOP

sendCMD (0x00);/ / Rodyti

sendCMD (0x29);Kolonėlė Adresas Set

sendCMD (0x2A);

sendData (0);

sendData (131);/ / Page adresą, nustatytus

sendCMD (0x2B);

sendData (0);

sendData (131);/ / Rašyti some stuff (fone)

sendCMD (0x2c);

for (i = 0; i <18.000; i )

(

sendData (28) / / 28 žalia

)waitms (200);/ / Draw multi-colored aikštėje ekrano centre

for (i = 0; i <4096; i ) (

setPixel (i, (i% 64) 32 (I / 64) 32);

)while (1 == 1)

(

/ / Dabar čia įdėti savo kodą))tuščia shiftBits (baitas b) (CLK0

if ((B & 128)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 64)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 32)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 16)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 8)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 4)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 2)! = 0) sda1 dar SDA0

CLK1CLK0

if ((B & 1)! = 0) sda1 dar SDA0

CLK1)tuščia setPixel (unsigned char spalva, unsigned char x, unsigned char y)

(

x = 2; / / kažkodėl prasideda 2

sendCMD (0x2B) / / puslapis pradžios / pabaigos avinas

sendData (x);

sendData (132);

sendCMD (0x2A) / / stulpelis pradžios / pabaigos avinas

sendData (y) / / kažkodėl prasideda 2

sendData (131);

sendCMD (0x2C) / / parašyti shit

sendData (spalvotas);

)/ / Siųsti duomenis

tuščia sendData (baitų duomenų) (CLK0

Sda1 / už Parametras 1 /

CLK1shiftBits (duomenys);

)/ / Siųsti cmd

tuščia sendCMD (baitų duomenų) (CLK0

SDA0 / 1 / cmd

CLK1shiftBits (duomenys);

)
 

Welcome to EDABoard.com

Sponsor

Back
Top