智能信号发生器设计论文

更新时间:2024-05-10 05:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业设计(论文)

题 目 学生姓名 专业班级 学 号 院 (系)指导教师 完成时间

基于单片机的信号发生器设计

基于单片机的智能信号发生器设计

基于单片机的智能信号发生器设计

摘 要

本文所设计的系统是利用STC89C51单片机和数模转换器件DAC0832产生所需不同信号的低频信号源,即采用STC89C51 单片机作为控制核心,而在外围采用数字/模拟转换电路(DAC0832)、运放电路(LM358)、按键和LCD液晶显示电路等,通过按键可控制产生方波、锯齿波、三角波、正弦波,同时用LCD液晶显示对应的波形输出。

文中简要介绍了DAC0832数模转换器的结构原理和使用方法,单片机STC89C51的基础理论,以及与电路设计有关的各种芯片,并着重介绍了利用单片机控制D/A转换器产生上述信号的硬件电路设计和软件编程。

本文所设计的系统设计简单、性能优良、性价比高,可用于多种需要低频信号源的场所,具有一定的实用性。

关键词 单片机 信号发生器 D/A转换 运算放大

I

基于单片机的智能信号发生器设计

Design of intelligent signal generator based on single chip

ABSTRACT

This article by design of system is using STC89C51 single tablets machine and array die conversion devices DAC0832 produced by required different signal of low frequency signal source, is used STC89C51 single tablets machine as control core, and in perimeter used digital/simulation conversion circuit (DAC0832), and operational amplifiercircuit (LM358), and press and LCD display lamp circuit,, by press can control produced square, and sawtooth wave, and triangle wave, and sine wave, while with LCD display lamp indicates corresponds of waveform output.

Brief introduction of DAC0832 in the text structure and the use method of digital-analog converter, basic theory of single-chip microcomputer STC89C51, and chip and circuit design, and focus on using d/a converter producing such signals on single chip microcomputer design of hardware circuit and software programming.

This simple system designed by design, excellent performance, cost-effective, places with low frequency signal source can be used for a variety of needs, with a certain degree of practicality.

Key words The single chip computer The signal generator D/ A conversion Operational amplifier

II

基于单片机的智能信号发生器设计

目 录

中文摘要 ............................................................................................................................. I 英文摘要 ........................................................................................................................... II 1 绪 论 ............................................................................................................................... 1 2 系统设计 ........................................................................................................................ 3

2.1 系统方案的选择 ............................................................................................. 3 2.2 控制芯片的选择 ............................................................................................. 3 3 系统硬件设计 .............................................................................................................. 4

3.1 基本原理 ........................................................................................................... 4 3.2 单片机介绍及资源分配 ............................................................................... 4

3.2.1 单片机的介绍 ........................................................................................... 4 3.2.2 资源分配 ................................................................................................... 9

3.3 各部分电路原理 ............................................................................................. 9

3.3.1 键盘电路原理 ........................................................................................... 9 3.3.2 LCD显示电路原理 .................................................................................. 11 3.3.3 DAC0832芯片原理 .................................................................................. 13 3.3.4 LM358工作原理 ...................................................................................... 16

4 系统软件设计 ............................................................................................................ 18

4.1 主程序流程图 ................................................................................................ 18 4.2 子程序流程图 ................................................................................................ 19 5 测试结果 ...................................................................................................................... 24 6 结论 ............................................................................................................................... 26 致 谢 ............................................................................................................................... 27 参考文献 .......................................................................................................................... 28 附录A 元件清单 ........................................................................................................... 29 附录B 电路原理图 ...................................................................................................... 30 附录C 仿真图 ................................................................................................................ 31 附录D 程序清单 ........................................................................................................... 31

基于单片机的智能信号发生器设计

1 绪 论

波形发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。

波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换和频率稳定性高等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、震动激励、通讯和仪器仪表领域。

在 70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点。

在 70 年代后,微处理器的出现,可以利用处理器、A/D/和 D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对 DAC的程序控制,就可以得到各种简单的波形。[1]

