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

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

?? fm80110.c

?? FM發射IC FM80110的驅動
?? C
字號:
#include <BasType.h>
#include <FM80110.h>
#include <RegDefs.h>
#include <intrins.h>
#include <TM1616.h>

#define FM80110_Delay()    _nop_();_nop_();_nop_();_nop_();_nop_()

FLAG flag;
UINT8 CurFreq_Low,CurFreq_high;
//UINT16  g_CurFreq=8900;
//*****************寄存器設置*************************//
#define Register0  0x14
#define Register1  0x15
#define Register2  0x16
#define Register3  0x17
#define Register4  0x18
#define Register5  0x19
#define Register6  0x1A

#define Reg2_Data  0x00
#define Reg3_Data  0xCC
#define Reg4_Data  0x01   //靜音關閉
#define Reg4_Data_mute  0x21    //靜音打開
#define Reg5_Data  0x00
/**
MCU寫FM80110模式下,寫寄存器地址
**/
void FM80110_SPI_Write_adr(UINT8 Address_val){
        UINT8 i;
     FM80110_Data_in();//把DATA口設置為輸入
     for(i=0;i<8;i++)
     	{
     	FM80110_clk0();
		if(Address_val & 0x80)
			{
		FM80110_da1();
			}
		else
			{
		FM80110_da0();
			}
		FM80110_Delay();
		FM80110_clk1();
		FM80110_Delay();
	if(i==2)
		{
		FM80110_Delay();
		FM80110_clk0();
		FM80110_da0();// 寫數據入FM80110的時候4和5位之間為0
		FM80110_Delay();
		FM80110_clk1();
		FM80110_Delay();
		}
	Address_val <<=1;
     	}
  
}

/**
MCU讀FM80110模式下,寫入寄存器地址
**/
void FM80110_SPI_Reads_adr(UINT8 Address_val){
	  UINT8 i;
     FM80110_Data_in();//把DATA口設置為輸出
     for(i=0;i<8;i++)
     	{
     	FM80110_clk0();
		if(Address_val & 0x80)
			{
		FM80110_da1();
			}
		else
			{
		FM80110_da0();
			}
		FM80110_Delay();
		FM80110_clk1();
		FM80110_Delay();
	if(i==2)
		{
		FM80110_clk0();
		FM80110_da1();// 寫數據入FM80110的時候4和5位之間為1
		FM80110_Delay();
		FM80110_clk1();
		FM80110_Delay();
		}
		Address_val <<=1;
		
	
	}
}

/**
MCU寫FM80110一個字節
**/
void FM80110_SPI_Write_1bitdata(UINT8 Data_val){ 
  UINT8 i;
  for(i=0;i<8;i++)
  	{
       FM80110_clk0();
		if(Data_val & 0x80)
			{
		FM80110_da1();
			}
		else
			{
		FM80110_da0();
			}
		FM80110_Delay();
		FM80110_clk1();
		FM80110_Delay();

		Data_val <<=1;
  	}
	
}

/**
MCU讀FM80110一個字節
**/
UINT8 FM80110_SPI_Reads_1bitdata(){
	UINT8 i;
	UINT8 Data_val;
	
	for(i=0;i<8;i++)
		{
		FM80110_clk1();
		if(FM80110_teat_data)
		Data_val |=0x01;
		FM80110_Delay();
		
		FM80110_clk0();
              if(i==7)
              	{
              FM80110_en1();//
              	}
		Data_val<<=1;
		FM80110_Delay();
		}	
	return Data_val;
	}

/**
寫一個寄存器
adr:寄存器地址
data_temp:寫入寄存器數據
**/
void Write_one_register(UINT8 adr,UINT8 data_temp){
  //  FM80110_en0();
	//FM80110_clk1();
	FM80110_SPI_Write_adr(adr);
	FM80110_SPI_Write_1bitdata(data_temp);
	FM80110_clk0();
	//FM80110_da0();
	FM80110_en1();
	FM80110_Delay();
	FM80110_clk1();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_clk0();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_en0();
}

/**
讀一個寄存器的數據
adr:寄存器地址
返回寄存器中的數據
**/
UINT8 Read_one_register(UINT8 adr){
 UINT8 temp_val;
	FM80110_en0();
	FM80110_clk0();
	FM80110_SPI_Reads_adr(adr);
	FM80110_Data_out();//把DATA口設置為輸入
		FM80110_clk0();
		FM80110_Delay();
	temp_val=FM80110_SPI_Reads_1bitdata();
	       FM80110_clk1();
		   FM80110_Delay();
		   FM80110_clk0();

return temp_val;
}
/**
初始化FM80110
**/
void FM80110_Init(void){

       FM80110_Data_in();
       FM80110_clk1();
	FM80110_en1();
	FM80110_da1();
	SetCurFreq(8900);
	Write_one_register(Register2, Reg2_Data);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	Write_one_register(Register3, Reg3_Data);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	Write_one_register(Register4, Reg4_Data);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	Write_one_register(Register5, Reg5_Data);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	SetCurFreq(8900);
	
}

/**
設置寫入寄存器的頻率值
入口參數為:要設置的參數
**/
void SetCurFreq(UINT16 Freq_out){
	UINT16 CurFreq;

	CurFreq=Freq_out/Freq_ref;

	CurFreq_Low=CurFreq & 0xFF;
	CurFreq >>=8;
	CurFreq_high=CurFreq & 0xFF;

	Write_one_register(Register0, CurFreq_high);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	Write_one_register(Register1, CurFreq_Low);
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
	FM80110_Delay();
       flag.CurFreq=Freq_out;
	Display_Freq(Freq_out);
	}
/**
改變頻率
**/
void ChangeCurFreq(bit Direct){

	FM80110_Mute(1);
      if(Direct)
      		{
      		flag.CurFreq +=Freq_Step;
      		}
	else
		{
		flag.CurFreq -=Freq_Step;
		}
	
	if(flag.CurFreq>Frequency_max)
		{
		flag.CurFreq=Frequency_min;
		}
	if(flag.CurFreq<Frequency_min)
		{
		flag.CurFreq=Frequency_max;
		}
	
	SetCurFreq(flag.CurFreq);
       FM80110_Mute(0);
}

void delay_us (UINT8 i)	 

{		

	while (--i);
	return ;

}

/*=============================
== 函數名稱:delay_ms() 
== 函數功能:ms delay process.
==入口參數: INT16U time
==出口參數:
==============================*/

void delay_ms (UINT8 time) 

{ 
	unsigned int  Temptime = time * 2;	

    	while (Temptime != 0) 
    	
		{       
        	delay_us(236); 
        	Temptime--; 
    	} 

}

/**
功能:版本1:只在三個頻點上選擇
**/
void SetFreq(bit Direct){

	if(Direct)
      		{
      		flag.CurFreq +=100;
      		}
	else
		{
		flag.CurFreq -=100;
		}
	
	if(flag.CurFreq>9100)
		{
		flag.CurFreq=8900;
		}
	if(flag.CurFreq<8900)
		{
		flag.CurFreq=9100;
		}
	
	SetCurFreq(flag.CurFreq);
	
	}

