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

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

?? lcd_x_i2cbus.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             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_I2CBUS.c
Purpose     : Port routines
----------------------------------------------------------------------
*/

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

/* Configuration example:

#define Chip_30600
#include <IOM16C.H>

#define LCD_SLAVE_ADR      0x3c
#define LCD_CLR_SDA_IN()   P8 &= ~(1<<0)
#define LCD_CLR_SCL()      P8 &= ~(1<<2)
#define LCD_CLR_RESET()    P8 &= ~(1<<3)
#define LCD_CLR_SA0()      P8 &= ~(1<<4)
#define LCD_SET_SDA_IN()   P8 |=  (1<<0)
#define LCD_SET_SCL()      P8 |=  (1<<2)
#define LCD_SET_RESET()    P8 |=  (1<<3)
#define LCD_SET_SA0()      P8 |=  (1<<4)
#define LCD_READ_BIT()    (P8 &   (1<<1))
#define LCD_INIT_PORTS() \
  P8D &= ~(1<<1);        \
  PUR2 = 0xff;           \

*/

/*********************************************************************
*
*           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.
*/

#ifndef NOP
  #define NOP()
#endif

#define LCD_START() \
  LCD_CLR_SDA_IN(); \
  NOP();            \
  LCD_CLR_SCL();    \
  NOP()

#define LCD_STOP()  \
  LCD_SET_SCL();    \
  NOP();            \
  LCD_SET_SDA_IN(); \
  NOP()

#define LCD_SLAVE_WRITE ((LCD_SLAVE_ADR << 1) + 0)
#define LCD_SLAVE_READ  ((LCD_SLAVE_ADR << 1) + 1)
#define LCD_CNTRLBT_WRITE_CMD  0x00
#define LCD_CNTRLBT_WRITE_DATA 0x40

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

void LCD_X_Init(void) {
  LCD_INIT_PORTS();
  if (LCD_SLAVE_ADR & 1)
    LCD_SET_SA0();
  else
    LCD_CLR_SA0();
  LCD_CLR_RESET();
  LCD_SET_SDA_IN();
  LCD_SET_SCL();
  LCD_SET_RESET();
}

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

/* Read 1 byte, MSB first */
static U8 _Read1(void) {
  U8 c = 0;
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<7); else c &= ~(1<<7); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<6); else c &= ~(1<<6); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<5); else c &= ~(1<<5); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<4); else c &= ~(1<<4); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<3); else c &= ~(1<<3); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<2); else c &= ~(1<<2); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<1); else c &= ~(1<<1); LCD_CLR_SCL();
  LCD_SET_SCL(); if (LCD_READ_BIT()) c |= (1<<0); else c &= ~(1<<0); LCD_CLR_SCL();
  LCD_SET_SDA_IN(); LCD_SET_SCL(); LCD_CLR_SCL();
  return c;
}

/* Write 1 byte, MSB first */
static void _Send1(U8 Data) {
  if (Data&(1<<7)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<6)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<5)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<4)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<3)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<2)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<1)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  if (Data&(1<<0)) { LCD_SET_SDA_IN(); } else { LCD_CLR_SDA_IN(); } NOP(); LCD_SET_SCL(); NOP(); LCD_CLR_SCL(); NOP(); 
  LCD_SET_SCL(); NOP(); LCD_CLR_SCL();
}

/* Read status */
char LCD_X_Read00(void) {
  U8 c;
  LCD_STOP();
  LCD_START();
  _Send1(LCD_SLAVE_READ);
  c = _Read1();
  LCD_STOP();
  LCD_START();
  _Send1(LCD_SLAVE_WRITE);
  _Send1(LCD_CNTRLBT_WRITE_DATA);
  return c;
}

/* Write data */
void LCD_X_Write01(char c) {
  _Send1(c);
}

/* Write multiple data bytes*/
void LCD_X_WriteM01(char * pData, int NumBytes) {
  for (; NumBytes; NumBytes--) {
    _Send1(*pData++);
  }
}

