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

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

?? main.c

?? 單片機FM收音機芯片(cs1100)程序
?? C
?? 第 1 頁 / 共 2 頁
字號:

        stcflag=Temp[0]&0x04; // STC bit
				if(stcflag == 0x00)
					stcflag = 0;
				else
					stcflag = 1;
        loop++;
	      _delay_ms(1);
     }
     while((!stcflag)&&(loop!=0x1f));

      if(stcflag)  //STC=1
      {
          rssi=Temp[1];
	  			snr=Temp[2];
          fd=Temp[5];
          st=Temp[0]&0x01;

				/*	PutChar('r'); PutChar(':'); PutAscii(rssi); PutChar(' ');
					PutChar('s'); PutChar(':'); PutAscii(snr);  PutChar(' ');
					PutChar('f'); PutChar(':'); PutAscii(fd);
					PutChar(0x0d);
					PutChar(0x0a);
					*/
          if(fd>127)
          {
             fd = 256 - fd;
          }
          if(rssi>=176 && snr<=152 && fd<=10) //seek threshold judgement
          {
          			seekover=1; //a valid frequency

          			/*#if 0
          	    if(*pryFD <= -30)  //Note seek direction is seek up
	              {
	                	if(TunerFrequency == ISSUE_CHANNEL) //ISSUE_CHANNEL is an interfere frequency
	                	{
	  	            			if (st==0x01)     //Note: now Reg03[6] must be set 0
	  	              	      {
	  	              	      		 seekover=1; //a valid frequency 
	  	              	    	}
	  	              		else
	  	              	      {
	  	              	    	  	seekover=0; //a invalid frequency
	                					}
	                	}
	                	else
	                			{
	                					seekover=1;
	         	    			  }
	              }
	  				   else
	         	    {
	         	    		seekover=0;
	         	    }
	         	    #endif*/
         }
         else
         {
            	seekover=0;
         }
          //*pryFD = fd; //save current frequency's fd
      }
	  	return seekover;
}

void FM_SEEK_up(void)
{
		unsigned int temp;
		signed short pryFD = -50;

		CS1100ControlData[1] &= 0xbf;				//Reg03[6]=0;set MONO=0;     seek up

		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_write_byte_to_device(CS1100ControlData[1]);
		sim_iic_stop();

		while(FREQUENCY < 10800)
		{
				FREQUENCY = FREQUENCY + 10;    //frequency = frequency+100KHz;
				if(CS1100_FMSeek_TuneMethod(FREQUENCY,&pryFD) == 1)
				{
					temp = FREQUENCY;				//find a valid frequency
					CS1100_FMTune(temp);
					return ;
				}
				else if(CS1100_FMSeek_TuneMethod(FREQUENCY,&pryFD) == 0)
				{
					FREQUENCY = FREQUENCY + 10;    //frequency = frequency+100KHz;
				}
		}
		if(FREQUENCY > ISSUE_CHANNEL) FREQUENCY = 8750;
		CS1100ControlData[1] |= 0x40;				//Reg03[6]=1;set MONO = 1;
		CS1100ControlData[0] &= 0xdf; //mute off    ?????

		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_write_byte_to_device(CS1100ControlData[1]);
		sim_iic_stop();
}

void FM_SEEK_down(void)
{
		unsigned int temp;
		signed short pryFD = -50;

		CS1100ControlData[1] &= 0xbf;

		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_write_byte_to_device(CS1100ControlData[1]);
		sim_iic_stop();

		while(FREQUENCY > 8750)
		{
				FREQUENCY = FREQUENCY - 10;    //frequency = frequency-100KHz;
				if(CS1100_FMSeek_TuneMethod(FREQUENCY,&pryFD) == 1)
				{
					temp = FREQUENCY;				//find a valid frequency
					CS1100_FMTune(temp);
					return ;
				}
				else if(CS1100_FMSeek_TuneMethod(FREQUENCY,&pryFD) == 0)
				{
					FREQUENCY = FREQUENCY - 10;    //frequency = frequency-100KHz;
				}
		}
		if(FREQUENCY < ISSUE_CHANNEL_1) FREQUENCY = 10800;
		CS1100ControlData[1] |= 0x40;				//Reg03[6]=1;set MONO = 1;
		CS1100ControlData[0] &= 0xdf; //mute off    ?????

		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_write_byte_to_device(CS1100ControlData[1]);
		sim_iic_stop();
}

void CS1100_FM_SET_volume(unsigned int volume)
{
		unsigned int temp;
		if(volume > 0x0f)
			{
			   volume = 0x0f;
			}

		CS1100ControlData[2]&= 0xc3;  //0xc3=11000011
		temp = (volume<<2);
		temp &= 0x3c; //0x3c=00111100
		CS1100ControlData[2] |= temp;
		
		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_write_byte_to_device(CS1100ControlData[1]);
		sim_iic_write_byte_to_device(CS1100ControlData[2]);
		sim_iic_stop();
}

