lcd1602 屏驅(qū)動(dòng)(自定義字符)
2、代碼
3、自定義字符
時(shí)序圖
代碼:
#include
#include
sbit RS = P2^4; //定義端口
sbit RW = P2^5;
sbit EN = P2^6;
void Delayus(unsigned char t) // us級(jí)別延時(shí)
{
while(--t);
}
void Delayms(unsigned char t)// ms級(jí)別延時(shí)
{
while(t--)
{
//大致延時(shí)1mS
Delayus(245);
Delayus(245);
}
}
bit m_1602() //判斷1602是否忙
{
P0 = 0xFF; //準(zhǔn)備讀取
RS = 0;
RW = 1;
EN = 0;
_nop_();
EN = 1; //產(chǎn)生高電平
return (bit)(P0 & 0x80);
}
void x_1602(bit i,unsigned char j) //參數(shù)一是寫(0、寫指令 1、寫數(shù)據(jù)),參數(shù)二是寫入的8位數(shù)據(jù)
{
while(m_1602())
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
RS = i;
RW = 0;
EN = 1;
P0 = j;
_nop_();
EN = 0; //產(chǎn)生下降沿
}
void qp_1602() //清屏函數(shù)
{
x_1602(0,0x01); //第一個(gè)參數(shù)是:寫入的類型(0、寫指令 1、寫數(shù)據(jù)),第一個(gè)參數(shù)是:寫入的數(shù)據(jù)
Delayms(5);
}
評(píng)論