/* Write command */
void LCD_X_Write00(char c) {
  LCD_STOP();
  LCD_START();
  _Send1(LCD_SLAVE_WRITE);
  _Send1(LCD_CNTRLBT_WRITE_CMD);
  _Send1(c);
  LCD_STOP();
  LCD_START();
  _Send1(LCD_SLAVE_WRITE);
  _Send1(LCD_CNTRLBT_WRITE_DATA);
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费日本视频一区| 成人av网站在线| www.在线成人| 日韩一区二区精品葵司在线| 亚洲资源中文字幕| 成人激情小说网站| 日韩精品一区二区三区在线播放| 亚洲三级视频在线观看| 韩国三级电影一区二区| 欧美福利一区二区| 亚洲综合在线观看视频| av中文一区二区三区| 久久影院视频免费| 久久99久久精品| 日韩一区二区麻豆国产| 亚洲成人综合视频| 欧美性猛片aaaaaaa做受| 1024成人网| www.日韩av| 亚洲色图第一区| 97久久精品人人做人人爽50路 | 欧美视频在线一区| 中文字幕一区三区| 成人国产免费视频| 国产精品久久久久久久久搜平片| 国产美女娇喘av呻吟久久| 日韩精品一区二区三区在线观看 | 欧美一级国产精品| 性做久久久久久久久| 色妹子一区二区| 久久精品久久精品| 欧美电视剧在线观看完整版| 日韩精品一级中文字幕精品视频免费观看 | 国产一区二区伦理片| 精品国产第一区二区三区观看体验| 视频一区在线视频| 欧美高清精品3d| 蜜臀va亚洲va欧美va天堂| 欧美zozozo| 国产精品夜夜嗨| 国产精品天天摸av网| 91在线码无精品| 亚洲午夜精品网| 日韩一区二区三区在线| 老鸭窝一区二区久久精品| 久久综合九色综合欧美就去吻| 国产在线一区二区综合免费视频| 国产欧美一区二区精品性| 99精品视频在线观看| 亚洲黄色小视频| 日韩欧美国产1| 国产电影一区二区三区| 1000精品久久久久久久久| 欧美午夜精品一区二区三区| 免费的成人av| 久久久久久日产精品| 91在线国产福利| 亚洲va国产天堂va久久en| 91精品国产综合久久精品图片| 蜜桃av噜噜一区| 国产精品国产三级国产普通话蜜臀| 色婷婷亚洲综合| 久久99精品一区二区三区| 国产精品二三区| 91精品欧美综合在线观看最新| 激情六月婷婷久久| 一区二区三区.www| 精品久久久久久综合日本欧美| 91麻豆swag| 久草精品在线观看| 亚洲精品国产品国语在线app| 日韩女优毛片在线| 色一区在线观看| 国产精品香蕉一区二区三区| 亚洲一区二区三区四区在线| 久久精品一区蜜桃臀影院| 欧美日韩在线播| 成人午夜av电影| 另类小说一区二区三区| 一区二区三区视频在线看| 国产日产亚洲精品系列| 欧美精品久久99久久在免费线 | 在线观看日韩国产| 国产成人亚洲综合a∨猫咪| 亚洲第一电影网| 亚洲人成在线播放网站岛国| 久久久久9999亚洲精品| 日韩一区二区三区精品视频| 欧洲一区二区av| 不卡视频一二三四| 韩国三级在线一区| 秋霞电影一区二区| 午夜欧美2019年伦理| 亚洲欧美综合在线精品| 国产日韩精品一区二区浪潮av| 日韩免费高清av| 欧美日韩国产在线观看| 91麻豆福利精品推荐| 成人h动漫精品| 国产精品一区二区久久精品爱涩| 日韩电影免费在线看| 亚洲一区在线观看网站| 亚洲欧美区自拍先锋| 日韩美女视频19| 亚洲人成在线观看一区二区| 中文字幕一区日韩精品欧美| 国产精品嫩草影院com| 国产偷国产偷亚洲高清人白洁| 精品国偷自产国产一区| 欧美一区二区国产| 91麻豆精品国产91久久久更新时间| 欧美体内she精视频| 色屁屁一区二区| 欧美图区在线视频| 欧美日韩一级二级三级| 欧美日韩国产精品成人| 欧美日韩日日摸| 91精品在线麻豆| 欧美变态tickle挠乳网站| 日韩精品一区二区三区四区| 日韩精品一区二区三区视频播放| xnxx国产精品| 久久久精品免费观看| 中文字幕一区二区三| 亚洲免费观看在线视频| 亚洲成av人片在线观看| 男女性色大片免费观看一区二区| 久久99深爱久久99精品| 国产呦萝稀缺另类资源| 国产成人精品一区二区三区四区| 懂色av一区二区三区免费观看 | 亚洲精品国产品国语在线app| 一区二区三区中文字幕精品精品| 一区二区三区蜜桃网| 视频一区欧美日韩| 老司机精品视频在线| 成人性生交大合| 色综合中文字幕国产| 色呦呦国产精品| 欧美一三区三区四区免费在线看| 337p日本欧洲亚洲大胆精品| 国产精品色呦呦| 亚洲一区二区av在线| 黄色日韩三级电影| 91麻豆国产在线观看| 欧美一区二区视频在线观看2020| 精品日韩在线一区| 亚洲欧洲成人av每日更新| 日韩国产高清影视| 成人短视频下载| 3d动漫精品啪啪一区二区竹菊| 久久天堂av综合合色蜜桃网| 亚洲欧美日韩一区二区三区在线观看| 亚洲h在线观看| 国产999精品久久| 欧美精品亚洲一区二区在线播放| 国产亚洲美州欧州综合国| 亚洲国产精品一区二区久久| 国产一区在线精品| 欧美在线一区二区三区| 久久综合色婷婷| 亚洲aaa精品| 国产91高潮流白浆在线麻豆| 欧美日韩dvd在线观看| 国产精品网站一区| 久久狠狠亚洲综合| 欧美写真视频网站| 中文字幕精品一区二区精品绿巨人| 亚洲国产综合色| 91原创在线视频| 久久人人爽人人爽| 奇米色777欧美一区二区| 91免费观看国产| 欧美激情综合在线| 狠狠网亚洲精品| 欧美一卡二卡三卡| 亚洲一区二区三区爽爽爽爽爽 | 中文字幕日韩欧美一区二区三区| 男女视频一区二区| 欧美中文字幕一二三区视频| 国产精品青草综合久久久久99| 久久综合综合久久综合| 欧美巨大另类极品videosbest | 粉嫩绯色av一区二区在线观看| 欧美一级日韩免费不卡| 亚洲成人av一区二区| 色综合久久久久综合| 国产精品狼人久久影院观看方式| 国内精品自线一区二区三区视频| 在线不卡免费欧美| 亚洲成人久久影院| 欧美午夜精品久久久| 亚洲国产日韩精品| 欧洲一区二区三区在线| 亚洲综合精品久久| 欧美中文字幕不卡| 亚洲国产精品久久人人爱 | 五月综合激情婷婷六月色窝| 色猫猫国产区一区二在线视频| 国产精品电影院|