?? sed1520_duankou.c
字號:
//-----------------------函數聲明--------------------------------------------------------
#include"stdio.h"
#include"absacc.h"
#include"reg51.h"
//-----------------------LCD接口管腳聲明--------------------------------------------------------
sbit A0=P3^0; //寄存器選擇信號
sbit RW=P3^1; //讀/ 寫選擇信號
sbit E1=P3^2; //使能信號E1
sbit E2=P3^3; //使能信號E2
#define DATA_IO P1
#define LCD_DISPLAYON 0xaf
#define LCD_DISPLAYOFF 0xae
#define LCD_DRIVERON 0xa5
#define LCD_DRIVEROFF 0xa4
#define LCD_DUTY16 0xa8
#define LCD_DUTY32 0xa9
#define LCD_END 0xee
#define LCD_RESET 0xe2
#define LCD_RWMODE 0xe0
#define LCD_STARTLINE0 0xc0
#define LCD_PAGE0 0xb8
#define LCD_COLUMNADDR0 0x00
#define LCD_ON() LCD_Command(LCD_DISPLAYON)
#define LCD_OFF() LCD_Command(LCD_DISPLAYOFF)
#define LCD_StaticON() LCD_Command(LCD_DRIVERON)
#define LCD_StaticOFF() LCD_Command(LCD_DRIVEROFF)
#define LCD_Select16() LCD_Command(LCD_DUTY16)
#define LCD_Select32() LCD_Command(LCD_DUTY32)
#define LCD_StartRW() LCD_Command(LCD_RWMODE)
#define LCD_EndRW() LCD_Command(LCD_END)
#define LCD_Reset() LCD_Command(LCD_RESET)
#define LCD_SetStartLine(i) LCD_Command(LCD_STARTLINE0+i)
#define LCD_SetPage(i) LCD_Command(LCD_PAGE0+i)
#define LCD_SetColumn(i) LCD_Command(LCD_COLUMNADDR0+i)
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Command1
// 入口參數: nCommand 命令字
// 函數功能: 寫指令代碼子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
void LCD_Command1(unsigned char nCommand)
{
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1 口置"1"
E1=1;
state_temp=DATA_IO; //設置讀狀態字地址
E1=0;
}
RW=0;
E1=1;
DATA_IO=nCommand; //寫指令代碼
E1=1;
E1=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: WRITE_showDATA1
// 入口參數: show_DATA 寫入SED1520-1內部顯示RAM的數據
// 函數功能: 寫顯示數據子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
void WRITE_showDATA1(unsigned char show_DATA)
{
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1 口置"1"
E1=1;
state_temp=DATA_IO; //設置讀狀態字地址
E1=0;
}
A0=1;
RW=0;
E1=1;
DATA_IO=show_DATA; //寫指令代碼
E1=1;
E1=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: READ_showDATA1
// 入口參數: show_DATA 讀出SED1520-1內部顯示RAM的數據
// 函數功能: 讀顯示數據子程序(SED1520-1)
//--------------------------------------------------------------------------------------------------
unsigned char READ_showDATA1()
{
unsigned char show_DATA;
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1口置"1"
E1=1;
state_temp=DATA_IO; //設置讀狀態字地址
E1=0;
}
A0=1;
DATA_IO=0xFF ; //P1 口置"1"
E1=1;
show_DATA=DATA_IO; // 讀數據
E1=0;
return(show_DATA); //返回顯示區數據
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: LCD_Command2
// 入口參數: nCommand 命令字
// 函數功能: 寫指令代碼子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
void LCD_Command2(unsigned char nCommand)
{
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1 口置"1"
E2=1;
state_temp=DATA_IO; //設置讀狀態字地址
E2=0;
}
RW=0;
E2=1;
DATA_IO=nCommand; //寫指令代碼
E2=1;
E2=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: WRITE_showDATA2
// 入口參數: show_DATA 寫入SED1520-2內部顯示RAM的數據
// 函數功能: 寫顯示數據子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
void WRITE_showDATA2(unsigned char show_DATA)
{
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1 口置"1"
E2=1;
state_temp=DATA_IO; //設置讀狀態字地址
E2=0;
}
A0=1;
RW=0;
E2=1;
DATA_IO=show_DATA; //寫指令代碼
E2=1;
E2=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: READ_showDATA2
// 入口參數: show_DATA 讀出SED1520-2內部顯示RAM的數據
// 函數功能: 讀顯示數據子程序(SED1520-2)
//--------------------------------------------------------------------------------------------------
unsigned char READ_showDATA2()
{
unsigned char show_DATA;
unsigned char state_temp;
A0=0;
RW=1;
while(state_temp&0x80==1) //判"忙"標志為"0"否, 否再讀
{
DATA_IO=0xFF ; //P1口置"1"
E2=1;
state_temp=DATA_IO; //設置讀狀態字地址
E2=0;
}
A0=1;
DATA_IO=0xFF ; // P1 口置"1"
E2=1;
show_DATA=DATA_IO; // 讀數據
E2=0;
return(show_DATA); //返回顯示區數據
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -