久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

新唐M051驅(qū)動(dòng)LCD12864液晶屏程序

作者:佚名   來(lái)源:Keil4   點(diǎn)擊數(shù):  更新時(shí)間:2014年09月01日   【字體:

共享一個(gè)新唐M051單片機(jī)驅(qū)動(dòng)帶字庫(kù)的LCD12864液晶屏的c語(yǔ)言程序:

 #include "SmartM_M0.h"

 
#define LCD12864_RS_PIN   0
#define LCD12864_RW_PIN   1
#define LCD12864_EN_PIN   2
#define LCD12864_MD_PIN   3
 
#define LCD12864_RS(x)     {if((x))P0_DOUT|=  1UL<<LCD12864_RS_PIN;\
                            else   P0_DOUT&=~(1UL<<LCD12864_RS_PIN);}
#define LCD12864_RW(x)     {if((x))P0_DOUT|=  1UL<<LCD12864_RW_PIN;\
                            else   P0_DOUT&=~(1UL<<LCD12864_RW_PIN);}
#define LCD12864_EN(x)     {if((x))P0_DOUT|=  1UL<<LCD12864_EN_PIN;\
                            else   P0_DOUT&=~(1UL<<LCD12864_EN_PIN);}
#define LCD12864_MD(x)     {if((x))P0_DOUT|=  1UL<<LCD12864_MD_PIN;\
                            else   P0_DOUT&=~(1UL<<LCD12864_MD_PIN);}
#define LCD12864_PORT(x)    LS164Send((x))                  
 
 
/********************************************
*函數(shù)名稱:LCD12864WriteByte
*輸    入:ucByte 要寫入的字節(jié)
*輸    出:無(wú)
*說(shuō)    明:LCD12864 寫字節(jié)
********************************************/
VOID LCD12864WriteByte(UINT8 ucByte)
{
     LCD12864_PORT(ucByte);
     LCD12864_RS(HIGH);
     LCD12864_RW(LOW);
     LCD12864_EN(LOW);
     Delayus(500);
     LCD12864_EN(HIGH);
}
/********************************************
*函數(shù)名稱:LCD12864WriteCommand
*輸    入:ucCmd 要寫入的命令
*輸    出:無(wú)
*說(shuō)    明:LCD12864 寫命令
********************************************/
VOID LCD12864WriteCommand(UINT8 ucCmd)
{
     LCD12864_PORT(ucCmd);
     LCD12864_RS(LOW);
     LCD12864_RW(LOW);
     LCD12864_EN(LOW);
     Delayus(500);
     LCD12864_EN(HIGH);
}
/********************************************
*函數(shù)名稱:LCD12864SetXY
*輸    入:x 橫坐標(biāo) y 縱坐標(biāo)
*輸    出:無(wú)
*說(shuō)    明:LCD12864 設(shè)置坐標(biāo)
********************************************/
VOID LCD12864SetXY(UINT8 x,UINT8 y)
{
   switch(y)
     {
  case 1:
        {
             LCD12864WriteCommand(0x80|x);
        }
        break;
  case 2:
        {
             LCD12864WriteCommand(0x90|x);
        }
        break;
  case 3:
        {
             LCD12864WriteCommand(0x88|x);
        }
        break;
  case 4:
        {
             LCD12864WriteCommand(0x98|x);
        }
        break;
  default:break;
     }
}
/********************************************
*函數(shù)名稱:LCD12864PrintfString
*輸    入:x 橫坐標(biāo) y 縱坐標(biāo) s字符串
*輸    出:無(wú)
*說(shuō)    明:LCD12864 打印字符串
********************************************/
VOID LCD12864PrintfString(UINT8 x,
                         UINT8 y,
                         UINT8 *s)
{
  LCD12864SetXY(x,y);    //設(shè)置顯示坐標(biāo)
 
     while(s && *s)
     {
        LCD12864WriteByte(*s);   //顯示逐個(gè)字符
        s++;
       
     }
}
/********************************************
*函數(shù)名稱:LCD12864ClearScreen
*輸    入:無(wú)
*輸    出:無(wú)
*說(shuō)    明:LCD12864 清屏
********************************************/
VOID LCD12864ClearScreen(VOID)
{
  LCD12864WriteCommand(0x01);
     Delayus(500);
}
/********************************************
*函數(shù)名稱:LCD12864Init
*輸    入:無(wú)
*輸    出:無(wú)
*說(shuō)    明:LCD12864 初始化
********************************************/
VOID LCD12864Init(VOID)
{
     LS164Init();
  LCD12864_MD(HIGH);
     LCD12864WriteCommand(0x30);//功能設(shè)置,一次送8位數(shù)據(jù),基本指令集
     LCD12864WriteCommand(0x0C);//整體顯示,游標(biāo)off,游標(biāo)位置off
     LCD12864WriteCommand(0x01);//清DDRAM   
     LCD12864WriteCommand(0x02);//DDRAM地址歸位
     LCD12864WriteCommand(0x80);//設(shè)定DDRAM 7位地址000,0000到地址計(jì)數(shù)器AC
}
/****************************************
*函數(shù)名稱:main
*輸    入:無(wú)
*輸    出:無(wú)
*功    能:函數(shù)主體
******************************************/
INT32 main(VOID)
{
     Un_Lock_Reg();          //ISP下載時(shí)保護(hù)FLASH存儲(chǔ)器
  PWRCON |= XTL12M_EN;        //默認(rèn)時(shí)鐘源為外部晶振
  while((CLKSTATUS & XTL12M_STB) == 0);     //等待12MHz時(shí)鐘穩(wěn)定 
 
  CLKSEL0 = (CLKSEL0 & (~HCLK)) | HCLK_12M;   //設(shè)置外部晶振為系統(tǒng)時(shí)鐘
 
  LCD12864Init();         //LCD12864初始化
     LCD12864PrintfString(0,1,"1234567890ABCDEF");//顯示第一行
     LCD12864PrintfString(0,2,"Hello World!!!!!");//顯示第二行
     LCD12864PrintfString(0,3,"學(xué)好電子成就自己");//顯示第三行
     LCD12864PrintfString(0,4,"I Love You!!!!!!");//顯示第四行 
  while(1);
}
 
關(guān)閉窗口
主站蜘蛛池模板: 国产偷录视频叫床高潮对白 | 黄色av免费网站 | 亚洲精选一区二区 | 久久精品欧美一区二区三区麻豆 | 免费a网 | 亚洲一区二区精品视频 | 亚洲精品在线免费观看视频 | 久久久精品网 | 水蜜桃久久夜色精品一区 | 91影院| 亚洲成网| 亚洲欧洲精品一区 | 亚洲一区二区成人 | 91精品国产一区二区三区动漫 | 成人不卡视频 | 日韩一区二区三区在线观看 | 成人免费视频网站在线观看 | 欧美日韩网站 | 国产性色视频 | 欧美激情一区二区三级高清视频 | 亚洲欧美精品久久 | 日韩欧美三区 | h在线| 久久精品亚洲精品 | 精品久久一区 | 天天操天天天 | 好好的日在线视频 | 久久国产一区二区三区 | 中文字幕在线第一页 | 亚洲免费精品 | 中文字幕在线观看av | 日韩综合一区 | 日韩三片 | 欧美色999| 欧美黄色绿像 | 久久精品国产一区老色匹 | 一区二区三区中文字幕 | 国产精品久久久久9999鸭 | 精品久久久久久久 | 色视频网站免费 | 日韩欧美一区二区三区免费观看 |