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

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

?? t6963c.cpp

?? 英創386的LCD控制協議和函數,還有例程
?? CPP
字號:
/*//////////////////////////////////////////////////////////////////////////
Orgnization:	Emtronix Incorporated
Filename:	T6963C.CPP
Compiler:	BC3.1
Authors:	ZHL & CS
Date:		October, 2002
Revised:	...
Description:	function implementations of LCD module based on T6963C
///////////////////////////////////////////////////////////////////////////*/
#include <dos.h>
#include "t6963c.h"

#define DatPort0     0x30
#define CmdPort0     0x31

#define LcdDatPort   DatPort0
#define LcdComPort   CmdPort0
#define LcdCtlPort   CmdPort0

#define GWidth	     0x20

union LCDAddr
{
   unsigned int   AbsAddr;
   unsigned char  Pos[2];
};

int StatusReady( )
{
   for(int i=0;i<1000;i++)
   {
      if (inportb(LcdComPort) & 0x03==0x03) return 1;
   }
   return 0;
}

int StatusReady2()
{
   for(int i=0;i<1000;i++)
   {
      if (inportb(LcdComPort) & 0x04==0x04) return 1;
   }
   return 0;
}

int StatusReady3()
{
   for(int i=0;i<1000;i++)
   {
      if (inportb(LcdComPort) & 0x08==0x08) return 1;
   }
   return 0;
}

int SendData( char Dat )
{
   if( StatusReady( ) )
      {
      outportb(LcdDatPort, Dat);
      return 1;
      }
   return 0;
}

int SendCmd( char Cmd )
{
   if( StatusReady( ) )
      {
      outportb(LcdComPort, Cmd);
      return 1;
      }
   return 0;
}

void InitLCDinText( )
{
   SendData( 0 );
   SendData( 0 );
   SendCmd( 0x40 );

   SendData( 0x40 );
   SendData( 0 );
   SendCmd( 0x41 );

   SendData( 0 );
   SendData( 0x08 );
   SendCmd( 0x42 );

   SendData( GWidth );
   SendData( 0 );
   SendCmd( 0x43 );

   SendCmd( 0xa1 );
   SendCmd( 0x84 );
   SendCmd( 0x9f );
}

// return =  0: init ok
//        = -1: init fail
int InitLCD( )
{
   // set start address of text area
   SendData( 0 );
   SendData( 0 );
   SendCmd( 0x40 );

   // set width of text area
   SendData( 0x40 );
   SendData( 0 );
   SendCmd( 0x41 );

   // set start address of graphics area
   SendData( 0 );
   SendData( 0x08 );
   SendCmd( 0x42 );

   // set width of graphics area
   SendData( GWidth );
   SendData( 0 );
   SendCmd( 0x43 );

   SendCmd( 0xa1 );		// cursor shap
   SendCmd( 0x80 );		//

   //graphic on, text off
   SendCmd( 0x98 );

   return ClearScreen( );
}

// return =  0: init ok
//        = -1: LCD fail
int ClearScreen( )
{
   SendData( 0 );
   SendData( 0 );
   SendCmd( 0x24 );

   SendCmd(0xb0);		// start auto writing
   for (int i=0;i<0x4000;i++)
   {
      if (StatusReady3())
      {
	 outportb(LcdDatPort,0);
      }
   }
   SendCmd(0xb2);	       // end auto writing

   return 0;
}

// input: DotColor = 0:    write 0;
//                 = 1:    write 1;
//                 = 0x81: XOR write
// input x = 0 -- 239
//       y = 0 -- 63
// return =  0: ok
//        = -1: LCD fail
int WritePixel( int x, int y, int DotColor )
{
   LCDAddr Addr;
   unsigned char  rem, cmd, N3, abyte, mask;
   unsigned int   col, row;

   N3 = 0x08;

   col = x / 8;
   row = y;

   // set addr
   Addr.AbsAddr = row*GWidth + col + 0x800;
   SendData( Addr.Pos[0] );
   SendData( Addr.Pos[1] );
   SendCmd( 0x24 );

   // read the byte containing the dot need to operation
   //SendCmd( 0xc5 );	// read data without changing address
   //if( !StatusReady( ) ) return -1;
   //abyte = inportb( LcdDatPort );

   // bit operation
   rem = x % 8;
   mask = 1<<rem;
   rem = (~rem) & 0x07;
   cmd = 0xf0 | rem;
   if( DotColor == 0 )        cmd = cmd & ~N3;
   else                       cmd = cmd | N3;
   /*
   else if( DotColor == 1 )   cmd = cmd | N3;
   else
      {
      abyte = abyte & mask;
      if( abyte == 0 ) cmd = cmd | N3;
      else             cmd = cmd & ~N3;
      }
   */
   SendCmd( cmd );

   return 0;
}

