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

📄 ttp913.c.bak

📁 TTP913C Lcd Driver Demo Use C8051F330
💻 BAK
字号:
////////////////////////////////////////////////////////////////////////////////
// Includes
////////////////////////////////////////////////////////////////////////////////
#include <c8051f330.h>    // SFR declarations

////////////////////////////////////////////////////////////////////////////////
// Global Variables
////////////////////////////////////////////////////////////////////////////////
sbit LCD_RD = P1^5;
sbit LCD_WR = P1^6;
sbit LCD_DATA = P1^7;

////////////////////////////////////////////////////////////////////////////////
// Function PROTOTYPES
////////////////////////////////////////////////////////////////////////////////
void delay(void);
void set_lcd(void);
//void ram2lcd(void);

//-----------------------------------------------------------------------------
// Send Command Code
//-----------------------------------------------------------------------------
void send_command(char DATAX)   //COMMAND ID '100'
{
  char lcd_count;
  LCD_WR=0;  // Start Send Data  
  LCD_RD=0; delay();
  LCD_RD=1;

  LCD_DATA=1; //1
  LCD_WR=0; delay();       
  LCD_WR=1; delay();       

  LCD_DATA=0; //00
  LCD_WR=0; delay();       
  LCD_WR=1; delay();
       
  LCD_WR=0; delay();       
  LCD_WR=1; delay();       

  for(lcd_count=0;lcd_count<8;lcd_count++){
  	LCD_DATA = DATAX & 0x80;
  	DATAX = DATAX << 1;
    LCD_WR=0; delay();       
    LCD_WR=1; delay();       
  }
  
  LCD_DATA=1;
  LCD_WR=0; delay();       
  LCD_WR=1; delay();       

  LCD_DATA=1;
  LCD_RD=0; delay();       
  LCD_RD=1;
}

//-----------------------------------------------------------------------------
// Send Data
//-----------------------------------------------------------------------------
void send_data(char DATAX,char LCD_ADDRE)       // COMMAND ID '101'
{
  char lcd_count;
  LCD_WR=0;       // Start Send Data
  LCD_RD=0; delay();       
  LCD_RD=1;

  LCD_DATA=1;     //1
  LCD_WR=0; delay();  
  LCD_WR=1; delay();       

  LCD_DATA=0;     //0
  LCD_WR=0; delay();       
  LCD_WR=1; delay();
       
  LCD_DATA=1;     //1
  LCD_WR=0; delay();       
  LCD_WR=1; delay();
       
  LCD_ADDRE = LCD_ADDRE<<2;
  for(lcd_count=0;lcd_count<6;lcd_count++){
  	LCD_DATA = LCD_ADDRE & 0x80;
  	LCD_ADDRE = LCD_ADDRE << 1;
    LCD_WR=0; delay(); 
    LCD_WR=1; delay();
  }

  for(lcd_count=0;lcd_count<4;lcd_count++){
  	LCD_DATA = DATAX & 0x80;
  	DATAX = DATAX << 1;
    LCD_WR=0; delay(); 
    LCD_WR=1; delay();
  }

  for(lcd_count=0;lcd_count<4;lcd_count++){
  	LCD_DATA = DATAX & 0x80;
  	DATAX = DATAX << 1;
    LCD_WR=0; delay(); 
    LCD_WR=1; delay(); 
  }

  LCD_DATA=1;
  LCD_RD=0; delay();
  LCD_RD=1;
}

//-----------------------------------------------------------------------------
// Initialization function for LCD
//-----------------------------------------------------------------------------
void set_lcd(void)
{
  send_command(0x01);   // SYS ENABLE
  send_command(0x29);   // 4com//1/3bias
  send_command(0x03);   // LCD On
  //ram2lcd();
}

//-----------------------------------------------------------------------------
// RAM BUFFER TO LCD RAM
//-----------------------------------------------------------------------------
void ram2lcd(char data_reg[32])
{
  char LCD_ADDR;
  for(LCD_ADDR=0;LCD_ADDR<31;LCD_ADDR++)
  {
    send_data(data_reg[LCD_ADDR],LCD_ADDR);
    send_data(data_reg[LCD_ADDR]>>4,LCD_ADDR++); 
  }
}

//END

⌨️ 快捷键说明

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