信号发生器电路设计 毕业设计论文 河南科技大学.docx

上传人:b****4 文档编号:4381611 上传时间:2023-05-07 格式:DOCX 页数:48 大小:498.08KB
下载 相关 举报
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第1页
第1页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第2页
第2页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第3页
第3页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第4页
第4页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第5页
第5页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第6页
第6页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第7页
第7页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第8页
第8页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第9页
第9页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第10页
第10页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第11页
第11页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第12页
第12页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第13页
第13页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第14页
第14页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第15页
第15页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第16页
第16页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第17页
第17页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第18页
第18页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第19页
第19页 / 共48页
信号发生器电路设计 毕业设计论文 河南科技大学.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

信号发生器电路设计 毕业设计论文 河南科技大学.docx

《信号发生器电路设计 毕业设计论文 河南科技大学.docx》由会员分享,可在线阅读,更多相关《信号发生器电路设计 毕业设计论文 河南科技大学.docx(48页珍藏版)》请在冰点文库上搜索。

信号发生器电路设计 毕业设计论文 河南科技大学.docx

信号发生器电路设计毕业设计论文河南科技大学

信号发生器电路设计

摘要

信号发生器,是一种能产生模拟电压信号的设备,是常用的信号源,被广泛应用于电子电路、自动控制系统和教学实验等方面。

由于应用广泛,因此,随着科学技术的发展,对它的要求也越来越高。

本设计以AT89C51单片机为核心构成了一个低频信号发生器,采用程序设计的方法产生频率范围为1~1000Hz的锯齿波、正弦波、矩形波、三角波四种波形的信号,再通过D/A转换器DAC0832将数字信号转换成模拟信号,然后滤波放大,最终由示波器显示出来。

在本设计中,可以通过键盘来控制四种波形的类型选择、频率变化,幅度调节通过变阻器调节。

信号的频率和幅度在一定范围内可任意改变,并能通过液晶屏LCD1602显示其各自的波形类型以及频率值。

系统大致包括信号发生部分、数/模转换部分、键盘控制部分以及液晶显示部分四部分,通过利用Keil软件对系统程序进行逐步调试、利用Proteus软件对系统电路进行仿真测试,逐步实现各个模块的功能,最终将各个模块的功能加以整合,从而满足设计要求,实现了调频、调幅、波形类型的选择、波形类型显示以及显示设定频率的功能。

该信号发生器系统具有体积小、价格低、性能稳定、功能齐全的优点,具有较高的实用价值。

关键词:

信号发生器,AT89C51,D/A转换,键盘,调频,调幅

CIRCUITDESIGNOFSIGNALGENERATOR

 

ABSTRACT

 

Signalgenerator,akindofdevicewhichcanproduceanalogvoltagewaveform,itiswidelyusedinfieldssuchaselectroniccircuit,automaticcontrolsystemsandteachingexperiments.Therefore,withthedevelopmentofscienceandtechnology,thedemandstosignalgeneratorismoreandmorestrictly.

Thisdesigncomposesalowfrequency(LF)signalgeneratorwithAT89C51ascore,byusingprogramdesign,anditcanproducesine,square,triangleandsawtoothwaveforms,thefrequencyrangeofwhichis1~1000Hz,andthenconvertsdigitalsignalsintoanalogsignalsthroughtheD/AconverterDAC0832,thenfilterandamplify,finallydisplayedbytheoscilloscope.Inthisdesign,wecancontrolfrequencyvariationandwhichoneofthefourwaveformstochoosethroughthekeyboard,andwecanrealizeamplitudeadjustmentthroughrheostat.Inacertainrange,thefrequencyandamplitudeofthesignalgeneratedcanbechangedarbitrarilyandwecanseewaveformtypeandfrequencyvaluedisplayedontheLCD1602.

Inrough,thissystemincludesfourpartssuchassignalproducingpart,digital-to-analog(D/A)conversionpart,keyboardcontrolpartandLCDdisplaypart,onehand,wecandebugsystemprogramthroughtheKeilsoftware,ontheotherhand,wecansimulateandtestsystemcircuitthroughtheProteussoftware,andthenrealizethefunctionofeachmoduleofthesystem,eventuallyweintegrateallthefunctionofeachmodule,andmeetthedesignrequirements,functionswerealizedincludeFM(FrequencyModulation),AM(AmplitudeModulation),choosingwaveformtype,displayingwaveformtypeandsettingfrequency.Thissystemofsignalgeneratorsystemhasadvantagesonsmallvolume,lowprice,stableperformance,andfullyfunctions,thissystemhashighpracticalvalue.

 

KEYWORDS:

Signalgenerator,AT89C51,D/Aconversion,Keyboard,FM,AM

 

目 录

前 言

一、课题的意义及目的

信号发生器是基础的通用仪器之一,在许多领域都有广泛的应用。

传统的信号发生器可以由硬件电路搭接而成,但是这种电路存在波形质量差,控制难,可调范围小,电路复杂和体积较大等缺点。

随着便携式和智能化越来越成为仪器的基本要求,对传统仪器的数字化、智能化、集成化也就显得尤为重要。

【1】作为电子技术最根本的硬件基础,信号发生器也需要不断进行改进,以满足现今人们对它日益增长的需要。

在现代电子领域中,单片机的应用正在不断地走向深入,单片机构成的仪器不仅可靠性高、性价比较高、集成度高,而且处理功能强、可靠性较好,而目前广泛使用的是一些标准产品,虽然也有一些优点,但价格较贵,因此,用单片机来实现信号发生器以满足需要的方法是一个不可多得的方法。

二、国内外研究概况

国内外的信号发生器设计方法主要有以下几种:

(1)利用锁相环电路产生振荡来实现。

这类设计电路调试困难,且对阻容元件的参数要求严格;另外,由于阻容元件的稳定性差,其可靠性不高,难于保证精确度,该方案技术相对落后,对信号发生器要求不高时可采用该方案,因此,这种设计方法的应用范围也受到了限制。

(2)利用大规模集成电路来实现。

这种设计性能可靠,能够产生多种波形信号,达到较高频率,但是频率输出信号的波形和频率值的精确度和准确度不高,工作不很稳定,电路较为复杂,不易调试。

(3)利用单片集成芯片实现函数信号发生器。

这种设计能产生多种波形信号,可以达到较高频率,并且能保证输出信号的稳定和较高的精确度,所需的电阻、电容较少,电路也较为简单,易于调试,成本也较低。

(4)利用专用直接数字合成DDS芯片来实现。

该方法能产生任意波形的信号,并能达到很高的频率,产生信号波形的电路可以保证输出信号的频率稳定性,可以方便地调节、预置频率,波形变换方便,频率和波形的切换响应快,无过渡过程,电路结构简单,工作稳定可靠,但成本太高。

三、设计的实现

本课题利用单片机采用程序设计的方法来产生低频信号,不但成本较低而且精度也较高。

只需要通过按键就可以控制和操作仪器、例如:

波形选择、频率调节,波形类型和频率值可以通过液晶显示屏LCD1602显示,操作起来简单、方便、灵活。

通过程序控制单片机来实现相关功能,避免了传统电路搭接中出现的工作不稳定、不易调试等各种问题,使得信号发生器易于控制,提高了信号精度,抗干扰能力强,并且能够对波形进行细微的调整,使其能够满足应用时的要求。

概述

 

§1.1单片机概述

随着微电子技术的不断发展,计算机技术也得到迅速发展,并且由于芯片的集成度的提高而使计算机微型化,出现了单片机,也可称为微控制器MCU。

单片机,即集成在一块芯片上的计算机,继承了中央处理器CPU、只读存储器ROM、定时器/计数器以及I/O接口电路等主要计算机部件。

从1976年9月Intel公司推出MCS-48系列单片机以来,世界上的一些著名的器件公司都纷纷推出各自系列的单片机产品。

各种系列的单片机由于其内部功能、单元组成及指令系统的不尽相同,形成了各具特色的系列产品。

其中Intel公司生产的MCS系列单片机目前仍占主导地位。

以8051为基核推出的各型号的兼容性单片机统称为51系列单片机。

本设计所用的AT89C51就属于51系列单片机。

单片机具有功能强、体积小、成本低、功耗小、配置灵活等特点,因此单片机在工业控制、智能仪表、通信系统、信号处理等领域均得到了广泛应用。

§1.2AT89C51概述

AT89C51是美国ATMEL公司生产的低电压,高性能COMS8位单片机,片内含4KB的可反复擦写的只读程序存储器(PEROM)和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储器制造技术生产,兼容标准MCS-51指令系统。