void CS1100_FMPowerdown(void)
{
	  CS1100ControlData[0] |= 0x20;  // mute on
	  CS1100ControlData[0] |= 0x80;  // power down
	  sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_stop();
}

void CS1100_FMPowerup(void)
{
		CS1100ControlData[0] &= 0xdf;  // mute off
		CS1100ControlData[0] &= 0x7f;  // mute on
		sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		sim_iic_write_byte_to_device(CS1100ControlData[0]);
		sim_iic_stop();
}

void CS1100_FM_PAMode(void)
{
		unsigned char i;
	  CS1100ControlData[2]  |= 0x80; // line-in PA mode on
	  CS1100ControlData[14] |= 0x38; // power down not used blocks
	  CS1100ControlData[15] |= 0x68; // power down not used blocks
	  sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		for(i = 0; i < 16; i++)
		{
				sim_iic_write_byte_to_device(CS1100ControlData[i]);
		}
		sim_iic_stop();
}

void CS1100_FM_TunerMode(void)
{
		unsigned char i;	
		CS1100ControlData[2]  &= 0x7f; // line-in PA mode off
		CS1100ControlData[14] &= 0xc7; // power on blocks
		CS1100ControlData[15] &= 0x97; // power on blocks
		
	  sim_iic_start();
		sim_iic_write_byte_to_device(0x20);
		for(i = 0; i <	16; i++)
		{
				sim_iic_write_byte_to_device(CS1100ControlData[i]);
		}
		sim_iic_stop();
}

void ProcessSerialData(void)
{
	  unsigned char i;
	  if(TEST_BIT(g_ucByteFlag0, b_serial_frame_head_byte))
	  {
	  	switch(g_ucSerialReceBuf)
	  	{
	  		case 'w':												//write control register 0 - 13    FM_tuner init
    
    			CS1100ControlData[0]  = 0xe4;
    			CS1100ControlData[1]  = 0xd8;
    			CS1100ControlData[2]  = 0x3e;
    			CS1100ControlData[3]  = 0x26;
	  			CS1100ControlData[4]  = 0x1f;
	  			CS1100ControlData[5]  = 0x80;
	  			CS1100ControlData[6]  = 0x38;   //Reference clock is from 32.768KHz external clock input:   CS1100ControlData[6]  = 0x28;  CS1100ControlData[15] = 0x00;// 
	  			CS1100ControlData[7]  = 0x53;
	  			CS1100ControlData[8]  = 0xb3;
	  			CS1100ControlData[9]  = 0xb3;
	  			CS1100ControlData[10] = 0xaa;
	  			CS1100ControlData[11] = 0xf0;
	  			CS1100ControlData[12] = 0x8b;
	  			CS1100ControlData[13] = 0xaa;
	  			CS1100ControlData[14] = 0xc0;
	  			CS1100ControlData[15] = 0x04;
	  			CS1100ControlData[16] = 0x25;
	  			CS1100ControlData[17] = 0x35;
	  			CS1100ControlData[18] = 0xff;
	  			CS1100ControlData[19] = 0xfd;
	  			CS1100ControlData[20] = 0x92;
	  			CS1100ControlData[21] = 0x0f;
	  			CS1100ControlData[22] = 0x44;
	  			CS1100ControlData[23] = 0x00;
	  			CS1100ControlData[24] = 0x84;
	  			CS1100ControlData[25] = 0x50;
	  			CS1100ControlData[0] &= 0x7f; //power up
    
	  			sim_iic_start();
	  			sim_iic_write_byte_to_device(0x20);
	  			for(i=0; i<26; i++) sim_iic_write_byte_to_device(CS1100ControlData[i]);
	  			sim_iic_stop();
    
	  			CS1100ControlData[0] &= 0xdf;  // mute off
    
	  			sim_iic_start();
	  			sim_iic_write_byte_to_device(0x20);
	  			sim_iic_write_byte_to_device(CS1100ControlData[0]);
	  			sim_iic_stop();

	  	  break;

	  		case 'u':				//manual seek up
	  			frequency_1 += 10;
	  			if(frequency_1 > 10800) frequency_1 = 10800;
	  			CS1100_FMTune(frequency_1);
    
	  			sim_iic_start();
	  			sim_iic_write_byte_to_device(0x21);
    
	  			for(i=0; i<6; i++)
	  			{
	  				sim_iic_read_byte_from_device();
	  			}
	  			sim_iic_stop();

	      break;

	      case 'd':			//manual seek down
	      	frequency_1 -= 10;
	      	if(frequency_1 < 8750) frequency_1 = 8750;
	      	CS1100_FMTune(frequency_1);

	      	sim_iic_start();
	  			sim_iic_write_byte_to_device(0x21);

	  			for(i=0; i<6; i++)
	  			{
	  				sim_iic_read_byte_from_device();
	  			}
	  			sim_iic_stop();
	      break;

	      case 'a':			//auto seek up
	      	CS1100ControlData[1] |= 0x80;

	      	sim_iic_start();
	  			sim_iic_write_byte_to_device(0x20);
	  			sim_iic_write_byte_to_device(CS1100ControlData[0]);
	  			sim_iic_write_byte_to_device(CS1100ControlData[1]);
	  			sim_iic_stop();

	      	FM_SEEK_up();
	      break;

	      case 'b':			//auto seek down
	      	CS1100ControlData[1] &= 0x7f;
	      	
	      	sim_iic_start();
	  			sim_iic_write_byte_to_device(0x20);
	  			sim_iic_write_byte_to_device(CS1100ControlData[0]);
	  			sim_iic_write_byte_to_device(CS1100ControlData[1]);
	  			sim_iic_stop();

	      	FM_SEEK_down();

	      case 'j':			//volume++

	      	if(volume_count != 0x0f)
	  				{
	  				    volume_count++;
	  				}
	  			CS1100_FM_SET_volume(volume_count);
	      break;

	      case 'k':				//volume--

	      	if(volume_count != 0)
	  				{
	  						volume_count--;
	  				}
	  				CS1100_FM_SET_volume(volume_count);
	      break;

	      case 'p':				//power_down_on_select
	      		CS1100_Power_down_up_count++;
	  				if(CS1100_Power_down_up_count == 255)
	  						CS1100_Power_down_up_count = 1;
	  				if(CS1100_Power_down_up_count%2 == 1)
	  					{	
	  							CS1100_FMPowerdown();
	  					}
	  				else if(CS1100_Power_down_up_count%2 == 0)
	  					{
	  							CS1100_FMPowerup();
	  					}
	      break;

	      case 'm':					//Line_in_mode and tuner_mode select
	      		CS1100_PA_TUNER_MODE_count++;
	  				if(CS1100_PA_TUNER_MODE_count == 255)
	  				CS1100_PA_TUNER_MODE_count = 1;
	  				if(CS1100_PA_TUNER_MODE_count%2 ==1)
	  					{
	  							CS1100_FM_PAMode();
	  					}
	  				else if(CS1100_PA_TUNER_MODE_count%2 == 0)
	  					{
	  					 	  CS1100_FM_TunerMode();
	  					}
	      break;

	  	}
	  	CLEAR_BIT(g_ucByteFlag0, b_serial_frame_head_byte);
	  }
}

