基于单片机的多功能收音机的设计与实现 - 图文(8)

2025-11-14

第四章 软件设计 Frequency_Data -= 100; if(Frequency_Data < min_freq) Frequency_Data = max_freq; }

Get_Pll();

radio_write_data[0] = Pll_Data/256; radio_write_data[1] = Pll_Data%6; radio_write_data[2] = 0x41; radio_write_data[3] = 0x11; radio_write_data[4] = 0x40;

ATIICxx_PWrite(&radio_write_data[0],5); }

4.4 IC总线控制模块软件设计

由于本次设计实现单片机对TEA5767的控制功能是通过I2C总线,单片机模拟I2C总线通信的软件程序,实现I2C总线发送接收数据的程序流程如图4-5所示。

2

31

第四章 软件设计 开始开始起始条件启动总线起始条件启动总线发送从器件地址发送从器件地址发送数据No数据发送完毕?接收数据No数据接收完毕?Yes结束Yes结束

图4-5 I2C总线程序流程图

单片机通过IC总线控制的主要程序包括启动IC总线、停止IC总线数据传送、发送应答位、发送非应答位、应答位检查发送一个字节数据,接收一个字节数据,发送n字节数据子函数、接收n字节数据子函数和模拟实现I2C总线的数据收发。(具体程序见附录3)

222

4.5 LED显示模块软件设计

数码显示电路时利用CPU来控制数码显示部分的导通和截止,其工作过程是:将字型代码送入字型锁存器锁存,此时所有的数码管都可能显示同样的字符,再将需要显示的位置送入字位锁存器锁存,这样就可以实现在正确的字位上显示正确的字型。设计程序流程图如图4-6所示。

32

第四章 软件设计 开始显示内容写入Tab取Tab千位写入LED取Tab千位写入LED取Tab千位写入LED取Tab千位写入LED设置千位显示设置千位显示设置千位显示设置千位显示延时1ms结束 图 4-6 数码管显示程序流程图

此部分主要程序为: #include \sbit ge=\sbit shi=\sbit bai=\sbit qan=\#define LED P1 //unsigned 阴

//0, 1, 2 3 4 5 6 7 8 9 unsigned

char

tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳 //0, 1, 2 3 4 5 6 7 8 9

/************************************************************************/

33

char

tab[]={ 0x3f,0x30,0x6d,0x79,0x72,0x5b,0x5f,0x31,0x7f,0x7b,0x40};//共

第四章 软件设计 void DelayD(unsigned char Time) {

unsigned char i;

while( --Time != 0) {

for(i = 0; i < 125; i++); //i 从0加到125,CPU大概就耗时1 毫秒 。 } }

4.6 成果展示

本次系统设计的成果展示如图4-7所示。

图4-7 设计成果图

34

第四章 软件设计

35


基于单片机的多功能收音机的设计与实现 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《马克思主义基本原理概论》学习心得范文大全[精]

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219