?? 1602.h
字號:
#ifndef _1602L_
#define _1602L_
//工作方式設(shè)置
#define LCD_DISPLAY_DOUBLE_LINE 0x38 //兩行顯示
#define LCD_DISPLAY_SINGLE_LINE 0x30 //單行顯示
//設(shè)置顯示、光標(biāo)及閃爍開、關(guān)
#define LCD_DISPLAY_ON 0x0c //0000 1100 display on
#define LCD_DISPLAY_OFF 0x08 //0000 1000 diplay off
#define LCD_CURSOR_ON 0x0a //0000 1010 cursor on
#define LCD_CURSOR_BLINK_ON 0x09 //0000 1001 cursor blink on
//光標(biāo)、畫面移動,不影響DDRAM
#define LCD_AC_AUTO_INCREMENT 0x06 //0000 0110 數(shù)據(jù)讀、寫操作后,AC自動增一
#define LCD_ACPLAY_AUTO_INCREMENT 0X07 //0000 0111 數(shù)據(jù)讀、寫操作后,畫面平移
#define LCD_MOVE_ENABLE 0x05 //0000 0101 數(shù)據(jù)讀、寫操作,畫面平移,AC減一
#define LCD_MOVE_DISENABLE 0x04 //0000 0100 數(shù)據(jù)讀、寫操作,畫面不動
#define LCD_CLEAR_SCREEN 0X01 //清屏
#define LCD_GO_HOME 0x02 //AC=0,光標(biāo)、畫面回HOME位
/***********************LCD1602地址相關(guān)******************************/
#define LINE1_HEAD 0x80 // 第一行DDRAM起始地址
#define LINE2_HEAD 0xc0 // 第二行DDRAM起始地址
#define LINE1 0 //第一行
#define LINE2 1 //第二行
#define LINE_LENGTH 16 //每行的最大字符長度
/***********************LCD1602接線引腳定義**************************/
sbit LCD_RS=P3^4;
sbit LCD_RW=P3^5;
sbit LCD_EN=P3^3;
sbit LCD_BUSY=P1^7;
/**********************另外相關(guān)的定*********************************/
#define HIGH 1
#define LOW 0
#define TURE 1
#define FALSE 0
#define uchar unsigned char
#define uint unsigned int
/*************************以下是函數(shù)的申明部*************************/
void LCD_init(uchar x,uchar y,uchar z,uchar w); //LCD1602初始化
void LCD_send_command(uchar command); //
void LCD_send_data(uchar dat);
void LCD_write_char(uchar x,uchar y,uchar dat);
void LCD_disp_string(uchar x,uchar y,char *Data);
void delay_ms(uint n);
void LCD_check_busy(void);
/*************************以下是函數(shù)的定義*************************/
void LCD_init(uchar x,uchar y,uchar z,uchar w) //初始化函數(shù)定義
{
LCD_send_command(x);
LCD_send_command(y);
LCD_send_command(z);
LCD_send_command(w);
}
//
void LCD_check_busy(void) //檢測LCD狀態(tài),看它是不是還在忙呢
{
do
{
LCD_EN=0;
LCD_RS=0;
LCD_RW=1;
LCDIO=0xff;
LCD_EN=1;
}
while(LCD_BUSY==1);
LCD_EN=0;
}
//
void LCD_send_command(uchar command) //寫命令子程序
{
LCD_check_busy();
LCD_RS=LOW;
LCD_RW=LOW;
LCD_EN=HIGH;
LCDIO=command;
LCD_EN=LOW;
}
//
void LCD_send_data(uchar dat) //寫數(shù)據(jù)子程序
{
LCD_check_busy();
LCD_RS=HIGH;
LCD_RW=LOW;
LCD_EN=HIGH;
LCDIO=dat;
LCD_EN=LOW;
}
//
void delay_ms(uint n) //毫秒延時
{
uint i,j;
for(i=n;i>0;i--)
for(j=0;j<1140;j++)
;
}
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -