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

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

?? main.c

?? C51寫的Zi2020 FM發射模塊控制代碼!
?? C
字號:
//===================================================
//
//	模塊:	無線發射模塊
//
//	日期:	2007-08-03
//
//	作者:	施探宇
//
//	說明:	Zi2020
//
//
//===================================================
#include "at89s53.h"

//---------------------------------------------------
//	測試串口速率
//---------------------------------------------------
//#define DEBUG_SPEED

//	類型定義
typedef unsigned char 	BYTE;
typedef unsigned int 	WORD;

//---------------------------------------------------
//	I2C 控制腳定義
//---------------------------------------------------
//sbit P_SDA = P3^7;
//sbit P_SCL = P3^2;
sbit P_SPK = P2^0;

sbit P_SDA = P3^6;
sbit P_SCL = P3^5;
//===================================================
//	串口初始
//===================================================
void ComInit()
{
	TR1 = 0; //啟動定時器

	SCON = 0x50; //串口方式1,允許接收
	TMOD = 0x20; //定時器1定時方式2
	TCON = 0x40; //設定時器1開始計數
	PCON = 0x80; //波特率加倍控制,SMOD位

	// 	初始化速率:19200bps.
	TH1 = 253;
	TL1 = 253;

	//	清收發標志
	RI = 0; 
	TI = 0;

	//	啟動定時器
	TR1 = 1; 
}

//===================================================
//	串口輸出字符串(非中斷方式)
//===================================================
void ComOutput(const BYTE Str[])
{
	BYTE i = 0;

	while(Str[i]) //判斷是否到了字符串的尾部
	{
		SBUF = Str[i++]; 
		//輸出字符
		
		while(!TI)
			;
		//空語句判斷字符是否發完

		TI = 0; 
		//清TI
	}
}

//===================================================
//	串口接收字符串
//===================================================
void ComInput(BYTE Str[])
{
	BYTE c = 0;
	BYTE i = 0;

	do{
		// 	空語句判斷字符是否收完
		while(!RI);

		//	讀取字符
		Str[i] = SBUF;

		//	保存字符
		c = Str[i++];
		
		//	清RI
		RI = 0; 	
	
	//	判斷是否到了字符串的尾部
	}while(c && (c != 0x0a) && (c != 0x0d) && (c != '@'));
	Str[i] = 0;
}

//===================================================
//	I2C延時
//===================================================
void I2cDelay()
{
	int j;
	for(j = 0; j < 20; j++)
	{
		;
	}
}

//===================================================
//	I2c開始
//===================================================
void I2cStart()
{
	P_SDA = 1;
	I2cDelay();

	P_SCL = 1;
	I2cDelay();

	P_SDA = 0;
	I2cDelay();

	P_SCL = 0;
	I2cDelay();
}

//===================================================
//	I2c停止
//===================================================
void I2cStop()
{
 	P_SDA = 0;
	I2cDelay();

	P_SCL = 1;
	I2cDelay();

	P_SDA = 1;
	I2cDelay();
}

//===================================================
//	I2c讀應答
//===================================================
BYTE I2cGetAck()
{
	BYTE iAck = 0;

	P_SDA = 1;
	I2cDelay();

	P_SCL = 1;
	I2cDelay();

	if(!P_SDA)
		iAck = 1;
	else
		iAck = 0;
	I2cDelay();

	P_SCL = 0;
	I2cDelay();

	return iAck;
}

//===================================================
//	I2c主應答
//===================================================
void I2cSetAck()
{
	P_SDA = 0;
	I2cDelay();

	P_SCL = 1;
	I2cDelay();
	I2cDelay();

	P_SCL = 0;
	I2cDelay();
	P_SDA = 1;
}

//===================================================
//	I2c寫入一個字節
//===================================================
void I2cWriteByte(BYTE nData)
{
	BYTE i;

	for(i = 0;i < 8;i ++)
	{
		if(nData & 0x80)
		{
			P_SDA = 1;
		}
		else
		{
			P_SDA = 0;
		}
		nData <<= 1;
		I2cDelay();

		P_SCL = 1;
		I2cDelay();
		I2cDelay();

		P_SCL = 0;
		I2cDelay();
	}
	I2cDelay();
}

//===================================================
//	I2c寫入一個字節
//===================================================
void I2cWriteVByte(BYTE nData)
{
	char i;

	for(i = 0;i < 8;i ++)
	{
		if(nData & 0x01)
		{
			P_SDA = 1;
		}
		else
		{
			P_SDA = 0;
		}
		I2cDelay();

		nData >>= 1;

		P_SCL = 1;
		I2cDelay();
		I2cDelay();

		P_SCL = 0;
		I2cDelay();
	}

	I2cDelay();

}
//===================================================
//	I2c讀取一個字節
//===================================================
BYTE I2cReadByte()
{
	BYTE nData = 0;
	char i;
	
	for(i = 0;i < 8;i ++)
	{
		nData <<= 1;
		I2cDelay();	
		
		P_SCL = 1;
		I2cDelay();

		if(P_SDA)
		{
			nData |= 1;	
		}
		else
		{
			nData &= 0xfe;	
		}
		I2cDelay();

		P_SCL = 0;
		I2cDelay();
	}

	I2cDelay();

	return nData;
}

//===================================================
//	I2c讀取一個字節
//===================================================
BYTE I2cReadVByte()
{
	BYTE nData = 0;
	char i;
	
	for(i = 0;i < 8;i ++)
	{
		nData >>= 1;
		I2cDelay();	
		
		P_SCL = 1;
		I2cDelay();

		if(P_SDA)
		{
			nData |= 0x80;	
		}

		I2cDelay();

		P_SCL = 0;
		I2cDelay();
	}

	I2cDelay();

	return nData;
}

//===================================================
//	寫I2C設備
//===================================================
int I2cWrite(BYTE DEV,BYTE ADDR,BYTE DATA)
{
	BYTE iAck = 0;

	I2cStart();

	I2cWriteByte(DEV);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x101;
	
	I2cWriteByte(ADDR);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x102;

	I2cWriteByte(DATA);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x103;

	I2cStop();

	return DATA;
}

//===================================================
//	讀I2C設備
//===================================================
int I2cRead(BYTE DEV,BYTE ADDR)
{
	BYTE nData = 0;
	BYTE iAck = 0;
		
	I2cStart();

	I2cWriteByte(DEV);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x201;

	I2cWriteByte(ADDR);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x202;

	I2cStart();
	I2cWriteByte(DEV | 1);
	iAck = I2cGetAck();
	if(!iAck)
		return 0x203;
 	
	nData = I2cReadVByte();
	I2cSetAck(); 
	I2cStop();

	return nData;
}

