Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Need help with UG-5664 and SSD1322

Status
Not open for further replies.

Lockdog

New Member
Hello!
I have some problem with display UG-5664 w/controller SSD1322.
It doesn't want to work. :(

There is initialization code below:
Code:
#include "ioavr.h"
 #include "intrinsics.h"
 
 #define SetBit(x,y) (x|=(1<<y))
 #define ClrBit(x,y) (x&=~(1<<y))
 
 #define XTAL_MHz 7.3728
 #define delay_us(us) __delay_cycles((unsigned long int)us*XTAL_MHz)
 #define delay_ns(ns) delay_us(ns/1000)
 #define delay_ms(ms) delay_us(ms*1000)
 
 #define DATA_PORT PORTC
 #define DATA_DDR DDRC
 #define CONFIG_PORT PORTA
 #define CONFIG_DDR DDRA
 #define CS 5
 #define RES 3
 #define WR 1
 #define RS 2
 #define RD 0
 #define BS0 6
 #define BS1 7
 
 void LCD_WriteCommand(unsigned char data)
 {
 ClrBit(CONFIG_PORT, RS);
 ClrBit(CONFIG_PORT, CS);
 ClrBit(CONFIG_PORT, WR);
 DATA_PORT = data;
 SetBit(CONFIG_PORT, WR);
 SetBit(CONFIG_PORT, CS);
 SetBit(CONFIG_PORT, RS);
 }
 
 void LCD_WriteData(unsigned char data)
 {
  SetBit(CONFIG_PORT, RS);
 ClrBit(CONFIG_PORT, CS);
 ClrBit(CONFIG_PORT, WR);
 DATA_PORT = data;
 SetBit(CONFIG_PORT, WR);
 SetBit(CONFIG_PORT, CS);
 SetBit(CONFIG_PORT, RS);
 }
 
 
 
 void Set_Gray_Scale_Table()
 {
 LCD_WriteCommand(0xB8);                        // Set Gray Scale Table
 LCD_WriteData(0x0C);                   //   Gray Scale Level 1
 LCD_WriteData(0x18);                   //   Gray Scale Level 2
 LCD_WriteData(0x24);                   //   Gray Scale Level 3
 LCD_WriteData(0x30);                   //   Gray Scale Level 4
 LCD_WriteData(0x3C);                   //   Gray Scale Level 5
 LCD_WriteData(0x48);                   //   Gray Scale Level 6
 LCD_WriteData(0x54);                   //   Gray Scale Level 7
 LCD_WriteData(0x60);                   //   Gray Scale Level 8
 LCD_WriteData(0x6C);                   //   Gray Scale Level 9
 LCD_WriteData(0x78);                   //   Gray Scale Level 10
 LCD_WriteData(0x84);                   //   Gray Scale Level 11
 LCD_WriteData(0x90);                   //   Gray Scale Level 12
 LCD_WriteData(0x9C);                   //   Gray Scale Level 13
 LCD_WriteData(0xA8);                   //   Gray Scale Level 14
 LCD_WriteData(0xB4);                   //   Gray Scale Level 15
 
 LCD_WriteCommand(0x00);                        // Enable Gray Scale Table
 }
 
 void LCD_Init(void)
 {
 ClrBit(CONFIG_PORT, RES);
 delay_ms(40);
 SetBit(CONFIG_PORT, RES);
 
 LCD_WriteCommand(0xFD); 
 LCD_WriteData(0x12);
 
 LCD_WriteCommand(0xAE);  
 
 LCD_WriteCommand(0xB3); 
 LCD_WriteData(0x91);
 
 LCD_WriteCommand(0xCA);
 LCD_WriteData(0x3F);
 
 LCD_WriteCommand(0xA2);
 LCD_WriteData(0x00);
 
 LCD_WriteCommand(0xA1);
 LCD_WriteData(0x00);
 
 LCD_WriteCommand(0xA0);
 LCD_WriteData(0x14);
 LCD_WriteData(0x11);
 
 LCD_WriteCommand(0xB5);
 LCD_WriteData(0x00);
 
 LCD_WriteCommand(0xAB);
 LCD_WriteData(0x00);
 
 LCD_WriteCommand(0xB4);
 LCD_WriteData(0xA0);
 LCD_WriteData(0xFD);
 
 LCD_WriteCommand(0xC1);
 LCD_WriteData(0x9F);
 
 LCD_WriteCommand(0xC7);
 LCD_WriteData(0x0F);
 
 LCD_WriteCommand(0xB9);
 
 LCD_WriteCommand(0xB1);
 LCD_WriteData(0xE2);
 
 LCD_WriteCommand(0xD1);
 LCD_WriteData(0x82);
 LCD_WriteData(0x20);
 
 LCD_WriteCommand(0xBB);
 LCD_WriteData(0x1F);
 
 LCD_WriteCommand(0xB6);
 LCD_WriteData(0x08);
 
 LCD_WriteCommand(0xBE);
 LCD_WriteData(0x07);
 
 LCD_WriteCommand(0xA5);
 
 LCD_WriteCommand(0xAF);  
 
 }
 
 int main( void )
 { 
 DATA_DDR = 0xFF;
 DATA_PORT = 0x00;
 CONFIG_DDR = 0xFF;
 CONFIG_PORT = 0x00;
 SetBit(CONFIG_PORT, RD);
 
 //ClrBit(CONFIG_PORT, BS0);
 //SetBit(CONFIG_PORT, BS1);
 LCD_Init();
 while(1)
 {};
 }

Connection scheme include.

Please, help. What i do incorrect?

P.S. Sorry, my English not so well.
 

Attachments

  • 1.jpg
    1.jpg
    167.6 KB · Views: 169
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top