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

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

?? fm24c256的.c

?? 1-FM24C256的控制軟件(用89C52控制操作
?? C
字號:
//THIS CODE WAS DESIGNED TO DEMONSTRATE HOW THE FM24C04/FM24C04A SERIAL FRAM COULD 
//BE INTERFACED TO THE 8051 MICROCONTROLLER. THE INTERFACE USES 2 LINES 
//FROM PORT 2 (P2.7 AND P2.6) TO COMMUNICATE. 
//THE CODE SHOWN DEMONSTRATES A 'RANDOM READ' AND 'BYTE WRITE'. THE OTHER *
//MODES OF OPERATION CAN BE CREATED BY EXPANDING UPON THESE ROUTINES.
//深圳市華胄科技有限公司
//the first date writed:2003-11-20
//=============================
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define IIC_READ 0XA1    //定義讀指令
#define IIC_WRITE 0XA0   //定義寫指令
#define NOP _nop_()
//==============================
uchar idata buff[32];	//save the byte read out  form iic device in test operation
uchar idata readbuff[32];//測試數組,暫存寫入讀出數據
//uchar writebuff[32];
//===============================
sbit SDA=P2^7;	//THE SDA BIT IS PORT 2 BIT 7
sbit SCL=P2^6;	//THE SCL BIT IS PORT 2 BIT 6
sbit WP=P2^5;
sbit test=P1^0;
//===============================
//define a bit_operation byte to use in shift operation
//use this mode can achieve high operation speed 
uchar bdata bbyte;//定義位操作用數組,采用此方法可提高位操作速度
sbit a0=bbyte^0;
sbit a1=bbyte^1;
sbit a2=bbyte^2;
sbit a3=bbyte^3;
sbit a4=bbyte^4;
sbit a5=bbyte^5;
sbit a6=bbyte^6;
sbit a7=bbyte^7;
//========================================
bit IFACK;	//record the SDA state to confirn if ACK has happened 
bit NO_ACK;	//no ack flag
bit BUS_FAULT;	//bus fault flag
//========================================
//FUNCTION:ROUTES TO PROVIDE A START SIGNAL
void start(void)
{
	SCL=0;SDA=1;SCL=1;SDA=0;SCL=0;
}
//=======================================
//FUNCTION:ROUTES TO PROVIDE A STOP SIGNAL
void stop(void)
{
	SCL=0;SDA=0;SCL=1;SDA=1;SCL=0;
}
//=====================================
//FUNCTION:ROUTES TO PROVIDE ACK SINGAL
void ack(void)
{
	SCL=0;SDA=0;SCL=1;SCL=0;
}
//=====================================
//FUNCTION:ROUTES TO RELEASE THE SDA TO RECEIVE A ACK SIGNAL 
//	             OR TO PROVIDE A NO_ACK SIGNAL
//type=1等待應答信號
//type=0 產生無應答信號
void nack(uchar type)
{
	SCL=0;SDA=1;SCL=1;IFACK=SDA; SCL=0;
	if(type)
	{
		if(IFACK)//如果無應答信號,則置標志位NO_ACK,程序中止
		{	
			NO_ACK=1;//用戶可以加入自己的異常處理程序
			//while(1);
		}
		else NO_ACK=0;
	}
}
//=======================================================
//FUNCTION:THE IIC DEVICE SHIFT OUT A BYTE  TO THE MASTER
uchar  inbyte(void) {//從IIC器件中讀出數據
	SDA=1;
	SCL=1;a7=SDA;SCL=0;
	SCL=1;a6=SDA;SCL=0;
	SCL=1;a5=SDA;SCL=0;
	SCL=1;a4=SDA;SCL=0;
	SCL=1;a3=SDA;SCL=0;
	SCL=1;a2=SDA;SCL=0;
	SCL=1;a1=SDA;SCL=0;
	SCL=1;a0=SDA;SCL=0;
	return(bbyte);
}
//=======================================================
//FUNCTION:THE IIC DEVICE SHIFT IN A BYTE FROM THE MASTER 
void outbyte(uchar outdata) {//將數據寫放IIC器件
	bbyte=outdata;
	SDA=a7;SCL=1;SCL=0;
	SDA=a6;SCL=1;SCL=0;
	SDA=a5;SCL=1;SCL=0;
	SDA=a4;SCL=1;SCL=0;
	SDA=a3;SCL=1;SCL=0;
	SDA=a2;SCL=1;SCL=0;
	SDA=a1;SCL=1;SCL=0;
	SDA=a0;SCL=1;SCL=0;
}
//======================================================
//FUNCTION:BYTE WRITE.  'add'     THE WRITE ADDRESS, 'wbyte'   THE DATA WANT TO WRITE
void writebyte(uint add,uchar wbyte)//add為寫入地址,wbyte為寫入數據
{
	uchar temph,templ;
	temph=(uchar)(add/256);
	templ=(uchar)(add%256);
	outbyte(IIC_WRITE);	        //寫命令
	nack(1);			        //等待應答
	outbyte(temph);		        //寫地址
	nack(1);			        //等待應答
	outbyte(templ);		        //寫地址
	nack(1);
	outbyte(wbyte);			    //寫數據
	nack(1);			        //等待應答
	stop();				        //停止信號
}
//=====================================================
//FUNCTION:RANDOM READ.'add' IS THE ADDRESS WANT TO READ
uchar readbyte (uint add)//add為讀地址
{
	uchar temp,temph,templ;	
	temph=(uchar)(add/256);
	templ=(uchar)(add%256);
	start();			        //開始信號
	outbyte(IIC_WRITE);			//寫命令
	nack(1);			        //等待應答
	outbyte(temph);		        //寫地址
	nack(1);			        //等待應答
	outbyte(templ);		        //寫地址
	nack(1);
	start();			        //開始信號
	outbyte(IIC_READ);			//讀命令
	nack(1);			        //等待應答
	temp=inbyte();			    //讀數據
	nack(0);			        //無應答
	stop();				        //停止信號
	return(temp);
}
//=================================================
//連寫函數
//add為讀起始地址,ptr數據保存指針,writelen為寫入數據長度
void writebyteseq(uint add,uchar *ptr,uint writelen)
{
	//uchar temp;
	uchar temph,templ;
	uint i;
	temph=(uchar)(add/256);
	templ=(uchar)(add%256);
	start(); 		
	outbyte(IIC_WRITE);		
	nack(1);		
	outbyte(temph);
	nack(1);
	outbyte(templ);
	nack(1);
	for(i=0;i<writelen;i++)
	{
		outbyte(*(ptr+i));
		nack(1);
	}
	stop();	
}
//=================================================
//連讀函數
//add為讀起始地址,ptr數據保存指針,writelen為讀出數據長度
void readbyteseq(uint add,uchar *ptr,uint readlen)
{
	uchar temph,templ;
	uint i;
	temph=(uchar)(add/256);
	templ=(uchar)(add%256);
	start();
	outbyte(IIC_WRITE);
	nack(1);
	outbyte(temph);
	nack(1);
	outbyte(templ);
	nack(1);
	start();
	outbyte(IIC_READ);
	nack(1);
	for(i=0;i<readlen-1;i++)
	{
		*(ptr+i)=inbyte();
		ack();
		
	}
	*(ptr+readlen-1)=inbyte();
	nack(0);
	stop();
}
//=======================================================
//THIS IS A TEST OPERATION 
void main(void)
{
	uchar i;
	WP=0;
	while(1)
	{
		for(i=0;i<32;i++) readbuff[i]=0;
		writebyteseq(0, readbuff, 32);
		for(i=0;i<32;i++) readbuff[i]=0;
		readbyteseq(0,readbuff,32);
		//for(i=0;i<32;i++)
			//writebyte(300+i,i);
		for(i=0;i<32;i++) 
			buff[i]=readbyte(i);
		i=0;	
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合在线| 国产一区不卡视频| 亚洲成人av电影在线| 中文字幕一区二区三| 国产精品国产馆在线真实露脸| 久久久不卡网国产精品一区| 久久免费美女视频| 久久这里只有精品6| 久久一区二区三区国产精品| 亚洲精品一区二区精华| 国产在线国偷精品免费看| 中文字幕在线一区| 国产情人综合久久777777| 日韩精品一区二区三区中文不卡 | 国产高清在线观看免费不卡| 久久精品国产99国产精品| 国产成人自拍网| 色综合咪咪久久| 欧美日韩一区在线| 久久久久一区二区三区四区| 亚洲精品视频一区| 精品一区二区三区免费| 91欧美一区二区| 久久综合九色欧美综合狠狠| 亚洲欧洲精品一区二区三区不卡| 亚洲电影激情视频网站| 国产成人免费网站| 精品久久人人做人人爱| 一个色综合av| 91香蕉国产在线观看软件| 亚洲精品一区二区三区福利| 亚洲国产视频直播| 岛国一区二区三区| 日韩一二三区视频| 亚洲激情第一区| 91麻豆自制传媒国产之光| 久久蜜桃香蕉精品一区二区三区| 亚洲国产日日夜夜| 精品视频在线看| 一区二区在线观看不卡| 成人性生交大片免费看中文网站| 在线综合视频播放| 青青草伊人久久| 日韩一区二区中文字幕| 日韩国产精品91| 日韩欧美在线网站| 精品一区二区日韩| 久久久91精品国产一区二区精品 | 91成人免费在线视频| 中文字幕一区二区三区不卡| av毛片久久久久**hd| 亚洲人成网站在线| 色视频成人在线观看免| 亚洲成人激情av| 日韩视频一区二区| 懂色av中文一区二区三区| 日本一区二区三区dvd视频在线| 国产精品久久久久久妇女6080| 日本不卡视频在线观看| 国产三级精品在线| 97久久超碰国产精品电影| 综合久久国产九一剧情麻豆| 色综合久久中文字幕综合网 | 国产一区二区三区四区五区入口| 国产欧美一区二区三区在线看蜜臀 | 亚洲精品日韩一| 91精品欧美综合在线观看最新| 日韩精品一区第一页| 欧美大肚乱孕交hd孕妇| 色网站国产精品| 日韩av在线发布| 一区二区三区在线看| 精品av久久707| 日韩亚洲欧美中文三级| 色欲综合视频天天天| 国产一二精品视频| 日日骚欧美日韩| 亚洲宅男天堂在线观看无病毒| 精品国产自在久精品国产| 欧美日韩国产综合一区二区 | 国产精品视频在线看| 欧美videos大乳护士334| 精品视频1区2区| 色狠狠综合天天综合综合| 91女厕偷拍女厕偷拍高清| 精品写真视频在线观看| 日本欧美在线看| 免费亚洲电影在线| 日韩不卡一二三区| 日本不卡中文字幕| 日本亚洲电影天堂| 久久99久久99小草精品免视看| 日韩电影在线免费看| 男女男精品视频网| 久久66热偷产精品| 国产精品一区二区视频| 国产白丝精品91爽爽久久| 成人精品免费网站| 91麻豆免费观看| 欧美日韩成人一区二区| 337p亚洲精品色噜噜狠狠| 日韩欧美国产1| www久久精品| 亚洲三级在线看| 九色porny丨国产精品| 成人中文字幕电影| 色又黄又爽网站www久久| 香港成人在线视频| 亚洲电影欧美电影有声小说| 久色婷婷小香蕉久久| 国产精品99久久久久久久女警| 成人av在线一区二区三区| 欧美日韩激情在线| 国产喷白浆一区二区三区| 亚洲国产视频a| av亚洲精华国产精华精华| 欧美日韩视频专区在线播放| 国产欧美日韩不卡| 蜜桃av噜噜一区| 欧洲一区在线电影| 国产亚洲女人久久久久毛片| 久久99精品久久久久久动态图| 在线免费亚洲电影| 中文字幕一区二区三区不卡在线| 久久99热99| 日韩欧美国产综合| 三级欧美在线一区| 欧美一区二区黄色| 依依成人综合视频| 91久久精品一区二区| 成人免费一区二区三区视频| 99热国产精品| 亚洲免费在线观看视频| 色先锋资源久久综合| 国产精品久久久久三级| 99在线精品视频| 一区二区三区欧美视频| 色哟哟日韩精品| 午夜精品aaa| 2022国产精品视频| 成人免费av资源| 一区二区三区四区高清精品免费观看| 色婷婷综合久久久久中文| 亚洲综合色视频| 精品国产凹凸成av人导航| 国产东北露脸精品视频| 亚洲精品视频在线看| 欧美精品丝袜中出| 狠狠色丁香婷婷综合| 日韩美女啊v在线免费观看| 欧美性色黄大片手机版| 蜜桃av一区二区| 亚洲美女视频在线| 91精品一区二区三区在线观看| 国产盗摄一区二区三区| 亚洲精选在线视频| 亚洲精品一区二区三区99| 99亚偷拍自图区亚洲| 秋霞午夜av一区二区三区| 亚洲天堂av一区| 亚洲视频在线一区| 久久精品水蜜桃av综合天堂| 欧美亚洲日本国产| 波多野结衣欧美| 激情av综合网| 全部av―极品视觉盛宴亚洲| 亚洲欧美aⅴ...| 国产精品久久久久久久浪潮网站| 欧美肥妇bbw| 欧美亚洲国产一区二区三区| 国产精品2024| 国产麻豆成人传媒免费观看| 亚洲福利视频一区| 国产精品伦一区二区三级视频| 夫妻av一区二区| 国内成人自拍视频| 极品少妇一区二区三区精品视频| 亚洲午夜私人影院| 一区二区免费在线播放| 一区二区三区久久| 亚洲精品ww久久久久久p站| 亚洲免费观看高清完整版在线观看熊| 2023国产精品视频| 国产精品美女久久久久久2018| 国产日韩欧美精品在线| 国产女主播在线一区二区| 国产肉丝袜一区二区| 国产精品美女一区二区三区| 一区二区三区精品视频在线| 亚洲一卡二卡三卡四卡无卡久久 | av在线一区二区三区| 99视频精品免费视频| 欧美日韩高清一区二区不卡| 日韩一区二区三区电影在线观看 | 免费久久99精品国产| 成人午夜av电影| 精品视频色一区| 亚洲国产va精品久久久不卡综合| 国产精品另类一区| 夜夜嗨av一区二区三区网页|