当今是科学技术及仪器设备高度智能化飞速发展的信息社会,电子技术的进步,给人们带来了根本性的转变,在现代电子领域中,单片机的应用正在不断的走向深入,这必将带来一场仪器设备高度智能化的全面革命。随着集成电路的迅速发展,用集成电路可很方便地构成各种信号波形发生器,而用集成电路实现的信号波形发生器与其它信号波形发生器相比,其波形质量、幅度和频率稳定性等性能指标,都有了很大的提高,特别是单片机应用技术的不断成熟,导致传统控制与检测技术的快速革新。单片机构成的仪器具有高可靠性、高性能价格比,在智能仪表系统和办公自动化等诸多领域中得以极为广泛的应用,特别是在电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域处处可以看见它的应用。[2]

一块单片机芯片就是一台微型计算机,在某些应用领域中,它能够承担大中型计算机和通用微型计算机无法完成的一些工作。单片机之所以能够在各个领域中都得到如此迅猛的发展,主要是因为它具有很多显著的优点和特点,归纳起来有以下几方面:

1. 具有优异的性能价格比:单片机尽可能地把应用所需的存储器,各种功能的I/O 接口集成在一块芯片内,因而其性能很高,而价格却相对较低廉,即性能价格比很

1

基于单片机的智能信号发生器设计

电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能

P3.0 RXD(串行输入通道) P3.1 TXD(串行输出通道) P3.2 /INT0(外中断0) P3.3 /INT1(外中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)[5]

(3)STC89C51的晶振及其连接方法 CPU工作时都必须有一个时钟脉冲。有两种方式可以向89C51提供时钟脉冲:一是外部时钟方式,即使用外部电路向89C51提供时钟脉冲,见图3-3(a);二是内部时钟方式,即使用晶振由89C51内部电路产生时钟脉冲。一般常用第二种方法,其电路见图3-3(b)。

89C51 XTAL2 XTAL1 89C51 XTAL2 XTAL1 悬空

C1 J C2 外部时钟信号

(a)外部时钟方式

图3-3 89C51的时钟脉冲

(b)内部时钟方式

J一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。一般来说,使用石英晶体时,C1=C2=30pF。使用陶瓷滤波器时,C1=C2=47pF。

(4)STC89C51的复位 复位是单片机的初始化操作,其主要的作用是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之

7

基于单片机的智能信号发生器设计

外,当由于程序运行出错或操作失误使系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。除使PC归零外,复位操作还对其他一些专用寄存器有影响,它们的复位状态如表所示:

表3-2 复位后的内部寄存器状态

寄存器 PC ACC B PSW SP DPTR P0-P3 IP IE 复位状态 0000H 00H 00H 00H 07H 0000H 0FFH (xxx00000) (0xx00000) 寄存器 TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON 复位状态 00H 00H 00H 00H 00H 00H 00H (xxxxxxxx) (0xxx0000) 另外,复位操作还对单片机的个别引脚有影响,例如会把ALE和/PSEN变成无效状态,即使ALE=0,/PSEN=1。RST变成低电平后,退出复位状态,CPU从初始状态开始工作。[6]

89C51复位操作有3种方式:上电复位、上电按钮复位和系统复位。上电复位电路如图3-4所示。对于CMOS型单片机因RST引脚的内部有一个拉低电阻,故电阻R可不接。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效地复位。当晶体振荡频率为12MHz时,RC的典型值为C=10uF,R=8.2K欧姆。简单复位电路中,干扰信号易串入复位端,可能会引起内部某些寄存器错误复位,这时可在RST引脚上接一去耦电容。

通常因为系统运行等的需要,常常需要人工按钮复位,复位电路如图3-5所示,其中R2>>R1,只需将一个常开按钮开关并联于上电复位电路,按下开关一定时间就能使RST引脚端为高电平,从而使单片机复位。[7]

8

基于单片机的智能信号发生器设计

+5V

C R RST 89S52 C +5V RST 89S52 R1 R2

图3-4 上电复位电路 图3-5 上电按钮复位电路

3.2.2 资源分配

P1口的P1.0-P1.3分别与四个按键连接,分别控制锯齿波、三角波、正弦波和方波,P1.4-P1.7与四个发光二极管相连,按键一对应发光二极管一,依次类推,发光二极管四对应按键四,实现输出一个波形对应亮一个灯。其中晶振采用12MHZ。

P0口与DAC0832的DI0-DI7数据输入端相连。

P2口用来控制DAC0832的输入寄存器选择信号/CS和数据传送信号/XFER。

3.3 各部分电路原理

