亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? lcd3.c.bak

?? 帶T6963C控制器的LCD的驅(qū)動(dòng)程序和簡(jiǎn)單的顯示測(cè)試程序
?? BAK
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include <absacc.h>
#include <reg51.h>
#include <string.h>
#include <stdarg.h>
#include <stdio.h>
#include <zifu.c>
#include <hz.c>
#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
#define LC_CUR_POS 0x21 // 光標(biāo)位置設(shè)置
#define LC_CGR_POS 0x22 // CGRAM偏置地址設(shè)置
#define LC_ADD_POS 0x24 // 地址指針位置
#define LC_TXT_STP 0x40 // 文本區(qū)首址
#define LC_TXT_WID 0x41 // 文本區(qū)寬度
#define LC_GRH_STP 0x42 // 圖形區(qū)首址
#define LC_GRH_WID 0x43 // 圖形區(qū)寬度
#define LC_MOD_OR 0x80  // 顯示方式:邏輯“或”
#define LC_MOD_XOR 0x81 // 顯示方式:邏輯“異或”
#define LC_MOD_AND 0x82 // 顯示方式:邏輯“與”
#define LC_MOD_TCH 0x83 // 顯示方式:文本特征
#define LC_DIS_SW 0x9B  // 顯示開(kāi)關(guān):D0=1/0:光標(biāo)閃爍啟用/禁用;
                                  // D1=1/0:光標(biāo)顯示啟用/禁用;
                                  // D2=1/0:文本顯示啟用/禁用;
                                  // D3=1/0:圖形顯示啟用/禁用;
#define LC_CUR_SHP 0xA0 // 光標(biāo)形狀選擇:0xA0-0xA7 表示光標(biāo)占的行數(shù)
#define LC_AUT_WR 0xB0  // 自動(dòng)寫(xiě)設(shè)置
#define LC_AUT_RD 0xB1  // 自動(dòng)讀設(shè)置
#define LC_AUT_OVR 0xB2 // 自動(dòng)讀/寫(xiě)結(jié)束
#define LC_INC_WR 0xC0  // 數(shù)據(jù)一次寫(xiě),地址加1
#define LC_INC_RD 0xC1  // 數(shù)據(jù)一次讀,地址加1
#define LC_DEC_WR 0xC2  // 數(shù)據(jù)一次寫(xiě),地址減1
#define LC_DEC_RD 0xC3  // 數(shù)據(jù)一次讀,地址減1
#define LC_NOC_WR 0xC4  // 數(shù)據(jù)一次寫(xiě),地址不變
#define LC_NOC_RD 0xC5  // 數(shù)據(jù)一次讀,地址不變
#define LC_SCN_RD 0xE0  // 屏讀
#define LC_SCN_CP 0xE8  // 屏拷貝
#define LC_BIT_OP 0xF0  // 位操作:D0-D2:定義D0-D7 位;D3:1 置位;0:清除


#define LCMDW XBYTE[0x7AFF] // 數(shù)據(jù)口
#define LCMCW XBYTE[0x7BFF] // 命令口
void key(void);
uchar xdata rbuf[500];
uchar xdata tbuf[88];

uint  r_in;
uchar  c,q;
uchar  a,b;
uchar  key_flag;
uchar x,y;
uchar t=0;
uchar gCurRow,gCurCol; 
uint d,g,n,h;
uchar uRow,uCol;
uint i,e,f;

uchar fnGetRow(void)
{
return gCurRow;
}
uchar fnGetCol(void)
{
return gCurCol;
}
void fnST01(void)      // 狀態(tài)位STA1,STA0 判斷(讀寫(xiě)指令和讀寫(xiě)數(shù)據(jù))
{uchar sta; 
do{ sta=LCMCW & 0x03; }
while(sta!=0x03); 

}

/*void fnST2(void)     // 狀態(tài)位ST2 判斷(數(shù)據(jù)自動(dòng)讀狀態(tài))
{
uchar sta; 
do{ sta=LCMCW & 0x04; }
while(sta!=0x04);
}*/
                  
void fnST3(void)           // 狀態(tài)位ST3 判斷(數(shù)據(jù)自動(dòng)寫(xiě)狀態(tài))
{
uchar sta; 
do{ sta=LCMCW & 0x08; }
while(sta!=0x08);
}
/*uchar fnST6(void)           // 狀態(tài)位ST6 判斷(屏讀/屏拷貝狀態(tài))
{
uchar i;
for(i=10;i>0;i--)
{
if((LCMCW & 0x40) == 0x40)
break;
}
return i; // 若返回零,說(shuō)明錯(cuò)誤
}*/


