锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

EEPROM 存储电台PLL子程序

时间:2024-05-22 08:37:10

这是一个单片机控制的收音机程序完整代码和原理图下载地址: http://www.ruidan.com/bbs/dpj-19294-1.html 下面我我截图的一个子程序.

#include "STC12C5620AD.H"#include "EEPROM.H"#include "Channel_Handle.H"/********************** 声明外部变量**************************//********************** EEPROM 存储电台PLL*************************/void EEPROM_Save_PLL(uchar Index,uint Udata){	 uchar	Temp_H;	 uchar	Temp_L;				//PLL转换缓存	 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电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x00,0x03);	  	//暂存N0.8电台PLL高位	 			EEPROM_Earse(0x00,0x00);  					//擦除第1扇区				EEPROM_Write_Byte(Temp_H,0x00,0x00);		//写入N0.1电台PLL高位				EEPROM_Write_Byte(Temp_L,0x00,0x01);		//写入N0.1电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x00,0x02);		//写入N0.8电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x00,0x03);		//写入N0.8电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 2:				EEPROM_H=EEPROM_Read_Byte(0x02,0x02);	  	//暂存N0.9电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x02,0x03);	  	//暂存N0.9电台PLL高位	 			EEPROM_Earse(0x02,0x00);  					//擦除第2扇区				EEPROM_Write_Byte(Temp_H,0x02,0x00);		//写入N0.2电台PLL高位				EEPROM_Write_Byte(Temp_L,0x02,0x01);		//写入N0.2电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x02,0x02);		//写入N0.9电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x02,0x03);		//写入N0.9电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 3:				EEPROM_H=EEPROM_Read_Byte(0x04,0x02);	  	//暂存N0.10电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x04,0x03);	  	//暂存N0.10电台PLL高位	 			EEPROM_Earse(0x04,0x00);  					//擦除第3扇区				EEPROM_Write_Byte(Temp_H,0x04,0x00);		//写入N0.3电台PLL高位				EEPROM_Write_Byte(Temp_L,0x04,0x01);		//写入N0.3电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x04,0x02);		//写入N0.10电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x04,0x03);		//写入N0.10电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 4:				EEPROM_H=EEPROM_Read_Byte(0x06,0x02);	  	//暂存N0.11电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x06,0x03);	  	//暂存N0.11电台PLL高位	 			EEPROM_Earse(0x06,0x00);  					//擦除第4扇区				EEPROM_Write_Byte(Temp_H,0x06,0x00);		//写入N0.4电台PLL高位				EEPROM_Write_Byte(Temp_L,0x06,0x01);		//写入N0.4电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x06,0x02);		//写入N0.11电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x06,0x03);		//写入N0.11电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 5:				EEPROM_H=EEPROM_Read_Byte(0x08,0x02);	  	//暂存N0.12电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x08,0x03);	  	//暂存N0.12电台PLL高位	 			EEPROM_Earse(0x08,0x00);  					//擦除第5扇区				EEPROM_Write_Byte(Temp_H,0x08,0x00);		//写入N0.5电台PLL高位				EEPROM_Write_Byte(Temp_L,0x08,0x01);		//写入N0.5电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x08,0x02);		//写入N0.12电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x08,0x03);		//写入N0.12电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 6:				EEPROM_H=EEPROM_Read_Byte(0x0a,0x02);	  	//暂存N0.13电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x0a,0x03);	  	//暂存N0.13电台PLL高位	 			EEPROM_Earse(0x0a,0x00);  					//擦除第6扇区				EEPROM_Write_Byte(Temp_H,0x0a,0x00);		//写入N0.6电台PLL高位				EEPROM_Write_Byte(Temp_L,0x0a,0x01);		//写入N0.6电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x0a,0x02);		//写入N0.13电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x0a,0x03);		//写入N0.13电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 7:				EEPROM_H=EEPROM_Read_Byte(0x0c,0x02);	  	//暂存N0.14电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x0c,0x03);	  	//暂存N0.14电台PLL高位	 			EEPROM_Earse(0x0c,0x00);  					//擦除第7扇区				EEPROM_Write_Byte(Temp_H,0x0c,0x00);		//写入N0.7电台PLL高位				EEPROM_Write_Byte(Temp_L,0x0c,0x01);		//写入N0.7电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x0c,0x02);		//写入N0.14电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x0c,0x03);		//写入N0.14电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 8:				EEPROM_H=EEPROM_Read_Byte(0x00,0x00);	  	//暂存N0.1电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x00,0x01);	  	//暂存N0.1电台PLL高位	 			EEPROM_Earse(0x00,0x00);  					//擦除第1扇区				EEPROM_Write_Byte(Temp_H,0x00,0x02);		//写入N0.8电台PLL高位				EEPROM_Write_Byte(Temp_L,0x00,0x03);		//写入N0.8电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x00,0x00);		//写入N0.1电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x00,0x01);		//写入N0.1电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 9:				EEPROM_H=EEPROM_Read_Byte(0x02,0x00);	  	//暂存N0.2电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x02,0x01);	  	//暂存N0.2电台PLL高位	 			EEPROM_Earse(0x02,0x00);  					//擦除第2扇区				EEPROM_Write_Byte(Temp_H,0x02,0x02);		//写入N0.9电台PLL高位				EEPROM_Write_Byte(Temp_L,0x02,0x03);		//写入N0.9电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x02,0x00);		//写入N0.2电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x02,0x01);		//写入N0.2电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 10:				EEPROM_H=EEPROM_Read_Byte(0x04,0x00);	  	//暂存N0.3电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x04,0x01);	  	//暂存N0.3电台PLL高位	 			EEPROM_Earse(0x04,0x00);  					//擦除第3扇区				EEPROM_Write_Byte(Temp_H,0x04,0x02);		//写入N0.10电台PLL高位				EEPROM_Write_Byte(Temp_L,0x04,0x03);		//写入N0.10电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x04,0x00);		//写入N0.3电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x04,0x01);		//写入N0.3电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 11:				EEPROM_H=EEPROM_Read_Byte(0x06,0x00);	  	//暂存N0.4电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x06,0x01);	  	//暂存N0.4电台PLL高位	 			EEPROM_Earse(0x06,0x00);  					//擦除第4扇区				EEPROM_Write_Byte(Temp_H,0x06,0x02);		//写入N0.11电台PLL高位				EEPROM_Write_Byte(Temp_L,0x06,0x03);		//写入N0.11电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x06,0x00);		//写入N0.4电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x06,0x01);		//写入N0.4电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 12:				EEPROM_H=EEPROM_Read_Byte(0x08,0x00);	  	//暂存N0.5电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x08,0x01);	  	//暂存N0.5电台PLL高位	 			EEPROM_Earse(0x08,0x00);  					//擦除第5扇区				EEPROM_Write_Byte(Temp_H,0x08,0x02);		//写入N0.12电台PLL高位				EEPROM_Write_Byte(Temp_L,0x08,0x03);		//写入N0.12电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x08,0x00);		//写入N0.5电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x08,0x01);		//写入N0.5电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 13:				EEPROM_H=EEPROM_Read_Byte(0x0a,0x00);	  	//暂存N0.6电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x0a,0x01);	  	//暂存N0.6电台PLL高位	 			EEPROM_Earse(0x0a,0x00);  					//擦除第6扇区				EEPROM_Write_Byte(Temp_H,0x0a,0x02);		//写入N0.13电台PLL高位				EEPROM_Write_Byte(Temp_L,0x0a,0x03);		//写入N0.13电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x0a,0x00);		//写入N0.6电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x0a,0x01);		//写入N0.6电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 14:				EEPROM_H=EEPROM_Read_Byte(0x0c,0x00);	  	//暂存N0.7电台PLL高位				EEPROM_L=EEPROM_Read_Byte(0x0c,0x01);	  	//暂存N0.7电台PLL高位	 			EEPROM_Earse(0x0c,0x00);  					//擦除第7扇区				EEPROM_Write_Byte(Temp_H,0x0c,0x02);		//写入N0.14电台PLL高位				EEPROM_Write_Byte(Temp_L,0x0c,0x03);		//写入N0.14电台PLL低位				EEPROM_Write_Byte(EEPROM_H,0x0c,0x00);		//写入N0.7电台PLL高位				EEPROM_Write_Byte(EEPROM_L,0x0c,0x01);		//写入N0.7电台PLL低位	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号														break;			case 15:	 			EEPROM_Earse(0x0e,0x00);  					//擦除第8扇区				EEPROM_Write_Byte(Index,0x0e,0x00);			//写入电台序号				EEPROM_Write_Byte(Temp_H,0x0e,0x02);		//写入N0.15电台PLL高位				EEPROM
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章