合成立体声FM发射机设计(6)

2019-05-27 18:03

大学毕业设报告用纸 第 21 页 共 32 页

变,将d值加一,直到A键放开,将key_a赋值1,如果key_a=1则等待结束;将d值送到BH1415芯片。D的最大值为1080,若高于此数值,则给d赋值为1080送BH1415。

(2)若键B按下,此时表明需要减小频率。首先等待30个程序周期,key_b值不变,将d值减一,直到B键放开,将key_b赋值1,如果key_b=1则等待结束;将d值送到BH1415芯片。D的最小值为880,若低于此数值,则给d赋值为880送BH1415。

查按键函数key(); 加减赋值变量 将send d赋值给dish[]数组 显示send d调频变量值 图5.1主程序流程图

发生一个16位数据到BH1415芯片(其中前11位为频率设定值) 从第一行第三列开始 显示字符“FM:” 调频变量赋值 send d=880 初始化LCD 初始化主程序 开始

大学毕业设报告用纸 第 22 页 共 32 页

如果键B按下,key_b=0。等待30个程序周期;仍然key_b =0,send d减一。等待B键放开;key_b =1。如果key_b =1;等待结束。如果send d小于880,那么send d=880。发送send d值到BH1415芯片 顺序执行完key()

图5.2 key()函数流程图

如果键A按下,key_a =0。等待30个程序周期;仍然key_a =0,send d加一。等待A键放开;key_a =1。如果key_a =1;等待结束。如果send d大于1080,那么send d=1080。发送send d值到BH1415芯片 进行key()函数 5.2 各部分程序 5.2.1初始化主程序

主要是对单片机管脚的定义和对变量的定义及赋初值。变量key_a是对应于按键A的变量,用来记录按键A按下的次数以便计算增加的频率值,用单片机的P1.2口进行位定义;变量key_b是对应于按键B的变量,用来记录按键B按下的次数以便计算减少的频率值,用单片机的P1.3口进行位定义。另外还定义了变量d,用来对调频变量赋值,最终d的值送给BH1415芯片。初始化程序如下:

sbit key_a = P1^2; sbit key_d = P1^3; sbit DI=P3^2; sbit CLK=P3^1; sbit CE=P3^0; uint send_d;

unsigned char fm[]=\

大学毕业设报告用纸 第 23 页 共 32 页 unsigned char disp[]={0,0,0,0,0,0,0}; sbit RS=P2^5; sbit RW=P2^6; sbit E=P2^7; sbit busy=P0^7; unsigned char *s;

5.2.2LCD1602的驱动程序

主要包括对LCD的检测、读并显示、写控制字及初始化。每个功能定义一个函数。 (1)对LCD的检测程序如下:

void delay(uchar i) {

for(;i>0;i--); }

该函数的作用是对LCD进行检测,看LCD是否处于忙的状态。当busy=1时表示忙,此时不可以向LCD进行读写操作;而当busy=0时,表示可以向它读写数据。

(2)对LCD写数据程序如下:

void wait() { P0=0xff;

RW=1; RS=0; do{E=0;E=1;}while(busy==1); }

该函数的作用是向LCD写入数据并显示出来。 (3)向LCD写控制字程序如下:

void dispone(dat) { P0=dat;

RW=0; RS=1; E=0; E=1; wait(); }

该函数的作用是向LCD写入控制字。

void wrcom(com) {

大学毕业设报告用纸 第 24 页 共 32 页 P0=com;

RW=0; RS=0; E=0; E=1; wait(); }

该函数的作用是向LCD写入一串数据,并把数据串显示出来。 (4)LCD初始化程序如下:

void disporm(line,row,unsigned char dat[],i) {

unsigned char com; s=dat; if(line==1){

com=0x80+row-1;

wrcom(com);

while((i--)!=0&&com<=0x8f){

dispone(*s);

com++; s++;

} } else{

com=0xc0+row-1; wrcom(com);

while((i--)!=0&&com<=0xcf){

dispone(*s);

com++; s++;

} } }

5.2.3按键检测 按键检测程序如下:

void key() {

大学毕业设报告用纸 第 25 页 共 32 页 }

if(key_a==0) { }

if(key_d==0) { }

delay(30); if(key_d==0) { }

if(send_d<880)send_d=880; send_16data(send_d);

send_d--; while(key_d==0); delay(30); if(key_a==0) { }

if(send_d>1080)send_d=1080; send_16data(send_d);

send_d++; while(key_a==0);

6 硬件制作注意事项

6.1 布线注意事项

在排板布线的过程中要注意以下问题:

(1)器件的摆放位置要恰到好处,这样可以使作品看起来美观又方便。

(2)在布线的过程中要设置比较合适的间距,这样在印制电路的时候会方便很多。 (3)在走线的时候要注意一些技巧,在没有影响到电路的前提下可以让线从两个管脚间穿过。

(4)需要绕很远的线可以使用跳线来简化布线过程。 6.2 腐蚀电路板注意事项


合成立体声FM发射机设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:军垦精神

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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