void fnPR1(uchar uCmd,uchar uPar1,uchar uPar2) // 寫(xiě)雙參數(shù)的指令
{
fnST01(); 
LCMDW = uPar1;
fnST01(); 
LCMDW = uPar2;
fnST01(); 
LCMCW = uCmd;

}
void fnPR11(uchar uCmd,uchar uPar1) // 寫(xiě)單參數(shù)的指令

{
fnST01(); 
LCMDW = uPar1;
fnST01(); 
LCMCW = uCmd;
}
void  fnPR12(uchar uCmd)       // 寫(xiě)無(wú)參數(shù)的指令
{fnST01(); 
LCMCW = uCmd;
}
void  fnPR13(uchar uData)     // 寫(xiě)數(shù)據(jù)
{fnST01(); 
LCMDW = uData;
}
/*uchar fnPR2(void)            // 讀數(shù)據(jù)
{fnST01(); 
return LCMDW;
}*/
// 設(shè)置當(dāng)前地址
void fnSetPos(uchar urow, uchar ucol)
{
uint iPos;
iPos = urow * 30 + ucol;                                       
fnPR1(LC_ADD_POS,iPos & 0xFF,iPos / 256);
gCurRow = urow;
gCurCol = ucol;
}
// 設(shè)置當(dāng)前顯示行、列
void cursor(uchar uRow, uchar uCol)       
{
fnSetPos(uRow * 16, uCol);
}
//指針設(shè)置
void Text_Curser(uchar x3,uchar y3)
{fnPR1(0x21,x3,y3);

a=x3;
b=y3;}


// 清屏
void cls(void)
{
uint i;
fnPR1(LC_ADD_POS,0x00,0x00);  // 置地址指針
fnPR12(LC_AUT_WR);            // 自動(dòng)寫(xiě)
for(i=0;i<240*128;i++)
{
fnST3();
fnPR13(0x00);                 // 寫(xiě)數(shù)據(jù)
}
fnPR12(LC_AUT_OVR);           // 自動(dòng)寫(xiě)結(jié)束
fnPR1(LC_ADD_POS,0x00,0x00);  // 重置地址指針
gCurRow = 0;                  // 置地址指針存儲(chǔ)變量
gCurCol = 0;
}


// LCM 初始化
void fnLCMInit(void)
{

fnPR1(LC_TXT_STP,0xDF,0x01) ;   // 文本顯示區(qū)首地址
fnPR1(0x41,0x1E,0x00);          // 文本顯示區(qū)寬度
fnPR1(LC_GRH_STP,0x00,0x00);    // 圖形顯示區(qū)首地址
fnPR1(LC_GRH_WID,0x1E,0x00);    // 圖形顯示區(qū)寬度
fnPR12(0xA0);                   // 光標(biāo)形狀
fnPR12(0x80);                   // 顯示方式設(shè)置
fnPR12(0x9F);                   // 顯示開(kāi)關(guān)設(shè)置
cls();

}
//延時(shí)
void shortdelay(uint tt)
{ uchar i;
  while(tt)
  {i=100;
   while(i) 
   i--;
   tt--;};
   }
//顯示一個(gè)字符

void dchar(uchar x,uchar y,uchar a)
{uchar j,uRow,uCol;
for(j=0;j<16;j++)
{
uRow=y;
uCol=x;
fnSetPos(uRow*16+j,uCol);
uRow = fnGetRow();
uCol = fnGetCol();
fnPR12(LC_AUT_WR);
fnPR13(ASC_MSK[(a-0x20)*16+j]);
fnPR12(LC_AUT_OVR);
}
}
//顯示字符串
void dstring(uchar x,uchar y,uchar *ptr)
{
char c1;
uchar i,j,uLen,uRow,uCol;
uLen=strlen(ptr);
for(i=0;i<uLen;i++)
{c1 =ptr[i];
for(j=0;j<16;j++)
{uRow=y;
uCol=x;
fnSetPos(uRow*16+j,uCol);
uRow = fnGetRow();
uCol = fnGetCol(); 
fnPR12(LC_AUT_WR);
fnPR13(ASC_MSK[(c1-0x20)*16+j]);
fnPR12(LC_AUT_OVR);}
if(x<29)
{x++;}
else 
{y++;x=0;}}

}
//顯示漢字
void dhz(uchar x,uchar y,uchar *shz)
{uint  length=0,no,k;
 uchar uRow,uCol;
  while (*(shz+length)!='\0')
  {length++;}
 for(no=0;no<length/2;no++)
  {uint j,find=0;
   for(j=0;j<sizeof(hzinx)/2;j++)
    {if(hzinx[j*2]==*(shz+no*2)&&hzinx[j*2+1]==*(shz+no*2+1))
	{find=1;break;}}

for(k=0;k<16;k++)
{uRow=y;
uCol=x+no*2;
fnSetPos(uRow*16+k,uCol);
uRow = fnGetRow();
uCol = fnGetCol(); 
fnPR12(LC_AUT_WR);
fnPR13(zimo[j*32+2*k]);
fnPR12(LC_AUT_OVR);
x++;
fnPR12(LC_AUT_WR);
fnPR13(zimo[j*32+2*k+1]);
fnPR12(LC_AUT_OVR);
x--;}
}}

