技術資料
1602程序
時間:2019-04-22 來源:admin瀏覽次數:95
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS = P3^0;
sbit RW = P3^7;
sbit E = P3^4;
sbit BF = P1^7;
code uchar BUFFER1[16]={"Hello Every One!"};
code uchar BUFFER2[16]={"Temperature:00.0"};
delay(uchar t)
{
uchar n;
while(t--)
{
for(n=0;n<124;n++);
}
}
/*===RS=0,RW=0,E=1,使模塊工作并準備接收控制指令(復位)===*/
ENABLE_1602()
{
RS=0;
RW=0;
E=0;
WAIT();
E=1;
}
/*====讀BF的值,必須判斷模塊是否“忙”(BF=1)
//----如果"不忙”(BF=0)才可以進行各種操作====*/
WAET()
{
do
{
P0=0xff;
RS=0;
RW=1;
E=0;
WAIT();
WAIT();
WAIT();
E=1;
}while(BF==1);
}
INT_1602()
{
ENABLE_1602();
P0=0x01; //清屏
ENABLE_1602();
P0=0x38; //工作方式設置
ENABLE_1602();
P0=0x0e; //顯示狀態設置
ENABLE_1602();
P0=0x06; //輸入方式設置
ENABLE_1602();
P0=0x0f; //開顯示,關光標設置
}
/*====RS=1,RW=0,E=1,寫顯示數據到模塊指令===*/
WRITER()
{
RS=1;
RW=0;
E=0;
WAIT();
E=1;
}
main()
{
uchar i,j;
INT_1602();
P0=0x80; //1000 0000 ,設定DPTRAM地址為00H,實際是設定從顯示屏的第一位開始顯示
ENABLE_1602();
for(i=0;i<15;i++)
{
P0=BUFFER1[i];
WRITER();
delay(200);
}
P0=0xc0; //1100 0000 ,設定設定DPTRAM地址為40H,實際是設定從顯示屏的第17位開始顯示
ENABLE_1602();
for(j=0;j<15;j++)
{
P0=BUFFER2[j];
WRITER();
delay(200);
}
ENABLE_1602();
P0=0x01; //清屏
delay(200);
}
本文標簽:
- 上一篇:HT1621程序
- 下一篇:ST7920程序 了解更多 技術資料>>>