由于将8位中央处理器(CPU)和Flash存储器组合在单个芯片中,使得AT89C51是一种高效微控制器。

功能强大的AT89C51单片机可以提供许多高性价比的应用场合,可灵活应用于各种控制领域,为很多嵌入式系统提供了一种灵活性高且价格低廉的方案。

本设计所选用的单片机就是AT89C51。

系统设计方案

 

§2.1任务要求及分析

§2.1.1设计任务及要求

本设计的任务及要求如下:

(1)具有产生正弦波、三角波、方波和矩形波四种波形的功能;

(2)输出波形的频率范围为1~1000Hz;

(3)输出波形幅度范围0-5V(峰-峰值),可按步进0.1V(峰-峰值)调整;

(4)通过键盘输入任意频率数值和选择任意波形;

(5)具有显示输出波形的类型、频率(周期)的功能;

(6)精度误差要求达到5%。

§2.1.2任务分析

通过对设计任务及要求进行分析,我们可以对整个系统有一个初步的了解。

本设计主要任务是设计一个基于单片机的信号发生器电路,将各功能模块化,实现四种波形的产生、幅度调节、频率调节、波形类型及频率的显示等功能,另外为了将单片机产生的信号转换成模拟信号,还需要D/A转换电路,并将转换所产生的信号进行整形放大,满足所要求的幅度范围。

§2.2设计思路

§2.2.1系统结构框图

在任务分析中,我们把系统模块化,分为单片机模块、显示模块、数模转换模块和键盘模块四个模块。

将各个模块加以整合,我们得出系统大致的结构框图,如图2-1所示:

图2-1系统结构框图

§2.2.2各功能模块设想

1、单片机模块——负责的功能是正弦波、三角波、方波和矩形波四种波形的产生以及通过对键盘信号进行检测分析完成调频功能,并能发送信号控制显示模块显示波形类型以及频率值。

这一模块功能的实现主要是通过所编写的程序进行控制,是整个设计的核心。

2、显示模块——负责的功能是波形类型以及频率大小的显示,接收来自单片机的控制信号及数据信号,将单片机根据波形类型与频率所产生的信号进行处理后显示出来,实现显示功能。

3、数模转换模块——负责将波形信号从数字信号转换成模拟信号,进而能在示波器上显示出来,以便于通过示波器显示的波形信号来对系统功能进行验证,选择合适的芯片,将单片机的I/O口接入即可实现功能。

4、键盘模块——负责分配用于波形选择、调频的按键,是整个系统的主要输入设备,为了实现调节功能,需要分配多个按键,为了不占用过多的I/O口,可以采用矩阵键盘阵列,合理分配按键,使操作更简洁易懂,增加系统的人机交互功能。

§2.3系统总体方案设计

§2.3.1硬件方案

硬件电路是系统实现的基础,综合设计思路,为了实现所要求的各功能,本设计选择以AT89C51单片机为核心,结合以DAC0832组成的数模转换电路、以LCD1602组成的显示模块、以4I/O口的4×4矩阵键盘组成的键盘模块和以LM324组成的滤波整形放大电路构成系统的硬件电路。

§2.3.2软件方案

软件设计是本设计的核心,需要通过程序设计实现算法,进而实现系统功能。

软件部分主要包括一下几个方面:

1.波形产生:

由于设计要求的误差,因此采用256个采样点,正弦波需要通过读入波码表的方式产生,方波、三角波、锯齿波比较有规律,在程序中通过递加、递减等方式可以实现。

2.键盘部分:

编写程序检测I/O口状态变化,根据某一状态变化确定所按下的按键,将信息返回到单片机内进行处理,设置波形切换、调频所对应的按键,当功能按键按下时执行相应操作。

3.显示部分:

确定要显示信息的位置所对应的地址,在程序中可以改变地址将信息显示在不同的位置,不同的字母对应不同的编码,显示字母时将对应编码发送到显示模块即可。

需要注意的是使用时需要对液晶显示进行初始化处理。

 

系统硬件模块设计

 

§3.1单片机最小系统

§3.1.1复位电路

无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。

复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作,按下复位按钮后,内部的程序自动从头开始执行。

单片机的复位条件为,必须使其RST引脚上持续出现两个及以上机器周期的高电平。

本设计所采用的复位方式为按键复位,复位电路如图3-1所示:

图3-1单片机复位电路

§3.1.2时钟电路

单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。

单片机的时钟信号通常有两种产生方式:

内部振荡方式和外部振荡方式。

本设计所采用的时钟电路为内部振荡方式。

内部振荡方式的电路连接如图3-2所示:

将晶振结合相应大小的电容连接到引脚XTAL1和XTAL2之间,图中C1和C2起稳定振荡频率、快速起振的作用,其电容值一般在5~30pF之间,晶振频率的典型值为12MHz。

内部振荡方式所得的时钟信号比较稳定,实际电路中使用较多。

图3-2内部振荡方式电路图

§3.2显示模块设计

§3.2.1LCD1602介绍

LCD1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块。

LCD1602显示的内容为16×2,即可以显示两行,每行显示16个字符,其内部有160个5×7点阵的字符发生存储器CGROM和8个可由用户自定义的字符发生存储器CGRAM。

§3.2.2LCD1602电路连接

系统的液晶连接如图3-3所示,图中液晶主要管脚介绍如下:

VSS——接地;

VDD——接+5V电源;

RS——为寄存器选择,置高选择数据寄存器、反之则选择指令寄存器;

RW——为读写信号线,为高电平时进行读操作,低电平时进行写操作,当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读盲信号,当RS为高电平RW为低电平时可以写入数据;

E——为使能端,当E端由高电平条变成低电平时,液晶模块执行命令;

D0~D7——为8位双向数据线,连接单片机的I/O口。

图3-3LCD1602硬件连接图

§3.2.3LCD1602编码方式

1602液晶内部的字符发生存储器(CGROM)已经存储的160个不同的点阵字符图形包括阿拉伯数字、英文字母大小写、常用符号以及日文片假名等,每个字符都有一个固定的代码,比如字母“A”的代码是41H。

1602字符库见附录:

DDRAM就是显示数据RAM,用来寄存待显示的字符代码,共80字节,其地址和屏幕的对应关系如表所示:

表3-1DDRAM地址与屏幕对应关系

显示位置

1

2

3

4

5

6

7

……

40

DDRAM

地址

第一行

00H

01H

02H

03H

04H

05H

06H

……

27H

第二行

40H

41H

42H

43H

44H

45H

46H

……

67H

一行有40个地址,在LCD1602中,我们只用前16个就行了,第二行也同样用16个地址。

【11】

表3-21602对应的DDRAM地址

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

注:

表3-1与表3-2中数字均为十六进制

当想要在LCD1602屏幕的某一行某一列显示一个字母时,就需要向这一行这一列所对应的DDRAM地址写入字母相应代码即可。

程序的编写需要按LCD模块快的指令格式来进行。

例如:

要在第二行开头显示“s”这个字母,则程序应写为:

write_com(0x80+0x40);

write_data(0x73);

其中0x40为第二行开头的地址,只是在程序中需要加上0x80才能正确显示,0x73对应字母“s”的代码,当所要显示的内容与位置不同时,程序做出相应改变即可。

§3.3键盘模块设计

§3.3.1键盘电路连接

本次设计所采用的4个I/O口的键盘电路,连接如图3-4所示:

图3-4键盘电路连接图

§3.3.2键盘检测原理

当检查按键模块时,若有按键按下,则与之相连的两条线将会导通,从而将电平拉高或拉低使其一致。

具体的按键扫描方式如下:

第一步:

先将四位数据线均置‘1’,然后检查各端口电平有无变化,若K13按下,则相应的会将KEY1口的电平拉低而其余端口的电平仍为‘1’,同理当K14、K15、K16按下后也会相应的将KEY2、KEY3、KEY4这三个端口的电平拉低,从而能够检测出K13,K14,K15,K16这四个按键的状态。

第二步:

当以上四个按键的状态均未发生变化,即没有独立按键按下时,再来检查K1~K12是否有按键按下;首先将KEY1端口的电平设为‘0’,其余三个端口的电平设为‘1’,当按键K1按下时,KEY2端口的电平将会被拉低,而其它端口的值则不变,相应的K2,K3按下时,KEY3、KEY4的值将分别被拉低,若无变化时,则说明没有按键按下。

再分别将KEY2、KEY3、KEY4置低,可依次检查出所有按键的状态。

采用这种键盘设计思想,与常用的8端口控制的键盘阵列相比,在实现相同功能的前提下,能够更有效地减少对单片机I/O口的占用。

§3.4D/A转换电路

§3.4.1DAC0832结构

DAC0832是使用非常普遍的8位D/A转换器,它主要由两个8位寄存器和一个8位D/A转换器组成,使用两个寄存器的好处是可以进行两级缓冲操作,使该操作有更大的灵活性。

DAC0832以电流形式输出,当输出需要转换为电压时,可外接运算放大器实现。

DAC0832内部结构如图3-5所示:

各主要引脚定义如下:

——片选信号输入端,低电平有效;

——输入寄存器的写选通输入端,负脉冲有效。

当CS为0,ILE为1,WR1有效时DI0~DI7状态被所存到输入寄存器;

DI0~DI7——数据输入端;

V

——基准电压输入端,电压范围为-10V~+10V;

I

——电流输出端,当输入全为1时,其电流最大;

I

——电流输出端,其值与I

端电流之和为一常数;

ILE——数据锁存允许信号输入端,高电平有效;

——数据传输控制信号输入端,低电平有效;

——DAC寄存器的写选通输入端,负脉冲有效;当

为0且

有效时,输入寄存器的状态被传到DAC寄存器中。

【2】

图3-5DAC0832内部结构图

§3.4.2DAC0832工作原理

DAC0832的工作过程如下:

(1)CPU执行输出指令,输出8位DAC0832;

(2)在CPU执行输出指令的同时,使ILE、

三个控制信号端都有效,8位数据锁存在8位输入寄存器中;

(3)当

两个控制信号端都有效时,8位数据再次被锁存到8位DAC寄存器,这时D/A转换器开始工作,8位数据转换成相对应的模拟电流,从I

和I

输出。

DAC0832的工作方式有双缓冲、单缓冲和直通三种,本设计所采用的是直通的方式(当

=0、

=0时),数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。

§3.4.3DAC0832硬件连接

设计中DAC0832的硬件连接方法如图3-6所示:

图中,DAC0832的8位数据输入端连接单片机I/O口发送的数据,

均接地,使两个控制信号端都有效,芯片进入直通的工作方式,将I

接地,由I

输出,通过运放进行滤波、整形、放大等处理。

图3-6D/A转换硬件连接图

§3.5运放电路

§3.5.1电流/电压转换电路

电路连接如图3-6所示,DAC0832后,通过连接一个运放LM324对信号进行处理,使经过D/A转换后所产生的电流信号能够转换为电压信号,从而达到能够对所得信号进行检测的目的,将LM324的2、3端分别连接DAC0832的IOUT1和IOUT2端,并将IOUT2端接地,电源分别接+12V和-12V即可实现。

§3.5.2调幅电路

如图3-7所示,有VO=-R2×VI/R1,即只需设置R1和R2的值就可以实现振幅的调控,本系统就是基于此原理来实现调幅。

图3-7调幅电路

软件设计

 

§4.1系统主流程

本系统包括以下几个程序模块:

(1)初始化程序;

(2)显示程序;

(3)键盘扫描与处理程序;

(4)波形产生程序;

系统程序主流程如图4-1所示:

图4-1系统程序主流程图

§4.2各程序模块设计

§4.2.1初始化程序

该部分对所要产生的波形类型、频率以及显示部分进行初始化,目的是在系统刚工作时,所产生的是200Hz的正弦波,并且在液晶上所显示的是“sin”和“200Hz”。

液晶部分初始化程序如下【2】:

voidinit()

{

lcdrw=0;

lcde=0;

cs=0;

write_com(0x38);//设置16×2显示,5×7点阵,8位数据接口

write_com(0x0c);//设置开显示,不显示光标

write_com(0x06);//写一个字符后地址指针加1

write_com(0x01);//显示清0,数据指针清0

}

§4.2.2键盘扫描及处理程序

4×4键盘有16个按键,对应编号为1~16,按键的分配如下:

1.先对I/O口进行置‘1’,通过前后I/O口状态的变化完成对键盘进行检测(需要进行松手检测),确定哪个按键,键盘检测程序如下:

ucharKey_Pro(void)

{uinttmp=0;

ucharkey=0xff;

if(!

(P2&0x10)){tmp|=(1<<12);key=13;while(!

(P2&0x10));}

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2