//串口數(shù)據(jù)接收

 serial()interrupt 4 using 1
 {
   
   if(RI)
   { 
     c=SBUF;                                                                                                        
	 RI=0;
     rbuf[r_in++]=c;
	 if((rbuf[r_in-3]=='*')&&(rbuf[r_in-2]=='*')&&(rbuf[r_in-1]=='*'))
	 { if(r_in<250)
	     r_in=250;
	   else if(r_in>250) 
	     r_in=0;
	  }
	 
    }
 }
  
  //串口初始化
  void nintser(void)
  {r_in=0;
  TMOD=0x20;
  TL1=0xF3;TH1=0xF3;  //在12MHz下,設(shè)串口波特率為4800,方式3
  SCON=0xd8;PCON=0x80;
  TR1=1;
  IE=0x90;             //串口開(kāi)中斷
  IP=0x10;
  }

//接收緩沖區(qū)分塊
void part(void)
{ 
 
 if(r_in<250)
 {e=250;             //當(dāng)前顯示緩沖區(qū)首地址   
  f=500;}
 else if(r_in>250)   //當(dāng)前顯示緩沖區(qū)末地址   
 {e=0;f=250;}
 for(i=e;i<f;i++)
 {if(rbuf[i]=='c'&&rbuf[i+1]=='o'&&rbuf[i+2]=='m')
 {h=i;break;
}}
 
 for(i=e;i<f;i++)
 {if(rbuf[i]=='D'&&rbuf[i+1]=='V'&&rbuf[i+2]=='L')
 {d=i;break;
 }}
 for(i=e;i<f;i++)
 {if(rbuf[i]=='G'&&rbuf[i+1]=='P'&&rbuf[i+2]=='S')
 {g=i;break;
 }}
 for(i=e;i<f;i++)
 {if(rbuf[i]=='I'&&rbuf[i+1]=='N'&&rbuf[i+2]=='S')
 {n=i;break;
 }}}
 

//接收信息顯示
void sebuf(void)
{uchar k,j;
 for(k=0;k<10;k++)
 {
  for(j=0;j<16;j++)
   {uRow=y;
    uCol=x;
    fnSetPos(uRow*16+j,uCol);
    uRow = fnGetRow();
    uCol = fnGetCol(); 
    fnPR12(LC_AUT_WR);
    fnPR13(ASC_MSK[(rbuf[2+k+q]-0x20)*16+j]);
    fnPR12(LC_AUT_OVR);
	}          
    x++;
  }
}


//組合信息顯示
void serh1(void)
{
uint i;
uchar find=0;
for(i=h;i<d;i++)
 {if(rbuf[i]=='j'&&rbuf[i+1]=='d')
  {find=1;
   q=i;
   break;}

 }
 if(find==1)
  {
   y=5;x=6;
   sebuf();
   }
}

void serh2(void)
{
uint i;
uchar find=0;
for(i=h;i<d;i++)
 {if(rbuf[i]=='w'&&rbuf[i+1]=='d')
  {
   find=1;q=i;

    break;}

  }
 if(find==1)
 {
   y=6;x=6;
   sebuf();}
}

void serh3(void)
{
uint i;
uchar find=0;

for(i=h;i<d;i++)
 {if(rbuf[i]=='h'&&rbuf[i+1]=='x')
  {
  find=1;q=i;
  break;}

  }
 if(find==1)
  {
   y=7;x=6;
   sebuf();}
}

 void serh4(void)
{
uint i;
uchar find=0;

for(i=h;i<d;i++)
{if(rbuf[i]=='h'&&rbuf[i+1]=='y')
  {
   find=1;q=i;
   break;}

  }
 if(find==1)
  {
   y=8;x=6;
   sebuf();}
}

 void serh5(void)
{
uint i;
uchar find=0;
for(i=h;i<d;i++)
{if(rbuf[i]=='z'&&rbuf[i+1]=='y')
  {
  find=1;q=i;
  break;}
 }
 if(find==1)
 {
   y=9;x=6;
   sebuf();}
}

 void serh6(void)
{
uint i;
uchar find=0;

for(i=h;i<d;i++)
{if(rbuf[i]=='V'&&rbuf[i+1]=='e')
  {
    find=1;q=i;
    break;}

  }
 if(find==1)
 {
   y=10;x=6;
   sebuf();}
}

 void serh7(void)
{
uint i;
uchar find=0;
for(i=h;i<d;i++)
{if(rbuf[i]=='V'&&rbuf[i+1]=='n')
  {
  find=1;q=i;
   break;}

 }
 if(find==1)
 {
   y=11;x=6;
   sebuf();}
}

