<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > QC12864液晶屏串行時(shí)序驅動(dòng)程序解

QC12864液晶屏串行時(shí)序驅動(dòng)程序解

作者: 時(shí)間:2012-08-15 來(lái)源:網(wǎng)絡(luò ) 收藏

不能讀操作的情況下可繪制任意函數曲線(xiàn)
點(diǎn)擊瀏覽下一頁(yè)

//程序格式粗糙,無(wú)暇整理,若參考有疑問(wèn)請留言
完整的源代碼下載:http://www.51hei.com/f/12864c5.rar

//12864的實(shí)現///**************************************/#includereg51.h>#includeintrins.h>#includemath.h>      /**************************************/#define  uchar    unsigned char#define  uint     unsigned int #define  clear   0x01  //清屏#define  reset_DDRAM  0x02 //DDRAM地址歸位#define  left_move  0x04 //游標左移#define  right_move  0x06 //游標右移#define  all_left_move 0x05 //畫(huà)面整體左移#define  all_right_move 0x07  //畫(huà)面整體右移#define  display_left_move  0x10  //顯示游標左移#define  display_right_move  0x14  //顯示游標右移#define  set_function1   0x30  //基本指令集動(dòng)作#define  set_CGRAM    0x40  //設定CGRAM地址#define  set_DDRAM    0x80  //設定DDRAM地址#define  set_function2   0x34  //擴充指令集動(dòng)作#define  fanbai            0x04   //反白第一行(擴充指令集)#define  set_GDRAM    0x80  //設定GDRAM地址(擴充指令集)#define  ON_G     0x36  //開(kāi)繪圖顯示(擴充指令集)#define  set_function2   0x34  //關(guān)繪圖顯示(擴充指令集)//端口定義sbit  LCD_CS=P1^3;sbit  LCD_SID=P1^1;          //串行數據線(xiàn)sbit  LCD_SCLK=P1^2;         //串上時(shí)鐘輸入uchar code a[]={""};      //定義要顯示的字符串/**************************************///延時(shí)函數/**************************************/void Delay_nms(uchar n){uchar i;uchar j;for(i=0;in;i++)for(j=0;j125;j++)        //大概1ms_nop_();}/**************************************///串行發(fā)送一個(gè)字節/**************************************/void LCD_sendbyte(uchar byte){uchar i;for(i=0;i8;i++){LCD_SCLK=0;               //拉低時(shí)鐘線(xiàn)_nop_();LCD_SID=(bit)(byte0x80);    //發(fā)送最高位數據LCD_SCLK=1;               //上升沿發(fā)送數據byte=byte1;                  //左移一位}}/****************************************///寫(xiě)指令/****************************************/void LCD_write_com(uchar com){LCD_CS=1;        LCD_sendbyte(0xf8);       //送入5個(gè)連續的“1“,啟動(dòng)一個(gè)周期,11111,RW(0),RS(0),0LCD_sendbyte(0xf0com);       //取高四位,數據分兩次傳送,//每個(gè)字節的內容被送入兩個(gè)字節//高四位放在第一個(gè)字節的高四位LCD_sendbyte(0xf0(com4));        //低四位放在第二個(gè)字節的高四位 LCD_CS=0;       Delay_nms(10);             //串行不支持讀操作,不可檢測忙操作,這里用延時(shí)替代   }/******************************************///寫(xiě)數據/******************************************/void LCD_write_dat(uchar dat){LCD_CS=1;        LCD_sendbyte(0xfa);        //送入5個(gè)連續的“1“,啟動(dòng)一個(gè)周期,11111,RW(0),RS(1),0LCD_sendbyte(0xf0dat);       //取高四位,數據分兩次傳送,//每個(gè)字節的內容被送入兩個(gè)字節//高四位放在第一個(gè)字節的高四位LCD_sendbyte(0xf0(dat4));        //低四位放在第二個(gè)字節LCD_CS=0;        Delay_nms(10);}/********************************************///LCD初始化/********************************************/void LCD_init(void){        LCD_write_com(0x30);             //選擇基本指令集   LCD_write_com(0x0c);       //開(kāi)顯示,無(wú)游標,不反白LCD_write_com(0x01);       //清除顯示屏幕,把DDRAM位址計數器調整為00HDelay_nms(5);         //清屏操作時(shí)間較長(cháng)1.6ms 因此加此延時(shí)LCD_write_com(0x02);       //清DDRAM位址歸位,此處貌似與清屏重復LCD_write_com(0x06);       //設定光標右移,整體顯示不移動(dòng)}/*************************************************///顯示字符串/*************************************************/void print(uchar *s){ while(*s!='国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>