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

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

?? t6963c-demo(ok060520).c

?? 我收集的SED1335液晶屏的各種資料集合 對初學(xué)者很有幫助
?? C
?? 第 1 頁 / 共 3 頁
字號:
//CA24064B (T6963c)keilc51示例程序

//                    CA24064
//***************************************************************************
//*  Create by :Ssmart   2004/12/01       KeilC V7.0                           *
//***************************************************************************
//連線表:  CPU=89C52                                                        *
//C/D=P2.0           /CE=P2.7    FS=P3.5     /WR=/WR P3.6     /RD=/RD P3.7  *
//FOSC=12MHz         D0-D7=P0.0-P0.7     /RSET=/(CPU RSET)                  *
//***************************************************************************
#include <reg52.h>//"STC89C51RC_RD_PLUS.H"  
#include <intrins.h>
#include <stdio.h>

#define uint  unsigned int
#define uchar unsigned char
#define Graphic            1
#define TXT            0
#define LcmLengthDots            240
#define LcmWidthDots            128  //64

#define LineChar 30 // 240/8=30

char xdata LcmDataPort _at_ 0x0000;
char xdata LcmCmdPort  _at_ 0x0100;
sbit FS = P3^5;
sbit Key= P3^4;

uchar code bmp1[];
uchar code str1[];
unsigned char code HZTable[][32];
unsigned char code CharTable[][16];

//指令&數(shù)據(jù)讀寫狀態(tài)
void CheckRWCD(void)
{
  while((LcmCmdPort & 0x03) != 0x03);      //低電平忙
}
//數(shù)據(jù)自動寫狀態(tài)
void CheckAutoWrite(void)
{
     while((LcmCmdPort & 0x08) == 0);      //低電平忙
}
//屏讀/屏考貝出錯狀態(tài)
void CheckScreen(void)
{      
     while(LcmCmdPort & 0x40);      //1出錯,0正確
}
//一個數(shù)據(jù)子寫入函數(shù)
void LcmWriteData(uchar uData)                        
{
     LcmDataPort = uData;
}
//一個數(shù)據(jù)讀出函數(shù)
uchar LcmReadData( void )
{
     uchar uData;
     uData = LcmDataPort;
     return uData;
}
//無參數(shù)指令寫入函數(shù)
void LcmWriteCommand(uchar Command)                  
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmCmdPort = Command;
}
//單參數(shù)指令寫入函數(shù)
void LcmWriteCommandWith1Par(uchar Parameter,uchar Command)
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmDataPort = Parameter;
     CheckRWCD();
     LcmCmdPort = Command;
}
//雙參數(shù)指令寫入函數(shù)
void LcmWriteCommandWith2Par(uchar Parameter1,uchar Parameter2,uchar Command)
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmDataPort = Parameter1;
     CheckRWCD();
     LcmDataPort = Parameter2;
     CheckRWCD();
     LcmCmdPort = Command;
}
//LCM初始化函數(shù)
void LcmInit( void )
{
     LcmWriteCommandWith2Par(0x00,0x00,0x40);      //設(shè)置文本顯示區(qū)首地址
     LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x41);      //設(shè)置文本顯示區(qū)寬度
     LcmWriteCommandWith2Par(0x00,0x08,0x42);      //設(shè)置圖形顯示區(qū)首地址0x0800
     LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x43);      //設(shè)置圖形顯示區(qū)寬度
     LcmWriteCommand(0xA7);                  //設(shè)置光標形狀 8x8方塊
     LcmWriteCommand(0x81);                  //顯示方式設(shè)置 文本xor圖形(異或)
     LcmWriteCommand(0x9C);                  //顯示開關(guān)設(shè)置 文本開,圖形開,光標閃爍關(guān)
}
//延時函數(shù)
void Delay(uint MS)
{
     uchar us,usn;
     while(MS!=0)                        //12M Crystal
     { 
           usn = 2;
           while(usn!=0)
           {
                 us=0xf2;
                 while (us!=0){us--;};
                 usn--;
           }
           MS--;
     }
}
//通過按鍵設(shè)定延時函數(shù)
void DelayKey(unsigned char HalfSecond)
{                              //Delay_key加入時間參數(shù)0.5秒一級
     unsigned int i;
     for(i=0;i<50*HalfSecond;i++)            //12M Crystal
     {
           if(Key==0)
           {
                 Delay(20);
                 while(Key==0) {Delay(20);}
                 break;
           }
           Delay(10);
     }
}
//清顯示存儲器函數(shù)
void LcmClear( uchar FillByte )
{
     uint i = 8192;      //此處僅清8K RAM,如果您32K RAM都使用,請修改i=32768(后面也要改)
     if(FillByte)      //注意如果填充ff時,如果RAM僅使用了8K,那么8192次會寫入到文本區(qū)
     {                  //會形成亂碼.(24064出廠時候默認將R7斷開,即默認使用8KRAM)
           i -= 2*1024;//所以如果填入ff時候要扣除2K的文本區(qū)
             LcmWriteCommandWith2Par(0x00,0x08,0x24);      //填充0xff時候要在圖形區(qū)
     }
     else
           LcmWriteCommandWith2Par(0x00,0x00,0x24);
     LcmWriteCommand(0xB0);                  //進入自動寫
     while(i--)
     {
           CheckAutoWrite();
           LcmWriteData( FillByte );
     }
     LcmWriteCommand(0xB2);                  //退出自動寫
}
//設(shè)定顯示地址函數(shù)
void LocateXY(uchar x,uchar y,uchar mode)
{
     uint  temp;
     temp= LcmLengthDots/8*y + x;
     if(mode)                        //mode=1為Graphic
     {                              //如果圖形模式要加上圖形區(qū)首地址0x0800
           temp+=0x0800;
     }
     LcmWriteCommandWith2Par(temp&0xff,temp/256,0x24);
}
//顯示一個ASCII碼函數(shù)
void PutChar(uchar x,uchar y,uchar CharByte)
{
     LocateXY(x,y,TXT);
     LcmWriteCommandWith1Par(CharByte,0xC4);
}
//顯示一個字符串函數(shù)
void PutString(uchar x,uchar y,uchar *str)
{
     while(*str != 0)
     {
           if(x> 29)            //自動換行
           {
                 x=0;
                 y++;
           }
           PutChar(x,y,*str);
           ++x;
           ++str;
     }
}

void ShowHZ(unsigned char lin,unsigned char column,unsigned int hzcode)   //圖形方式顯示1個漢字 
{
unsigned char i;
unsigned int StartAddr;
StartAddr=0x800+lin*LineChar + column; //圖形顯示RAM區(qū)為0800開始
for(i=0;i<16;i++)
{
LcmWriteCommandWith2Par( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
LcmWriteCommandWith1Par( HZTable[hzcode][i*2], 0xc0); //數(shù)據(jù)寫地址+1
LcmWriteCommandWith1Par( HZTable[hzcode][i*2+1], 0xc4); //數(shù)據(jù)寫地址不變
StartAddr=StartAddr + LineChar;     
}
}

void ShowHZReverse(unsigned char lin,unsigned char column,unsigned int hzcode)   //圖形方式反顯 顯示1個漢字 
{
unsigned char i;
unsigned int StartAddr;
StartAddr=0x800+lin*LineChar + column; //圖形顯示RAM區(qū)為0800開始
for(i=0;i<16;i++)
{
LcmWriteCommandWith2Par( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
LcmWriteCommandWith1Par(~HZTable[hzcode][i*2], 0xc0); //數(shù)據(jù)寫地址+1
LcmWriteCommandWith1Par(~HZTable[hzcode][i*2+1], 0xc4); //數(shù)據(jù)寫地址不變
StartAddr=StartAddr + LineChar;     
}
}
void ShowChar(unsigned char lin,unsigned char column,unsigned int hzcode)   //圖形方式顯示1個英文字符
{
unsigned char i;
unsigned int StartAddr;
StartAddr=0x800+lin*LineChar + column; //圖形顯示RAM區(qū)為0800開始
for(i=0;i<16;i++)
{
LcmWriteCommandWith2Par( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
LcmWriteCommandWith1Par( CharTable[hzcode][i], 0xc4); //數(shù)據(jù)寫地址不變
StartAddr=StartAddr + LineChar;     
}
}

void ShowEmpty(unsigned char lin,unsigned char column)   //圖形方式顯示1個空字符
{
unsigned char i;
unsigned int StartAddr;
StartAddr=0x800+lin*LineChar + column; //圖形顯示RAM區(qū)為0800開始
for(i=0;i<16;i++)
{
LcmWriteCommandWith2Par( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
LcmWriteCommandWith1Par( 0x00, 0xc4); //數(shù)據(jù)寫地址不變
StartAddr=StartAddr + LineChar;     
}
}

void line(unsigned char lin)   //圖形方式畫一條線
{
unsigned char i;
unsigned int StartAddr;
StartAddr=0x800+lin*LineChar; //圖形顯示RAM區(qū)為0800開始
LcmWriteCommandWith2Par( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8), 0x24);
for(i=0;i<LineChar;i++)
{
LcmWriteCommandWith1Par( 0xFF, 0xc0); //數(shù)據(jù)寫地址不變
}
}


//顯示一副圖片函數(shù)
void DisplayOneBmp(uchar *puts)
{
     uchar i,j;
     uint  X=0;
     LocateXY(0,0,Graphic);
     LcmWriteCommand(0xB0);                  //進入自動寫
     for(i=0;i<30;i++)  //LcmWidthDots->30
     {
           for(j=0;j<LcmLengthDots/8;j++)
           {
                 CheckAutoWrite();
                 LcmWriteData(puts[X]);
                 X++;
           }
     }
     LcmWriteCommand(0xB2);                  //退出自動寫
}
//反顯一副圖片函數(shù)
void ReverseOneBmp( void )
{                              //利用數(shù)據(jù)一次讀寫操作
     uchar i,j,X;            //只能對一段RAM取反
     LocateXY(0,0,Graphic);
     for(i=0;i<30;i++)   //LcmWidthDots ->30
     {
           for(j=0;j<LcmLengthDots/8;j++)
           {
                 LcmWriteCommand(0xC5);      //讀數(shù)據(jù),地址不變
                 CheckRWCD();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
7777精品伊人久久久大香线蕉的 | 成年人国产精品| 高清beeg欧美| 色综合色狠狠综合色| 欧美日本一区二区| 久久综合色之久久综合| 国产精品亲子伦对白| 夜夜嗨av一区二区三区| 美日韩一区二区| 国产福利91精品一区| 欧美吞精做爰啪啪高潮| 精品国产乱码久久久久久牛牛| 久久久夜色精品亚洲| 亚洲激情男女视频| 亚洲在线观看免费| 国产老女人精品毛片久久| 色婷婷综合久久久中文一区二区| 91麻豆精品国产91久久久久久| 久久精品水蜜桃av综合天堂| 亚洲激情图片一区| 国产自产v一区二区三区c| 色婷婷综合久久| 久久精品视频网| 午夜精品影院在线观看| 国产高清不卡二三区| 欧美区视频在线观看| 国产精品三级av| 亚洲电影一区二区三区| 国产91高潮流白浆在线麻豆| 制服丝袜中文字幕一区| 亚洲精品视频在线| 国产一区二区h| 91.com在线观看| 亚洲欧洲另类国产综合| 久久精品国产精品青草| 欧美日韩一级大片网址| 国产精品第四页| 国产伦精品一区二区三区免费迷| 欧美人妇做爰xxxⅹ性高电影| 中文字幕在线观看一区| 国产综合成人久久大片91| 欧美视频中文一区二区三区在线观看| 国产精品国产三级国产aⅴ无密码| 免费黄网站欧美| 欧美日韩不卡在线| 一区二区中文字幕在线| 成人不卡免费av| 久久久精品国产免费观看同学| 日韩高清不卡一区二区三区| 在线精品视频免费播放| 亚洲免费观看高清完整版在线观看熊| 国产一区二区在线电影| 精品美女在线播放| 国产一区二区影院| 国产精品久久久久久久蜜臀 | 欧美一区二区三区电影| 午夜精品爽啪视频| 91成人在线观看喷潮| 亚洲激情av在线| 在线观看亚洲一区| 亚洲国产精品天堂| 欧美一区二区女人| 极品销魂美女一区二区三区| 精品国产一区二区精华| 另类综合日韩欧美亚洲| 亚洲国产成人在线| 91香蕉视频污| 亚洲福中文字幕伊人影院| 欧美日韩一区二区欧美激情| 免费人成黄页网站在线一区二区| 6080午夜不卡| 精品中文字幕一区二区小辣椒| 日韩精品一区二| 国产99久久久精品| 综合激情成人伊人| 在线观看欧美日本| 久久激五月天综合精品| 国产精品丝袜91| 一本色道综合亚洲| 视频一区二区国产| 久久毛片高清国产| 色综合天天综合狠狠| 日韩av电影免费观看高清完整版| 精品蜜桃在线看| 99国内精品久久| 天堂蜜桃91精品| 日韩理论片在线| 欧美一区二区三区在| 国产精品自拍av| 亚洲情趣在线观看| 在线不卡免费av| 国产91在线看| 首页欧美精品中文字幕| 国产性天天综合网| 欧美性淫爽ww久久久久无| 精品亚洲免费视频| 亚洲一区电影777| 久久久久88色偷偷免费| 在线精品亚洲一区二区不卡| 国产在线精品一区在线观看麻豆| 亚洲欧洲日本在线| 精品国产一区二区三区av性色| 91看片淫黄大片一级在线观看| 亚洲成人在线免费| 国产精品伦一区二区三级视频| 欧美日韩色一区| 91国产成人在线| 国产a久久麻豆| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品久久久久婷婷二区次| 日韩一区二区免费电影| 欧洲一区二区av| 成人免费毛片嘿嘿连载视频| 老司机一区二区| 亚洲mv在线观看| 中文字幕日本乱码精品影院| 26uuu久久天堂性欧美| 欧美日韩在线一区二区| 99久久777色| 成人一区二区三区在线观看| 美女脱光内衣内裤视频久久影院| 亚洲午夜精品在线| 亚洲精品ww久久久久久p站| 中文字幕欧美激情一区| 久久蜜桃av一区精品变态类天堂| 欧美大胆人体bbbb| 日韩一二三四区| 555夜色666亚洲国产免| 欧美日韩国产不卡| 欧美日韩精品福利| 欧美日韩免费在线视频| 在线观看不卡视频| 一本久久综合亚洲鲁鲁五月天 | 久久久久久久国产精品影院| 日韩一级免费一区| 精品国产麻豆免费人成网站| 欧美xxx久久| 26uuu国产在线精品一区二区| 欧美丰满少妇xxxbbb| 91精品国产综合久久精品app| 欧美日韩综合在线| 欧美色国产精品| 色综合天天综合在线视频| 欧美日韩精品三区| 91精品在线麻豆| 久久天天做天天爱综合色| 久久只精品国产| 久久久久成人黄色影片| 国产精品狼人久久影院观看方式| 中文字幕高清不卡| 最新不卡av在线| 五月天中文字幕一区二区| 石原莉奈在线亚洲三区| 久久福利视频一区二区| 国产曰批免费观看久久久| 成人午夜电影久久影院| 色综合天天天天做夜夜夜夜做| 欧美在线观看18| 欧美老女人在线| 久久免费午夜影院| 国产欧美日产一区| 亚洲一区免费视频| 黑人精品欧美一区二区蜜桃| 成人国产精品视频| 欧美主播一区二区三区| 欧美日韩高清一区二区不卡| 欧美xfplay| 亚洲色欲色欲www在线观看| 亚洲午夜影视影院在线观看| 麻豆久久久久久| 波波电影院一区二区三区| 99精品欧美一区二区三区小说| 在线观看亚洲一区| 欧美va日韩va| 一区二区三区在线视频免费| 美女脱光内衣内裤视频久久影院| 国v精品久久久网| 欧美无砖砖区免费| 中文字幕亚洲成人| 亚洲第一久久影院| 高清不卡在线观看av| 欧美日本一道本在线视频| 亚洲国产成人在线| 日韩av一区二| 精品视频色一区| 亚洲国产精品高清| 免费观看成人av| 日本韩国视频一区二区| 久久亚区不卡日本| 日韩经典中文字幕一区| 99视频有精品| 91精品欧美福利在线观看| 中文字幕制服丝袜一区二区三区| 日韩精品一级二级| 色婷婷国产精品综合在线观看| 国产亚洲精品中文字幕| 精东粉嫩av免费一区二区三区| 欧美片网站yy| 国产精品免费观看视频| 国产一区中文字幕|