?? lcd1602.c
字號(hào):
#include <reg51.h>
/*********************************端口定義**********************************/
sbit RS = P2^0;
sbit RW = P2^1;
sbit EP = P2^2;
#define DATA P1
/********************************顯示數(shù)據(jù)表*********************************/
unsigned char code DISP1[] = {"www.swust.edu.cn"};
unsigned char code DISP2[] = {"0816-6082308-cx"};
/*****************************************************************************
函數(shù)功能:LCD延時(shí)子程序
入口參數(shù):time
出口參數(shù):
*****************************************************************************/
void delayns(unsigned char time)
{
unsigned char i;
for(;time>0;time--)
for(i = 0; i< 250; i++) ;
}
/*****************************************************************************
函數(shù)功能:測(cè)試LCD忙碌狀態(tài)
入口參數(shù):
出口參數(shù):result
*****************************************************************************/
bit lcd_buzy()
{
bit result;
RS = 0;
RW = 1;
EP = 1;
delayns(1); //此處延時(shí)特別重要 (必不可少)
result = (bit)(DATA & 0x80);
delayns(1);
EP = 0;
return result;
}
/*****************************************************************************
函數(shù)功能:寫指令數(shù)據(jù)到LCD子程序
入口參數(shù):cmd
出口參數(shù):
*****************************************************************************/
void lcd_w_order(unsigned char cmd)
{
while(lcd_buzy()); //判斷LCD是否忙碌
RS = 0;
RW = 0;
EP = 1;
DATA = cmd;
delayns(1);
EP = 0;
}
/*****************************************************************************
函數(shù)功能:寫入顯示數(shù)據(jù)到LCD子程序
入口參數(shù):dat
出口參數(shù):
*****************************************************************************/
void lcd_w_data(unsigned char dat)
{
while(lcd_buzy()); //判斷LCD是否忙碌
RS = 1;
RW = 0;
EP = 1;
DATA = dat;
delayns(1);
EP = 0;
}
/*****************************************************************************
函數(shù)功能:設(shè)定顯示位置子程序
入口參數(shù):pos
出口參數(shù):
*****************************************************************************/
void lcd_post(unsigned char pos)
{
lcd_w_order(pos | 0x80);
}
/*****************************************************************************
函數(shù)功能:LCD初始化子程序
入口參數(shù):
出口參數(shù):
*****************************************************************************/
void lcd_init()
{
lcd_w_order(0x38); //顯示模式設(shè)置
delayns(1);
lcd_w_order(0x0c); //顯示光標(biāo)設(shè)置,開顯示
delayns(1);
lcd_w_order(0x06); //顯示光標(biāo)移動(dòng)(右移)
delayns(1);
lcd_w_order(0x01); //清屏
delayns(1);
}
/*****************************************************************************
函數(shù)功能:主程序
入口參數(shù):
出口參數(shù):
*****************************************************************************/
void main(void)
{
unsigned char i=0;
lcd_init(); // 初始化LCD
delayns(10);
lcd_post(0x00); //設(shè)置顯示位置
while(DISP1[i] != '\0')
{
lcd_w_data(DISP1[i]); //顯示字符
i++;
}
lcd_post(0x40); // 設(shè)置顯示位置
i = 0;
while(DISP2[i] != '\0')
{
lcd_w_data(DISP2[i]); // 顯示字符
i++;
}
while(1);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -