[Помощь] Коды для Nokia 6610/6100 ЖК-дисплей с atmega32

R

roy_mm

Guest
У меня Nokia 6610/6100 LCD с контроллером Philips.Я сопряжение его с atmega32 на 16MHz кристалла и JTAG отключен.Я использую WinAVR WinAVR 20080430.

Этот код для создания многоцветных поле в центре ЖК-дисплея.

Пожалуйста, помогите мне и исправлять этот код и написать (или сказать редактировался коды доступны на Интернете) ----

Код:# включить <avr/io.h>

# включить <util/delay.h># DEFINE F_CPU 16000000UL# DEFINE SPIPORT PORTB

# DEFINE SPIDDR DDRB

# DEFINE CS 2

# DEFINE SDA 3

определить RESET # 4

# DEFINE CLK 5# DEFINE CBI (REG, бит) (р & = ~ (1 <<бит))

# DEFINE ВОО (РЭГ, бит) (REG | = (1 <<бит))# DEFINE CS0 CBI (SPIPORT, CS);

# DEFINE CS1 ВОО (SPIPORT, CS);

# DEFINE CLK0 CBI (SPIPORT, CLK);

# DEFINE CLK1 ВОО (SPIPORT, CLK);

# DEFINE SDA0 CBI (SPIPORT, РСА);

# DEFINE sda1 ВОО (SPIPORT, РСА);

# DEFINE RESET0 CBI (SPIPORT, сброс);

# DEFINE RESET1 ВОО (SPIPORT, сброс);# определить байт неподписанных Char

байт N = 0;

байт S1, S2;

байт R, G, B;Пустота sendCMD (байт CMD);

Пустота SendData (байт CMD);

Пустота shiftBits (байт B);

Пустота setPixel (байт R, G байт, байт B);Пустота waitms (INT мс)

(

Int J;

для (J = 0; J <мс; J )

(

_delay_ms (1);

)

)п (VOID)

(

Int I;DDRB = 0xFF;SPIDDR = (1 <<ПДД) | (1 <<CLK) | (1 <<CS) | (1 <<RESET); / / Порт-Direction установке/ / аппаратный сбросCS0

SDA0

CLK1RESET1

RESET0waitms (10);RESET1CLK0

Sda1

CLK1waitms (10);/ / Программное обеспечение Сбросить

sendCMD (0x01);/ / Ночевать

sendCMD (0x11);/ / Установить Constrast

sendCMD (0x25);

SendData (0x3f);/ / Booster ПО

sendCMD (0x03);waitms (10);/ / Вывод инверсии на

sendCMD (0x21);/ / Обычный режим отображения

sendCMD (0x13);/ / Данные порядка

sendCMD (0xBA);/ / Доступ к памяти управления данными

sendCMD (0x36);/ / Цвет 8 бит

sendCMD (0x3a);

SendData (2);/ / Установка цвета таблицы поиска

sendCMD (0x2D);SendData (0) / / красный 000 Значение

SendData (2); / / красный 001 Значение

SendData (5); / / красный 010 Значение

SendData (7) / / красный 011 Значение

SendData (9) / / красный 100 Значение

SendData (11) / / красный 101 Значение

SendData (14) / / красный 110 Значение

SendData (16) / / красный 111 Значение

SendData (0) / / зеленая 000 Значение

SendData (2); / / зеленая 001 Значение

SendData (5); / / зеленая 010 Значение

SendData (7) / / зеленая 011 Значение

SendData (9) / / зеленая 100 Значение

SendData (11) / / зеленая 101 Значение

SendData (14) / / зеленая 110 Значение

SendData (16) / / зеленая 111 Значение

SendData (0) / / синяя 000 Значение

SendData (6) / / синяя 001 Значение

SendData (11) / / синяя 010 Значение

SendData (15) / / синяя 011 Значение/ / NOP

sendCMD (0x00);/ / Display On

sendCMD (0x29);/ / Установить адреса столбца

sendCMD (0x2A);

SendData (0);

SendData (131);/ / Адрес страницы Установить

sendCMD (0x2b);

SendData (0);

SendData (131);/ / Добавьте Stuff (фон)

sendCMD (0x2c);

для (i = 0; i <18000; I )

(

SendData (28) / / 28 зеленая

)waitms (200);/ / Рисуем разноцветные площади в центре экрана

для (i = 0; i <4096; I ) (

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

)While (1 == 1)

(

/ / Теперь добавьте сюда код))Пустота shiftBits (байт б) (CLK0

если ((B & 128)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 64)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 32)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 16)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 8)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 4)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 2)! = 0) sda1 другое SDA0

CLK1CLK0

если ((B & 1)! = 0) sda1 другое SDA0

CLK1)Пустота setPixel (неподписанных цвета CHAR, Char знаком X, Y неподписанных Char)

(

X = 2 / / почему-то начинается 2

sendCMD (0x2b); / / Page начало / конец RAM

SendData (X);

SendData (132);

sendCMD (0x2A); / / колонка начала / окончания RAM

SendData (Y) / / почему-то начинается 2

SendData (131);

sendCMD (0x2C); / / Добавьте дерьмо

SendData (Color);

)/ / передать данные

Пустота SendData (байт данных) (CLK0

Sda1 / / 1 для параметра

CLK1shiftBits (данных);

)/ / отправить CMD

Пустота sendCMD (байт данных) (CLK0

SDA0 / / 1 для CMD

CLK1shiftBits (данных);

)
 

Welcome to EDABoard.com

Sponsor

Back
Top