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

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

?? ps2.c

?? 51單片機與ps2鍵盤接口程序
?? C
字號:
#include <reg51.h>
#include "PS2.H"

BYTE PS2RecChar=0xCC;
BOOL KeyBoardFlag=FALSE;

void OnKeyBoardOnline(BOOL i)
{
	KeyBoardFlag=i;
}	
//---------------------------------------------------------------------------
void OnPS2ReceiveChar(BYTE ReceChar,BOOL P)
{
	BOOL ParityBit=0;
	ACC=ReceChar;
	CY=P;
	ParityBit=(BOOL)(CY?0x00:0x80);//奇校驗位
	if(P==ParityBit);
	PS2RecChar=ReceChar;
}
//---------------------------------------------------------------------------
void OnPS2SendChar(BYTE dat)
{
	BOOL ParityBit;
	BYTE i;
	ACC=dat;
	CY=P;
	ParityBit=(BOOL)(CY?0x00:0x80);//奇校驗位
	
	CLSSIGNAL();

	CT_KB=OFF;
	EX0=0;

	H_DATA=0;Delay10us();//start bit
	H_CLK=1;
	Delay10us();
	H_CLK=0;
	Delay30us();
	
	for(i=0;i<8;i++)
	{
		if(dat&0x01==0x01){H_DATA=1;Delay10us();}
		else {H_DATA=0;Delay10us();}
		dat>>=1;
		H_CLK=1;
		Delay10us();
		H_CLK=0;
		Delay30us();
	}

	H_DATA=ParityBit;Delay10us();//parity bit
	H_CLK=1;
	Delay10us();
	H_CLK=0;
	Delay30us();

	H_DATA=1;Delay10us();//stop bit
	H_CLK=1;
	Delay10us();
	H_CLK=0;
	Delay30us();
	
	IE0=0;
	EX0=1;
	H_CLK=1;
	H_DATA=1;
	CT_KB=ON;
	Delay30us();
}
//---------------------------------------------------------------------------
void ExternInterrupt0(void) interrupt 0
{
	BOOL ParityBit=0,CLKFlag=1;
	BYTE i=0,j=8,dat=0x00;

	EX0=0;

	while(CLKFlag)
	{
		i++;
		if(H_CLK==1)CLKFlag=0;
		if(i>0xEE)
		{
			IE0=0;
			EX0=1;
			return ;
		}
	} 
	while(j--)//延時等待大鍵盤的動作
	{
		for(i=0;i<0x88;i++)//檢查是否有數據處理	0x88
		{
			if(H_CLK==0)//有動作則是大鍵盤存在
			{
				OnKeyBoardOnline(TRUE);//大鍵盤存在,開機由大鍵盤應答
				IE0=0;
				EX0=1;
				return ;//存在的話置標志位,并返回
			}
		}
	}
	OnKeyBoardOnline(FALSE);//大鍵盤不存在,由小鍵盤應答
	
	//轉到接收
	for(i=0;i<8;i++)//read 8bit
	{
		Delay30us();
		H_CLK=0;            
		Delay30us();
		H_CLK=1;
		dat=dat>>1;    
		if(H_DATA)dat|=0x80;
		
		if(H_CLK==0){	return;	}//如果時鐘被拉低,則有錯誤發生
	}
										 
	Delay30us();
	H_CLK=0;            
	Delay30us();
	H_CLK=1;
	if(H_DATA)ParityBit=1;
	else ParityBit=0; 

	Delay30us();
	H_CLK=0;            
	Delay30us();
	H_CLK=1;//STOP BIT H_DATA 0 ERR
	
	Delay10us();
	H_DATA=0;	//ACK bit
	Delay10us();
	H_CLK=0;
	Delay30us();Delay30us();
	H_CLK=1;
	Delay30us();
	H_DATA=1;
	
	OnPS2ReceiveChar(dat,ParityBit);

	IE0=0;
	EX0=1;
	return ;
}
//---------------------------------------------------------------------------
void ProcessPS2(void)
{
	if(KeyBoardFlag==FALSE)//大鍵盤不存在
	{
		if(PS2RecChar==0xF3)//1
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0x00)//11
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0x02)//111
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0x20)//1111
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xED)//2
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xF0)//3
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xF2)//4
		{
			OnPS2SendChar(0xFA);
			Delay30us();
			OnPS2SendChar(0xAB);
			Delay30us();
			OnPS2SendChar(0x83);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xEF)//5
		{
			OnPS2SendChar(0xFA);
			Delay30us();
			OnPS2SendChar(0xBF);
			Delay30us();
			OnPS2SendChar(0xB0);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xF3)//6
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xFE)//7 //resend
		{
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xEE)//8
		{
			OnPS2SendChar(0xEE);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xEE)//9
		{
			OnPS2SendChar(0xEE);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xF1)//10
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xF4)//11
		{
			OnPS2SendChar(0xFA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xAA)//12
		{
			OnPS2SendChar(0xAA);
			PS2RecChar=0xCC;
		}
		else if(PS2RecChar==0xFF)//13
		{
			OnPS2SendChar(0xFA);
			Delay30us();
			OnPS2SendChar(0xAA);
			Delay30us();
			PS2RecChar=0xCC;
		}
		else ; 
	}
}
//---------------------------------------------------------------------------
void PS2Init(void)
{
	IT0=0;	//低電平觸發中斷
	PX0=1;	
	EX0=1;	
}
//---------------------------------------------------------------------------
/*
//用法-以下文件在main.c--------------------------------------------------------------------------
//把PS2.C Delay.asm加入工程
extern void ProcessPS2(void);
extern void PS2Init(void)
void main(void)
{
	//晶振為18.432 其他的頻率需要修改延時程序
	//往PC上發按鍵使用OnPS2SendChar();
	//OnPS2SendChar(0x15);//Q//發送通碼

	//OnPS2SendChar(0xF0);
	//OnPS2SendChar(0x15);//Q//發送斷碼
	PS2Init();
	while(1)
	{
		ProcessPS2();//開機應答,使電腦能識別到鍵盤
		//other code
	}
}

 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91清纯白嫩初高中在线观看 | 国产福利一区二区三区视频在线| 亚洲欧美区自拍先锋| 久久精品视频免费| 久久伊99综合婷婷久久伊| 欧美一级免费大片| 7777精品伊人久久久大香线蕉超级流畅| 91免费看片在线观看| 色综合久久久久综合体 | 亚洲婷婷综合色高清在线| 国产欧美日韩不卡| 亚洲国产精华液网站w| 国产精品狼人久久影院观看方式| 国产精品久久久久久久久果冻传媒| 在线播放国产精品二区一二区四区 | 欧美韩国一区二区| 国产三级精品在线| 国产精品久久毛片| 一区二区三区在线播| 亚洲h动漫在线| 麻豆专区一区二区三区四区五区| 免费观看日韩电影| 粉嫩高潮美女一区二区三区 | 亚洲欧洲av另类| 亚洲成av人片在线| 激情五月激情综合网| av成人动漫在线观看| 91福利视频久久久久| 日韩三级视频中文字幕| 国产清纯美女被跳蛋高潮一区二区久久w | 国产女人18毛片水真多成人如厕 | 色成年激情久久综合| 欧美一区欧美二区| 欧美激情综合网| 午夜精品久久久久久久久久久 | 亚洲成人自拍偷拍| 福利91精品一区二区三区| 欧美综合一区二区三区| xnxx国产精品| 亚洲电影中文字幕在线观看| 久久99久久99| 欧美性大战久久久久久久蜜臀| 欧美精品一区二区在线播放| 亚洲激情六月丁香| 国产乱妇无码大片在线观看| 日本久久一区二区三区| 久久久久久久免费视频了| 亚洲午夜精品在线| 不卡av电影在线播放| 日韩欧美国产午夜精品| 亚洲码国产岛国毛片在线| 国产一区在线看| 88在线观看91蜜桃国自产| 亚洲欧美成aⅴ人在线观看| 精品影院一区二区久久久| 在线这里只有精品| 国产精品水嫩水嫩| 韩国女主播一区| 777午夜精品视频在线播放| 亚洲色图清纯唯美| www.日韩在线| 国产亚洲一区二区三区在线观看| 日本伊人色综合网| 欧美在线观看18| 亚洲欧洲精品一区二区精品久久久| 久久99精品久久久久久久久久久久 | 一本色道久久综合亚洲91| 国产亚洲美州欧州综合国| 久久99精品久久久久婷婷| 欧美日韩免费视频| 亚洲v日本v欧美v久久精品| 色综合天天综合色综合av | 91亚洲男人天堂| 国产精品青草久久| 国产69精品久久久久毛片| 久久老女人爱爱| 国产盗摄视频一区二区三区| 欧美成人一级视频| 久久99久久精品| 久久色在线观看| 国产成人av一区| 国产精品毛片a∨一区二区三区| 国产99久久久国产精品| 国产午夜精品福利| 成人av在线影院| 亚洲欧洲综合另类| 欧美亚洲高清一区| 免费av成人在线| 久久一区二区视频| 99久久精品国产精品久久| 亚洲精品国产品国语在线app| 成人免费高清在线观看| 成人激情文学综合网| 99国内精品久久| 久久精品夜色噜噜亚洲a∨| 国产亚洲一区二区三区四区| 国产麻豆91精品| 国产精品美女久久久久aⅴ国产馆| 不卡视频在线观看| 午夜精品福利一区二区蜜股av| 欧美老年两性高潮| 久久99九九99精品| 亚洲图片激情小说| 日韩网站在线看片你懂的| 国产成人在线电影| 亚洲已满18点击进入久久| 91精品麻豆日日躁夜夜躁| 精品一区二区在线观看| 综合色天天鬼久久鬼色| 制服视频三区第一页精品| 国产一区二区三区香蕉| 亚洲六月丁香色婷婷综合久久| 国产夫妻精品视频| 国产精品电影一区二区| 日本vs亚洲vs韩国一区三区二区| 波多野结衣亚洲一区| 久久精品国产免费| 国产精品美女久久久久av爽李琼| 在线视频一区二区三区| 男男视频亚洲欧美| 亚洲三级免费电影| 精品免费国产一区二区三区四区| 91视频你懂的| 国产精品一区二区三区乱码| 亚洲综合在线五月| 国产午夜亚洲精品羞羞网站| 在线免费观看视频一区| 丰满少妇久久久久久久| 秋霞电影网一区二区| 亚洲日本青草视频在线怡红院 | 欧美影院一区二区三区| 国产福利视频一区二区三区| 亚洲动漫第一页| 自拍偷拍亚洲欧美日韩| 久久久精品免费观看| 5566中文字幕一区二区电影| 99久久精品国产观看| 国产成人综合亚洲网站| 久久成人久久鬼色| 日韩在线卡一卡二| 亚洲一区免费观看| 亚洲人成在线观看一区二区| 国产日韩欧美在线一区| 欧美成人一区二区三区片免费| 精品污污网站免费看| 91成人网在线| 在线观看视频一区| 在线成人午夜影院| 欧美亚洲综合在线| 91激情在线视频| 91国内精品野花午夜精品| www.久久精品| 91丨国产丨九色丨pron| 99久久精品情趣| 97久久人人超碰| 日本久久电影网| 在线影视一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 欧美视频一区二区三区在线观看| 色狠狠av一区二区三区| 欧洲生活片亚洲生活在线观看| 99精品黄色片免费大全| 99国产精品99久久久久久| 一本大道久久a久久综合婷婷| 99re在线精品| 欧美最新大片在线看| 欧美日韩国产一级片| 欧美一区二区三区免费视频 | 成人小视频免费在线观看| 成人小视频免费观看| 99re66热这里只有精品3直播| 日本福利一区二区| 在线播放91灌醉迷j高跟美女| 91精品国产免费| 亚洲国产精品激情在线观看| 中文字幕一区二区在线播放| 亚洲欧洲制服丝袜| 热久久久久久久| 国产在线不卡视频| 色综合视频一区二区三区高清| 欧美性大战久久久久久久| 日韩欧美高清dvd碟片| 国产区在线观看成人精品| 亚洲免费视频成人| 麻豆国产精品官网| 97久久精品人人做人人爽50路| 欧美绝品在线观看成人午夜影视| 精品福利二区三区| 亚洲伦理在线免费看| 麻豆精品在线看| 99久久精品情趣| 欧美成人三级电影在线| 国产精品区一区二区三区| 首页国产欧美日韩丝袜| 欧美日韩欧美一区二区| 欧美国产成人在线| 日韩av一区二| 91黄视频在线观看| 久久精品人人做人人爽人人| 亚洲福中文字幕伊人影院|