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

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

?? lcd_x_6800.c

?? UC_GUI開(kāi)發(fā)源代碼,里面含有范例,源文件
?? C
字號(hào):
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : LCD_X_6800.c
Purpose     : Port routines
----------------------------------------------------------------------
*/

/*********************************************************************
*
*           Hardware configuration
*
**********************************************************************
  Needs to be adapted to your target hardware.
*/

/* Configuration example:

#include <IOM16C.H>      // Include port definitions

#define LCD_CLR_A0()      P8 &= ~(1<<0)
#define LCD_SET_A0()      P8 |=  (1<<0) 
#define LCD_CLR_RW()      P8 &= ~(1<<1)
#define LCD_SET_RW()      P8 |=  (1<<1) 
#define LCD_CLR_E()       P8 &= ~(1<<2)
#define LCD_SET_E()       P8 |=  (1<<2) 
#define LCD_CLR_CS0()     P8 &= ~(1<<3)
#define LCD_SET_CS0()     P8 |=  (1<<3)
#define LCD_CLR_CS1()     P8 &= ~(1<<4)
#define LCD_SET_CS1()     P8 |=  (1<<4)
#define LCD_DATA_IN       P7
#define LCD_DATA_OUT      P7
#define LCD_SET_DIR_IN()  P7D = 0
#define LCD_SET_DIR_OUT() P7D = 0xff
#define LCD_DELAY(ms)     GUI_Delay(ms)
*/

/*********************************************************************
*
*           Defaults
*
**********************************************************************
*/

#ifndef LCD_CLR_RW
  #define LCD_CLR_RW()
#endif
#ifndef LCD_SET_RW
  #define LCD_SET_RW()
#endif
#ifndef LCD_SET_CS0
  #define LCD_SET_CS0()
#endif
#ifndef LCD_SET_CS1
  #define LCD_SET_CS1()
#endif
#ifndef LCD_SET_CS2
  #define LCD_SET_CS2()
#endif

#ifndef LCD_SET_DIR_IN
  #define LCD_SET_DIR_IN()
#endif
#ifndef LCD_SET_DIR_OUT
  #define LCD_SET_DIR_OUT()
#endif

/*********************************************************************
*
*           High level LCD access macros
*
**********************************************************************
  Usually, there is no need to modify these macros.
  It should be sufficient ot modify the low-level macros
  above.
*/

#define LCD_X_READ()      \
  LCD_SET_RW();           \
  LCD_SET_E();            \
  c = LCD_DATA_IN;        \
  LCD_CLR_E()
/*
  LCD_SET_DIR_IN();       \
  LCD_SET_RW();           \
  LCD_SET_E();            \
  c = LCD_DATA_IN;        \
  LCD_CLR_E();            \
  LCD_CLR_RW();           \
  LCD_SET_DIR_OUT()
*/

#define LCD_X_WRITE(Data) \
  LCD_CLR_RW();           \
  LCD_SET_DIR_OUT();      \
  LCD_DATA_OUT = Data;    \
  LCD_SET_E();            \
  LCD_CLR_E();            \
  LCD_SET_DIR_IN();       \
  LCD_SET_RW()
/*
  LCD_DATA_OUT = Data;    \
  LCD_SET_E();            \
  LCD_CLR_E();            \
  LCD_SET_RW()
*/

/*********************************************************************
*
*           Initialisation
*
**********************************************************************
  This routine should be called from your application program
  to set port pins to their initial values
*/

void LCD_X_Init(void) {
/*
  LCD_CLR_RESET();
  LCD_SET_DIR_OUT();
  LCD_SET_E();
  LCD_CLR_RW();
  LCD_SET_A0();
  LCD_SET_CS0();
  LCD_SET_CS1();
  LCD_SET_CS2();
  LCD_SET_RESET();
*/
  LCD_CLR_RESET();
  LCD_SET_DIR_IN();
  LCD_CLR_E();
  LCD_SET_RW();
  LCD_SET_A0();
  LCD_SET_CS0();
  LCD_SET_CS1();
  LCD_SET_CS2();
  LCD_SET_RESET();
}