//===================================================
//	喇叭
//===================================================
void Beep(BYTE feq,BYTE delay)
{
	BYTE i,j;
	for(i = 0 ; i < feq; i++)
	{
		P_SPK = !P_SPK;
		for(j = 0; j < delay; j++)
			;
	}
}
//===================================================
//	起始函數
//===================================================
void main()
{
	BYTE dipaly[6];
	BYTE i = 0;
	
	//	糾錯數據
	BYTE nData = 0x77;

	//	讀寫數據
	int bRead  = 0;
	int bWrite = 0;

	//	是否正確
	bit bOK = 0;

	WORD fmData = 0xc370;
	int iDelay = 1000;
	
	P_SDA = 1;
	P_SCL = 1;

	EA = 0;

	do{

		//	Zi2020寫入0x0371
		bWrite  = I2cWrite(0x6c,0x00,0x71);
		bWrite  = I2cWrite(0x6c,0x01,0xc3);
		bWrite  = I2cWrite(0x6c,0x02,0x00);
		bWrite  = I2cWrite(0x6c,0x13,0x80);

//		bRead   = I2cRead(0x6c, 0x00);

	#if 1
		dipaly[5] = (bWrite & 0x0f00) >> 8;
		dipaly[4] = (bWrite & 0x00f0) >> 4;
		dipaly[3] = (bWrite & 0x000f) >> 0;
	#else
		dipaly[5] = (bWrite / 100) % 10;
		dipaly[4] = (bWrite / 10) % 10;
		dipaly[3] = (bWrite / 1) % 10;
	#endif

		dipaly[2] = (bRead & 0x0f00) >> 8;
		dipaly[1] = (bRead & 0x00f0) >> 4;
		dipaly[0] = (bRead & 0x000f) >> 0;

		for(i = 0; i < 6; i++)
		{
			P0 = (i << 4) | dipaly[i];
			I2cDelay();
			I2cDelay();
			I2cDelay();
		}
		
		//	擦除LED
		P0 = 0x60;

	}while(1);

	return ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级在线免费| 一区二区三区国产精品| 亚洲精品综合在线| 狠狠色狠狠色合久久伊人| 美女脱光内衣内裤视频久久影院| 久久国产麻豆精品| 在线日韩av片| 蜜桃av噜噜一区二区三区小说| 国产乱一区二区| 欧美二区三区91| 亚洲男同1069视频| 成人深夜福利app| 日韩精品自拍偷拍| 亚洲成人久久影院| 不卡一区中文字幕| 国产视频一区不卡| 久久国产成人午夜av影院| 欧美三级日韩在线| 亚洲精品免费看| 99精品视频一区| 欧美激情一区二区三区不卡| 国产一区二区影院| 日韩午夜在线观看| 日本美女一区二区| 在线综合视频播放| 日韩福利电影在线观看| 欧美三区在线观看| 一区二区三区美女视频| 99久久综合国产精品| 中文字幕中文字幕一区二区| 岛国精品在线观看| 国产精品成人在线观看| 成a人片亚洲日本久久| 国产精品灌醉下药二区| 不卡视频在线观看| 国产精品视频一二三区| 成人听书哪个软件好| 国产精品美女久久久久久| 成人视屏免费看| 国产精品久久久久久久裸模| 99精品国产91久久久久久| 亚洲欧洲av在线| 91亚洲精品久久久蜜桃网站| 国产精品免费视频观看| av不卡免费在线观看| 日韩三级在线观看| 美腿丝袜亚洲一区| 26uuu成人网一区二区三区| 国产九色精品成人porny| 亚洲国产经典视频| 91免费国产在线观看| 亚洲一区二区在线播放相泽| 欧美一区二区三区四区在线观看| 美女视频黄久久| 久久久精品人体av艺术| 99久久久精品| 午夜视黄欧洲亚洲| 久久综合色天天久久综合图片| 成人免费毛片嘿嘿连载视频| ...xxx性欧美| 欧美乱妇15p| 国产一区二区三区四| 国产精品免费av| 欧美中文字幕久久| 激情综合色综合久久| 国产精品青草久久| 在线电影国产精品| 国产成人av自拍| 亚洲电影一级片| 久久新电视剧免费观看| 色菇凉天天综合网| 九九精品视频在线看| 亚洲男人的天堂在线观看| 欧美做爰猛烈大尺度电影无法无天| 日本不卡123| 国产精品乱码一区二区三区软件| 欧美亚男人的天堂| 国产一区 二区| 亚洲狠狠爱一区二区三区| 久久精品人人做人人爽97| 欧美无砖砖区免费| 成人一级片在线观看| 日本人妖一区二区| 亚洲乱码国产乱码精品精小说| 日韩丝袜情趣美女图片| 在线影视一区二区三区| 国产精品一区二区在线观看网站 | 亚洲色图欧洲色图婷婷| 日韩视频一区二区| 欧美日韩一区二区三区免费看| 国产精品综合视频| 免费观看一级特黄欧美大片| 亚洲靠逼com| 国产片一区二区| 久久婷婷国产综合精品青草| 欧美精品久久天天躁| 色婷婷国产精品| 99久久综合色| 婷婷综合五月天| 亚洲欧美日韩精品久久久久| 国产欧美一区二区精品仙草咪 | 日韩中文字幕区一区有砖一区| 国产精品久久久久久久久久免费看| 欧美本精品男人aⅴ天堂| 777亚洲妇女| 欧美精品日韩精品| 欧美性猛交xxxxxx富婆| 在线观看亚洲一区| 91精品1区2区| 色婷婷av一区二区| 91黄色免费版| 欧美亚洲综合网| 在线亚洲人成电影网站色www| 99久久99久久精品免费观看| 99久久综合国产精品| gogogo免费视频观看亚洲一| 成人午夜激情片| 不卡视频在线看| 91麻豆文化传媒在线观看| 91视频观看免费| 色天使久久综合网天天| 欧美视频一区二区在线观看| 在线一区二区观看| 宅男噜噜噜66一区二区66| 欧美xxxxxxxx| 国产亚洲一二三区| 最新中文字幕一区二区三区| 亚洲欧美一区二区三区极速播放 | 国产亚洲一区二区三区在线观看| 国产亚洲1区2区3区| 国产女同互慰高潮91漫画| 国产精品久久久久久福利一牛影视 | 天堂久久久久va久久久久| 亚洲免费视频成人| 亚洲不卡av一区二区三区| 秋霞午夜av一区二区三区 | 亚洲成人精品在线观看| 免费人成精品欧美精品| 国产精品中文欧美| 91女人视频在线观看| 欧美日韩电影一区| 精品粉嫩aⅴ一区二区三区四区| 国产拍欧美日韩视频二区| 亚洲免费观看高清完整版在线观看| 亚洲成av人片| 久久 天天综合| 色综合久久六月婷婷中文字幕| 欧美日韩精品欧美日韩精品一综合| 日韩欧美黄色影院| 亚洲日本va在线观看| 日本伊人精品一区二区三区观看方式 | 26uuu亚洲综合色欧美| 国产精品高潮呻吟久久| 五月综合激情婷婷六月色窝| 久热成人在线视频| 91在线视频官网| 欧美mv日韩mv国产网站app| 国产精品成人网| 捆绑调教一区二区三区| 色婷婷综合久色| 精品sm捆绑视频| 夜夜嗨av一区二区三区网页| 国产在线精品免费av| 欧美三级资源在线| 国产嫩草影院久久久久| 亚洲成av人片www| 成人精品一区二区三区中文字幕| 欧美日本国产视频| 国产精品久久99| 精品在线你懂的| 欧美日韩精品一区二区| 亚洲欧洲国产日本综合| 国产美女久久久久| 欧美一区二区三区四区久久| 中文字幕中文字幕一区二区 | 91丨porny丨户外露出| 2024国产精品视频| 亚洲免费av在线| 国产精品影视天天线| 91精品国产乱码久久蜜臀| 亚洲欧美韩国综合色| 成人午夜私人影院| 这里是久久伊人| 亚洲sss视频在线视频| 色老综合老女人久久久| 国产精品视频九色porn| 国产成人在线电影| 2021中文字幕一区亚洲| 日本网站在线观看一区二区三区 | 亚洲成人一区二区在线观看| av在线不卡电影| 中文字幕免费不卡在线| 国产盗摄视频一区二区三区| 久久综合五月天婷婷伊人| 毛片av一区二区三区| 日韩欧美一区二区视频| 久久精品国产精品青草| 日韩欧美中文字幕一区| 美美哒免费高清在线观看视频一区二区| 欧美亚洲综合一区|