//七種信息統(tǒng)一顯示 
 void serh(void)
{
  part();
  serh1();
  serh2();
  serh3();
  serh4();
  serh5();
  serh6();
  serh7();
}

//DVL信息
void serd1(void)
{
uint i;
uchar find=0;
for(i=d;i<g;i++)
{if(rbuf[i]=='V'&&rbuf[i+1]=='e')
   {
  find=1;q=i;
   break;}

 } 
 if(find==1)
 {
   y=4;x=6;
   sebuf();}
}

void serd2(void)
{
uint i;
uchar find=0;
for(i=d;i<g;i++)
{if(rbuf[i]=='V'&&rbuf[i+1]=='n')
   {
  find=1;q=i;
  break;}

 }
 if(find==1)
 {
   y=5;x=6;
   sebuf();}
}
//DVL東北速顯示
void serd(void)
{
part();
serd1();
serd2();
}

//GPS信息
void serg1(void)
{
uint i;
uchar find=0;
for(i=g;i<n;i++)
{if(rbuf[i]=='j'&&rbuf[i+1]=='d')
  {
  find=1;q=i;
  break;}

 }
 if(find==1)
 {
   y=10;x=6;
   sebuf();}
 }

void serg2(void)
{
uint i;
uchar find=0;
for(i=g;i<n;i++)
{if(rbuf[i]=='w'&&rbuf[i+1]=='d')
  {
  find=1;q=i;
  break;}

  }
 if(find==1)
 {
   y=11;x=6;
   sebuf();}
 }
