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

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

?? pcf8574.c

?? PCF8574的讀寫
?? C
字號:
#include <w77e58.h>    
#include <stdio.h>   
#include <stdlib.h>                      /* standard library .h-file          */
#include <math.h>
#include <absacc.h>
#include <intrins.h>
#define NOP _nop_();
#define	WriteDeviceAddress 0xa0		
#define	ReadDviceAddress 0xa1	
sbit	Ram_protect=P1^2;	
sbit	SCL=P1^1;	// I2C serial clock line.
sbit	SDA=P1^0;	// I2C serial data line.
#define uint unsigned int
#define uchar unsigned char
/* -------------定義器件地址--------------*/
unsigned char PCFKey		=0x40;	// 鍵盤8574地址
unsigned char PCFLed		=0x4E;	// 指示燈8574地址????????????
extern I2CStart();
extern I2CStop();
extern uchar readbyte(void);
extern writebyte(uchar input);
/*--------------------- WatchDog -------------------------*/
void WatchDog(void)
{	
	TA=0xAA	;	//3M/C	Note:M/C=Machine Cycles
    	TA=0x55	;	//3M/C
	RWT=1;		//Reset Watchdog timer
	led0=~led0;
} 
void DelayMs(int number) 	//延時1Ms
{
	uchar idata temp;
	for(;number!=0;number--)
	{
		for(temp=167;temp!=0;temp--) {
		}
		WatchDog();
	}
}
void long_delay(void)
{
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
}
/*  在時鐘線(SCL)為高電平其間,數據線(SDA)由高變低,將產生一個開始信號。-------*/
void I2CStart() {
	SDA=1;
	long_delay();
	SCL=1;
	long_delay();
	SDA=0;
	long_delay();
	SCL=0;
	long_delay();
}
/*  在時鐘線(SCL)為高電平其間,數據線(SDA)由低變高,將產生一個停止信號。-------*/
void I2CStop() {
	SCL=0;
	long_delay();
	SDA=0;
	long_delay();
	SCL=1;
	long_delay();
	SDA=1;
	long_delay();
}
/*-------------------------------------------------------------------------*/
void Ack() {
	SDA=0;
	SCL=1;
	SCL=0;
	SDA=1;
}
/*-------------------------------------------------------------------------*/
void NoAck() {
	SDA=1;
	SCL=1;
	SCL=0;
}
/*-------------------------------------------------------------------------*/
bit TestAck(void) {
	bit ErrorBit;
	SDA=1;
	long_delay();
	SCL=1;
	long_delay();
	ErrorBit=SDA;
	long_delay();
	SCL=0;
	long_delay();
	return(ErrorBit);
}
/*-------------------------------------------------------------------------*/
void Write8Bit(unsigned char input) {
	unsigned char temp;
	for(temp=8;temp!=0;temp--) {
		SDA=(bit)(input&0x80);
		SCL=1;
		SCL=0;
		input=input<<1;
	}
}
/*-------------------------------------------------------------------------*/
void Write24c02(unsigned char *Wdata,unsigned char RomAddress,unsigned char number) 
{
	Ram_protect=0;
	I2CStart();
	Write8Bit(WriteDeviceAddress);
	TestAck();
	Write8Bit(RomAddress);
	TestAck();
	for(;number!=0;number--) {
		Write8Bit(*Wdata);
		TestAck();
		Wdata++;
	}
	I2CStop();
	//DelayMs(20);
	Ram_protect=1;
}
/***********writebyte()***********/
void writebyte(unsigned char input)
{
	unsigned char idata temp;
	for(temp=8;temp!=0;temp--) {
		SDA=(bit)(input&0x80);
		SCL=1;
		long_delay();
		SCL=0;
		long_delay();
		input=input<<1;
	}
	TestAck();
}
/***********readbyte()***************/
//并口讀取I2C總線的數據時,必須讓 T1截止,使用并口的13腳來接收SDA上的數據。
unsigned char readbyte(void){
	unsigned char idata temp,rbyte=0;
	for(temp=8;temp!=0;temp--)
	{
		SCL=1;
		rbyte=rbyte<<1;
		rbyte=rbyte|((unsigned char)(SDA));
		SCL=0;
	}
	return(rbyte);
}
unsigned char Read8Bit() 
{
	unsigned char temp,rbyte=0;
	for(temp=8;temp!=0;temp--) {
		SCL=1;
		rbyte=rbyte<<1;
		rbyte=rbyte|((unsigned char)(SDA));
		SCL=0;
	}
	return(rbyte);
}
/*-------------------------------------------------------------------------*/
void Read24c02(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes)
{	
	Ram_protect=0;
	I2CStart();
	Write8Bit(WriteDeviceAddress);
	TestAck();
	Write8Bit(RomAddress);
	TestAck();
	I2CStart();
	Write8Bit(ReadDviceAddress);
	TestAck();
	while(bytes!=1)
	{
		*RamAddress=Read8Bit();
		Ack();
		RamAddress++;
		bytes--;
	}
	*RamAddress=Read8Bit();
	NoAck();
	I2CStop();
	Ram_protect=1;
}
/*-------------寫PCF8574--------------------------*/
void writepcf8574(uchar slvadr,uchar dat)
{
	I2CStart();//START();				//啟動I2C 總線
	writebyte(slvadr);
	writebyte(dat);
	I2CStop();
}
/*-------------讀PCF8574--------------------------*/
uchar readpcf8574(uchar slvadr)
{
	uchar idata dat;
	I2CStart();//START();				//啟動I2C 總線
	writebyte(slvadr);
	I2CStart();
	writebyte(slvadr+1);
	dat=readbyte();
	I2CStop();
	return(dat);
}
/*---------------------Keyboard Scan Routins----------------*/
/*出口信息:SGKEY中存鍵值,無鍵按下,鍵值=FF.*/
uchar KBSCAN(void)
{
	uchar idata data0,data1;
	uchar idata key;			//鍵值
	writepcf8574(PCFKey,0xF0);		//寫鍵盤8574
	data0=readpcf8574(PCFKey);		//讀鍵盤8574
	if(data0!=0xF0)				//是否有鍵按下?
	{
		data0=~data0;
		data0&=0xF0;
		DelayMs(10);			//延時去抖
		writepcf8574(PCFKey,0x0F);
		data1=readpcf8574(PCFKey);
		if(data1!=0x0F)			//是否有鍵按下?
		{
			data1=~data1;
			data1&=0x0F;
			key=data0+data1;
		}
		else
			key=0xFF;
		//判斷按鍵是否放開
		writepcf8574(PCFKey,0xF0);
		data0=readpcf8574(PCFKey);
		while(data0!=0xF0)
		{
			writepcf8574(PCFKey,0xF0);
			data0=readpcf8574(PCFKey);
			WatchDog();
		}
	}
	else
		key=0xFF;
	return(key);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久不见久久见免费视频7| 国产精品久久久久一区二区三区共| 在线播放中文一区| 久久久久久久综合狠狠综合| 一区二区三区欧美视频| 久久激五月天综合精品| 色婷婷久久综合| 国产日韩精品一区二区三区在线| 亚洲精品美国一| 国产麻豆午夜三级精品| 日韩情涩欧美日韩视频| 亚洲va欧美va天堂v国产综合| 福利一区在线观看| 日韩亚洲电影在线| 亚洲午夜久久久久| 99久久精品国产麻豆演员表| 亚洲精品一区二区精华| 日韩不卡一区二区三区| 欧美在线free| 成a人片国产精品| 一个色在线综合| wwwwxxxxx欧美| 狠狠网亚洲精品| 亚洲国产精品成人综合| 懂色av一区二区在线播放| 婷婷丁香激情综合| 亚洲一区二区三区四区在线| 一本大道av一区二区在线播放| 国产麻豆视频一区二区| 另类的小说在线视频另类成人小视频在线| 热久久一区二区| 欧美色电影在线| 亚洲综合图片区| 日本精品视频一区二区三区| 国产午夜精品美女毛片视频| 国产在线国偷精品免费看| 日韩美一区二区三区| 免费xxxx性欧美18vr| 3d动漫精品啪啪一区二区竹菊| 亚洲成年人网站在线观看| 欧美伊人精品成人久久综合97| 一区二区三区免费| 日本韩国欧美一区| 亚洲一区二区欧美日韩| 欧美日韩成人高清| 日本sm残虐另类| 精品欧美一区二区久久| 韩国欧美一区二区| 国产日韩一级二级三级| a级高清视频欧美日韩| 91免费版在线| 国产精品一品视频| 色婷婷综合久久久| 国产91精品一区二区麻豆网站| 中文在线一区二区 | 五月开心婷婷久久| 久久久久久久久蜜桃| 26uuu精品一区二区在线观看| 精品美女一区二区| 一区二区免费视频| 欧美一区二区三区日韩| 色综合激情久久| 91免费看`日韩一区二区| 欧美又粗又大又爽| 欧美一区二区三区思思人| 日韩欧美一区二区久久婷婷| 色妹子一区二区| 亚洲私人影院在线观看| 51精品久久久久久久蜜臀| 美女网站色91| 亚洲免费大片在线观看| 中文字幕精品综合| 无码av免费一区二区三区试看 | 国产亚洲一二三区| 亚洲精品免费视频| 午夜精品一区二区三区三上悠亚| 91免费版pro下载短视频| 欧美亚洲免费在线一区| 亚洲视频一二区| 在线观看91精品国产麻豆| 国产在线看一区| 亚洲高清免费观看| 国产欧美一区二区精品久导航| 一本色道综合亚洲| 黄页网站大全一区二区| 亚洲一区在线视频观看| 久久男人中文字幕资源站| 在线观看国产精品网站| 国产激情视频一区二区三区欧美| 一区二区三区在线观看欧美| 久久久精品蜜桃| 这里只有精品电影| 91在线视频播放地址| 国产一区高清在线| 日韩av中文字幕一区二区三区| 国产精品久久久久精k8 | 欧美日韩视频在线第一区| 岛国精品一区二区| 久久国产精品99久久人人澡| 亚洲一区二区影院| 国产精品你懂的| 久久蜜桃av一区二区天堂| 91精品国产综合久久精品性色| 在线免费不卡视频| 91亚洲精品久久久蜜桃网站| 北岛玲一区二区三区四区| 国产福利一区二区三区视频 | 色香色香欲天天天影视综合网| 国产成人午夜精品5599| 九九热在线视频观看这里只有精品| 亚洲午夜视频在线观看| 亚洲精品免费在线| 欧美三级三级三级| 蜜臀久久99精品久久久久宅男| 91麻豆精品国产91久久久| 日韩精品免费视频人成| 国产午夜精品久久| 99久久久久久| 国产在线视视频有精品| 综合久久综合久久| 精品国产1区2区3区| 激情文学综合网| 一区二区三区四区不卡在线| 国产精品久久影院| 波多野洁衣一区| 成人av在线看| 97se狠狠狠综合亚洲狠狠| 9色porny自拍视频一区二区| 99天天综合性| 在线看日本不卡| 69p69国产精品| 26uuu亚洲婷婷狠狠天堂| 久久久91精品国产一区二区精品| 久久亚洲欧美国产精品乐播| 欧美激情一区二区三区在线| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲欧洲av一区二区三区久久| 一区视频在线播放| 亚洲一区二区三区激情| 免费成人在线播放| 成人国产在线观看| 欧美日韩一区国产| 欧美大黄免费观看| 国产精品美女一区二区| 一区二区三区**美女毛片| 青青草国产成人99久久| 国产成人精品亚洲午夜麻豆| 一本大道综合伊人精品热热| 欧美福利电影网| 久久尤物电影视频在线观看| 国产精品免费视频观看| 国产成人免费网站| 99久久久久久| 欧美视频一区在线| 91麻豆精品国产自产在线观看一区| 在线免费精品视频| 精品电影一区二区三区| 日韩成人免费电影| 91精品免费观看| 91精品中文字幕一区二区三区| 欧美日韩精品一区二区三区四区| 国产成人综合网| 夜夜精品视频一区二区| 欧美影视一区二区三区| 亚洲高清视频的网址| 国产精品12区| 国产精品福利一区二区三区| 91精品国产欧美日韩| 国产精品一区二区91| 中文字幕免费观看一区| 91麻豆精东视频| 亚洲日本va在线观看| 国产一区二区在线电影| 精品视频123区在线观看| 国产精品高潮久久久久无| 亚洲大片免费看| 91麻豆免费看| 亚洲综合在线第一页| 国产精品123区| 亚洲色图清纯唯美| 91精品在线观看入口| 久久99精品国产.久久久久久| 日韩精品一区二区三区视频| av在线不卡网| 五月天欧美精品| 国产在线精品一区在线观看麻豆| 91亚洲男人天堂| 亚洲二区视频在线| 久久久久综合网| 国产99久久久精品| 国产精品视频观看| 91原创在线视频| 国产欧美视频一区二区三区| 高清国产午夜精品久久久久久| 成人性生交大合| 亚洲国产精品ⅴa在线观看| 欧美三级资源在线| 一区二区成人在线| xf在线a精品一区二区视频网站| 欧美亚洲一区二区三区四区|