⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_pg320240.c

📁 320x240 inicialization code for display
💻 C
字号:
/***********************************************************************
 *                                                                     *
 *      Project Name:   Demo board for graphic LCD 320240              *
 *      Description:    Driving of the LCD 320240                      *
 *      File name:      LCD_pg24064                                    *
 *      Processor:      uPD78F9177                                     *
 *      Revision:       1.0                                            *
 *      Date:           24.11.2004                                     *
 *      Compiler:       C crosscompiler IAR 2.22                       *
 *      Author:         Lukas Bier                                     *
 *      Company:                                                       *
 *      Email:          Bier@elatec.cz                                 *
 *                                                                     *
 ***********************************************************************/
#include <in78000.h>
#include "Df9177ay.H"
#include "defines.h"
#include "LCD_pg320240.h"
 
// write_c - write command to LCD
void lcdwrite_command(unsigned char Data)
{
  A0 = 1;                   // write commnad
  P5 = (Data);
  P0 &= 0xF0;
  P0 |= (Data >> 4);
  WR = 0;
  WR = 1;
  }
  
// lcdwrite_data write data to LCD
void lcdwrite_data(unsigned char Data)
{ 
  A0 = 0;
  P5 = Data;
  P0 &= 0xF0;
  P0 |= (Data >> 4);
  WR = 0;
  WR = 1;
  }  

void clear_ram(void){
  unsigned int i;
  lcdwrite_command(0x46); lcdwrite_data(0); lcdwrite_data(0);        // Set cursor
  lcdwrite_command(0x42);                                           // mwrite
  for (i=0;i < 1200;i++)  lcdwrite_data(0x20);
  lcdwrite_command(0x46); lcdwrite_data(0xb0); lcdwrite_data(0x04);    // Set cursor to graphic page
  lcdwrite_command(0x42);                                              // mwrite
  for (i=0;i < 9600;i++)  lcdwrite_data(0);
  }
  
void clear_txt(void)
{
   unsigned int i;
  lcdwrite_command(0x46); lcdwrite_data(0); lcdwrite_data(0);        // Set cursor
  lcdwrite_command(0x42);                    // mwrite
  for (i=0;i < 1200;i++)  lcdwrite_data(0x20);
}


 void init_lcd(void)
{
  lcdwrite_command(0x40); lcdwrite_data(0x30); lcdwrite_data(0x87);    // LCD panel - hardware setup
  lcdwrite_data(0x07); lcdwrite_data(0x27); lcdwrite_data(0x39);    // Text area
  lcdwrite_data(0xef); lcdwrite_data(0x28); lcdwrite_data(0);
          
  lcdwrite_command(0x44); lcdwrite_data(0x00); lcdwrite_data(0x00);    // Scroll
  lcdwrite_data(0xef); lcdwrite_data(0xb0); lcdwrite_data(0x04);
  lcdwrite_data(0xef); lcdwrite_data(0x00); lcdwrite_data(0x00);
  lcdwrite_data(0x00); lcdwrite_data(0x00);

  lcdwrite_command(0x5d); lcdwrite_data(0x04); lcdwrite_data(0x86);        // Cursor form
  lcdwrite_command(0x4c);                           // Cursor direction
  lcdwrite_command(0x5a); lcdwrite_data(0x00);            // Horizontal scroll rate
  lcdwrite_command(0x5b); lcdwrite_data(0x01);            // Text/Graphic XOR
  lcdwrite_command(0x59); lcdwrite_data(0x16);            // Display ON
  clear_ram(); 
 }
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -