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

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

?? touch_drv.c

?? PLL的資料文檔,包括資料
?? C
字號:
/*C**************************************************************************
* NAME:         touch_drv.c
*----------------------------------------------------------------------------
* Copyright (c) 2006 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      C51 Sample      
* REVISION:     1.00     
*----------------------------------------------------------------------------
*
*****************************************************************************/
#include "system\reg51.h"
#include "system\compiler.h"
#include "system\config.h"
#include "Driver\io_def.h"
#include "Driver\touch_drv.h"

/*F**************************************************************************
* NAME: Touch_PositionXY
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 從Touch中讀取XY Position數據
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit Touch_PositionXY (void)
{

	Touch_Write (TOUCH_REQUEST, XY_REG);
	if(!(Touch_Wait())) {Touch_stop();return(0);}
	if(!(Touch_Read())) {Touch_stop();return(0);}
	TouchPad[2] = TouchPad[0]; /* TouchPad[2] is X position value */
	TouchPad[3] = TouchPad[1]; /* TouchPad[3] is y position value */
	return(1);

}

/*F**************************************************************************
* NAME: Touch_PositionA
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 從Touch中讀取Angol Position數據
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Byte Touch_PositionA (void)
{
	Touch_Write (TOUCH_REQUEST, ANGLE_REG);
	if(!(Touch_Wait())) {Touch_stop();return(0);}
	if(!(Touch_Read())) {Touch_stop();return(0);}
	return(TouchPad[1]);
}

/*F**************************************************************************
* NAME: Touch_Read
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 從Touch pad中讀取數據操作
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit Touch_Read (void)
{
	Byte bTemp = 0x00;

	Touch_start();
	bTemp = Touch_scanByteLSB(4);	/* scan start(1),type(101) */
	if(	bTemp != 0x05) return(0);
	bTemp =  Touch_scanByteLSB(8);	/* scan ID(0010),register(00xx) */
	TouchPad[0] =  Touch_scanByteLSB(8);
	TouchPad[1] =  Touch_scanByteLSB(8);
	bTemp = Touch_scanByteLSB(4);
	if(	bTemp != 0x01) return(0);
	Touch_stop();
	return(1);
}

/*F**************************************************************************
* NAME: Touch_Write
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 向eTK0101的指定Register發送讀數據請求
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit Touch_Write (Byte PID, Byte bRegister)
{
	 Touch_start();
	 Touch_getMSB(PID);
	 Touch_getMSB(bRegister);
	 Touch_getMSB(0x00);
	 Touch_getMSB(0x01);
	 Touch_stop();
	 return(1);
}

/*F**************************************************************************
* NAME: Touch_scanByteMSB
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Byte Touch_scanByteLSB (Byte bBit)
{
	Byte bCount = 0x00,i;
	Byte bByte = 0x00,temp;
	//Byte i;
	for (i=0; i<bBit;)	{
		while(!TOUCH_SCK && bCount<20) {	/* If the SCK is High, Waiting */
			bCount++;
			}
		while(TOUCH_SCK){	/* If the SCK is Low, Sen the data */
			if (TOUCH_SDI) {
				temp = 0x01;
   				temp <<= i;
       			bByte |= temp;
				}
			}
		bCount =0;i++;
		}
	return(bByte);
}

/*F**************************************************************************
* NAME: TouchPad_getLSB
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void Touch_getMSB (Byte bByte)
{
	Byte bCount = 0x00,i;

	for (i=0; i<8;)	{
		while(!TOUCH_SCK){	/* If the SCK is Low, Sen the data, To waiting */
			if (bByte & 0x80) TOUCH_SDI = High;
        		else TOUCH_SDI = Low;
				}
		while(TOUCH_SCK && bCount<20){	/* If the SCK is High, Waiting */
			bCount++;
			}
		bByte <<= 1; bCount =0;	i++;
		}
}

/*F**************************************************************************
* NAME: TouchPad_start
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void Touch_start (void)
{
	TOUCH_SDI = High;
	TOUCH_SDO = High;
	TOUCH_SCK = High;
	TOUCH_SS = Low;
}

/*F**************************************************************************
* NAME: TouchPad_stop
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void Touch_stop (void)
{
	TOUCH_SS = High;
	TOUCH_SDI = High;
	TOUCH_SDO = High;
	TOUCH_SCK = High;
}

/*F**************************************************************************
* NAME: Touch_Wait
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE: 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit Touch_Wait (void)
{
	Byte bCount;

	for (bCount=0; TOUCH_SCK && bCount < 6; bCount++) {	/* wait 150uS */
		DelayX25us(1);
		}
	if(bCount > 6) return(0); /* waiting time Out */
		else  return(1);
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美乱妇一区二区三区不卡视频| 国产欧美日韩在线观看| 色欧美片视频在线观看在线视频| 国产成人激情av| 国产一区在线视频| 蜜桃av一区二区三区电影| 日本一不卡视频| 蜜臀久久99精品久久久画质超高清| 日韩av一级电影| 日本va欧美va瓶| 久久精品99国产精品| 国产专区综合网| 国产不卡免费视频| av网站免费线看精品| 99久久综合精品| 在线精品视频小说1| 精品视频一区二区不卡| 欧美日韩不卡视频| 欧美va天堂va视频va在线| 337p日本欧洲亚洲大胆精品| 久久毛片高清国产| 最近中文字幕一区二区三区| 一区二区三区四区在线播放| 日韩色在线观看| 日韩精品亚洲专区| 久久精品99国产精品日本| 国产成人免费视频| 色婷婷国产精品| 91麻豆精品91久久久久同性| 欧美videos中文字幕| 国产精品久久久久久久裸模| 一区二区三区在线播| 麻豆精品在线视频| 成人激情av网| 欧美日韩dvd在线观看| 久久婷婷久久一区二区三区| 国产精品久久久久久久久快鸭| 亚洲精品免费在线| 日本不卡中文字幕| 国产mv日韩mv欧美| 欧美三级视频在线播放| 精品国产乱码久久久久久免费 | 久久综合丝袜日本网| 欧美国产日本视频| 亚洲电影欧美电影有声小说| 久久 天天综合| 91美女在线看| 欧美哺乳videos| 亚洲摸摸操操av| 久久99精品国产麻豆不卡| 成人午夜私人影院| 欧美一区二区三区免费在线看 | 亚洲视频一二三| 老司机精品视频线观看86| 91色综合久久久久婷婷| 日韩欧美一二三四区| 亚洲美女淫视频| 国产精品一区二区免费不卡| 欧美伊人久久久久久久久影院| 久久色视频免费观看| 亚洲午夜日本在线观看| 国产精品1024久久| 日韩一区二区三区精品视频| 亚洲色欲色欲www| 精品一区二区日韩| 欧美亚洲国产bt| 国产精品高清亚洲| 国产乱子轮精品视频| 欧美视频在线不卡| 国产精品对白交换视频| 国产在线视视频有精品| 欧美日韩在线观看一区二区| 日本一区免费视频| 极品尤物av久久免费看| 欧美日韩精品一区二区在线播放| 国产精品免费人成网站| 极品少妇一区二区| 91麻豆精品国产自产在线| 亚洲欧美日本韩国| 东方aⅴ免费观看久久av| 日韩精品一区二区三区在线观看 | 欧美一区二区三区啪啪| 亚洲精品乱码久久久久久| 国产精品主播直播| 视频一区二区中文字幕| 色偷偷成人一区二区三区91| 国产欧美一区二区三区在线老狼| 日本 国产 欧美色综合| 欧美日韩性生活| 亚洲黄色av一区| 91美女片黄在线观看| 亚洲欧美在线aaa| 国产91精品一区二区麻豆亚洲| 精品国产乱码久久久久久久| 日本免费新一区视频| 欧美日韩不卡在线| 首页亚洲欧美制服丝腿| 欧美日韩在线一区二区| 亚洲福利视频导航| 欧美写真视频网站| 夜夜夜精品看看| 在线免费精品视频| 亚洲综合自拍偷拍| 欧美午夜精品一区二区蜜桃| 亚洲精品视频在线看| 色偷偷88欧美精品久久久| 一区二区三区国产精品| 色女孩综合影院| 亚洲影院免费观看| 欧美三级中文字| 日韩在线a电影| 日韩视频一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 久久精品欧美一区二区三区不卡| 国产经典欧美精品| 亚洲天堂福利av| 在线亚洲一区二区| 午夜精品久久久久影视| 欧美一区二区三区在线| 久久99精品久久久久久久久久久久| 精品国产一区二区三区四区四 | 美女国产一区二区| 精品国产电影一区二区| 国产成人高清在线| 亚洲色图.com| 在线精品视频免费观看| 日韩成人午夜精品| 久久久国产精品麻豆| 99麻豆久久久国产精品免费 | 懂色av一区二区三区免费看| 国产精品色婷婷久久58| 色综合中文字幕国产| 一区二区在线观看视频在线观看| 欧美日韩国产不卡| 国产综合久久久久久鬼色| 中文字幕一区二区三区乱码在线| 一本在线高清不卡dvd| 日韩制服丝袜av| 国产亚洲va综合人人澡精品| 91在线精品秘密一区二区| 午夜精品久久久久久不卡8050| 日韩精品一区二区在线| 成人av免费观看| 五月天久久比比资源色| 国产亚洲欧美在线| 欧洲一区二区av| 精东粉嫩av免费一区二区三区| 中文字幕亚洲电影| 一区二区激情小说| 麻豆久久久久久久| 亚洲成a人v欧美综合天堂下载| 综合色天天鬼久久鬼色| 成人欧美一区二区三区视频网页| 国产精品理伦片| 一区二区三区91| 亚洲成精国产精品女| 三级在线观看一区二区| 伦理电影国产精品| 成人ar影院免费观看视频| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲视频每日更新| 亚洲夂夂婷婷色拍ww47| 亚洲精品福利视频网站| 老司机免费视频一区二区三区| 亚洲一区二三区| 色婷婷综合久久久| 日韩一区国产二区欧美三区| 国产午夜亚洲精品理论片色戒| 午夜久久久影院| 成人午夜视频网站| 欧美一区二区三区性视频| 午夜av区久久| 成人免费看黄yyy456| 国产91在线观看| 不卡一二三区首页| 91精品欧美久久久久久动漫| 精品久久久久一区| 亚洲综合图片区| 精品一区二区三区的国产在线播放| 成人免费视频视频在线观看免费| 91玉足脚交白嫩脚丫在线播放| 亚洲国产岛国毛片在线| 亚洲精品免费电影| 日韩欧美一级二级| 色婷婷久久久亚洲一区二区三区| 精品一区二区日韩| 午夜电影一区二区三区| 中文字幕欧美一| 久久天天做天天爱综合色| 91精品国产综合久久精品性色| 色悠悠亚洲一区二区| 成人教育av在线| 国产激情视频一区二区在线观看 | 国产精品国产三级国产a| 欧美r级在线观看| 91精品国产综合久久久蜜臀图片| 欧美综合亚洲图片综合区| 91亚洲精品久久久蜜桃网站| 成人久久久精品乱码一区二区三区 | 久久久久高清精品|