欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
LCD44780顯示實驗(1602)
[打印本頁]
作者:
masd
時間:
2018-11-13 09:53
標題:
LCD44780顯示實驗(1602)
關(guān)于LCD在單片機中的使用
單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define out P0
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^2;
//////////////////////////
void check_busy(void);
void write_command(uchar com);
void write_data(uchar dat);
void LCD_initial(void);
void string(uchar ad ,uchar *s);
void lcd_test(void);
void delay(uint);
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
////////////////////主程序///////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
void main(void)
{
LCD_initial();
while(1)
{
string(0x84,"WINDWAY");
string(0xC2,"A GOOD NEWS");
delay(100);
write_command(0x01);//清屏
delay(100);
}
}
//1ms延時程序
void delay(uint j)
{
uchar i=250;
for(;j>0;j--)
{
while(--i);
i=249;
while(--i);
i=250;
}
}
//查忙程序
void check_busy(void)
{
uchar dt;
do
{
dt=0xff;
e=0;
rs=0;
rw=1;
e=1;
dt=out;
}while(dt&0x80);
e=0;
}
//寫控制指令
void write_command(uchar com)
{
check_busy();
e=0;
rs=0;
rw=0;
out=com;
e=1;
_nop_();
e=0;
delay(1);
}
//寫數(shù)據(jù)指令
void write_data(uchar dat)
{
check_busy();
e=0;
rs=1;
rw=0;
out=dat;
e=1;
_nop_();
e=0;
delay(1);
}
//液晶屏初始化
void LCD_initial(void)
{
write_command(0x38);//8位總線,雙行顯示,5X7的點陣字符
write_command(0x0C);//開整體顯示,光標關(guān),無黑塊
write_command(0x06);//光標右移
write_command(0x01);//清屏
delay(1);
}
//輸出字符串
void string(uchar ad,uchar *s)
{
write_command(ad);
while(*s>0)
{
write_data(*s++);
delay(100);
}
}
復制代碼
所有資料51hei提供下載:
21(LCD44780顯示實驗).rar
(63.66 KB, 下載次數(shù): 4)
2018-11-13 09:52 上傳
點擊文件名下載附件
內(nèi)含Proteus
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1