久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機驅動1602液晶的C程序

51單片機驅動1602液晶的C程序

作者: 時間:2016-11-30 來源:網絡 收藏

//********************************

//*******顯示一個字符函數*********

void LCD_disp_char(uchar x,uchar y,uchar dat)

{

uchar address;

if(y==1)

address=0x80+x;

else

address=0xc0+x;

LCD_write_command(address);

LCD_write_data(dat);

}

//********************************

/*******檢查忙函數*************

voidLCD_check_busy()
//實踐證明,在我的LCD1602上,檢查忙指令通

{LCD_E=0; //for循環作延時,普通指令只要1次循就可完成。清屏指令

LCD_RS=0; //要用200次循環便能完成。

LCD_RW=1;

LCD_DB=0xff;

LCD_E=1;

while(LCD_DB^7==1);

******************************/

//********延時函數***************

void delay_n40us(uint n)

{ uint i;

uchar j;

for(i=n;i>0;i--)

for(j=0;j<2;j++); //在這個延時循環函數中我只做了

2次循環,

} //實踐證明我的LCD1602上普

通的指令只需1次循環就能可靠完成。

//*******************************

//*********主函數*****************

void main(void)

{

LCD_init();

LCD_disp_char(0,1,"A");

while(1);

}

過率極低,以至于不能正常使用LCD。因此我沒有再用檢查忙函數。而使

do//用了延時的方法,延時還是非常好用的。我試了一下,用//


上一頁 1 2 下一頁

評論


技術專區

關閉