// input col = 0 -- 29 => column
//       row = 0 -- 63
int WriteByte( int col, int row, unsigned char aByte )
{
   LCDAddr Addr;

   // set graphics addr
   Addr.AbsAddr = row * GWidth + col + 0x800;
   SendData( Addr.Pos[0] );
   SendData( Addr.Pos[1] );
   SendCmd( 0x24 );

   SendData( aByte );
   SendCmd( 0xc4 );
   return 0;
}

// input col = 0 -- 29 => column
//       row = 0 -- 63
// return = 0x0000 -- 0x00ff: ok
//        = 0xffff (-1):      fail
int ReadByte( int col, int row )
{
   LCDAddr Addr;
   char abyte;

   // set graphics addr
   Addr.AbsAddr = row * GWidth + col + 0x800;
   SendData( Addr.Pos[0] );
   SendData( Addr.Pos[1] );
   SendCmd( 0x24 );

   SendCmd( 0xc5 );	// read data without changing address
   if( !StatusReady( ) ) return -1;

   //SendCmd(0xb1);		// set auto read
   //if( StatusReady2() )	 Buf = inportb( LcdDatPort ) + 0x20;
   //SendCmd(0xb2);		// end auto read

   abyte = inportb( LcdDatPort );
   return abyte;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一卡两卡| 久久99国产乱子伦精品免费| 韩国一区二区视频| 久久久99免费| 亚洲动漫第一页| 欧美日韩成人综合| 看电视剧不卡顿的网站| 国产欧美中文在线| 在线免费观看不卡av| 三级亚洲高清视频| 久久久99久久精品欧美| 国产三级一区二区三区| 中文字幕第一区第二区| 欧美日韩一区视频| 国产91在线观看| 亚洲精品一二三四区| 91精品国产一区二区三区香蕉| 国内精品写真在线观看| 国产综合色在线视频区| 成人性生交大合| 日韩影院免费视频| 九九在线精品视频| caoporn国产精品| 免费一区二区视频| 亚洲国产日韩a在线播放| 天堂久久一区二区三区| 韩国精品在线观看| 91免费视频网址| av不卡免费在线观看| 色哦色哦哦色天天综合| 国产精品一区免费在线观看| 天天av天天翘天天综合网| 国产精品久久久99| 2023国产一二三区日本精品2022| 在线观看成人免费视频| 日韩午夜av电影| 7777精品伊人久久久大香线蕉 | 26uuu欧美| 综合在线观看色| 中文字幕精品三区| 日日噜噜夜夜狠狠视频欧美人| 国产精品99精品久久免费| 91成人免费在线视频| 99久久免费精品高清特色大片| 国产宾馆实践打屁股91| 欧美在线播放高清精品| 久久久天堂av| 亚欧色一区w666天堂| 国产传媒欧美日韩成人| 国产又粗又猛又爽又黄91精品| 婷婷综合在线观看| 国产v日产∨综合v精品视频| 欧美日韩视频一区二区| 1区2区3区精品视频| 18涩涩午夜精品.www| 狠狠色丁香久久婷婷综合丁香| 色香蕉成人二区免费| 国产情人综合久久777777| 蜜臀久久99精品久久久久久9| 免费成人av资源网| 欧美性xxxxxx少妇| 欧美麻豆精品久久久久久| 国产精品伦一区| 一区二区三区国产精华| 午夜精品免费在线| 在线观看日产精品| 亚洲色图在线播放| www.久久精品| 亚洲人成7777| 免费观看成人av| 欧美电影影音先锋| 亚洲与欧洲av电影| 国产乱码精品一区二区三区忘忧草| 欧美视频完全免费看| 亚洲美女免费在线| 91理论电影在线观看| 最新欧美精品一区二区三区| 成人高清在线视频| 欧美日韩精品一区二区在线播放| 亚洲少妇中出一区| 欧美午夜理伦三级在线观看| 伊人色综合久久天天| 91久久精品日日躁夜夜躁欧美| 亚洲青青青在线视频| 在线精品亚洲一区二区不卡| 亚洲激情图片一区| 欧美日韩一区高清| 日韩国产欧美在线视频| 国产成人超碰人人澡人人澡| 欧美激情中文不卡| 99re成人精品视频| 亚洲成人久久影院| 91精品国产福利在线观看| 久久99热99| 欧美国产精品专区| 91福利视频网站| 青青草91视频| 国产精品网站一区| 91社区在线播放| 日韩精品一二三四| 国产欧美日韩在线视频| 91国在线观看| 久久精品国产一区二区三| 欧美韩国日本不卡| 在线观看日韩高清av| 精品亚洲国内自在自线福利| 中文字幕免费一区| 欧美精选一区二区| 国产激情精品久久久第一区二区| 亚洲欧美日韩在线| 欧美一级久久久久久久大片| 高清beeg欧美| 亚洲成人免费观看| 国产精品成人免费在线| 欧美精品免费视频| 成人网男人的天堂| 日韩不卡一区二区| 日韩一区欧美一区| 日韩女优av电影| 九九国产精品视频| 亚洲一区欧美一区| 久久久影视传媒| 欧美群妇大交群中文字幕| 懂色中文一区二区在线播放| 日韩黄色小视频| 亚洲精品欧美激情| 国产日韩欧美精品在线| 欧美日韩国产小视频| 99国产精品99久久久久久| 激情五月婷婷综合网| 亚洲一区在线电影| 亚洲欧美电影院| 亚洲国产精华液网站w| 精品少妇一区二区三区| 国产v日产∨综合v精品视频| 青青草国产精品97视觉盛宴| 亚洲福利视频三区| 国产精品你懂的在线| 337p粉嫩大胆色噜噜噜噜亚洲 | 26uuu成人网一区二区三区| 欧美日韩精品是欧美日韩精品| 99视频超级精品| 国产丶欧美丶日本不卡视频| 久久99久久精品| 麻豆成人久久精品二区三区小说| 日韩黄色免费电影| 午夜国产不卡在线观看视频| 亚洲一二三专区| 亚洲成人你懂的| 天天操天天干天天综合网| 亚洲成在线观看| 亚洲在线观看免费视频| 婷婷久久综合九色国产成人| 亚洲成人精品影院| 蜜桃免费网站一区二区三区| 日韩激情一二三区| 精品在线免费视频| 久久精品国产色蜜蜜麻豆| 久久国产精品第一页| 国产一区二区三区不卡在线观看 | 97成人超碰视| 日本韩国欧美在线| 在线观看91视频| 欧美巨大另类极品videosbest | 亚洲国产日韩综合久久精品| 青青青爽久久午夜综合久久午夜| 亚洲va欧美va天堂v国产综合| 亚洲444eee在线观看| 日韩精品五月天| 精品一区二区在线视频| 国产成人亚洲综合色影视| av爱爱亚洲一区| 欧美日韩精品一区二区三区| 精品乱人伦小说| 国产精品全国免费观看高清| 亚洲人午夜精品天堂一二香蕉| 亚洲一二三四区不卡| 美腿丝袜亚洲三区| 国产1区2区3区精品美女| a级精品国产片在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美体内she精视频| 精品av综合导航| 91高清视频在线| 在线不卡中文字幕播放| 久久九九久久九九| 中文字幕在线视频一区| 亚洲午夜一区二区| 九九九精品视频| 91色.com| 久久久美女毛片| 一区二区三区不卡视频| 麻豆91精品视频| 91色视频在线| 欧美精品一区二区三区视频| 国产精品九色蝌蚪自拍| 免费看日韩a级影片| 一本久久a久久精品亚洲| 26uuu另类欧美亚洲曰本| 亚洲福利视频一区|