日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1602显示字符串的C语言程序,LCD1602程序显示字符串

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1602显示字符串的C语言程序,LCD1602程序显示字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:LCD1602程序顯示字符串

連接線圖接法:

|DB0-----P0.0 | DB4-----P0.4 | RW-------P2.0 |

|DB1-----P0.1 | DB5-----P0.5 | RS-------P2.1 |

|DB2-----P0.2 | DB6-----P0.6 | E--------P2.2 |

|DB3-----P0.3 | DB7-----P0.7 | VLCD接1K電阻到GND |

顯示第一行顯示welcome!第二行顯示Hello world!

(1)lcd_busy() 忙狀態函數

(2)lcd_command() 發數據到指令寄存器IR函數

(3)lcd_write() 寫數據(顯示)

(4)lcd_pos() 設定顯示位置函數

(5)lcd_init() lcd初始化

#include

#include

unsigned char code dis1[] = {"welcome!"};

unsigned char code dis2[] = {"Hello world!"};

sbit rs = P2^0; //

sbit rw = P2^1;

sbit ep = P2^2;

void delay(unsigned char ms) // 延時子程序

{

unsigned char i;

while(ms--)

{

for(i = 0; i< 250; i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

bit lcd_busy() //忙狀態

{

bit temp;

rs=0;

rw=1;

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

temp=(bit)(P0&0x80);

ep=0;

return temp;

}

void lcd_command(unsigned char dat) //發數據到指令寄存器IR

{

while(lcd_busy());

rs=0;

rw=0;

ep=0;

_nop_();

_nop_();

_nop_();

_nop_();

P0=dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

void lcd_write(unsigned char dat) //寫數據

{

while(lcd_busy());

rs=1;

rw=0;

ep=0;

_nop_();

_nop_();

_nop_();

_nop_();

P0=dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

//-------------------------------------------

// x為列,y為行

//-------------------------------------------

void lcd_pos(unsigned char x,unsigned char y)//設定顯示位置

{

if(y==0) x |= 0x80;

else x |= 0xc0;

lcd_command(x);

}

void lcd_init() //lcd初始化

{

lcd_command(0x38);//設置功能:DL=1,N=1,F=0(8位數據 ,5*8點陣,2行顯示)

delay(1);

lcd_command(0x0c);//顯示開/關控制:D=1,C=0,B=0(開顯示,光標不顯示)

delay(1);

lcd_command(0x06);//設置輸入模式:I/D=1,S=0(AC地址增1,不移位)

delay(1);

lcd_command(0x01);//清屏顯示

delay(1);

//lcd_command(0x0e);//顯示開/關控制:D=1,C=1,B=0(開顯示,光標顯示)

}

void main(void)

{

unsigned char i;

lcd_init();

lcd_pos(5,0);

i=0;

while(dis1[i]!='\0')

{

lcd_write(dis1[i]);i++;

}

lcd_pos(3,1);

i=0;

while(dis2[i]!='\0')

{

lcd_write(dis2[i]);i++;

}

while(1);

}

責任編輯:

總結

以上是生活随笔為你收集整理的1602显示字符串的C语言程序,LCD1602程序显示字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。