3.3.1 键盘电路原理

在单片机应用系统中为了控制系统的工作状态,以及向系统输入数据,应用系统应设有按键或键盘,实现简单的人机会话。键盘是一组按键的组合,键通常是一种常开型按钮开关,平时键的两个出点处于断开状态,按下键时他们才闭合。从键盘的结构来分类,键盘可以分为独立式和矩阵式两类,每一类按其识别方法又都可以分为编码和未编码键盘两种。键盘上闭合键的识别由专门的硬件译码器实现并产生编号或键值的称为编码键盘,由软件识别的称未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘,我这里也使用未编码键盘。未编码键盘又分为独立式键盘跟矩阵式键盘。

(1)独立式未编码键盘结构的工作原理及接口 在单片机应用系统中常常需要用简单的几个键完成数据、命令的输入,此时可采用独立式键盘的结构。其接口如图3-6所示。此接口电路的工作原理很简单,无键按下时,各输入线为高电平;有键按下时,相应的输入线为低电平,CPU查询此输入口的状态就可知是哪个键闭合。采用

9

基于单片机的智能信号发生器设计

一键一线的方法,当按键的数目增加时,将增加输入口的数量,为了减少占用输入线数,可采用矩阵式结构的键盘。

+5V

图3-6 独立式未编码键盘

(2)矩阵式未编码键盘结构的工作原理 如图3-7所示是4*4的键盘接口,它是矩阵式的结构。图中键盘的行线(X0~X3)与列线(Y0~Y3)的交叉处通过一个按键来联通,行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,则行线都呈高电平。当键盘上某一个键闭合时,则该键所对应的行线和列线被短路。例如:6号键被按下闭合时,行线X1和列线Y2被短路,此时X1的电平由Y2的电位所决定。如果把行线接到单片机的输入口,列线接到单片机的输出口,则在单片机的控制下,先使列线Y0为低电平,其余三根列线Y1、Y2、Y3都为高电平,读行线状态。如果X0、X1、X2、X3、都为高电平,则Y0这一列上没有键合。如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态。如果Y0这一列上没有键合,接着使列线Y1为低电平,其余列线为高电平,用同样方法检查Y1这一列上有无键闭合。依此类推,最后使列线Y3为低电平,其余的列线为高电平,检查Y3这一列上是否有键闭合。这种逐行逐列地检查键盘状态的过程称为对键盘的一次扫描。CPU对键盘扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘;也可以采取定时控制方式,每隔一定时间,CPU对键盘扫描一次,CPU可随时响应键盘输入请求;还可以采用中断方式,当键盘上有键闭合时,向CPU请求中断,CPU响应键盘输入中断,对键盘扫描,以识别哪一个键处于闭合状态,并对键输入信息作出相应处理。CPU对键盘上闭合键的键号确定,可以根据行线和列线的状态计算求得,也可以根据行线和列线状态查表求得。[8]

10

基于单片机的智能信号发生器设计

12 X3

8 X2

4 X1

0 X0

13 14 15 9 10 11 +5V 5 6 7 1 2 3 Y0 Y1 Y2 Y3

图3-7 4*4矩阵式未编码键盘结构图

根据设计的电路特点,只需要用到4个按钮来选择波形,实现的功能也比较简单,所以采用独立式未编码键盘结构。键盘原理图如图3-8所示。

ABC423K11423K21423K3142D3K41 图3-8 键盘原理图

3.3.2 LCD显示电路原理

液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。在本设计采用的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。1602采用标准的16脚接口,其中:

第3脚:VEE为液晶显示器对比度调整端;

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器; 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令; 第7~14脚:D0~D7为8位双向数据线; 第15~16脚:空脚。

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表2是DM-162的内部显示地址。

表2 1602的内部显示地址

11

基于单片机的智能信号发生器设计

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 序号 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 第一行 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 第二行 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。 在软件中设置温度的代码是:30.0℃(00110011B,00110000B,00101110B, 00110000B,01000011B);37.0℃(00110011B,00110111B,00101110B,00110000B, 01000011B);60℃(00110110B,00110000B,01000011B)。

在液显电路连接上,LCD1602显示模块可以直接和单片机AT89C51直接接口,液晶显示的D0~D7八个双向端口接AT89C51单片机的P0口的P0.0~P0.7,单片机的P0口可以作为通用的输入,输出端口使用,此时,若要驱动NMOS或其他拉电流负载时,需外接上拉电阻,才能使该位高电平有效,所以中间接10K的排阻,来决定显示器高低点位,是否要显示。

由于VEE端接电源时接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,对比度过低会使屏幕模糊不清,所以使用时可以通过一个10K的电位器来调整它的对比度。LCD1602的RS寄存器选择端口接单片机的P2.5口,通过软件程序中对此端口的设置来决定选择的寄存器。液显的RW端口直接接单片机的P2.6口,高电平时进行对输入的数字信号进行读数。使能E端接单片机的P2.7口,使能端由高电平到低电平时开始执行命令,把读数显示出来。

LCDLCD显示电路原理图如图3—9: 1602 VCCGNDVCCV0RSR/WEND0D1D2D3D4D5D6D7R11k12P2734P2556D07D18D2910D3D411D51213D6D7141516VCCVCCAK

R210k

12

基于单片机的智能信号发生器设计

3.3.3 DAC0832芯片原理

管脚功能介绍如图3-10所示:

VCCC4104R5100U2Iout1Iout2RfbVref1112920C5104R4100OUT8GNDGND19182lsbDI0DI1DI2DI3DI4DI5DI6msbDI7CSXfer765416151413117P10P11P12P13P14P15P16P17ILEWR2WR1DAC0832

图3-10 DAC0832管脚图

310Vcc DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

DAC0832的主要特性参数如下: 分辨率为8位; 电流稳定时间1us;

可单缓冲、双缓冲或直接数字输入; 只需在满量程下调整其线性度; 单一电源供电(+5V~+15V); 低功耗,仅需要200mW。

DI7~DI0:8位的数据输入端,DI7为最高位。 ILE:数据锁存允许控制信号输入线,高电平有效。 /CS:选片信号输入线(选通数据锁存器),低电平有效。

/WR1:数据锁存器写选选通输入线,负脉冲有效,由ILE、/CS、/WR1的逻辑组

13

基于单片机的智能信号发生器设计

合产生/LE1,当/LE1为高电平时,数据锁存器状态随输入数据线变化,/LE1的负跳变时将输入数据锁存。

/XFER:数据传输控制信号输入线,低电平有效,负脉冲有效。

/WR2:DAC寄存器选通输入线,负脉冲有效,由/WR2、/XFER的逻辑组合产生/LE2,当/LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,/LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

Iout1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。

Iout2:模拟电流输出端2,Iout1与Iout2的和为一个常数,即Iout1+Iout2=常数。

RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。

VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~-10)V。VREF端与D/A内部T形电阻网络相连。

Vcc:芯片供电电压,范围为(+5~+15)V。 AGND:模拟量地,即模拟电路接地端。 DGND:数字量地。

DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及输入控制电路四部分组成。8 位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,由加以控制;8位DAC寄存器用于存放待转换的数字量,由加以控制;8位D/A转换器输出与数字量成正比的模拟电流;由与门、非与门组成的输入控制电路来控制2个寄存器的选通或锁存状态[10]。原理框图如图3-11所示:

14

基于单片机的智能信号发生器设计

(MSB)DI7DI6DI5DI4DI3DI2DI1DI0(LSB)ILECSWR1XFERWR2DQDQ 8? DAC转换器RfbIOUT1IOUT2AGNDVREFDGNDVCC 8位 输入寄存器DQLE1 8? DAC???DQLE2当LE=1时,输出数据随输入变化。当LE=0时,输出数据被锁存。? 3-3 DAC0832???????

图3-11 DAC0832原理框图

当/WR2和/XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是输入寄存器Q端的电平变化;反之,当端为低电平“0”时,第一级8位输入寄存器Q端的状态则锁存到第二级8位DAC寄存器中,以便第三级8位DAC转换器进行D/A转换。

一般情况下为了简化接口电路,可以把/WR2和/XFER直接接地,使第二级8位DAC寄存器的输入端到输出端直通,只有第一级8位输入寄存器置成可选通、可锁存的单缓冲输入方式。 特殊情况下可采用双缓冲输入方式,即把两个寄存器都分别接成受控方式。

制作低频信号发生器有许多方案:主要有单缓冲方式,双缓冲方式和直通方式。 单缓冲方式具有适用于只有一路模拟信号输出或几路模拟信号非同步输出的情形,电路线路连接比较简单。而双缓冲方式适用于在需要同时输出几路模拟信号的场合,每一路模拟量输出需一片DAC0832芯片,构成多个DAC0832同步输出电路,程序简单化,但是电路线路连接比较复杂。根据以上分析,本设计选择了单缓冲方式,此种方式使用方便,程序简单,易操作。[12]

这里采用DAC0832与单片机89C51的典型的单缓冲方式接口电路。ILE接高电平,/WR1和/WR2相连后接89C51的/WR,/CS和/XFER相连后接89C51的地址高位,这样就同时片选了DAC0832的数据锁存器和DAC寄存器,89C51对DAC0832执行一次写操作就把一个数据写入数据锁存器的同时也直接写入到了DAC寄存器,模拟量输出随之变化。

DAC0832与反相比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为

15

基于单片机的智能信号发生器设计

Vout1=-Vref×(数字码/256)

DAC0832内部的8位D/A转换电路由8位T型电阻网络和电子开关组成,电子开

关受8位DAC寄存器输出的数字量控制,T型电阻网络能输出和数字量成正比的模拟电流。因此,DAC0832通常需要外接运算放大器,进行电流电压转换,才能得到模拟输出电压。

当输入到DAC0832的数字量最高位为1时,则输出的模拟电压为正;当输入到DAC0832的数字量最高位为0时,则输出的模拟电压为负,从而实现了模拟电压的双极性输出。

3.3.4 LM358工作原理

LM358管脚排列如下图所示:

U1OUT1IN1-IN1+GNDVCCOUT2IN2-IN2+8765

1234LM358图3-13 LM358管脚图

LM358是双运放集成电路 ,它采用8脚双列直插塑料封袋,外形如上图所示。它的内部包含两组形式完全相同的运算放大器,除电源共用外,两组运放相互独立。每一组运算放大器可用图中所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“OUT”为输出端。两个信号输入端中,“-”为反相输入端,表示运放输出端OUT的信号与该输入端的为相反;“+”为同相输入端,表示运放输出端OUT的信号与输入端的相位相同。由于LM358双运放电路具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点,因此被广泛应用在各种电路中。 特性:

● 低输入偏流 ● 内部频率补偿

● 直流电压增益高(约100dB) ● 单位增益频带宽(约1MHz)

16

基于单片机的智能信号发生器设计

开始 A=00H A送到0832输出 延时 A=FFH A送到0832输出 延时

图4-5 方波程序流程图

方波产生是当A中的内容为0时,输出对应模拟量,然后延时,当A中的内容为0FFH时,同样输出对应模拟量,再延时,从而得到方波。

方波产生子程序如下:

uchar code juxing[64]={

255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,

255,255,255,255,255,255,255,255,

255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0

};

22

基于单片机的智能信号发生器设计

延时子程序流程图如图4-6所示

开始 R6赋初值 R7赋初值 R7减1,R7是否 为0? Y N N R6减1,R6是否 为0? Y 返回 图4-6 延时子程序流程图

延时程序如下:

void delay(uint xms) //延时函数 {

int a,b;

for(a=xms;a>0;a--) for(b=110;b>0;b--);

}方波的上限和下限的延时时间为:3ms S=1+(1+1+2×256+2)×7=3612μS

23

基于单片机的智能信号发生器设计

5 测试结果

在确定编程思路并将各部分的程序及各子程序编好,就可以对本文所设计的硬件电路和系统软件进行总体测试了。本文调试软件采用的是Keil51,它是众多单片机应用开发软件中优秀软件之一,界面友好,易写易操作。程序在Keil51软件中调试完毕后,会自动生成.hex文件,再通过编程器下载到STC89C51中,然后直接加载到protues软件电路中进行仿真,即可得到测试结果。

当按键1拨下时,波形为锯齿波,同时指示灯1发光。仿真图如图5-1所示:

图5-1 锯齿波仿真图

当按键2拨下时,波形为三角波,同时指示灯2发光。仿真图如图5-2所示:

图5-2 三角波仿真图

24

基于单片机的智能信号发生器设计

当按键3拨下时,波形为正弦波,同时指示灯3发光。仿真图如图5-3所示:

图5-3 正弦波仿真图

当按键4拨下时,波行为方波,同时指示灯4发光。仿真图如图5-4所示:

图5-4 方波仿真图

在对系统进行波形仿真时可以在protues软件的虚拟示波器上观察到锯齿波、三角波、正弦波和方波的波形,仿真得到的波形较为理想。从而可得到以下结论:本文设计的硬件电路和系统软件均能满足此次设计的要求。

25

基于单片机的智能信号发生器设计

6 结论

基于单片机的智能信号发生器的设计这个课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。关键是这个实际系统设计的过程,在整个过程中我可以充分发挥单片机知识,特别是这个信号发生器的设计中涉及到一个典型的控制过程,即通过单片机STC89C51控制一个模数转换器DAC0832产生所需要的电流,然后使用两个运算放大器LM358将其电流输出线性地转换成电压输出,通过程序的控制,可以产生一系列有规律的波形。这样的一个信号发生装置在控制领域中有相当广泛的应用范围。

此设计方案硬件较为简单,主要是由单片机STC89C51跟DAC0832两个芯片构成,连线也较简便。键盘电路使用的是独立未编码结构,一个键控制一个波形。显示电路主要是由发光二极管构成,利用发光二极管的导通即发光的特性来显示是哪个波形的输出,简单易懂。软件程序方面较为复杂一点,此方案主要是靠程序的控制,由四个波形产生的子程序加上有承上启下作用的主程序构成,外加能够改变各波形频率的延时子程序的调用,程序设计思路还是比较清晰的。其中正弦波的程序最为繁琐,因为是通过查表指令产生的,所以要列出一个含有较多字符的表格。但总体设计结果还是相当令人满意的,硬件电路和软件程序都能满足本设计的各方面要求,且具有电路简单、易控制、性价比较高等优点。

当然本设计还是存在一些不足之处,比如在程序设计中如何实现程序结构的最优化以达到较高的质量,显示电路以及键盘电路都有待进一步改进。

26

基于单片机的智能信号发生器设计

致 谢

本文从选题的确定,论文的写作、修改到最后定稿得到了我的指导老师闫艳霞老师的悉心指导。特别是她多次询问写作进程,并为我指点迷津,帮助我开拓思路,精心点拨,热忱鼓励。她严肃的教学态度,严谨的治学精神,精益求精的工作作风深深地感染和激励着我。在此,谨向闫艳霞老师致以诚挚的谢意和崇高的敬意。

同时,论文的顺利完成,还离不开其它各位老师、同学和朋友的关心与帮助。在整个论文的写作过程中,各位老师、同学和朋友积极的帮助我查资料和提供有利于论文写作的建议和意见,在他们的帮助下,论文得以不断的完善,最终帮助我顺利的写完了整个论文。

再次衷心地感谢所有在我论文写作过程中给予过我帮助的人们,谢谢!

27

基于单片机的智能信号发生器设计

参考文献

【1】杨恢先,黄辉先.单片机原理及应用[M].人民邮电出版社,2006. 【2】曾一江.单片机微机原理与接口技术[M].科学出版社,2006. 【3】康华光,陈大钦.电子技术基础[M].高等教育出版社,1998.

【4】穆 兰.单片微型机计算机原理及接口技术[M].北京机械工业出版社 【5】张毅刚,等.MCS-51单片机应用设计[M].哈尔滨工业大学出版社 【6】蒋智勇,等.单片微型计算机原理及应用[M].沈阳辽宁科学技术出版社

【7】何立民.单片及应用文集(1)[M].北京航天航空大学出版社李华.MCS-51系列单片机实用

接口技术[M].

【8】何立民.单片机应用技术选编[M]. 【9】阎石.模拟电子技术基础[M].

【10】张洪润,易涛.单片机应用技术教程[M].清华大学出版社.

【11】刘乐善, 欧阳星明, 刘学清.微型计算机接口技术及应用[M].华中科技大学出版社. 【12】A. Micha3kiewicz, M. Kujawi?ska, R. Lymarenko, O.Budnyk, X. Wang, and P.J. Bos,

“Simulation, registrationand reconstruction of digital holograms of arbitrary objects by means of liquid crystal on silicon spatial light modula-tor”, Proc. SPIE 5947, 131–139 (2005).

