RDA5820和51单片机制作的FM数字收音机源代码及电路原理图.docVIP

RDA5820和51单片机制作的FM数字收音机源代码及电路原理图.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
*? 晶振:8M */ #include reg52.h #include string.h #define ChannelCount???? ?50????????? //最多支持多少个台,因为常驻内存,多了RAM放不下 #define uchar?? unsigned char #define uint?? unsigned int typedef struct { ?uchar Freq; ?uchar Rssi; }ChannelInfo; sbit SDA? = P2^0; sbit SCL? = P2^1; sbit key1 = P3^4; sbit key2 = P2^7; sbit key3 = P2^6; sbit key4 = P2^5; // P3^7; sbit LcdEn = P3^4; sbit LcdRs = P3^5; uchar Channel? = 0; uchar FreqTune = 0; const uint MinFreq?? = 870;?? //起始频率 * 100KHz const uint MaxFreq?? = 1080;? //最高频率 * 100KHz const uchar FmAddr?? = 0×22;? //FM模块IIC 地址 const uchar EpAddr?? = 0xA0;? //24C02 EPPRom 的地址 uchar RSSI???? = 0;?????????? //信号强度 uchar ChannelTune[ChannelCount]; uchar code LevlChar[5][8] = {{0x1F,0×11,0x0A,0×04,0×04,0×04,0×04,0×04}, {0×00,0×00,0×00,0×00,0×00,0×00,0×06,0x1E}, {0×00,0×00,0×00,0×00,0×06,0x1E,0x1E,0x1E},???? //显示型号强度的自定义字符 {0×00,0×00,0×06,0x1E,0x1E,0x1E,0x1E,0x1E}, {0×06,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E}};? uchar vol? ?= 0×8;? //音量0~0xF uchar Func?? ?= 0×0;?? //当前功能号 bit AutoScan ?= 0;???? //标记当前是不是在自动搜台 bit Mute? ?= 0;? //标记是否被静音 uchar KeyNumber = 0; void OpenIIC(); void CloseIIC(); void IICWrite(uchar uaddr, uchar romaddr, uint rdata,bit _i6b); void IICWriteByte( uchar byte ); uint IICRead(uchar uaddr, uchar romaddr,bit _i6b); uchar IICReadByte(bit next); void FM_SetFreq(); void FM_SetVolume(); uint FM_ReadReg(uchar regAddr);???? //读取FM模块的寄存器 void FM_WriteReg(uchar regAddr,uint dat); //写FM模块的寄存器 uchar FM_GetRSSI();????????? ???? //获取当前的信号强大 void Delay(uint c); bit KeyScan(); void BeginScan(); void Lcd_DispNumber(uint number); void Lcd_Init(); void Lcd_Comm(uchar cmd); void Lcd_Data(uchar dat); void Lcd_String(char* dat); void Lcd_DispRssi(); void Lcd_DispFreq(); void Lcd_Refresh(); void Lcd_DispDiscript(); void Eprom_LoadInitData(); uint Eprom_Read(uchar addr,bit _16bit); void Eprom_Write(uchar addr,uint dat,bit _16bit); void main() { ?? ?P3 = 0xff; ?P2 = 0xff; ? ?Delay(10000);?????????????? //延时,等待外部FM模块的启动 ?Eprom_LoadInitData();???????? //从Ep

文档评论(0)

ebitjij + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档