/*********************************************************************
*
*           Access routines, controller 0
*
**********************************************************************
  Usually, there is no need to modify these routines.
  It should be sufficient ot modify the low-level macros
  above.
*/

/* Read from controller 0, with A0 = 0, CS0 = 0, CS1 = 1 */
char LCD_X_Read00(void) {
  char c;
  LCD_CLR_CS0();
  LCD_CLR_A0();
  LCD_X_READ();
  LCD_SET_CS0();
  return c;
}

/* Read from controller 0, with A0 = 1, CS0 = 0, CS1 = 1 */
char LCD_X_Read01(void) {
  char c;
  LCD_CLR_CS0();
  LCD_SET_A0();
  LCD_X_READ();
  LCD_SET_CS0();
  return c;
}

/* Write to controller 0, with A0 = 0, CS0 = 0, CS1 = 1 */
void LCD_X_Write00(char c) {
  LCD_CLR_A0();
  LCD_CLR_CS0();
  LCD_X_WRITE(c);
  LCD_SET_CS0();
}

/* Write to controller 0, with A0 = 1, CS0 = 0, CS1 = 1 */
void LCD_X_Write01(char c) {
  LCD_SET_A0();
  LCD_CLR_CS0();
  LCD_X_WRITE(c);
  LCD_SET_CS0();
}

/* Write multiple bytes to controller 0, with A0 = 1, CS0 = 0, CS1 = 1 */
void LCD_X_WriteM01(char * pData, int NumBytes) {
  LCD_SET_A0();
  LCD_CLR_CS0();
  for (; NumBytes; NumBytes--) {
    LCD_X_WRITE(*pData++);
  }
  LCD_SET_CS0();
}

/*********************************************************************
*
*           Access routines, controller 1
*
**********************************************************************
  Usually, there is no need to modify these routines.
  It should be sufficient ot modify the low-level macros
  above.
*/

/* Read from controller 1, with A0 = 0, CS0 = 1, CS1 = 0 */

#ifdef LCD_CLR_CS1

char LCD_X_Read10(void) {
  char c;
  LCD_CLR_CS1();
  LCD_CLR_A0();
  LCD_X_READ();
  LCD_SET_CS1();
  return c;
}

/* Read from controller 1, with A0 = 1, CS0 = 1, CS1 = 0 */
char LCD_X_Read11(void) {
  char c;
  LCD_CLR_CS1();
  LCD_SET_A0();
  LCD_X_READ();
  LCD_SET_CS1();
  return c;
}

/* Write to controller 1, with A0 = 0, CS0 = 1, CS1 = 0 */
void LCD_X_Write10(char c) {
  LCD_CLR_A0();
  LCD_CLR_CS1();
  LCD_X_WRITE(c);
  LCD_SET_CS1();
}

/* Write to controller 1, with A0 = 1, CS0 = 1, CS1 = 0 */
void LCD_X_Write11(char c) {
  LCD_SET_A0();
  LCD_CLR_CS1();
  LCD_X_WRITE(c);
  LCD_SET_CS1();
}

/* Write multiple bytes to controller 1, with A0 = 1, CS0 = 0, CS1 = 1 */
void LCD_X_WriteM11(char * pData, int NumBytes) {
  LCD_SET_A0();
  LCD_CLR_CS1();
  for (; NumBytes; NumBytes--) {
    LCD_X_WRITE(*pData++);
  }
  LCD_SET_CS1();
}

#endif /* LCD_CLR_CS1 */

/*********************************************************************
*
*           Access routines, controller 2
*
**********************************************************************
  Usually, there is no need to modify these routines.
  It should be sufficient ot modify the low-level macros
  above.
*/

#ifdef LCD_CLR_CS2

/* Read from controller 2, with A0 = 0, CS0 = 1, CS1 = 1 */
char LCD_X_Read20(void) {
  char c;
  LCD_CLR_CS2();
  LCD_CLR_A0();
  LCD_X_READ();
  LCD_SET_CS2();
  return c;
}

