?? ttp913.c
字號:
////////////////////////////////////////////////////////////////////////////////
// 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 & 0x01;
DATAX = DATAX >> 1;
LCD_WR=0; delay();
LCD_WR=1; delay();
}
for(lcd_count=0;lcd_count<4;lcd_count++){
LCD_DATA = DATAX & 0x01;
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
}
//-----------------------------------------------------------------------------
// RAM BUFFER TO LCD RAM
//-----------------------------------------------------------------------------
void ram2lcd(char data_reg[16])
{
char LCD_ADDR,index=0;
for(LCD_ADDR=0;LCD_ADDR<16;LCD_ADDR++)
{
send_data(data_reg[LCD_ADDR],index);
index++;
index++;
}
}
//END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -