基于51单片机的程控增益放大器设计报告Word格式.docx

上传人:b****6 文档编号:19370592 上传时间:2023-01-05 格式:DOCX 页数:18 大小:526.19KB
下载 相关 举报
基于51单片机的程控增益放大器设计报告Word格式.docx_第1页
第1页 / 共18页
基于51单片机的程控增益放大器设计报告Word格式.docx_第2页
第2页 / 共18页
基于51单片机的程控增益放大器设计报告Word格式.docx_第3页
第3页 / 共18页
基于51单片机的程控增益放大器设计报告Word格式.docx_第4页
第4页 / 共18页
基于51单片机的程控增益放大器设计报告Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于51单片机的程控增益放大器设计报告Word格式.docx

《基于51单片机的程控增益放大器设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的程控增益放大器设计报告Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

基于51单片机的程控增益放大器设计报告Word格式.docx

2.3电路控制模块

本设计电路控制模块仅需采用51单片机最小系统,所谓单片机最小系统是指能够实现单片机工作的基本条件,也就是能使单片机正常工作的最基本的外围配置,最小系统主要包括电源电路、复位电路以及时钟电路。

单片机的最小系统以及键盘控制电路参见图2-7及图2-8。

图2-7由单片机STC89C52构成的最小系统

图2-8程控增益放大器开关键盘

电路控制模块的电气连接中,我们选用11.0592M晶振为系统提供基本时钟信号,串口选择上将使用P2.0与P2.1口分别模拟IIC通信的数据传送线SDA和时钟控制线SCL实现对X9241W数字电位器的控制,P0口连接LCD1602液晶显示屏编程控制增益显示,方便增益调节,电路连接时P0口需添加上拉电阻,采用P2.6、P2.7以及P1口连接开关键盘作为数字0-9,并以P3.2口由中断函数控制作为确认键。

电路实际工作时,当键盘键入对应增益值,通过软件检测P1口及P2.6、P2.7的高低电平变化对增益值做赋值操作。

例如,要想得到15倍的增益,编程设置为先键入数字1,程序上通过转换另其乘以10设为增益的10位,再键入数字5作为增益值的个位,这样就得到了增益值的赋值处理,然后通过确认件,系统通过键盘检测跳入中断完成根据对应增益值数字电位器直接跳转至相应档位从而引用阻值变化实现增益调节。

同理,需要8倍增益时,仅需键入数字0和8,再通过确认键输入即可。

2.4液晶显示模块

程控增益放大器需要对增益信息进行显示,该设计的显示将在LCD1602字符型液晶屏上实现。

图2-9为程控增益放大器液晶显示模块的硬件电路电气连接图。

图2-9液晶显示模块LCD1602硬件电路

硬件电路设计中,通过3管脚上电位器R1的的调节可以实现LCD液晶显示屏对比度的调节。

单片机的P0口接LCD1602的D0~D7,实现单片机对LCD进行命令写入或者数据通信,P0口需添加上拉电阻;

P2.3接入LCD1602的使能端EN,控制液晶显示屏正常显示;

P2.4接入LCD的读写选择端RW,用来选择对LCD进行读操作还是写操作;

P2.5口为数据亮暗选择端RS,用来控制从D0~D7写入的信息是数据还是命令。

2.5程控增益放大器总设计图

为了更好的了解程控增益放大器的设计原理,本节将提供程控增益放大器各个模块原理图及其分析。

图2-10电源模块

图2-11电源电路

图2-12电路控制模块

图2-13按键开关及液晶显示模块

图2-14X9241数字电位器及电压跟随器电路

图2-15增益放大模块

根据程控增益放大器硬件电路总设计图,本设计以电路控制模块以STC89S52单片机作为为控制核心,并采用开关键盘输入实际所需增益值并通过单片机模拟IIC通信控制增益放大模块的数字电位器的方式调整增益值实现增益可调,并选用LCD1602液晶显示屏作为液晶显示模块来实现增益显示的功能。

在硬件电路的设计上,电源模块为单独模块,独立生成+12V、-12V及+5V电压(实物上由插针引出),为后级电路供电。

控制模块单片机最小系统P0口控制LCD1602的显示,P1口及P2.6、P2.7连接开关键盘控制分别代表数字0—9,由编程控制输入表示方式,增益放大模块数字电位器的数据线SDA与时钟线SCL分别连接单片机的P2.0与P2.1口。

另外,其它剩余I/O口由插针引出方便功能拓展,各测试端都设有相应标号并引出插针方便电路调试。

三、程控增益放大器软件设计

基于单片机控制数字电位器进而实现增益可调的方案较好地实现了程控增益放大器。

通常,编程的关键在于对数字电位器输出阻值的选择和控制,即如何确定电路设计所需电位器以及其滑动端计数寄存器(WCR)的值。

本设计系统主程序设计流程图3-1所示:

图3-1系统主程序设计流程

本设计使用的编程语言为C语言,系统通过键盘选择实际应用所需增益值,电路控制模块STC89S52单片机与数字电位器之间模拟IIC通信来控制数字电位器阻值变化进而实现增益可调,编程思路为:

主函数内对键盘扫描完成滑动端档位的赋值,并通过确认键进入软件中断函数更新数字电位器滑动端计数值(WCR)从而引起阻值变化并刷新液晶显示,本设计软件编程中中断函数采用边沿触发方式方便控制单元单片机与数字电位器间模拟IIC通信。

3.2IIC总线驱动程序设计

X9241W采用标准II串行总线接口,控制模块单片机与数字电位器间采用模拟IIC通信进而控制增益放大模块反馈电阻阻值的变化。

SDA和SCL在电气连接上必须加以上拉电阻接正电源,使得总线处于空闲状态时,时钟线和数据线都处于高电平状态。

IIC每一根线路(SDA和SCL)进入器件后,内部都接有输入/输出两部分,输入部分的输入阻抗很高,可以不用理会其对线路的影响,但输出部分则必须是漏极开路的结构,因为漏极开路输出结构有如下特点:

当拉低它时,它的输出为0;

当抬高它时,输出端相当于与芯片“断开”,输出电平由外部的与上拉电阻所连接的高电平决定,而与器件的电源电压无关。

IIC总线驱动程序的软件编程是以X9241读写时序为基础的,也即对数字电位器的编程控制主要体现在IIC总线驱动的程序控制上的,软件编程时主要包含开始条件、发送应答子函数、接收应答子函数、向IIC总线发送单个字节数据、从IIC总线接收单个字节数据、以及连续读取X9241内部数据的函数。

在程序编写时,每更新一次滑动端计数寄存器(WCR)的值都需要调用开始条件子函数、发送器件型号及地址的子函数、写入数据的子函数、发送数字电位器电阻中间值VR0的子函数以及结束条件的子函数,X9241数字电位器内部4个电位器在编程时每个电位器地址以及读写滑动端计数寄存器(WCR)时的语句各不相同,由于X9241数字电位器内部4个电位器全部被用到,这也为程序的编写与实现增加了难度,因此对设备地址的设置是程序编写及硬件电路连接的难点和易错点,另外单片机与数字电位器模拟IIC通信时开始条件、发送数据、返回应答和结束条件间数据位与时钟信号传输的时间间隔问题也是本设计的难点。

故本节主要分析IIC总线驱动程序设计思路,控制单元STC89S52单片机与数字电位器间采用的模拟IIC通信驱动程序设计流程图参见图3-2:

图3-2IIC总线驱动程序流程图

3.3LCD1602显示模块程序设计

根据第二章对液晶显示模块的介绍,液晶显示屏以其小体积、微功耗、显示内容丰富、超薄轻巧的诸多优点而应用广泛。

本设计主要利用STC89S52控制液晶显示屏显示其增益值,从编程难易程度与成本方面综合考虑,我们选取了LCD1602来实现,图4-3为程控增益放大器液晶显示模块程序设计原理框图:

图3-3液晶显示模块程序流程图

本模块对液晶显示部分的程序实现主要是通过对键盘扫描来实现数字电位器的赋值,每经过一次增益值的写入随后将更新一次液晶显示值,要显示字符时需要先输入显示字符地址,LCD1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

液晶显示模块的软件编程,主要包含判忙函数、写入命令函数、写入数据函数、写入字符串函数以及液晶显示屏的初始化函数等,这两段代码的分别是写入数据函数和液晶显示增益值的子函数,在编程过程中值得注意的是在对增益值进行数据显示时需要对其进行位数转换逐一显示,在本设计中我们显示了两部分内容,分别为按键提示信息和开关键盘键入的增益值,界面简洁直观,操作便捷。

四、系统测试及结果分析

4.1系统测试数据

本设计对程控增益放大器的设计根据不同模块测试,主要有X9241W数字电位器内部4个电位器每个档位变化的电阻值以及电源模块和增益放大模块信号输出作为测试点,各测试点理论值和实际测量值参见表4-1至表4-3。

表4-1数字电位器各档位对应电阻理论值及实际测量值

各档位对应X9241W电阻值

滑动臂位置

电阻值(欧姆)

理论值

实际值

22

3486

3486.7

44

6952

6943.2

1

158

160.2

23

3634

3636.3

45

7110

7101.2

2

316

317.9

24

3792

3790.1

46

7268

7259.2

3

474

476.4

25

3950

3947.2

47

7426

7418.7

4

632

633.8

26

4108

4108.7

48

7584

7579.8

5

790

791.9

27

4266

4261.5

49

7742

7730.6

6

948

949.7

28

4424

4423.1

50

7900

7989.4

7

1106

1107.8

29

4582

4580.1

51

8058

8049.9

8

1264

1265.3

30

4740

4745.7

52

8216

8208.6

9

1422

1423.5

31

4898

4895.5

53

8374

8367.0

10

1580

1581.1

32

5056

5050.1

54

8532

8525.4

11

1738

1738.5

33

5214

5208.2

55

8690

8680.1

12

1896

1896.5

34

5372

5366.3

56

8848

8836.5

13

2054

2054.3

35

5530

5522.9

57

9006

8993.9

14

2222

2222.7

36

5688

5680.3

58

9164

9158.7

15

2380

2380.5

37

5846

5838.2

59

9322

9312.7

16

2538

2538.7

38

6004

5993.7

60

9480

9471.5

17

2696

2697.1

39

6162

6158.1

61

9638

9630.9

18

2854

2854.6

40

6320

6312.4

62

9796

9786.3

19

3012

3012.7

41

6478

6469.2

63

9954

9936.1

20

3170

3171.8

42

6636

6628.7

21

3328

3328.6

43

6794

6787.4

表4-2程控增益放大器理论输出与实际输出值

输入信号为10mV时理论输出与实际输出

液晶显示增益

增益放大后输出值(mV)

对应放大倍数

10.00

1.000

280

20.01

2.001

290

30.00

3.000

300

40.00

4.00

310

50.00

5.00

320

60.05

6.00

330

329

32.9

70

70.06

7.006

340

339

33.9

80

80.09

8.009

350

349

34.9

90

90.18

9.018

360

359

35.9

100

100.18

10.018

370

369

36.9

110

110.18

11.018

380

379

37.9

120

120.18

12.018

390

389

38.9

130

130.13

13.013

400

140

140.13

14.013

410

150

150.13

15.013

420

419

41.9

160

160.24

16.024

430

429

42.9

170

170.24

17.024

440

439

43.9

180

180.30

18.030

450

190

190.41

19.041

460

459

45.9

200

199.68

19.968

470

469

46.9

210

480

220

490

230

500

各测试点理论值与实际测量值

测试点

+12V测试点

12V

-12V测试点

-12V

+5V测试点

5V

4.99V

表4-3电源模块各测试点理论值及实际测量值

图4-1X9241数字电位器阻值变化规律图

图4-2程控增益放大器增益变化曲线图

结果分析:

由上述结果分析,电源模块主要产生+12V、-12V及+5V电压为程控增益放大器的增益放大模块、电路控制模块和液晶显示模块从而保证其正常工作,根据测量结果,电源部分满足设计要求。

根据各档位对应X9241W电阻值的测量数据,测试数据跟理论值存在一定误差,当然这是由于器件本身局限性造成并且不可能消除的,因为X9241数字电位器内部四个电位器包含63个电阻共64个档位值,因此X9241数字电位器内部每个电位器的分辨力达1/63,X9241W规格数字电位器内部包含4个10千欧阻值的电位器,因此每个电位器里面63个电阻每个阻值约为158.7欧姆(103/63=158.73),每个电位器阻值不是整数倍,这也是引起电路误差的一个重要因素,此外小信号在增益放大倍数小的时候,由于增益放大模块反相端电阻固定仅通过改变反馈电阻来调节增益变化,这就使得增益值在增益变化两端成非线性变化,比如说当放大倍数偏小的时候跟电阻值的偏差联系很大从而造成精度上的偏差。

在实际应用中,我们可以添加外接电路对其进行非线性补偿从而尽可能的使得程控增益放大器的增益值在一定区域能成线性变化,因课题时间安排有限,故仅作参考方案并为实际实施。

根据实际测试数据以及理论值的对比可知,本设计满足课题要求,实现了增益变化范围1-50倍增益步进为1数控可调的功能。

4.2实物图展示

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1