void Init_Funcation(void)
{
    port_init();
    uart_init();
    sei();
}

int main(void)
{
    Init_Funcation();
    frequency_1 = 8750;
    while(1)
    {
        ProcessSerialData();
    }
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久不卡毛片| 视频在线在亚洲| 欧美午夜在线一二页| 国产在线精品一区二区夜色| 欧美精品一区二区三区蜜桃| 欧美日韩一区二区欧美激情| 欧美伊人久久久久久久久影院| 精品福利一区二区三区 | 欧美一级一区二区| 日本道免费精品一区二区三区| 成人av网站在线观看免费| 精品中文av资源站在线观看| 老司机免费视频一区二区| 美国三级日本三级久久99| 日韩精品一区第一页| 95精品视频在线| 欧美日韩国产一二三| 日韩一区二区三区电影在线观看| 精品欧美久久久| 日本一区二区三区电影| 日本一区二区久久| 亚洲欧美国产三级| 亚洲午夜久久久久中文字幕久| www.成人在线| 3d成人动漫网站| 国产三级欧美三级| 精品综合久久久久久8888| 欧美高清hd18日本| 欧美国产欧美综合| 国内一区二区视频| 欧美精品一区二| 亚洲男人天堂av| 一本一道综合狠狠老| 91精品国产乱| 蜜桃一区二区三区四区| 日韩美女主播在线视频一区二区三区 | 国产69精品久久777的优势| 白白色 亚洲乱淫| 成人免费一区二区三区在线观看| 亚洲一区二区在线免费看| 久久aⅴ国产欧美74aaa| 日韩亚洲欧美成人一区| 久草这里只有精品视频| 欧美精品一区二区久久婷婷| 国产一区二区在线影院| 国产精品系列在线| 日韩精品电影一区亚洲| 91精品在线免费观看| 美国十次综合导航| 国产欧美精品在线观看| 成人99免费视频| 偷拍与自拍一区| 在线视频欧美精品| 久久久久久久综合| 日韩精品三区四区| 精品国产第一区二区三区观看体验 | 国产成人av电影在线播放| 国产精品网站在线观看| 在线视频亚洲一区| 免费观看在线综合色| 欧洲一区二区av| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品一区二区三区福利| www.在线欧美| 午夜国产不卡在线观看视频| 久久亚洲综合av| 色素色在线综合| 国产乱码精品一区二区三区忘忧草 | 欧美大片免费久久精品三p| 国产成人精品亚洲午夜麻豆| 精品国产自在久精品国产| 福利视频网站一区二区三区| 亚洲国产欧美在线| 日韩欧美高清一区| 99久久精品费精品国产一区二区| 日韩不卡一区二区三区| 91精品黄色片免费大全| 国产精品综合二区| 亚洲午夜电影在线观看| 精品久久久久久久久久久久久久久久久| 不卡电影免费在线播放一区| 天涯成人国产亚洲精品一区av| 久久久.com| 成人毛片视频在线观看| 中文子幕无线码一区tr| 欧美美女激情18p| 成人免费不卡视频| 另类小说视频一区二区| 亚洲色大成网站www久久九九| 97精品国产露脸对白| 另类欧美日韩国产在线| 亚洲一二三四在线观看| 国产精品色在线| 精品99久久久久久| 欧美人与性动xxxx| 91成人免费电影| av一区二区久久| 国产精品一区二区三区网站| 免费在线看成人av| 亚洲第一久久影院| 精品理论电影在线| 91精品国产一区二区| 在线观看一区日韩| 日本精品免费观看高清观看| 成人综合激情网| 国产麻豆视频一区二区| 精品午夜久久福利影院| 男人的天堂久久精品| 亚洲国产另类av| 亚洲影院在线观看| 亚洲手机成人高清视频| 国产精品美女www爽爽爽| 久久综合久久综合亚洲| 精品国产免费久久| 精品国产1区二区| 久久你懂得1024| 国产欧美1区2区3区| 国产色一区二区| 国产精品毛片无遮挡高清| 欧美国产欧美综合| 中文字幕在线不卡| 一区二区三区日本| 久久久久国产精品人| 精品美女在线观看| 久久久久久久久久久黄色| 国产视频911| 《视频一区视频二区| 亚洲欧美日韩国产综合在线| 亚洲视频 欧洲视频| 中文字幕亚洲在| 亚洲一线二线三线视频| 亚洲国产一区视频| 男人的天堂亚洲一区| 国产露脸91国语对白| voyeur盗摄精品| 欧美视频一区二区三区四区| 777欧美精品| 久久久一区二区| 亚洲精品菠萝久久久久久久| 久久综合九色欧美综合狠狠| 欧美激情中文不卡| 中文字幕亚洲综合久久菠萝蜜| 亚洲夂夂婷婷色拍ww47| 欧美a一区二区| 成人影视亚洲图片在线| 在线观看三级视频欧美| 日韩欧美的一区二区| 国产精品高潮呻吟| 久久久久99精品国产片| 亚洲女子a中天字幕| 麻豆精品精品国产自在97香蕉| 国产精品亚洲一区二区三区妖精 | 一区二区三区中文字幕电影 | 成人爽a毛片一区二区免费| 色欧美88888久久久久久影院| 精品少妇一区二区三区免费观看| 国产精品传媒视频| 久久国产视频网| 91久久线看在观草草青青| 精品日韩在线一区| 一区二区三区四区激情| 国产成人aaa| 欧美大度的电影原声| 亚洲一区在线观看免费| 国产成a人亚洲精品| 欧美一区二区日韩一区二区| 亚洲日穴在线视频| 韩国视频一区二区| 欧美日韩精品系列| 亚洲欧美偷拍三级| 久久国产欧美日韩精品| 日本黄色一区二区| 国产校园另类小说区| 麻豆精品视频在线观看视频| 在线免费观看日本欧美| 国产精品电影院| 国产麻豆成人传媒免费观看| 欧美一级片在线观看| 亚洲国产一区二区三区 | 国内精品伊人久久久久av影院| 91极品视觉盛宴| 18成人在线观看| 国产成人免费网站| 亚洲精品在线免费播放| 免费亚洲电影在线| 91精品综合久久久久久| 婷婷综合久久一区二区三区| 欧美综合久久久| 一区二区三区四区中文字幕| 99麻豆久久久国产精品免费| 国产女人aaa级久久久级| 经典一区二区三区| 欧美电影免费提供在线观看| 另类的小说在线视频另类成人小视频在线 | 在线亚洲免费视频| 亚洲天堂网中文字| 不卡大黄网站免费看| 国产精品久久综合| 国产精品一区二区91| 国产日韩精品一区二区三区在线|