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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd3.c

?? 帶T6963C控制器的LCD的驅動程序和簡單的顯示測試程序
?? C
字號:
#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 // 光標位置設置
#define LC_CGR_POS 0x22 // CGRAM偏置地址設置
#define LC_ADD_POS 0x24 // 地址指針位置
#define LC_TXT_STP 0x40 // 文本區首址
#define LC_TXT_WID 0x41 // 文本區寬度
#define LC_GRH_STP 0x42 // 圖形區首址
#define LC_GRH_WID 0x43 // 圖形區寬度
#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  // 顯示開關:D0=1/0:光標閃爍啟用/禁用;
                                  // D1=1/0:光標顯示啟用/禁用;
                                  // D2=1/0:文本顯示啟用/禁用;
                                  // D3=1/0:圖形顯示啟用/禁用;
#define LC_CUR_SHP 0xA0 // 光標形狀選擇:0xA0-0xA7 表示光標占的行數
#define LC_AUT_WR 0xB0  // 自動寫設置
#define LC_AUT_RD 0xB1  // 自動讀設置
#define LC_AUT_OVR 0xB2 // 自動讀/寫結束
#define LC_INC_WR 0xC0  // 數據一次寫,地址加1
#define LC_INC_RD 0xC1  // 數據一次讀,地址加1
#define LC_DEC_WR 0xC2  // 數據一次寫,地址減1
#define LC_DEC_RD 0xC3  // 數據一次讀,地址減1
#define LC_NOC_WR 0xC4  // 數據一次寫,地址不變
#define LC_NOC_RD 0xC5  // 數據一次讀,地址不變
#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] // 數據口
#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)      // 狀態位STA1,STA0 判斷(讀寫指令和讀寫數據)
{uchar sta; 
do{ sta=LCMCW & 0x03; }
while(sta!=0x03); 

}

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


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

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

{
fnST01(); 
LCMDW = uPar1;
fnST01(); 
LCMCW = uCmd;
}
void  fnPR12(uchar uCmd)       // 寫無參數的指令
{fnST01(); 
LCMCW = uCmd;
}
void  fnPR13(uchar uData)     // 寫數據
{fnST01(); 
LCMDW = uData;
}
/*uchar fnPR2(void)            // 讀數據
{fnST01(); 
return LCMDW;
}*/
// 設置當前地址
void fnSetPos(uchar urow, uchar ucol)
{
uint iPos;
iPos = urow * 30 + ucol;                                       
fnPR1(LC_ADD_POS,iPos & 0xFF,iPos / 256);
gCurRow = urow;
gCurCol = ucol;
}
// 設置當前顯示行、列
void cursor(uchar uRow, uchar uCol)       
{
fnSetPos(uRow * 16, uCol);
}
//指針設置
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);            // 自動寫
for(i=0;i<240*128;i++)
{
fnST3();
fnPR13(0x00);                 // 寫數據
}
fnPR12(LC_AUT_OVR);           // 自動寫結束
fnPR1(LC_ADD_POS,0x00,0x00);  // 重置地址指針
gCurRow = 0;                  // 置地址指針存儲變量
gCurCol = 0;
}


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

fnPR1(LC_TXT_STP,0xDF,0x01) ;   // 文本顯示區首地址
fnPR1(0x41,0x1E,0x00);          // 文本顯示區寬度
fnPR1(LC_GRH_STP,0x00,0x00);    // 圖形顯示區首地址
fnPR1(LC_GRH_WID,0x1E,0x00);    // 圖形顯示區寬度
fnPR12(0xA0);                   // 光標形狀
fnPR12(0x80);                   // 顯示方式設置
fnPR12(0x9F);                   // 顯示開關設置
cls();

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

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--;}
}}



//歡迎使用
void welcom(void)
{ 
dhz(5,2,"歡迎使用激光陀螺");
dhz(7,3,"捷聯慣導系統");
dstring(8,4,"welcom");}