/**
功能:開關靜音
**/
void FM80110_Mute(bit mute_temp){
	if(mute_temp)
		{
		Write_one_register(Register4, Reg4_Data_mute);
		}
	if(mute_temp==0)
		{
		Write_one_register(Register4, Reg4_Data);
		}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区激情在线| 亚洲精品国产高清久久伦理二区| 亚洲综合一二区| 国产黑丝在线一区二区三区| 欧美日韩一区二区三区在线| 亚洲欧美在线视频| 国产成人av电影免费在线观看| 日韩精品在线一区二区| 亚洲线精品一区二区三区八戒| 91亚洲精华国产精华精华液| 国产日韩欧美电影| 国产一区二区三区四区五区入口 | 国产成人免费在线视频| 欧美一卡二卡三卡| 美女www一区二区| 欧美一区二区三区免费视频| 天天爽夜夜爽夜夜爽精品视频| 欧美午夜精品电影| 五月天中文字幕一区二区| 欧洲一区二区三区免费视频| 亚洲精品中文在线影院| 日本精品免费观看高清观看| 亚洲三级视频在线观看| 色88888久久久久久影院野外| 亚洲精品国产精品乱码不99| 在线观看www91| 麻豆高清免费国产一区| 2023国产一二三区日本精品2022| 国产成人亚洲综合a∨婷婷| 欧美国产精品中文字幕| 99re热这里只有精品视频| 一区二区三区四区乱视频| 欧美日韩高清影院| 极品少妇xxxx偷拍精品少妇| 国产亚洲一区二区三区四区| 成人av综合一区| 亚洲一区在线播放| 日韩小视频在线观看专区| 国产精品99久久久久久久vr| 亚洲天堂网中文字| 5566中文字幕一区二区电影| 国产精品亚洲а∨天堂免在线| 亚洲视频狠狠干| 欧美成人aa大片| 91美女片黄在线观看91美女| 成人h精品动漫一区二区三区| 亚洲精品视频自拍| 精品精品国产高清a毛片牛牛| 91香蕉视频mp4| 久久精品国产在热久久| 一区二区三区免费看视频| 2022国产精品视频| 欧美高清你懂得| 99re在线精品| 国产成人综合在线| 日日夜夜精品视频免费| 亚洲欧洲成人自拍| 亚洲精品一区二区三区四区高清| 欧美在线免费观看亚洲| 成人午夜激情影院| 国产酒店精品激情| 美腿丝袜亚洲综合| 天天射综合影视| 亚洲精品成人悠悠色影视| 国产欧美日韩卡一| 久久亚洲春色中文字幕久久久| 在线播放91灌醉迷j高跟美女 | 久久综合久久综合久久综合| 欧美性大战久久久| 在线观看欧美黄色| 欧美性感一区二区三区| 91麻豆免费观看| 91日韩精品一区| 成人av小说网| 一本久久a久久免费精品不卡| 成人福利电影精品一区二区在线观看| 极品瑜伽女神91| 国产乱国产乱300精品| 国产成都精品91一区二区三| 国产制服丝袜一区| 成人免费毛片高清视频| 成人国产免费视频| 在线观看日韩高清av| 欧美精品一二三四| 26uuu国产日韩综合| 国产欧美视频一区二区三区| 国产精品免费视频观看| 国产精品久久久久久久久免费桃花 | 自拍偷拍亚洲激情| 亚洲一区二区三区四区在线观看 | 国产欧美精品国产国产专区| 国产精品久久久久影院色老大| 亚洲激情欧美激情| 六月丁香综合在线视频| 福利91精品一区二区三区| av一区二区三区在线| 欧美久久久久免费| 国产亚洲综合性久久久影院| 一区二区三区日韩欧美精品| 日韩—二三区免费观看av| 国产乱子轮精品视频| 欧美在线你懂得| 国产亚洲一二三区| 亚洲成年人网站在线观看| 国内成+人亚洲+欧美+综合在线| 播五月开心婷婷综合| 在线成人av影院| 久久综合狠狠综合久久激情| 亚洲国产精品一区二区www | 国产自产视频一区二区三区| 在线观看91视频| 国产精品不卡在线观看| 极品尤物av久久免费看| 9191精品国产综合久久久久久| 麻豆精品在线视频| 91丨九色丨国产丨porny| 精品国产a毛片| 日韩成人一级大片| 欧美色区777第一页| 亚洲欧美日韩精品久久久久| 国产91综合一区在线观看| 欧美一级在线视频| 午夜视频一区二区三区| 色综合久久九月婷婷色综合| 国产欧美va欧美不卡在线| 国产乱子伦视频一区二区三区 | 91一区二区三区在线观看| 久久久精品中文字幕麻豆发布| 久久爱另类一区二区小说| 日韩欧美一级二级三级| 麻豆国产精品视频| 欧美xxxx老人做受| 久久国产精品72免费观看| 日韩免费在线观看| 免费成人性网站| 精品日韩成人av| 国产一区999| 日韩电影在线一区二区三区| 亚洲成人自拍一区| 91国产免费看| 三级影片在线观看欧美日韩一区二区 | 国产精品九色蝌蚪自拍| 99久久国产综合精品麻豆| 亚洲男人天堂av| 欧美日韩小视频| 黄一区二区三区| 国产精品国模大尺度视频| 在线观看日产精品| 秋霞午夜鲁丝一区二区老狼| 久久久噜噜噜久噜久久综合| 成人爽a毛片一区二区免费| 亚洲另类色综合网站| 欧美日韩一级二级三级| 麻豆91精品91久久久的内涵| 国产片一区二区| 91国产福利在线| 国产一区二区0| 亚洲综合一区在线| 久久色.com| 欧美写真视频网站| 国产成人亚洲综合a∨猫咪| 一区二区三区国产豹纹内裤在线| 日韩欧美电影一二三| av不卡免费在线观看| 九九国产精品视频| 亚洲精品国产高清久久伦理二区| 精品久久久三级丝袜| 欧美视频三区在线播放| 高清视频一区二区| 免费三级欧美电影| 一区二区三区在线观看欧美| 久久综合丝袜日本网| 67194成人在线观看| 97超碰欧美中文字幕| 国产成人一级电影| 激情久久五月天| 奇米在线7777在线精品| 亚洲一区二区综合| 国产精品乱子久久久久| 国产午夜精品一区二区 | 欧美日韩国产一级二级| jvid福利写真一区二区三区| 国产精品综合一区二区| 美国毛片一区二区三区| 日韩激情视频网站| 午夜精品久久久| 日韩精品电影在线观看| 亚洲一区二区在线观看视频 | 国产精品视频第一区| 久久久久久夜精品精品免费| 91麻豆蜜桃一区二区三区| 一区二区在线电影| 欧美变态tickle挠乳网站| 91网站最新网址| 久久精品国产99| 亚洲国产成人精品视频| 亚洲18女电影在线观看| 秋霞国产午夜精品免费视频| 精品一区二区三区免费| 国产成人免费网站|