//GPS經(jīng)緯度顯示
void serg(void)
{
 part();
 serg1();
 serg2();
}
//INS信息
void sern1(void)
{
uint i;
uchar find=0;
for(i=n;i<f;i++)
{if(rbuf[i]=='j'&&rbuf[i+1]=='d')
  {
  find=1;q=i;
  break;}

 }
 if(find==1)
 {
   y=5;x=6;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合一区二区三区| 免费不卡在线观看| 日韩av成人高清| 成人免费精品视频| 欧美精品一级二级| 亚洲同性同志一二三专区| 日本免费新一区视频 | 久久精品一区四区| 亚洲一区二区欧美| 成人午夜视频网站| 亚洲精品在线免费播放| 亚洲成人激情社区| 色综合久久天天综合网| 国产日韩影视精品| 国内精品不卡在线| 日韩一区二区视频| 五月激情综合婷婷| 在线观看日韩电影| 亚洲色图制服丝袜| 国产盗摄一区二区| 2020国产成人综合网| 日本在线不卡视频一二三区| 91国偷自产一区二区三区观看 | 色久优优欧美色久优优| 国产偷国产偷亚洲高清人白洁| 免费人成黄页网站在线一区二区| 在线免费观看一区| 亚洲老妇xxxxxx| 91在线码无精品| 国产精品福利在线播放| 丁香激情综合五月| 国产精品视频一区二区三区不卡| 国产精品18久久久久久vr| 精品国一区二区三区| 久久99国产乱子伦精品免费| 日韩午夜激情av| 国精产品一区一区三区mba视频| 欧美一区二区三区免费大片| 三级亚洲高清视频| 日韩一区二区电影在线| 久久国产成人午夜av影院| 精品少妇一区二区三区日产乱码| 精品一区二区三区香蕉蜜桃| 欧美成人欧美edvon| 国产一区二区精品久久| 国产亚洲精品7777| 成人免费视频免费观看| 中文字幕一区二区三| 色琪琪一区二区三区亚洲区| 一区二区三区日韩精品| 欧美日韩高清影院| 精彩视频一区二区| 国产婷婷一区二区| 色婷婷激情久久| 青青草原综合久久大伊人精品 | 91视频在线观看| 亚洲国产精品久久不卡毛片| 欧美精品黑人性xxxx| 黄色成人免费在线| 中文字幕在线观看不卡| 欧洲av在线精品| 久久99日本精品| 国产精品麻豆欧美日韩ww| 91丝袜美腿高跟国产极品老师 | 99re亚洲国产精品| 午夜电影网一区| 久久久99精品久久| 在线亚洲精品福利网址导航| 视频在线观看国产精品| 久久久久久久久久电影| kk眼镜猥琐国模调教系列一区二区| 亚洲影院在线观看| 久久久综合视频| 欧美影院精品一区| 国产精品一区在线| 亚洲一区二区三区在线播放| 精品999久久久| 欧美在线你懂的| 国产黄色91视频| 天天免费综合色| 最新中文字幕一区二区三区 | 视频一区二区国产| 国产精品久久久久aaaa| 91精品国产91久久久久久一区二区| 国产经典欧美精品| 奇米精品一区二区三区四区 | 国产成人亚洲综合a∨猫咪| 一区二区三区在线免费视频 | 久久老女人爱爱| 91麻豆产精品久久久久久 | 亚洲一区电影777| 欧美一级高清片| 色婷婷精品久久二区二区蜜臂av | 久久99国产精品免费| 亚洲啪啪综合av一区二区三区| 日韩欧美国产1| 欧美色视频一区| 不卡一区二区在线| 国产精品一区在线观看你懂的| 日韩综合在线视频| 亚洲免费av在线| 中文字幕一区不卡| 中文字幕欧美三区| 精品成人私密视频| 欧美一级精品在线| 在线成人小视频| 91玉足脚交白嫩脚丫在线播放| 奇米影视一区二区三区小说| 国产日韩欧美亚洲| 一区在线播放视频| 欧美经典三级视频一区二区三区| 精品国产欧美一区二区| 欧美一区二区免费| 91精品国产综合久久蜜臀| 欧洲另类一二三四区| 日本韩国欧美一区二区三区| 91视频观看免费| 日本久久电影网| 色婷婷精品久久二区二区蜜臀av| 99久久777色| 色成人在线视频| 一本一本大道香蕉久在线精品 | 日韩—二三区免费观看av| 亚洲精品成人在线| 亚洲一区二区三区在线| 亚洲成人中文在线| 日韩国产欧美三级| 精品一区二区三区在线播放视频| 精品一区二区日韩| 国产精品亚洲成人| av一区二区三区四区| 91黄色免费版| 91精品国产综合久久久久久久| 日韩午夜激情视频| 久久精品夜色噜噜亚洲a∨| 国产婷婷色一区二区三区| 国产精品国产自产拍在线| 亚洲精品免费在线| 午夜精品久久久久久久蜜桃app| 日韩 欧美一区二区三区| 久久91精品久久久久久秒播 | 免费高清在线一区| 国产精品一线二线三线精华| 91美女在线视频| 欧美精品 国产精品| 精品国产a毛片| 亚洲天堂成人在线观看| 天堂久久一区二区三区| 国产精品77777竹菊影视小说| 99久久综合色| 日韩一二三区视频| 亚洲欧美影音先锋| 蜜桃av一区二区三区| 成人免费三级在线| 69p69国产精品| 国产精品久久久久久久久图文区| 亚洲成人免费在线观看| 国产精品综合一区二区| 欧美日韩在线直播| 国产免费观看久久| 日本麻豆一区二区三区视频| 成人久久久精品乱码一区二区三区| 欧美中文字幕一二三区视频| 久久综合久久综合久久| 亚洲自拍欧美精品| 国产成人免费视| 欧美一区二区三区日韩视频| 亚洲色欲色欲www在线观看| 久久99国产精品免费| 欧美日韩国产一级片| 国产精品午夜在线观看| 美腿丝袜一区二区三区| 色综合视频在线观看| 久久丝袜美腿综合| 日本中文字幕一区| 欧美午夜不卡视频| 国产精品国产三级国产a| 国产一区二区美女| 欧美一区二区日韩一区二区| 一区二区三区中文字幕精品精品| 国产一区二区三区日韩| 懂色av一区二区三区免费看| 欧美一区2区视频在线观看| 黑人巨大精品欧美一区| 99久久综合99久久综合网站| 国产激情一区二区三区桃花岛亚洲| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩一二三区| 亚洲日本va在线观看| 成人永久免费视频| 精品国产人成亚洲区| 久久国产夜色精品鲁鲁99| 欧美日韩美女一区二区| 一区二区三区波多野结衣在线观看| 粉嫩一区二区三区性色av| 26uuu国产一区二区三区| 美女精品一区二区| 日韩一区二区三区电影| 免费在线一区观看| 欧美www视频|