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

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

?? t6963c-demo(ok060520).c

?? 我收集的SED1335液晶屏的各種資料集合 對初學者很有幫助
?? 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 "STC89C51RC_RD_PLUS.H" // <reg52.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];

//指令&數據讀寫狀態(tài)
void CheckRWCD(void)
{
  while((LcmCmdPort & 0x03) != 0x03);      //低電平忙
}
//數據自動寫狀態(tài)
void CheckAutoWrite(void)
{
     while((LcmCmdPort & 0x08) == 0);      //低電平忙
}
//屏讀/屏考貝出錯狀態(tài)
void CheckScreen(void)
{      
     while(LcmCmdPort & 0x40);      //1出錯,0正確
}
//一個數據子寫入函數
void LcmWriteData(uchar uData)                        
{
     LcmDataPort = uData;
}
//一個數據讀出函數
uchar LcmReadData( void )
{
     uchar uData;
     uData = LcmDataPort;
     return uData;
}
//無參數指令寫入函數
void LcmWriteCommand(uchar Command)                  
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmCmdPort = Command;
}
//單參數指令寫入函數
void LcmWriteCommandWith1Par(uchar Parameter,uchar Command)
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmDataPort = Parameter;
     CheckRWCD();
     LcmCmdPort = Command;
}
//雙參數指令寫入函數
void LcmWriteCommandWith2Par(uchar Parameter1,uchar Parameter2,uchar Command)
{
     CheckRWCD();                        //檢測指令讀寫狀態(tài)
     LcmDataPort = Parameter1;
     CheckRWCD();
     LcmDataPort = Parameter2;
     CheckRWCD();
     LcmCmdPort = Command;
}
//LCM初始化函數
void LcmInit( void )
{
     LcmWriteCommandWith2Par(0x00,0x00,0x40);      //設置文本顯示區(qū)首地址
     LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x41);      //設置文本顯示區(qū)寬度
     LcmWriteCommandWith2Par(0x00,0x08,0x42);      //設置圖形顯示區(qū)首地址0x0800
     LcmWriteCommandWith2Par(LcmLengthDots/8,0x00,0x43);      //設置圖形顯示區(qū)寬度
     LcmWriteCommand(0xA7);                  //設置光標形狀 8x8方塊
     LcmWriteCommand(0x81);                  //顯示方式設置 文本xor圖形(異或)
     LcmWriteCommand(0x9C);                  //顯示開關設置 文本開,圖形開,光標閃爍關
}
//延時函數
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--;
     }
}
//通過按鍵設定延時函數
void DelayKey(unsigned char HalfSecond)
{                              //Delay_key加入時間參數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);
     }
}
//清顯示存儲器函數
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);                  //退出自動寫
}
//設定顯示地址函數
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碼函數
void PutChar(uchar x,uchar y,uchar CharByte)
{
     LocateXY(x,y,TXT);
     LcmWriteCommandWith1Par(CharByte,0xC4);
}
//顯示一個字符串函數
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); //數據寫地址+1
LcmWriteCommandWith1Par( HZTable[hzcode][i*2+1], 0xc4); //數據寫地址不變
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); //數據寫地址+1
LcmWriteCommandWith1Par(~HZTable[hzcode][i*2+1], 0xc4); //數據寫地址不變
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); //數據寫地址不變
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); //數據寫地址不變
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); //數據寫地址不變
}
}


//顯示一副圖片函數
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);                  //退出自動寫
}
//反顯一副圖片函數
void ReverseOneBmp( void )
{                              //利用數據一次讀寫操作
     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);      //讀數據,地址不變
                 CheckRWCD();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品午夜视频| 国产一区久久久| 在线视频欧美区| 亚洲色图清纯唯美| 一本一道久久a久久精品| 亚洲另类在线制服丝袜| 欧美三级资源在线| 免费高清视频精品| 久久男人中文字幕资源站| 国产99一区视频免费| **欧美大码日韩| 欧美日韩久久不卡| 久久成人羞羞网站| 国产精品青草综合久久久久99| 99久久99久久久精品齐齐| 亚洲国产成人av| 欧美成人一级视频| hitomi一区二区三区精品| 亚洲国产日韩a在线播放| 日韩一区二区三区三四区视频在线观看| 男女男精品视频网| 欧美国产欧美亚州国产日韩mv天天看完整 | 精品福利av导航| 成人毛片老司机大片| 亚洲国产美女搞黄色| 精品国产自在久精品国产| 99久久免费国产| 捆绑调教美女网站视频一区| 国产精品久久久一本精品| 欧美性色欧美a在线播放| 精品一区二区久久| 一二三区精品福利视频| www国产成人| 欧美性色黄大片手机版| 国产成人aaa| 午夜电影网一区| 亚洲少妇30p| 精品sm在线观看| 日本高清不卡视频| 国产成人在线视频网站| 日韩高清中文字幕一区| 亚洲女同ⅹxx女同tv| 26uuu精品一区二区三区四区在线| 一本大道久久a久久精二百 | 亚洲精品中文在线观看| 久久亚洲二区三区| 欧美一区二区三区精品| 一本色道综合亚洲| 国产成人在线电影| 蜜臀91精品一区二区三区| 一区二区三区日韩欧美精品| 国产欧美日韩综合| 精品国产乱码久久久久久老虎| 欧美日韩精品欧美日韩精品一| 91在线丨porny丨国产| 国产成人午夜片在线观看高清观看| 亚洲午夜日本在线观看| 亚洲精品国产高清久久伦理二区| 国产欧美日韩精品a在线观看| 欧美电视剧免费观看| 欧美一区二区三区电影| 欧美精品视频www在线观看| 日本韩国欧美国产| 色婷婷av一区二区三区之一色屋| 成人美女视频在线观看18| 国产成人午夜99999| 国产一区二区三区观看| 国产在线视视频有精品| 久久成人羞羞网站| 裸体健美xxxx欧美裸体表演| 日韩国产成人精品| 久久精品免费观看| 久久精工是国产品牌吗| 久久国产婷婷国产香蕉| 麻豆91在线播放| 久久精品久久综合| 精品一区二区三区免费视频| 狠狠色丁香九九婷婷综合五月| 久久99精品久久久久| 激情久久五月天| 国产成人av影院| 成人精品视频一区二区三区尤物| 国产成人aaa| 不卡av免费在线观看| 一本久久精品一区二区| 欧美性色综合网| 91精选在线观看| 日韩女优电影在线观看| 久久久久99精品一区| 国产欧美一二三区| 亚洲人成7777| 亚洲韩国精品一区| 免费在线观看日韩欧美| gogo大胆日本视频一区| 91亚洲国产成人精品一区二区三 | 中文字幕日本不卡| 亚洲精品自拍动漫在线| 三级影片在线观看欧美日韩一区二区| 肉肉av福利一精品导航| 国产麻豆精品视频| 色综合久久综合网97色综合| 欧美高清视频不卡网| 久久免费的精品国产v∧| 国产精品成人免费精品自在线观看| 亚洲人妖av一区二区| 亚洲成a人片在线不卡一二三区| 免费国产亚洲视频| 成人黄色综合网站| 欧美人与z0zoxxxx视频| 久久精品一区二区| 亚洲精品乱码久久久久久| 日本欧美在线看| 懂色av中文一区二区三区| 日本韩国精品一区二区在线观看| 91精品国产综合久久香蕉麻豆 | 精品一区二区三区在线观看| 国产精品91xxx| 欧美日韩视频一区二区| 国产亚洲制服色| 亚洲成人免费av| 从欧美一区二区三区| 欧美福利电影网| 国产精品福利一区| 久久精品国产99久久6| 色成人在线视频| 国产欧美一区二区精品婷婷| 天天综合色天天综合色h| 成人av在线资源网站| 欧美tickling挠脚心丨vk| 一区二区免费看| 成人小视频免费观看| 日韩欧美在线1卡| 亚洲综合男人的天堂| 岛国精品在线观看| 日韩欧美专区在线| 亚洲一区二区三区免费视频| 成人免费的视频| www国产亚洲精品久久麻豆| 亚洲成人免费视| 91年精品国产| 欧美高清在线视频| 久久99蜜桃精品| 欧美日韩中文字幕精品| 亚洲欧美色图小说| 成人国产精品免费| 久久久久久毛片| 精品亚洲porn| 欧美大片在线观看一区| 五月天激情综合网| 欧美在线视频全部完| 最新不卡av在线| caoporn国产精品| 中文字幕av免费专区久久| 国模娜娜一区二区三区| 日韩久久精品一区| 毛片一区二区三区| 日韩三级免费观看| 免费看日韩精品| 欧美一区二区视频在线观看2022| 午夜不卡在线视频| 欧美日高清视频| 午夜激情综合网| 欧美日韩一区中文字幕| 亚洲第一激情av| 欧美精品免费视频| 日日欢夜夜爽一区| 8v天堂国产在线一区二区| 日韩专区一卡二卡| 日韩一级片在线观看| 久久福利视频一区二区| 2欧美一区二区三区在线观看视频| 毛片av中文字幕一区二区| 欧美不卡一区二区三区四区| 激情亚洲综合在线| 国产拍欧美日韩视频二区| 成人一级黄色片| 亚洲男人的天堂在线aⅴ视频| 色琪琪一区二区三区亚洲区| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩一区成人| 日本特黄久久久高潮| 欧美成人精品1314www| 韩国欧美国产一区| 国产精品福利av| 欧美三级午夜理伦三级中视频| 午夜伦欧美伦电影理论片| 日韩欧美亚洲国产精品字幕久久久| 精品一区二区在线观看| 国产欧美综合在线观看第十页| 91在线视频18| 免费观看一级特黄欧美大片| 国产亚洲精品精华液| 91亚洲精品久久久蜜桃网站 | 最新欧美精品一区二区三区| 色久优优欧美色久优优| 日韩 欧美一区二区三区| 久久久久久久久一| 欧美自拍偷拍午夜视频| 精品一区二区三区的国产在线播放 | 成人免费高清视频在线观看|