找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3623|回復(fù): 0
收起左側(cè)

1602液晶寫屏函數(shù)

[復(fù)制鏈接]
ID:26188 發(fā)表于 2015-2-18 01:01 | 顯示全部樓層 |閱讀模式
/***************************************************************************************
** 函數(shù)名稱: void LCD_1602_write_string(unsigned char x,unsigned char y,unsigned char *s)
** 功能描述: 寫入字符串到第x(0-1)行y(0-15)列
** 輸   入: unsigned x 第x(0-1)行;unsigned char y(0-15)列;unsigned char *s要寫ude字符串。
** 輸   出: 無
** 全局變量: 無
** 調(diào)用模塊: LCD_Write_Command( ),LCD_Write_DATA()
** 說    明: 未寫下標(biāo)越界檢查 x,y起點均為0,無論是單字符或字符串均用雙引擴號
****************************************************************************************/
void LCD_1602_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
unsigned char i;
i=15-y;
if(x)
{                                //如果是第二行
    y+=0xc0;                     //地址是偏移量y加第二行首地址0xC0
}
else
{                                //如果是第一行
    y+=0x80;                     //地址是偏移量y加第一行首地址0x80
    LCD_Write_Command(y);        //向LCD寫第一行地址命令
    while(*s)      
    {                            //直到字符串讀到最后一位
        LCD_Write_DATA(*s++);    //寫字符數(shù)據(jù)到LCD
        if(y++>=0x8f)
        {                        //y自加,如果第一行寫完
            y=0xc0;              //地址y設(shè)定為第二行起頭
            i=15;                //最大寫入次數(shù)
            break;               //如果第一行寫完則強退本次循環(huán)
        }
    }  
}
LCD_Write_Command(y);
while(*s)
{
    LCD_Write_DATA(*s++);
    if(!(i--)) break;
}
}


回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表