//主函數
void main(void) 
{
fnLCMInit();

welcom();
shortdelay(5000);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区自拍| 国产精品视频麻豆| 欧美影院一区二区三区| 97精品电影院| 91蜜桃网址入口| 色欲综合视频天天天| thepron国产精品| 91一区二区在线| 欧洲精品中文字幕| 欧美区在线观看| 欧美一区在线视频| 精品捆绑美女sm三区| 精品日韩欧美在线| 亚洲国产精品精华液ab| 亚洲激情自拍偷拍| 丝袜亚洲另类欧美| 精品制服美女久久| 国产91在线|亚洲| 色婷婷狠狠综合| 在线电影院国产精品| 精品精品国产高清一毛片一天堂| 2022国产精品视频| 国产精品国产三级国产aⅴ中文| 日韩一区中文字幕| 日韩高清在线不卡| 国产91精品入口| 欧美人与z0zoxxxx视频| 亚洲精品在线免费观看视频| 专区另类欧美日韩| 伦理电影国产精品| 91视频你懂的| 欧美成人欧美edvon| 亚洲日本在线a| 韩国三级电影一区二区| 91麻豆蜜桃一区二区三区| 欧美一区二区三区小说| 国产亚洲精品bt天堂精选| 亚洲网友自拍偷拍| 国产盗摄女厕一区二区三区| 欧美日韩国产123区| 中文字幕第一区| 男女男精品视频| 色婷婷久久综合| 久久天天做天天爱综合色| 亚洲午夜电影在线观看| 高清成人在线观看| 日韩一区二区三| 一区二区三区欧美久久| 丁香五精品蜜臀久久久久99网站| 91精品久久久久久久91蜜桃| 亚洲天堂福利av| 国产成人精品亚洲日本在线桃色| 中文字幕一区二区三区不卡在线| www国产精品av| 亚洲最新视频在线观看| 成人午夜免费av| 精品国偷自产国产一区| 日韩激情一二三区| 欧美亚洲禁片免费| 亚洲制服丝袜在线| 99精品国产热久久91蜜凸| 久久久久久久综合狠狠综合| 免费看欧美女人艹b| 欧美日本一区二区三区| 一区二区三区日本| 一本大道综合伊人精品热热| 中文字幕一区二区三区不卡在线| 国产高清视频一区| 久久久久久久久久久久久久久99| 免费人成精品欧美精品| 欧美久久久久中文字幕| 亚洲国产综合在线| 欧美肥胖老妇做爰| 丝袜诱惑亚洲看片| 欧美大白屁股肥臀xxxxxx| 视频在线观看国产精品| 日韩女优制服丝袜电影| 国产在线精品一区二区| 久久午夜羞羞影院免费观看| 国产九色精品成人porny| 国产欧美一区二区三区鸳鸯浴| 狠狠色综合日日| 久久久精品国产99久久精品芒果| 国产一区二区在线视频| 中文字幕乱码亚洲精品一区| 成人动漫一区二区三区| 一区二区三区在线观看欧美| 欧美亚洲动漫制服丝袜| 天天av天天翘天天综合网 | 欧美日韩不卡在线| 天天综合色天天| 久久婷婷久久一区二区三区| 成人黄色国产精品网站大全在线免费观看 | 国产福利精品一区| 综合分类小说区另类春色亚洲小说欧美| 99国产精品久久久久| 亚洲综合在线电影| 日韩欧美成人一区| 高潮精品一区videoshd| 一区二区三区免费观看| 精品久久久久一区二区国产| 成人伦理片在线| 亚洲国产一二三| www激情久久| 在线精品观看国产| 国产伦精品一区二区三区免费| 国产精品国产三级国产| 欧美精品一级二级三级| 国产成人综合自拍| 午夜精品成人在线视频| 国产日韩在线不卡| 欧美一区二区三区性视频| 成人国产电影网| 蜜桃av噜噜一区| 亚洲三级在线免费| 国产午夜精品福利| 欧美老女人在线| 91小视频在线观看| 国产在线观看免费一区| 亚洲成人av一区| 日本一区二区三区在线不卡| 3atv在线一区二区三区| 成人动漫在线一区| 国产在线精品一区二区| 日本一区中文字幕| 亚洲愉拍自拍另类高清精品| 欧美激情一区二区三区不卡| 欧美一卡二卡在线| 欧美日韩精品一区二区三区四区| 国产suv一区二区三区88区| 日产国产欧美视频一区精品| 一区二区三区国产精华| 国产精品国产三级国产aⅴ中文| 欧美成人a视频| 欧美伦理电影网| 欧美在线免费观看视频| 99riav久久精品riav| 国产91对白在线观看九色| 狠狠色伊人亚洲综合成人| 日韩高清一级片| 亚洲福利国产精品| 一区二区三区中文字幕精品精品| 欧美国产精品专区| 久久久国产综合精品女国产盗摄| 欧美成人综合网站| 日韩久久久久久| 久久综合色之久久综合| 精品sm在线观看| 久久精品视频网| 欧美激情一二三区| 中文字幕一区二区三中文字幕| 国产亚洲精品bt天堂精选| 国产网站一区二区| 欧美国产激情一区二区三区蜜月| 日本一区二区成人| 中文字幕亚洲在| 亚洲激情第一区| 午夜天堂影视香蕉久久| 免费人成在线不卡| 国产一区二区女| 99天天综合性| 色婷婷精品大在线视频| 欧美精品乱人伦久久久久久| 欧美一区二区福利在线| 精品久久一区二区| 中文字幕精品一区| 亚洲精品视频一区二区| 午夜成人在线视频| 韩国欧美国产1区| 91在线观看高清| 5566中文字幕一区二区电影| 精品处破学生在线二十三| 国产婷婷色一区二区三区四区| 国产精品色婷婷| 亚洲sss视频在线视频| 久久66热偷产精品| 97se亚洲国产综合自在线| 欧美精品 日韩| 亚洲国产高清在线观看视频| 伊人性伊人情综合网| 秋霞成人午夜伦在线观看| 国产不卡在线视频| 欧美婷婷六月丁香综合色| 精品久久国产老人久久综合| 国产精品美女久久久久高潮| 亚洲va欧美va国产va天堂影院| 国产一区二区三区黄视频 | 日本不卡的三区四区五区| 国产成人精品综合在线观看 | 一区二区三区四区不卡视频| 日本特黄久久久高潮| 高清不卡一二三区| 欧美一区二区视频网站| 国产精品久久毛片| 久久精品国产一区二区| 欧美日韩视频在线一区二区| 久久精品夜色噜噜亚洲a∨| 亚洲成人av一区| 99久久婷婷国产精品综合| 精品久久人人做人人爰|