<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > EEPROM 存儲(chǔ)電臺(tái)PLL子程序

          EEPROM 存儲(chǔ)電臺(tái)PLL子程序

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          這是一個(gè)單片機(jī)控制的收音機(jī)程序完整代碼和原理圖下載地址:http://www.51hei.com/bbs/dpj-19294-1.html下面我我截圖的一個(gè)子程序.
          #include "STC12C5620AD.H"#include "EEPROM.H"#include "Channel_Handle.H"/********************** 聲明外部變量**************************//********************** EEPROM 存儲(chǔ)電臺(tái)PLL*************************/void EEPROM_Save_PLL(uchar Index,uint Udata){uchar	Temp_H;uchar	Temp_L;				//PLL轉(zhuǎn)換緩存uchar	EEPROM_H;uchar	EEPROM_L;			//EEPROM讀取緩存Temp_H=Udata>>8;Temp_L=Udata%256;switch (Index){case 1:EEPROM_H=EEPROM_Read_Byte(0x00,0x02);	  	//暫存N0.8電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x00,0x03);	  	//暫存N0.8電臺(tái)PLL高位EEPROM_Earse(0x00,0x00);  					//擦除第1扇區(qū)EEPROM_Write_Byte(Temp_H,0x00,0x00);		//寫入N0.1電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x00,0x01);		//寫入N0.1電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x00,0x02);		//寫入N0.8電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x00,0x03);		//寫入N0.8電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 2:EEPROM_H=EEPROM_Read_Byte(0x02,0x02);	  	//暫存N0.9電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x02,0x03);	  	//暫存N0.9電臺(tái)PLL高位EEPROM_Earse(0x02,0x00);  					//擦除第2扇區(qū)EEPROM_Write_Byte(Temp_H,0x02,0x00);		//寫入N0.2電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x02,0x01);		//寫入N0.2電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x02,0x02);		//寫入N0.9電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x02,0x03);		//寫入N0.9電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 3:EEPROM_H=EEPROM_Read_Byte(0x04,0x02);	  	//暫存N0.10電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x04,0x03);	  	//暫存N0.10電臺(tái)PLL高位EEPROM_Earse(0x04,0x00);  					//擦除第3扇區(qū)EEPROM_Write_Byte(Temp_H,0x04,0x00);		//寫入N0.3電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x04,0x01);		//寫入N0.3電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x04,0x02);		//寫入N0.10電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x04,0x03);		//寫入N0.10電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 4:EEPROM_H=EEPROM_Read_Byte(0x06,0x02);	  	//暫存N0.11電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x06,0x03);	  	//暫存N0.11電臺(tái)PLL高位EEPROM_Earse(0x06,0x00);  					//擦除第4扇區(qū)EEPROM_Write_Byte(Temp_H,0x06,0x00);		//寫入N0.4電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x06,0x01);		//寫入N0.4電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x06,0x02);		//寫入N0.11電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x06,0x03);		//寫入N0.11電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 5:EEPROM_H=EEPROM_Read_Byte(0x08,0x02);	  	//暫存N0.12電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x08,0x03);	  	//暫存N0.12電臺(tái)PLL高位EEPROM_Earse(0x08,0x00);  					//擦除第5扇區(qū)EEPROM_Write_Byte(Temp_H,0x08,0x00);		//寫入N0.5電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x08,0x01);		//寫入N0.5電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x08,0x02);		//寫入N0.12電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x08,0x03);		//寫入N0.12電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 6:EEPROM_H=EEPROM_Read_Byte(0x0a,0x02);	  	//暫存N0.13電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x0a,0x03);	  	//暫存N0.13電臺(tái)PLL高位EEPROM_Earse(0x0a,0x00);  					//擦除第6扇區(qū)EEPROM_Write_Byte(Temp_H,0x0a,0x00);		//寫入N0.6電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x0a,0x01);		//寫入N0.6電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x0a,0x02);		//寫入N0.13電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x0a,0x03);		//寫入N0.13電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 7:EEPROM_H=EEPROM_Read_Byte(0x0c,0x02);	  	//暫存N0.14電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x0c,0x03);	  	//暫存N0.14電臺(tái)PLL高位EEPROM_Earse(0x0c,0x00);  					//擦除第7扇區(qū)EEPROM_Write_Byte(Temp_H,0x0c,0x00);		//寫入N0.7電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x0c,0x01);		//寫入N0.7電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x0c,0x02);		//寫入N0.14電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x0c,0x03);		//寫入N0.14電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 8:EEPROM_H=EEPROM_Read_Byte(0x00,0x00);	  	//暫存N0.1電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x00,0x01);	  	//暫存N0.1電臺(tái)PLL高位EEPROM_Earse(0x00,0x00);  					//擦除第1扇區(qū)EEPROM_Write_Byte(Temp_H,0x00,0x02);		//寫入N0.8電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x00,0x03);		//寫入N0.8電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x00,0x00);		//寫入N0.1電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x00,0x01);		//寫入N0.1電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 9:EEPROM_H=EEPROM_Read_Byte(0x02,0x00);	  	//暫存N0.2電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x02,0x01);	  	//暫存N0.2電臺(tái)PLL高位EEPROM_Earse(0x02,0x00);  					//擦除第2扇區(qū)EEPROM_Write_Byte(Temp_H,0x02,0x02);		//寫入N0.9電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x02,0x03);		//寫入N0.9電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x02,0x00);		//寫入N0.2電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x02,0x01);		//寫入N0.2電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 10:EEPROM_H=EEPROM_Read_Byte(0x04,0x00);	  	//暫存N0.3電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x04,0x01);	  	//暫存N0.3電臺(tái)PLL高位EEPROM_Earse(0x04,0x00);  					//擦除第3扇區(qū)EEPROM_Write_Byte(Temp_H,0x04,0x02);		//寫入N0.10電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x04,0x03);		//寫入N0.10電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x04,0x00);		//寫入N0.3電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x04,0x01);		//寫入N0.3電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 11:EEPROM_H=EEPROM_Read_Byte(0x06,0x00);	  	//暫存N0.4電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x06,0x01);	  	//暫存N0.4電臺(tái)PLL高位EEPROM_Earse(0x06,0x00);  					//擦除第4扇區(qū)EEPROM_Write_Byte(Temp_H,0x06,0x02);		//寫入N0.11電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x06,0x03);		//寫入N0.11電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x06,0x00);		//寫入N0.4電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x06,0x01);		//寫入N0.4電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 12:EEPROM_H=EEPROM_Read_Byte(0x08,0x00);	  	//暫存N0.5電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x08,0x01);	  	//暫存N0.5電臺(tái)PLL高位EEPROM_Earse(0x08,0x00);  					//擦除第5扇區(qū)EEPROM_Write_Byte(Temp_H,0x08,0x02);		//寫入N0.12電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x08,0x03);		//寫入N0.12電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x08,0x00);		//寫入N0.5電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x08,0x01);		//寫入N0.5電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 13:EEPROM_H=EEPROM_Read_Byte(0x0a,0x00);	  	//暫存N0.6電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x0a,0x01);	  	//暫存N0.6電臺(tái)PLL高位EEPROM_Earse(0x0a,0x00);  					//擦除第6扇區(qū)EEPROM_Write_Byte(Temp_H,0x0a,0x02);		//寫入N0.13電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x0a,0x03);		//寫入N0.13電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x0a,0x00);		//寫入N0.6電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x0a,0x01);		//寫入N0.6電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 14:EEPROM_H=EEPROM_Read_Byte(0x0c,0x00);	  	//暫存N0.7電臺(tái)PLL高位EEPROM_L=EEPROM_Read_Byte(0x0c,0x01);	  	//暫存N0.7電臺(tái)PLL高位EEPROM_Earse(0x0c,0x00);  					//擦除第7扇區(qū)EEPROM_Write_Byte(Temp_H,0x0c,0x02);		//寫入N0.14電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x0c,0x03);		//寫入N0.14電臺(tái)PLL低位EEPROM_Write_Byte(EEPROM_H,0x0c,0x00);		//寫入N0.7電臺(tái)PLL高位EEPROM_Write_Byte(EEPROM_L,0x0c,0x01);		//寫入N0.7電臺(tái)PLL低位EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)										break;case 15:EEPROM_Earse(0x0e,0x00);  					//擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);			//寫入電臺(tái)序號(hào)EEPROM_Write_Byte(Temp_H,0x0e,0x02);		//寫入N0.15電臺(tái)PLL高位EEPROM_Write_Byte(Temp_L,0x0e,0x03);		//寫入N0.15電臺(tái)PLL低位														break;default:break;}}/********************** EEPROM 讀取電臺(tái)PLL*************************/uint EEPROM_Get_PLL(uchar Index){uint PLL_Temp;uchar	Temp_H;uchar	Temp_L;switch (Index){case 1:										//NO.1電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x00,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x00,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 2:										//NO.2電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x02,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x02,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 3:										//NO.3電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x04,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x04,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 4:										//NO.4電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x06,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x06,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 5:										//NO.5電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x08,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x08,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 6:										//NO.6電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x0a,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x0a,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;case 7:										//NO.7電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x0c,0x00);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x0c,0x01);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 8:										//NO.8電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x00,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x00,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 9:										//NO.9電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x02,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x02,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 10:									//NO.10電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x04,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x04,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 11:									//NO.11電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x06,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x06,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;	case 12:									//NO.12電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x08,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x08,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 13:									//NO.13電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x0a,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x0a,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 14:									//NO.14電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x0c,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x0c,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;case 15:									//NO.15電臺(tái)PLLTemp_H=EEPROM_Read_Byte(0x0e,0x02);	  	//獲取PLL高位Temp_L=EEPROM_Read_Byte(0x0e,0x03);	  	//獲取PLL高位PLL_Temp=Temp_H<<8|Temp_L;										break;																																													default:break;}return PLL_Temp;}/********************** EEPROM 讀取最后一次序號(hào)*************************/uchar EEPROM_Get_Index(){uchar Index;Index=EEPROM_Read_Byte(0x0e,0x00);return Index;}/********************** EEPROM 寫入最后一次序號(hào)*************************/void EEPROM_Write_Index(uchar Index){EEPROM_Earse(0x0e,0x00);  				//首先擦除第8扇區(qū)EEPROM_Write_Byte(Index,0x0e,0x00);		//寫入電臺(tái)序號(hào)}


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();