/* Read from controller 2, with A0 = 1, CS0 = 1, CS1 = 1 */
char LCD_X_Read21(void) {
  char c;
  LCD_CLR_CS2();
  LCD_SET_A0();
  LCD_X_READ();
  LCD_SET_CS2();
  return c;
}

/* Write to controller 2, with A0 = 0, CS0 = 1, CS1 = 1 */
void LCD_X_Write20(char c) {
  LCD_CLR_A0();
  LCD_CLR_CS2();
  LCD_X_WRITE(c);
  LCD_SET_CS2();
}

/* Write to controller 2, with A0 = 1, CS0 = 1, CS1 = 1 */
void LCD_X_Write21(char c) {
  LCD_SET_A0();
  LCD_CLR_CS2();
  LCD_X_WRITE(c);
  LCD_SET_CS2();
}

/* Write multiple bytes to controller 2, with A0 = 1, CS0 = 0, CS1 = 1 */
void LCD_X_WriteM21(char * pData, int NumBytes) {
  LCD_SET_A0();
  LCD_CLR_CS2();
  for (; NumBytes; NumBytes--) {
    LCD_X_WRITE(*pData++);
  }
  LCD_SET_CS2();
}

#endif /* LCD_CLR_CS2 */
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡一区二区三区四区| 在线观看日韩精品| 在线视频国产一区| 欧美大片拔萝卜| 亚洲美女屁股眼交3| 精品一区免费av| 欧美日韩国产首页| 中文字幕亚洲区| 国产一区三区三区| 欧美一级二级在线观看| 亚洲精品一二三区| 成人av网站免费观看| 日韩视频永久免费| 亚洲成人av在线电影| 91美女福利视频| 国产精品成人免费精品自在线观看| 日韩精品一卡二卡三卡四卡无卡| 99精品桃花视频在线观看| 久久免费午夜影院| 全国精品久久少妇| 欧美福利一区二区| 五月综合激情日本mⅴ| 色婷婷香蕉在线一区二区| 国产精品国产三级国产有无不卡| 久久精品国产澳门| 日韩免费一区二区| 久久福利视频一区二区| 日韩区在线观看| 美女视频黄久久| 精品奇米国产一区二区三区| 免费精品99久久国产综合精品| 欧美日韩午夜在线| 午夜久久久影院| 欧美一区二区视频在线观看| 图片区小说区区亚洲影院| 欧美日韩一区二区三区视频| 亚洲一卡二卡三卡四卡| 欧美午夜理伦三级在线观看| 亚洲aⅴ怡春院| 日韩欧美激情四射| 色噜噜偷拍精品综合在线| 国产精品美女久久久久久久久| 高清久久久久久| 亚洲色图清纯唯美| 91黄视频在线| 午夜欧美一区二区三区在线播放| 欧美日韩国产影片| 免费欧美在线视频| 日本一区二区免费在线| 成人福利电影精品一区二区在线观看 | 欧美专区日韩专区| 亚洲一区二区三区四区在线免费观看 | 一区二区三区四区精品在线视频| 91小视频免费看| 一区二区三区小说| 欧美精品在线视频| 国产盗摄视频一区二区三区| 亚洲欧美日韩精品久久久久| 欧美群妇大交群中文字幕| 久久国产精品99精品国产 | 成人高清免费观看| 亚洲第一福利一区| 亚洲精品一区二区三区四区高清| 国产成人精品亚洲午夜麻豆| 亚洲一区中文在线| 2017欧美狠狠色| 一本色道**综合亚洲精品蜜桃冫| 日欧美一区二区| 中文av一区二区| 3d动漫精品啪啪一区二区竹菊 | 欧美大片一区二区三区| 成人黄色电影在线| 日韩vs国产vs欧美| 国产精品久久久久久户外露出| 欧美日韩精品三区| 国产91精品入口| 日本午夜一本久久久综合| 国产精品久久看| 精品国产精品网麻豆系列| 在线免费不卡视频| 国产91露脸合集magnet | 亚洲自拍偷拍av| 亚洲成人自拍偷拍| 国产精品无遮挡| 精品国产免费人成电影在线观看四季 | 国产999精品久久久久久| 亚洲午夜电影网| 中文字幕亚洲一区二区va在线| 日韩午夜激情电影| 欧美性xxxxxxxx| 99re免费视频精品全部| 国产一区欧美二区| 久久精品99国产精品日本| 亚洲一区二区三区中文字幕| 国产精品乱人伦| 精品日韩一区二区三区免费视频| 91福利在线看| 91丨porny丨蝌蚪视频| 国产成人自拍高清视频在线免费播放| 午夜精品123| 亚洲高清一区二区三区| 亚洲免费观看在线视频| 欧美国产一区二区| 精品电影一区二区三区| 欧美日韩一区在线观看| 色国产精品一区在线观看| 91在线看国产| 91香蕉视频污| 色网站国产精品| 在线免费观看日韩欧美| 一本大道久久a久久综合| aaa亚洲精品一二三区| 成人午夜大片免费观看| 国产精品影音先锋| 国产乱人伦偷精品视频不卡| 黑人精品欧美一区二区蜜桃| 久久狠狠亚洲综合| 国产美女主播视频一区| 国产九九视频一区二区三区| 国产一区在线视频| 成人国产一区二区三区精品| 成人免费视频免费观看| av影院午夜一区| 色婷婷av一区| 在线视频你懂得一区| 欧美三级一区二区| 91精品中文字幕一区二区三区| 欧美日本在线观看| 日韩一区二区三区在线观看 | 国产精品综合在线视频| 粉嫩在线一区二区三区视频| 99精品欧美一区二区三区综合在线| 成人久久18免费网站麻豆| 一本色道**综合亚洲精品蜜桃冫| 色94色欧美sute亚洲线路一ni| 欧美无乱码久久久免费午夜一区| 欧美久久一二三四区| 亚洲精品在线网站| 日韩美女久久久| 秋霞影院一区二区| 成人在线一区二区三区| 日本高清不卡在线观看| 欧美一区2区视频在线观看| 久久婷婷成人综合色| 亚洲丝袜精品丝袜在线| 日韩精品每日更新| 国产91丝袜在线播放九色| 欧美在线观看一区二区| 欧美v国产在线一区二区三区| 中文字幕+乱码+中文字幕一区| 亚洲国产精品综合小说图片区| 极品少妇xxxx精品少妇| 91网址在线看| 精品久久久久久无| 依依成人综合视频| 国产一区二区三区国产| 欧洲国内综合视频| 久久精品夜色噜噜亚洲a∨| 亚洲制服丝袜av| 床上的激情91.| 91精品视频网| 亚洲乱码国产乱码精品精可以看| 蜜桃在线一区二区三区| av爱爱亚洲一区| 精品第一国产综合精品aⅴ| 亚洲高清免费在线| 成人av在线一区二区三区| 欧美精品九九99久久| 亚洲欧洲日产国产综合网| 七七婷婷婷婷精品国产| 欧美性一二三区| 国产精品成人免费在线| 久久成人久久爱| 6080国产精品一区二区| 亚洲色欲色欲www| 国产精品18久久久久久久久 | 激情都市一区二区| 欧美人妖巨大在线| 一区二区三区四区在线| 成人黄色在线网站| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区欧美日韩 | 国产精品国产a级| 激情六月婷婷久久| 在线不卡免费欧美| 亚洲高清在线视频| 欧美日韩电影一区| 亚洲成人在线观看视频| 色天天综合久久久久综合片| 中文字幕一区二区三区视频| 国产精品伊人色| 国产欧美一区二区精品性色| 黄页视频在线91| 久久久久久久久久久99999| 国内精品免费**视频| 欧美成人vps| 国产精品99久| 国产欧美日韩在线| 9人人澡人人爽人人精品| 国产精品美女久久久久久久网站|