完整版数字信号发生器的电路设计毕业课程设计.docx
- 文档编号:27745341
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:38
- 大小:783.22KB
完整版数字信号发生器的电路设计毕业课程设计.docx
《完整版数字信号发生器的电路设计毕业课程设计.docx》由会员分享,可在线阅读,更多相关《完整版数字信号发生器的电路设计毕业课程设计.docx(38页珍藏版)》请在冰豆网上搜索。
完整版数字信号发生器的电路设计毕业课程设计
1引言
信号发生器又称信号源或者振荡器,它是根据用户对其波形的命令来产生信号的电子仪器,在生产实践和科技领域有着广泛的应用。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其他仪表测量感兴趣的参数。
信号发生器在通信、广播、电视系统,在工业、农业、生物医学领域内,在实验室和设备检测中具有十分广泛的用途。
信号发生器是一种悠久的测量仪器,早在20年代电子设备刚出现时它就产生了。
随着通信和雷达技术的发展,40年代出现了主要用于测试各种接收机的标准信号发生器,使信号发生器从定性分析的测试仪器发展成定量分析的测量仪器。
自60年代以来信号发生器有了迅速的发展,出现了函数发生器,这个时期的信号发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形。
到70年代处理器出现以后,利用微处理器、模数转换器和数模转换器,硬件和软件使信号发生器的功能扩大,产生比较复杂的波形。
这时期的信号发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。
随着现代电子、计算机和信号处理等技术的发展,极大地促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之发展起来。
信号发生器作为电子领域不可缺少的测量工具,它必然将向更高性能,更高精确度,更高智能化方向发展,就象现在在数字化信号发生器的崛起一样。
但作为一种仪器,我们必然要考虑其所用领域,也就是说要因地制宜,综合考虑性价比,用低成本制作的集成芯片信号发生器短期内还不会被完全取代,还会比较广泛的用于理论实验以及精确度要求不是太高的实验。
因此完整的函数信号发生器的设计具有非常重要的实践意义和广阔的应用前景。
2数字信号发生器的系统总述
2.1系统简介
信号发生器广泛应用于电子工程、通信工程、自动控制、遥测控制、测量仪器、仪表和计算机等技术领域。
本设计以AT89C52[1]单片机为核心设计了一个低频函数信号发生器。
信号发生器采用数字波形合成技术,通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、三角波、梯形波及其他任意波形,波形的频率和幅度在一定范围内可任意改变。
波形和频率的改变通过软件控制,幅度的改变通过硬件实现。
介绍了波形的生成原理、硬件电路和软件部分的设计原理。
本系统主要包括CPU模块、显示模块、键盘输入模块、数模转换模块、波形输出模块。
系统电路原理图见附录A,PCB(印制电路板)图见附录B。
其中CPU模块负责控制信号的产生、变化及频率的改变;模数转换模块采用DAC0832实现不同波形的输出;显示模块采用1602液晶显示,实现波型和频率显示;键盘输入模块实现信号的选择和频率的输入。
该信号发生器具有体积小、价格低、性能稳定、功能齐全的优点。
2.2系统总体框图
本设计拟采用单片机作为程序的主控芯片,利用DA转换技术,实现数据的实时转换,利用键盘控制信号类型的选择和频率的改变,最后通过1602液晶屏显示结果。
系统总体框图如图所示:
图2.1系统总体框图
3硬件设计
3.1CPU模块
3.1.189C52单片机的基本组成
设计采用89C52[2]作为系统的主控芯片,芯片结构框图如下:
外部时钟源外部事件计数
内中断
图3.189C52单片机结构框图
89C52单片机包含:
(1)一个8位的80C52微处理器[3]
(2)片内256字节数据存储器RAMSFR,用以存放可以读写的数据,如运算的中间结果,最终结果以及欲显示的数据等
(3)片内8KB程序存储器FLASHROM,用以存放程序、一些原始数据和表格
(4)4个8位并行IO端口P0~P3,每个端口既可用作输入也可用作输出
(5)3个16位的定时器计数器,每个定时器计数器都可设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式
(6)具有8个中断源、两个中断优先级和中断控制系统
(7)全双工UART的串行IO口,用于实现单片机之间或单片机与PC机之间的串行通信
(8)片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率为24MHz
(9)片内振荡器和时钟电路
(10)具有节电工作方式,即空闲方式及掉电方式[1]
3.1.2单片机的最小系统设计
单片机要能正常的工作,必要的条件是供电及晶振。
以下是单片机的晶振及复位电路:
图3.2AT89C52单片机最小系统设计图
3.2显示模块
3.2.1液晶概述
液晶[4](LiquidCrystal)是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。
液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。
各种型号的液晶通常是按照显示字符的行数或液晶点阵的行、列数来命名的。
比如1602[5]的意思是每行显示16个字符,一共可以显示两行。
根据客户的要求,厂家可以设计出任意组合的点阵液晶。
液晶体积小、功耗低、显示操作简单,但它有一个致命的弱点,其使用的温度范围很窄。
通用型液晶正常工作的温度范围为0oC~+55oC,存储温度范围为-20oC~+60oC,因此在设计产品时,务必要考虑周全,选择合适的的液晶。
本设计采用1602液晶屏作为系统的显示芯片,一般1602字符型液晶显示器实物如图:
图3.31602实物图-正面
图3.41602实物图-背面
3.2.21602LCD管脚及其说明
图3.51602管脚图
1602字符型[6]LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线,下面是1602的管脚说明表:
表3.31602液晶管脚说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据命令选择
12
D5
数据
5
R\W
读写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.2.31602LCD主要技术参数
◆显示容量:
16×2个字符
◆芯片工作电压:
4.5~5.5V
◆工作电流:
2.0mA(5.0V)
◆模块最佳工作电压:
5.0V
◆字符尺寸:
2.95×4.35(W×H)mm
3.2.41602LCD的指令说明及时序[7]
1602液晶模块内部的控制器共有11条控制指令。
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
表3.41602液晶控制命令表
序号
指令
RS
RW
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
ID
S
4
显示开关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
SC
RL
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置ID:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位SC:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
3.2.51602LCD的基本操作时序[8]
◆读状态输入:
RS=L,R=H,E=H输出:
D0~D7=状态字。
◆读数据输入:
RS=H,R=H,E=H;输出:
无。
◆写指令输入:
RS=L,R=L,D0~D7=指令码,E=高脉冲输出:
D0~D7=数据。
◆写数据输入:
RS=H,R=L,D0~D7=数据,E=高脉冲输出:
无。
读写操作时序如图3.6和3.7所示:
图3.6读操作时序
图3.7写操作时序
3.2.61602LCD的接口设计
下面是1602液晶接口原理图:
3.81602液晶接口图
3.3键盘输入模块
3.3.1键盘简介
键盘是一组按键的集合,它是最常用的单片机输入设备。
操作人员可以通过键盘输入数据或者命令,实现简单的人—机通信。
按键是一种常开型按钮开关。
平常(常态时),按键的二个触点处于断开状态,按下键时它们才闭合(短路)。
键盘分编码和非编码键盘。
键盘上闭合键的是别有专门的硬件译码器实现,并产生键编号或键值的称为编码键盘,如BCD码键盘、ASCII码键盘等;靠软件识别的称为非编码键盘。
在单片机组成的测控系统及智能化仪表中,用得最多是非编码键盘。
3.3.2键盘接口的工作原理[9]
键盘中每个按键都是一个常开开关电路,如图5.1所示:
图3.9按键电路
我们把按键的一端接地,另一端与单片机的某个IO口相连,开始时先给该IO口赋一高电平,然后让单片机不断检测该IO口是否变成低电平,当按键闭合时,即相当于该IO口通过按键与地相连,变成低电平,程序一旦检测到IO口变为低电平则说明按键被按下,然后执行相应的指令。
图3.10按键被按下时电压的变化[10]
从图5.2可以看出,理想波形与实际波形之间是有区别的,实机波形在按下和释放的瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms。
通常我们手动按下键然后立即释放,这个动作中稳定闭合时间超过20ms。
因此单片机在检测键盘是否按下时都要加上去抖操作,有专用的去抖电路,也有专用的去抖动芯片,但通常我们用软件延时的方法就能够很容易解决抖动问题,而没必要再添加多余的硬件电路。
软件来消除按键抖动的基本思想:
检测到有键按下,键对应的行线为低,软件延时10ms后,行线如仍为低,则确认该行有键按下。
当键松开时,行线变高,软件延时10ms后,行线仍为高,说明按键已松开。
采取以上措施,躲开了两个抖动期的影响。
3.3.3键盘输入模块设计
本设计需要6个按键,每个按键的一段分别与P2口的端口相连,按键另外一段直接与地相接。
这样当有按键被按下后,读取P2口的状态,通过分析可以判断出按下的是哪个按键。
键盘输入模块的原理图如下:
图3.11键盘输入模块的原理图
3.4数模转换模块
3.4.1DAC0832的基本组成[13]
本设计采用DAC0832作为系统的数模转换芯片。
DAC0832是采样频率为8位的DA转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要。
DAC0832由8位输入锁存器、8位DAC寄存器、8位DA转换器及转换控制电路四部分构成。
8位输入锁存器用于存放主机送来的数字量,使输入数字得到缓冲和锁存,并加以控制;8位DAC寄存器用于存放存放待转换的数字量,并加以控制;8位DA转换器输出与数字量成正比的模拟电流,由与门、与非门组成的输入控制的输入电路来控制2个寄存器的选通或锁存状态。
当WR2和XFER同时有效时,8位DAC寄存器端为高电平“1”,此时DAC寄存器的输出端Q跟随输入端D也就是出入寄存器Q端得电平变化,反之,当端为低电平“0”时,第一级8位输入寄存器Q端得状态则锁存到第二级8位DAC寄存器中,以便第三极8位DAC转换器进行DA转换。
3.4.2DAC0832引脚功能简介
图3.12DAC0832引脚图
D0~D7:
8位数据输入线,TTL电平,有效时间应大于90ns;
ILE:
数据锁存允许控制信号输入线,高电平有效;
CS:
片选信号输入线(选通数据锁存器),低电平有效;
WR1:
数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。
当CS为0,ILE为1,WR1有效时D0~D7状态被锁存到输入寄存器;
WR2:
DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。
当XEFR为0且WR2有效时,输入寄存器的状态被传到DAC寄存器中;
XFER:
数据传输控制信号输入线,低电平有效;
IOUT1:
电流输出端1,其值随DAC寄存器的内容线性变化;
IOUT2:
电流输出端2,其值与IOUT1值之和为一常数;
Rfb:
反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;
Vcc:
电源输入端,Vcc的范围为+5V~+15V;
VREF:
基准电压输入线,VREF的范围为-10V~+10V;
AGND:
模拟信号地
DGND:
数字信号地
3.4.3数模转换模块设计
图3.13数模转换模块原理图
3.5波形输出模块
3.5.1LM358简介[12]
LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
LM358的封装形式有塑封8引线双列直插式、贴片式和圆形金属壳封装等。
LM358的管脚图如下:
图3.14LM358运放管脚图
3.5.2LM358性能参数[14]
◆内部频率补偿
◆直流电压增益高(约100dB)
◆单位增益频带宽(约1MHz)
◆电源电压范围宽:
单电源(3—30V);双电源(±1.5~±15V)
◆低功耗电流,适合于电池供电
◆低输入偏流
◆低输入失调电压和失调电流
◆共模输入电压范围宽,包括接地
◆差模输入电压范围宽,等于电源电压范围
◆输出电压摆幅大(0至Vcc~1.5V)
3.5.3波形输出模块设计
本设计要求实现幅值0~5V可调任意可调,用示波器测量可得到,DAC0832输出转换成电压后幅值2.5左右,所以要加上一个放大环节[15],使输出幅值达到5V,然后再通过一个滑动变阻器实现0~5V电压幅值任意可调。
波形输出模块原理图如下:
图3.15波形输出模块原理图
4系统软件设计
4.1主流程图
图4.1主程序流程图
4.2正弦波程序流程图
正弦波[16]程序流程图如图4.2所示。
正弦波波形设计通过查正弦波表得到。
当进入正弦波后,依次将一个256个数的表值送给DAC0832,即可得到波形。
图4.2正弦波程序流程图
4.3方波程序流程图
图4.3方波程序流程图
4.4三角波程序流程图
三角波[17]程序流程图如图4.4所示,将0-255先送给DAC0832,然后在反过来将255-0送给DAC0832,从而可产生三角波。
图4.4三角波程序流程图
4.5锯齿波程序流程图
锯齿波[18]程序流程图如图4.5所示,将0-255反复送给DAC0832,从而可产生三角波。
图4.5三角波程序流程图
4.6仿真结果
4.6.1正弦波的仿真结果:
图4.6正弦波1602显示
图4.7正弦波波形
4.6.2方波的仿真结果:
图4.8方波1602显示
图4.9方波波形
4.6.3三角波的仿真结果:
图4.10三角波1602显示
图4.11三角波波形
4.6.4锯齿波的仿真结果:
图4.12锯齿波1602显示
图4.13锯齿波波形
5结论
基于AT89C52单片机的信号发生器设计,这个信号发生器的设计中涉及到一个典型的控制过程。
通过单片机控制一个模数转换器DAC0832[19]产生所需要的电流,然后使用运算放大器LM3585可以将其电流输出线性地转换成电压输出,再将电压经过运算放大器的放大,可以得到足够幅度的信号。
然后通过程序的控制,产生一系列有规律的波形。
这样一个信号发生装置在控制领域有相当广泛的应用范围。
最终做出来的信号发生器满足了题目中的所有要求:
1.产生四种波形。
正弦波、三角波、矩形波、锯齿波。
2.频率可以通过键盘在一定范围内进行调节;
3.幅度可在0~5V之间任意可调。
当然还是存在不足的地方,比如频率不能以小的步进进行增加或者减小,并且当频率太小时波形会有些失真。
在这里得感谢学校为我们提供个这样一个实践的机会,感谢指导老师们的细心指导。
附录A源程序
#include sbitlcdrw=P3^6; sbitlcdrs=P3^7; sbitdacwr=P3^4; sbitkey1=P2^0; sbitkey2=P2^1; sbitkey3=P2^2; sbitkey4=P2^3; sbitkey5=P2^4; sbitkey6=P2^5; intflag1;flag2,flag3,flag4; intqian,bai,shi,ge,k; unsignedchari,j; chara[]="wave: ",b[]="fre: ",c1[]="sin",c2[]="square",c3[]="triangle",c4[]="sawtooth"; unsignedcharcodesin[256]= { 0x80,0x82,0x85,0x88,0x8b,0x8e,0x91,0x94,0x97,0x9a,0x9d,0xa0,0xa3,0xa6, 0xa9,0xac,0xaf,0xb2,0xb6,0xb9,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf, 0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec, 0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd, 0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1, 0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6, 0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1, 0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86, 0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d, 0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35, 0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16, 0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04, 0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b, 0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25, 0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48, 0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72, 0x76,0x79,0x7c,0x80 }; voiddelay(intz)延时函数 { intx,y; for(x=0;x for(y=0;y<110;y++); } voiddelay1(intz)延时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 数字信号 发生器 电路设计 毕业 课程设计