[摘要] 一些单位区域内的调频广播电台,多数还沿用传统的模拟电路产生震荡信号,通常信号稳定性和频率的准确性相对比较差,同时频率调节也往往不方便。高度集成的调频立体声发射电子芯片,其震荡频率十分稳定。以调频立体声发射电子芯片为基础,以单片机为控制核心加上少数的其他电子元件就可以组成一台高频多频点的高保真的调频立体声的广播电台的信号发送器,发射不同频率信号所需的操作直接简单、发射信号稳定、发射频率直观显示,结构精巧,与传统的调频台相比较更加灵便,可运用于一定范围内的无线广播,具有较强的实际意义。 目 录 引言----------------------------------------------------------------1 第1章 调频广播系统------------------------------------------------2 1.1调频广播的基本原理--------------------------------------2 1.2调频广播系统--------------------------------------------4 第2章 系统设计方案------------------------------------------------5 2.1单片机控制系统------------------------------------------5 2.2显示器--------------------------------------------------6 2.3调频调制发射器------------------------------------------7 2.4 键盘电路------------------------------------------------7 第3章 系统硬件设计------------------------------------------------8 3.1 电源电路设计--------------------------------------------8 3.2 单片机控制电路------------------------------------------9 3.2.1 单片机引脚接口-----------------------------------11 3.2.2 键盘电路-----------------------------------------12 3.2.3 LED数码显示管------------------------------------14 3.3 调频调制发射电路的设计---------------------------------14 3.3.1 BH1415F的主要特点 ----------------------------14 3.3.2 BH1415F使用参数----------------------------------14 3.3.3 BH1415F 引脚功能---------------------------------15 第4章系统软件设计-----------------------------------------------17 4.1 内存单元规划------------------------------------------17 4.2 主要功能程序------------------------------------------17 第五章软件调试及proteus仿真-------------------------------------24 5.1 软件调试----------------------------------------------24 5.2 proteus仿真-------------------------------------------24 结 论------------------------------------------------------------25 致谢--------------------------------------------------------26 参 考 文 献-------------------------------------------------------27 附录(单片机汇编程序清单)----------------------------------------28 引言 当今电子信息技术发展突飞猛进,许多原来通过机械调节的一些高低频电信设备,现在都可以通过电子技术自动调谐实现。如早期电台的无线电信号发射,信号调节不方便,信号发射频率不准确。现在基于新的电子技术的发展,可用一种新的软硬件相结合的数字电子综合应用技术来取代过去模拟电路发射技术。以往一些单位区域内的调频广播电台,多数还在沿用传统的模拟电路产生震荡信号作为信号发射的载波信号,所用的发射频率往往固定单一,而且信号稳定性和频率的准确性相对比较差,同时频率调节也往往不方便不准确。 随着现代电子技术的不断向前发展,已出现高度集成的调频立体声发射电子芯片,其震荡频率十分稳定,且芯片结构小巧使用方便。如日本ROHM公司研发的BH1415F—BH1417F型号的调频立体声发射集成电路芯片,芯片内部的锁相环电路将发射信号频率锁定,所以发射信号很稳定, 不会发生频率跳变,这比传统的模拟电路所产生的振荡发射信号,集成电路芯片的信号发射频率稳定性是突出的优点。从20世纪70年代末以来,单片机作为微型机控制系统的重要组成部分,由于其强大的实用性,发展非常迅速。单片机具有功能丰富、程序可编程、自动化程度较高、直接面向控制对象、工作稳定可靠等优点,所以,在工业控制、机电一体化等方面都有很普遍的运用。 本选题以无线电发射技术为根底,应用高度集成的立体声发射集成电子芯片,以单片机为核心,加上少数的外围芯片和控制元件,通过单片机接口技术,完全可以组成一台信号调节方便、发射频率显示直观的高频多频点的全数字高保真的调频立体声的信号发送器。与传统的模拟调频台相比结构精巧,更加灵便稳定,可运用于一定范围内的无线广播,具有一定的实际意义。
· 调频广播系统 1.1 调频广播系统的基本原理 由于语言、音乐所产生的电信号频率太低,达到一定距离后便不能够传播。通常做法是先将这些低频信号“加载”到高频信号上,然后再通过天线发射出去,我们通常把带有信息的低频信号称为调制信号。载运调制信号的高频震荡波通常被称为“载波”,产生高频振荡的电路叫作高频振荡器。将调制信号加载到高频震荡器中,使高频振荡器的电参数按调制信号的强弱而变化的过程称为“调制”。通过调制后得到的高频震荡波被我们称为“调制信号”,或我们简称它为调制波。经过传输线路将调制信号放大后送至发射天线,就能够向外复射电磁波了。 高频震荡的瞬时电压表达式: u=Ucos(ωt+Φ) (1-1) 要求用公式编辑器生成 其中,U表示振幅,ω表示角频率,Φ为初相角。当ω和Φ一定时,通过公式我们可以看出u随U(振幅)的变化而改变,则我们把这种调制方式称为调幅调制即为(AM)。经过调幅后的已调信号被我们称之为“调幅波”。当U和Φ一定时,通过公式我们可以看出u随调制信号的ω(角频率)的变化而变化,则我们把这种调制方式称为调频调制即为(FM),通过调频后的已调信号被我们称为“调频波”。可见调频就是使高频震荡的频率依照调制信号电压的变动而变动,并且高频震荡振幅保持不变。得到的已调波是一个频率随调制信号电压变化的等幅波。因此调频就等于频率调制。 在调频方式和调幅方式中,调频方式有载波功率利用系数高、抗干扰能力强、运行相对稳定等优点,因此调频方式广泛地应用在通信、广播、遥控遥测等方面。 图1-1 调频波与调幅波原理图 1.2调频广播天线组成 (在这里加那么几句话说明我们国家的无线电发射通常采用调频发射) 调频广播系统由发射与接收两部分组成。主要的组成电路有调制信号调理、调频激励放大、功率放大、天线发射、天线接收、调谐回路、解调回路、音频放大电路、扬声器等。 在发射端,我们一般将调制信号送到激励器中进行频率的调制,如果最终所得的已调信号与发射频率的载频比相比较较低的话。这时,我们还需要将其变频到所要求的发射频率上。而后通过功率放大器放大到我们所实际需要的功率,最后由电缆将我们已调制好的信号传输到发射天线上发射出去。 在接收端,接收天线主要负责接收我们所发射的已调信号,将所接收的已调信号通过调谐回路后就可以选择出我们所想要的频率。随后经过解调器从已调信号中检测出之前所调制的信号,并由音频放大器进行放大,最后由扬声器还原成为声音信号。 单片机数控小功率调频发射器与常用的模拟电路调频发射器相比有以下优点:一般市场上的调频发射产品,其发射频率大多是固定的,出厂的设定值频率一般都不可调。如果在某地,两台频率相近或相同的频率发射器同时工作,就会产生互相干扰甚至不能进行正常工作。而单片机数控小功率调频发射器,其最大优点就是发射频率可随时控制和调节,可方便改变频率发射,并且单片机数控小功率调频发射器使用比较方便、体积较小是室内小功率调频发射器的不二之选,调频台可在87.8MHz~107.9MHz频率段内设置我们所需要的发射频率,频率调节的最低改变数值为0.1MHz。 2 系统设计方案 单片机数控小功率调频发射系统主要的模块由单片机系统、显示电路、调频控制、发射电路等组成。 2.1 单片机控制系统 本世纪以来单片机的发展壮大十分迅速,诸如51单片机系列、STM32系列、AVR系列等等。而本选题选用的是AT89C52型,它是一种CMOS 8位微控制器。其外围引脚及功能特性如图2-1及表2-2所示。 图2-1 单片机引脚图 AT89C52主要功能特性(表2-2)为什么是表2-2?表2-1呢? 8K字节可重擦写Flash闪速存储器
| 兼容MCS-51指令系统
| 1000次可擦写周期
| 全静态操作:0Hz-24MHz
| 三级加密程序存储器
| 256×8字节内部RAM
| 32个可编程I/O口线
| 3个16位定时/计数器
| 8个中断源
| 可编程串行UART通道
| 低功耗空闲和掉电模式
| 2个串行中断
| 2个外部中断源
| 2个读写中断口线
|
2.2显示器 加几句话说明这里设计显示器是干什么用 通常情况下嵌入式系统所选择的显示器有以下两种: · LED显示器。LED显示器是从发光二极管不断创新发展过来的一种元器件。是LED的改进型。普通的分法是将LED显示器分为LED数码管显示器和LED点阵显示器两种类型。LED具有耐用、亮度高、视角宽、反应灵敏、可靠性较高等特点,而LED数码管只能显示数字和少数几个英文字符,显示内容与LED显示器相比更为单调。而LED点阵屏能显示各种图形信息,但由于它的体积较大,而在市场上能买到的最小的8×8点阵有3cm×3cm大,所以LED点阵屏较适合用于商业展牌、滚动电子告示牌等需要大面积显示的固定地方,不太适合用移动设备。在动态扫描时,我们假设8段LED数码管显示器同时被点亮状态,这时我们按每段流过5mA电流来算每个数码管就有40mA的电流,如果像本实验那样需要多个数码管的话,则需要的电流会更大。 · LCD液晶显示器。LCD液晶显示器显示的原理是利用光的偏振现象来实现的。我们一般也将其分为数字型LCD(与LED数码显示器相同,只能显示数字和少数几个英文字符)和点阵型LCD。前者主要用来显示简单的字符或者是简单的英语字母等。后者能显示各种复杂的字符和数字图形,因此点阵型LCD与数字型LCD相比应用比较广泛。LCD液晶器本身是不能产生光的,而是通过利用光的偏振原理反射或者透视其他光源来显示,因而功 耗较低,可靠性较高,耐用,小巧灵活,电路简单,在嵌入式移动设备、掌上设备、等领域有着广泛地应用。 由于单片机数控小功率调频发射器只要求显示数字和小数点不需要复杂的显示,故本选题选择了的LED七段数码显示管,显示更为直观方便。 2.3调频调制发射 日本ROHM公司所推出的BH1414F~BH1417F调频立体声发射集成电路,其高频震荡部采用了频率合成电路,振荡频率十分稳定,并可以方便地改变发射频率。BH1415F可由外接的MCU控制, BH1415F、BH1417F适用于本选题的87.8~107.9MHz频段,而BH1416F则适用于日本国的频段。 BH1415F、BH1417F都是非常实用的立体声发射集成电路,它集锁相环电路、立体声编码电路、发送电路等于一体,外围加上少数几个元器件就能够组成一台高频多频点的高保真调频立体声发送器。 由于BH1415F调频发射集成电路的发射频率可用单片机的串行接口直接进行控制,所以数控小功率调频发射器选用日本ROHM公司生产的BH1415F集成电路芯片作为调频发射电路芯片。 2.4按键电路 同样与上面一样加几句话说明按键是干什么用 按键电路采用行列式键盘,并由单片机P1口进行扫描。通常来讲,键盘按键时多使用行列式或者是带钳位的行列式键盘。因本选题使用了16个按键,所以设计中采用4×4行列式键盘结构。各个按键都有其一一对应的行数和列数。 3 系统硬件设计 3.1电源电路的设计 电源电路在本实验中采用了机内变压器供电,并有备选方案使用机外外接电源进行供电方式,以上方式皆可,proteus电源电路仿真图如下图3-1所示。两种供电方式通常情况下可实现自动切换,其中机外外接供电在接入时无需辨认直流电源的极性。 本实验中机内变压器通入的输入端交流电压为220V,而输出的电压在这里设置成8V,脉动电压由全桥式整流电路输出,经过470μF的滤波电容滤波,得到大约为9V的平稳的直流电压(如下图proteus仿真所示)。再经过三端稳压器7905进行稳压并输出稳定的-5V电压。三端稳压块LM7905在这里的作用是将9~18V的直流电压进行降压处理并稳定成-5V的输出电压,采用三端稳压集成块电路简单而成本低,所以应用很广泛。 外接的供电口电源必须通过机内另一组全桥式整流电路进行整流,然后通过470μF的滤波电容进行滤波、三端稳压器7905进行稳压、最后输出。由于输入口的整流桥,直流输入电源的正负极性可任意接,也可接入8~12V的交流电源。 图3-1 电源电路仿真 3.2单片机控制电路系统设计 控制电路采用了最小化的应用系统设计。单片机系统电路接口可大致如图3-2所示。(大致两字去了) 图3-2 单片机主电路仿真 (该图名改为小功率的数控调频发射电路) 3.2.1单片机引脚接口 (1)AT89C52单片机的P0口与P2口共同驱动共阴极的LED。P0口为段码输出口,P2.3、P2.2、P2.1、P2.0端口分别为控制数码管的百位、十位、个位、小数位的扫描(如上图proteus仿真)。当相应的端口变成高电平时,驱动其对应的的三极管会导通,-5V的电压(由三端稳压器7905实现)通过驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码(附录中有详细的显示程序说明),数码管就能显示我们设置的发射频率数值。因为要显示四个数码管数字,所以本实验使用动态扫描的方法来完成。即先让小数位显示1ms。然后再让个位显示1ms。再让十位显示1ms。百位显示1ms。然后不断循环,根据人眼的视觉残留效应,只要能在20ms内完成扫描的话,我们就可看到四个稳定显示的数字。 (2)P1.0~P1.7口作为键盘电路的接入口,其中的4个按键分别为百十个位以及小数位的频率操作按键。百位数只能是0或1。当百位数为0时,十位数为8或9;当百位数为1时,十位数只能为0,各位及小数位为0~9之中的任意数(发射频率为87.8~107.9MHz)。后11个键为本实验的发射频率预置键(附录有说明),最后一个键为控制单声道与立体声转换的按键。 (3)单片机AT89C52中P3.0、P3.1、P3.6被用作BH1415F的通信端口,被我们用作传送发射频率控制数据给BH1415F芯片,P3.5接有发光二极管,当为立体声发射时二极管亮,被用来显示立体声发射指令。AT89C52的复用引脚功能如下表3-3所示 T89C52复用引脚功能表(表3-3)? 表的标注规及表的格式定学校有规定,你自己要清楚 引脚号
| 第二功能特性
| P1.0
| T2(定时/计数器2外部计数脉冲输入),时钟输出
| P1.1
| T2EX(定时/计数器2)
| P3.0
| RXD(串行输入口)
| P3.1
| TXD(串行输出口)
| P3.2
| ____ INTO (外部中断0)
| P3.3
| ___ INT1 (外部中断1)
| P3.4
| T0(定时/计数器0)
| P3.5
| T1(定时/计数器1)
| P3.6
| __ WD (外部数据存储器写选通)
| P3.7
| __ RD (外部数据存储器读选通)
|
(4)时钟电路。时钟电路采用片内时钟电路。第18脚和第19脚分别构成片内震荡器的反相放大器的输入端和输出端(如图3-4所示),并联谐振回路的时钟电路由两个补偿电容和外接的石英晶体一起构成。电容C3、C4的取值为30PF(±10PF)。单片机系统中晶振可供选择的范围为0~24MHz。本选题中采用了12MHz的晶振,外接石英晶体以及补偿电容C3、C4的数值大小会改变振荡器中频率的大小、振荡频率的波动幅度、起振时间的长短等各种参数指标。第18脚和第19脚外接石英晶体谐振器,一同组合成自激振荡器。外接电容C3、C4取值为30PF。 (5)复位电路。当单片机上电时,只需不断地给RST引脚高电平,系统方可完成复位。外部复位电路的设计初衷是为内部复位电路提供两个周期以上的高电平。本实验中采用的是系统自动上电复位的方法,由于上电瞬间时电容器两端的Uc不会发生突变,所以RST引脚上的Urst是电源电压Vcc与电容器两端的电压Uc之差,而由于一开始电容器两端的电压几乎为0,所以RST引脚上的Urst大小与Vcc基本相同。而因为电容器上的电压Urst随着充电时间的增加在不断的上升,所以RST引脚的电压Urst就不断下降,通常情况下RST引脚上只要能保持十毫秒以上的高电位的话,系统就能自动复位。一般电容C2可取10~33μF,电阻R1可取1.2~10kΩ,充电时间常数为10×10 =100 ms。 3.2.2键盘电路 按键电路采用行列式键盘,并由单片机P1口进行扫描。通常来讲,键盘按键时多使用行列式或者是带钳位的行列式键盘。因为在按键数量较多时行列式键盘在占用相同数量I/O口时能设置的按键较点式键多,因本实验使用了16个按键(4个按键为控制小数点后一位、个位、十位、百位,1个按键被设置为切换单声道和立体声,剩下的11个按键为频率预置数按键),所以设计中采用行列式键盘结构。在行列式键盘中,键盘中每个按键都有它所对应的行数和列数来进行区分,这样以行列值为基础的编码可以另每个按键对应的编码是唯一的。按键电路处理程序的流程是:先确定有无键(被)按下并判别是哪一个键(被)按下。得到相应的键号。由于在闭合或者断开时会有抖动,所以读键程序中要设施延时程序来消除按键抖动带来的影响(消抖程序详见附录)。在两个行列口线中,一个负责输出扫描码,另一个负责读入按键的状态,由行扫描时接地的行线及读回时低电平的列线就可以确定是哪一个开关按住了。通过软检查表P1口的扫描字及读回值,就可以查出该键的键号并执行相应的功能了。如图3-4所示。 图3-4 键盘电路仿真 3.2.3 LED数码显示管 LED数码显示管是为了显示数字和简单的几个英文字母而设计的一种显示器。七段LED数码管显示器的外观字形图如图所示,发光二极管被做成了条状结构,由内部按连接的不同我可以将其分为共阳与共阴两类。 图3-5 数码管的结构 共阴七段LED在显示0~9的数字时,是靠控制阳极端的电位(高电位或低电位)就可以控制不同段的LED发光。比如显示“0”时,只要将abcdef端口接正极;要显示“1”时,只要将bc端口接正极。表3-6为共阴LED数码管显示“0~9”数字时LED阳极端口的电平情况,0表示接低电平,1表示为开路高电平状态。 表3-6 共阴数码管显示段码表??? 设计选择的共阴七段LED红色数码管,每个LED数码管都带有小数点显示,其中小数点LED器件为圆形,用于显示小数点。用一个单片机的八位端口(本实验采用P0端口)刚好可控制LED数码管的八个阳极,下图为单片机与四个带小数点显示的LED共阴显示器接口图。其中P2口的四个端口通过四个PNP三极管驱动电源为四个LED数码管轮流提供电流,P0口的八个端口为对应的数码管显示数据提供段码,串联电阻为限流电阻用于限定发光管的点亮电流。在显示器工作时,通过单片机程序依次为四个数码管器件供应电源并将对应数字的段码输出至P0端口,每个数码管一般点亮时间为1毫秒(一个扫描显示周期下来为4毫秒,少于20毫秒)。 图3-7 显示电路仿真 3.3 调频调制发射电路的设计 3.3.1 BH1415F的主要特点 BH1415F射频调制集成电路主要特点有:集预加重电路、限幅电路、低通滤波电路(LPF)于一体。使其音频信号的质量与分立元件的电路相比有较大改进;导频方式的立体声调制电路;采用了锁相环技术锁频并与调频发射电路一体化,发射频率非常稳定。BH1415F芯片采用了单片机数据直接设置频率的机制,可设定的频率范围比较大(87.7~107.9MHz),能满足大多数场合的需求。因此本选题使用BH1415F作为立体声调制的无线发射传输芯片。 3.3.2 BH1415F使用参数 表3-8 BH1415F使用参数表 ??还是表的表达 项目
| 符号
| 数值
| 单位条件
| 工作电源电压
| Vcc
| 4.0~6.0V
| 8、12脚
| 工作温度
| Topr
| -40~85℃
|
| 音频输入电平
| VIN-A
| -10dBV
| 1、22脚
| 音频输入频率
| fIN-A
| 20~15K Hz
| 1、22脚
| 预加重延时
| TPRE
| 0~155μS
| 2、21脚
| 发射频率
| fTX
| 87.7~107.9MHz
| 9、11脚
| 高电平电压标准(H)
| VIH
| 0.8Vcc~Vcc
| 15、16、17、18脚
| 低电平电压标准(L)
| VIL
| GND~0.2Vcc
| 15、16、17、18脚
| 相位比较输出电压
| Vout-p
| -0.3~ Vcc+0.3V
| 7脚
| 功率消耗
| Pd
| 450mW(max)
|
|
3.3.3 BH1415F引脚功能 表3-9 BH1415F引脚功能表 引脚号
| 功能
| 电压值
| 1
| 右声道输入端:通过电容器与右声道音频信号相连
| 1/2VCC
| 22
| 左音源输入端:通过电容器与左声道音频信号相连
| 1/2VCC
| 2、21
| 时间常数端:它连接一个电容为时间常数τ=22.7kΩC
| 1/2VCC
| 3、20
| LPF 时间常数端:这是15KHz LPF.它连接150P 电容
| 1/2VCC
| 4
| 滤波器端:它是声频部份滤波器叁考电压
| 1/2VCC
| 5
| 立体声复合信号输出端:接一只滑动变阻器可调节立体声声音的大小,它连接到调频调制器
| 1/2VCC
| 6
| 接地端 GND
|
| 7
| PLL相位检波器输出端:它连接到PLL LPF电路
| 4/7Vcc
| 8
| 电源供给端
|
| 9
| 射频振荡器端:这是振荡器基端,它连接振荡时间常数
| Vcc-1.9
| 10
| 射频地端 GND
| Vcc
| 11
| 射频发送输出端
|
| 12
| PLL电源供给端 Vcc
|
| 13、14
| Xtal 振荡器端:它连接一个7.6MHz 晶振
|
| 15
| 芯片允许端:连续输入高电平数据
|
| 16
| 时钟输入端:带数据和 同步的时钟在序列数据输入
|
| 17
| 数据输入端:串行数据输入
|
| 18
| 静音端:mute on (大于0.8Vcc);mute off(小于0.2Vcc)
|
| 19
| 控制信号的调节端
| 1/2Vcc
|
图3-10 BH1415F 电原理图 4 系统软件设计 4.1内存单元规划 为了处理调频发射器控制操作中的一些数据运算,本设计中编者在单片机内存中使用了多个专用的地址来存放数据,主要有以下9个:其中36H-39H用来寄存显示小数位、个位、十位、百位的BCD码;34H~35H用来寄存十六进制的频率控制数据;频率控制字节的低8位数据被寄存在31H中;而频率控制字节的高8位数据则被寄存在32H中;扫描时P1端口的值被寄存在33H中(附录中有详细的说明)。 4.2主要功能程序 单片机控制程序主要有以下几部分: 初始化子程序、主循环程序、LED动态扫描程序、显示数据程序与频率控制及数据计算程序、控制命令合成发送程序、键位查询程序等。 (1)主程序 主程序是先对系统初始化,并禁止BH1415F立体声发射器,开机时一定要先检查一下每个LED数码管的显示是否完好、然后将上次使用的发射频率数据从单片机中取出,送入BH1415F控制音频调制频率,然后进入4×4查键程序,最后为LED数码管的显示程序(流程框图如图4-1所示)。 端口初始化,BH1415F禁止 预置上次使用的发射频率 数据送入BH1415F 查键函数 显示函数 图4-1 系统主程序流程图 取显示数据的段码至输出口 选中对应位显示1毫秒 四次到? Y N 下一数据 图4-2 动态扫描程序流程图 上面内容我下载下来就没有,不知是否我电脑问题 (2)LED动态扫描子程序 由于要显示4位十进制频率数字值,所以在这里显示程序采用动态扫描法,即利用单片机的两个端口,其中一个端口输出段码,另一个端口进行列扫描,从而完成LED的动态显示。扫描程序执行一次约为四毫秒,在显示个位的LED数码管变亮时需点亮DP位。动态扫描的流程图如图4-2所示。 (3)频率数据转十进制BCD码子程序 频率数据转十进制BCD码子程序是为了将四位十进制数换算成四个十进制BCD码,这样才能将预设频率的数值用LED数码管显示出来,当最高位为0时应放入LED“熄灭”程序(详见附录单片机程序清单),这时当频率在100.0MHz以下时显示百位的LED数码管才不会显示“0”。 (4)频率控制命令合成子程序 下图为BH1415F的数据信号发送方式原理图 图4-3 BH1415F数据信号发送原理图 BH1415F的频率控制字与发射频率的关系可由程序求得,如本选题开始的频率87.8MHz对应的低八位二进制数为01101110,而对应的高八位为00000011,87.9MHz对应的低八位二进制数为01101111,而对应的高八位为00000011。 控制字改变最低的一个数字量,信号发射频率相应改变0.1MHz,而每个频率对应的2进制数为该频率乘10之后对应的二进制数。而由BH1415F的结构特性图可知:当D10-D0全为1时为二进制数可输入的最大值,转换成十进制数即1099。所以BH1415F可输入的最大发射频率为109.9MHz,本选题所设定的发射频率最大值为107.9MHz,故完全适用。 (5)BH1415F字节写入子程序 按照BH1415F字节的原则,必须使用同步移位方法来进行数据的发送转移。发送数据时的位移脉冲延时应正确,图4-4为频率控制命令发送程序流程图。 BH1415F选中 最低位移至端口(DA),延时4μs 锁存数据(CK=1),延时4μs,CK=0 16位移完? N Y BH1415F禁止 存储频率数据 图4-4 频率控制命令发送程序流程图 上面内容也是下载下来就没有 (6)查键子程序 按键查询系统采用4×4的行列式键盘,查键的方法是将键盘口的低四位都置为零,然后读入键盘口高四位,与“1111”进行比较,若不全为1,说明有按键被按下,这时程序应该自动的进行被按键的键码查询,若全为1则说明没有键按被下。在这里我们使用的查询方法是先按序对键盘口的低四位与高四位置零,然后再将二次读入的键盘口高四位与低四位合并成一个字节(参见附录4×4查键子程序),而这个被合并的字节只对应着唯一的一个按键,也就是逐一对应的关系,这时经过查表就可以明确被按的键号再执行每一个按键所对应的程序。 16个按键的功能分配为:00号键为程序百位数加1;01号键为程序十位数加1;02号键为程序个位数加1;03号键为程序小数位加1;04号键、05号键、06号键、07号键、08号键、09号键、10号键、11号键、12号键、13号键、14号键均为频率预置建,分别预置109.0MHz、108.0MHz、105.0MHz、100.0MHz、98.0MHz、96.0MHz、94.0MHz、92.0MHz、90.0MHz、88.0MHz、87.8MHz的发射频率;15号键为立体声与单声道转换键。 键口低四位置0 读入高四位,为全1? Y N 保存高四位数据,再将键口高四位置0,读入低四位 等待键释放 将二次读入的字节合成一个键值 按键值执行相应的功能 图4-6 4×4行列式查键程序流程图 (7)初始化子程序 系统初始化工作主要包括RAM存储器初始化、特殊功能寄存器初始化、外围设备的初始化、设置预发射频率的初始值等等(为了各种操作的范围在程序的预设值之内)。我们将RAM存储器初始化的原因主要是将RAM存储器进行清零处理;而将特殊功能寄存器初始化主要是为了另包括定时器的初始值设置、中断的开放满足系统初始化条件等;外围设备初始化主要是对外围设备的引脚口进行的设置,例如本系统就必须在上电时将LED显示器驱动口置高电平(由于本实验使用共阴极LED数码管),与BH1415F的三条通讯口置低电平(开始要禁止BH1415F);开机后的发射频率为上次关机时的发射频率值。特殊功能寄存器的初始化以及外围设备的初始化必须在进入功能程序循环前就需要完成初始化。具体流程详见图4-7。 P0、P1、P2、P3置1 BH1415F禁止操作 控制寄存器设定 置发送频率初值 设置立体声发射方式 写入BH1415F芯片 图4-7 初始化程序流程图 5 程序调试及Proteus仿真的应用 5.1 proteus仿真的应用 本选题使用的Proteus软件是LCE公司研发的一款EDA工具软件,它是目前仿真单片机及外围器件的主流工具。首先电源电路可由proteus软件仿真出来,需要注意使用的三端稳压块为7905,电容二极管和整流桥参数的选取之前有介绍,变压器的输入输出压变比为220/8。 以AT89C52单片机为基础的数控调频发射台控制器的主电路图中共仿真了5部分,分别为键盘电路、时钟电路、显示电路、复位电路及单片机与BH1415F之间的通信电路。其中立体声提示用的LED数码管在仿真中选择了红色。而显示用的LED数码管选择了7SEG-MPX4-CA这样方便连线。显示电路中用三级管NPN是配合-5V的电压。各个元器件参数均在可选范围内取值。BH1415F芯片由于只有DA、CK、CE引脚与单片机相连,故在此简化。 5.2程序调试 程序调试可以用wave汇编编译器或keil c51编译器来调试,源程序编译及仿真调试应分段或以子程序为单位按顺序进行(本实验为分段),最后可根据硬件实时运行的情况进行调试。 结论 基于单片机的小功率调频发射器在本实验中采用了ATMEL生产设计的AT89C52单片机同时搭配日本ROHM公司生产的BH1415F调频立体声发射芯片,操作非常简单,而且体积小,稳定可靠,且采用4×4行列式键盘电路频率设定方便简单,4个LED数码管显示设定的频率非常直观,并且非常适合于MP3播放器、电脑电视等媒体播放机以及生活中一些小范围场合的使用。由于工作的频率变动范围较宽(87.7~107.9MHz),因此其功率放大级的选频回路带通应较宽。 通过本次毕业设计,我在proteus仿真以及单片机的汇编语言的编写中学到的很多,愈加加深了我对单片机程序语言特点的了解,并在芯片的选择上学到了许多知识,无论是廉价性还是外设线路的布局都是我在之前的学习中没有体会过的。而本次使用单片机汇编语言也是因为考虑到自己对C语言没有特别熟悉。 本选题的实现方法有很多,在这里电源电路使用三端稳压器7905(为负5V)也主要是为了创新,现实中可能负压并不稳定,一般选用7805(为正5V)来实现稳压,另外按照常理本实验中的三极管与晶体管位置也应倒换。笔者在这里作出说明。后续可以在增加C语言的编写,本身汇编语言比较好改,所以采用的汇编,而缺点是太长了。 |