【13】 I. Yamaguchi, S. Ohta, and J. Kato, “Surface contouring by phase-shifting digital holography”,

Opt. Lasers Eng. 36,417–428 (2001)1.

【14】 P. Ferraro, L. Miccio , S. Grilli, M. Paturzo, S. De Nicola,A. Finizio, R. Osellame, and P.

Laporta, “Quantitativephase microscopy of microstructures with extended mea-surement range and correction of chromatic aberrations bymultiwavelength digital holography”, Opt. Express 15,14591–14600 (2007).

【15】 Y. Emery, E. Cuche, F. Marquet, N. Aspert, P. Marquet, J.Kühn, M. Botkine, T. Colomb, F.

Montfort, F. Charri'ere, C.Depeursinge, P. Debergh, and R. Conde, “Digital holo-graphic microscopy (DHM) for metrology and dynamiccharacterization of MEMS and MOEMS”, Proc. SPIE 6186,N1860–N1860 (2006).

【16】 W. Osten, E. Kolenovic, R. Kalttenhoff, and N. Kopp, “Anoptimal interferometer for 3D

digital endoscopy”, Proc.SPIE 5144, 159–161 (2003).

【17】 T.A. Saucedo, F.M. Santoyo, M. De la Torre Ibarra, G.Pedrini, and W. Osten, “Simultaneous

two-dimensionalendoscopic pulsed digital holography for evaluation of dynamic displacements”, Appl. Optics 45, 4534–4539(2006).

28

基于单片机的智能信号发生器设计

附录A 元件清单

1) 9*15万用板 2) STC89C52单片机 3) DAC0832芯片 4) LM358芯片 5) 8脚IC座 6) 20脚IC座 7) 40脚IC座 8) 1602液晶 9) 16p母座 10) 16p排针 11) 4p排针 12) 103电位器 13) 10k电阻*2 14) 2.2k电阻*3 15) 100欧姆电阻*2 16) 220欧姆电阻 17) 1k电阻*2 18) 103排阻(10k) 19) 按键*5

20) 5mmLED(红、黄、绿、雾白)*4 21) 10uf电解电容 22) 30pf瓷片电容*2 23) 12M晶振 24) 104独石电容*2 25) 自锁开关 26) DC电源插口 27) 导线若干 28) 焊锡若干

29) USB电源线或电池盒

29

VCC10kVCCC1+10uFR310310K(AD0)P0.0(AD1)P0.1(AD2)P0.2(AD3VC)PC0.3(AD4)P0.4(AD5)P0.5(AD6)P0.6(AD7)P0.7D1附录B 电路原理图

REDR42K0RESETR72.2K31P10P11P12P13P14P15P16P1712345678910D0D1D2D3D4D5D6D7123456789VCCD2REDYR82.2KD3REDGP1.0P1.1P1.2P1.3P1.41.05(RXD)P31.16TXD)PP33.2((INT0)ALE/PROGP1.EA/VPPP3.73(INT1)RST(A15)P2.7(A14)P2.6P3.4(T0)(A13PE2.5P)SNP3.5(T1)(A12)P2.4P3.6(WR)(A11)P2.3P3.7(RD)(A10)P2.2P27P26XTAL2XTAL1GND(A9)P2.1(A8)P2.0R9220D4REDWR102.2KVCCY1C230pf12MHz42AJ1C330pfU389C51/C52K1K2K3K4111213141516171819204039383736353433323130292827262524232221波形输出21LM35812343K1142VCCBC5C4104104U1OUT1IN1-IN1+GNDVCCOUT2IN2-IN2+ 基于单片机的智能信号发生器设计

30

R5R41001003K21R11kOUT8421918291112CU2RfbVrefIout1Iout2ILEWR2WR1VCCDAC08323K31VCC8765OUTR61KVCCGNDVCCV0R/SRWR210kRT1103LCD16022GND310DCSXfer117Vcc20GNDP1423K4131POWERlsbDI0DI1DI2DI3DI4DI5DI6msbDI7765416151413P10P11P12P13P14P15P16P17END0D1D2D3D4D5D6D7S1VCC12P2734P2556D07D18D2910D3D411D51213D6D7141516AKVCC246246135135 基于单片机的智能信号发生器设计

附录C 仿真图

31

本文来源:https://www.bwwdw.com/article/k4rg.html

Top