波形发生器实验报告Word文件下载.doc
《波形发生器实验报告Word文件下载.doc》由会员分享,可在线阅读,更多相关《波形发生器实验报告Word文件下载.doc(20页珍藏版)》请在冰豆网上搜索。
D/A转换及放大电路
按键电路
输出电路
幅度调节电路
图1、原理框图
电源部分,为单片机提供5V稳压电源;
8位按键提供给用户用来选择需要输出的波形,以及修改频率及方波占空比;
数码管显示所选择的的波形代号,1代表正弦波,2代表方波,3代表锯齿波,4代表三角波;
幅度调节电路用来调节输出波形的幅度;
D/A转换及放大电路可以将数字信号转换成模拟信号输出我们所需要的波形;
显示电路则是将波形显示在屏幕上。
89C51上电后,扫描P1口,判断是否有键按下,进行相应的操作。
根据原理框图,设计电路图如附件1.
设置的3位按键分别为S1代表正弦波,S2代表方波,S3代表锯齿波,S4代表三角波,
S5代表增加方波占空比,S6代表减小方波占空比,S7代表增加频率,S8代表减小频率。
4、主要电路说明、元件选择及参数计算
简易函数信号发生器原件清单如下:
原件名称
型号
数量\个
用途
单片机
AT89S52
1
控制核心
集成块
DAC0832
数模转换
晶振
12MHz
晶振电路
uA470
放大电路
电容
30pF
2
电阻
100KῺ
电解电容
22uF\10V
复位电路
50KῺ
10KῺ
电源
12V/0.5A
排阻
10KῺ*10
+5V/0.5A
提供+5V
按键
9
选择波形、复位键、调节方波空占比、调节频率
4.1主控芯片单片机的介绍
(1)AT89C51的引脚如图2.2所示。
图2.2引脚排列图
AT89C51单片机的40个引脚可分为:
电源引脚2根、时钟引脚两根、控制引脚4根、输入/输出引脚32根。
各引脚功能描述如下:
(1)主电压引脚
●VCC:
电源端,正常工作时接+5V电源
●VSS:
接地端
(2)时钟引脚
●XTAL1:
内部振荡电路的反相放大器的输入端,接外部晶振和微调电容的一端。
采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接地;
对CHMOS型而言,此引脚应接外部时钟的输入端。
●内部振荡电路的反相放大器的输出端,接外部晶振和微调电容的另一端。
采用外部时钟电路时,对HMOS型工艺的单片机而言,此引脚应接外部时钟的输入端;
对CHMOS型而言,此引脚悬空。
(3)控制引脚
●RST/VPD:
复位信号/备用电源输入引脚。
当振荡运行时,RST引脚保持2个机器周期的高电平后,就可以使8051完成复位工作。
该引脚的第二功能是VPD,即备用电源的输入端,具有掉电保护功能。
在主电源VCC掉电期间,该引脚可接+5V备用电源,由VPD向内部RAM提供备用电源,保持内部RAM中的数据不丢失。
●ALE/PROG:
地址锁存允许信号/编程脉冲输入端。
当CPU访问片外存储器时,ALE输出信号控制锁存P0口的低8位地址,从而实现P0口的数据与低位地址的分时复用。
当8051上电正常工作后,ALE端以不变频率(振荡器频率的fosc/6)周期性地输出正脉冲信号。
该脉冲可用作对外输出的时钟,或用于定时目的。
该引脚的第二功能PROG是做编程脉冲的输入端。
●PSEN:
外部程序存储器读选通信号端,低电平有效。
●EA/Vpp:
内部ROM和外部ROM选择端/编程电压输入端。
当EA接高电平时,CPU访问片内ROM,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;
当EA接低电平时,CPU访问片外ROM。
该引脚的第二功能是Vpp是作为编程电压的输入端。
(4)输入/输出引脚
●P0.0~P0.7:
P0口的8位口线。
P0口是一个8位漏极开路型双向I/O,既可作地址/数据总线使用,又可作通用的I/O口使用。
当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,P0口能以吸收电流的方式驱动8个LSTTL电路。
●P1.0~P1.7:
P1口的8位口线。
P1口是一个带有内部上拉电阻的8位准双向I/O口。
作为通用的I/O口,它能驱动4个LSTTL负载。
●P2.0~P2.7:
P2口的8位口线。
P2口是一个带有内部上拉电阻的的8位准双向I/O口。
当CPU访问片外存储器时,P2口输出高8位地址总线,与P0口配合,组成16位片外存储器单元地址。
P2口驱动4个LSTTL负载。
(5)DAC0832是8位CMOS数/模转换芯片,其特点如下:
●分辨率8位的并行D/A转换器。
●双列直插式(DIP)封装,CMOS低功耗(功耗为20mW)器件。
●单电源供电。
参考电压为-10V~+10V,从+5V~+15V均可正常工作。
●电流输出型芯片,需外接运算放大器。
●电流建立时间为1us。
●片内二级数据缓存,数据输入可采用双缓冲、单缓冲和直通方式。
数/模转换器DAC0832由1个8位数据寄存器、1个8位DAC寄存器、1个8位D/A转换器和控制逻辑组成。
DAC0832各引脚功能:
●D7~D0:
8位数字量输入端,接CPU数据线D7~D0。
●IOUT1:
模拟电流输出端1,输出值随DAC寄存器内容线性变化。
●IOUT2模拟电流输出端2,IOUT1+IOUT2=常数。
一般情况下,在单极性输出时,IOUT2接地,在双极性输出时IOUT2接运算放大器。
●Vref:
参考电压输出端。
Vref可以外接一个正电压,也可以接一个负电压,范围为-10V~+10V。
参考电压决定数字量0~255(00H~FFH)转化出来的模拟量电压值的幅度。
●Rfb:
反馈电阻输出引脚。
DAC0832是电流输出,为了取得电压输出,需在电流输出端接运算放大器,构成I/V转换电路。
DAC0832内部已经有反馈电阻,所以Rfb端可以直接与外部运算放大器相连,相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。
●Vcc:
电源电压。
AGND:
模拟量地。
DGND:
数字量地。
●CS:
片选信号,低电平有效。
当CS=0时,DAC0832工作。
●ILE:
输入锁存器允许信号,高电平有效。
●WR1:
写控制信号1,低电平有效。
WR2:
写控制信号2,低电平有效。
●XFER:
数据传送信号,低电平有效。
4.2复位与振荡电路
对于MCS-51一般的晶振可以在1.2MHZ—12MHZ之间选择,这是电容C可以对应的选择10pf-30Pf。
一条引脚接在XTAL1,另一条接在XTAL2。
复位电路如图2,由C3和R1构成。
由于51单片机为低电平复位,图示电路利用电容的特性,在刚刚外加5V电源时RST脚的电压为低。
选择12MHz晶体,C1、C2、C3选择30pF电容,R1选择10K电阻。
图2、复位与振荡电路
4.3显示电路
显示元件选择8段LED数码管,共阳极。
段选信号经过上拉电阻接到51的P0口,位选信号由按键接至P1.0到P1.3提供,因此得到数码管L1显示分别为1、2、3、4.
显示数码管与P0口对应表
显示数码管
显示1
显示2
显示3
显示4
P0口
0xF9
0xA4
0xB0
0x99
图2、显示电路
4.4按键电路
由于89C51的P1口内部有上拉电阻,为简化电路,用按键开关直接接对应引脚P1.0、至P1.7到地。
其中P1.0接正弦波按键,p1.1接方波按键,p1.2接锯齿波按键,p1.3接三角波按键,p1.4接增加方波占空比按键,p1.5接减小方波占空比按键,p1.6接增加频率按键,p1.7接减小频率按键。
当按键按下,P1口为零,进行选择。
图4、按键电路
4.5D/A转换及放大电路
为了将数字信号转换成模拟信号得到我们需要的波形,在P2口接入用于D/A转换的DAC0832芯片,并接入uA741运放用于将信号放大。
图5、输出驱动电路
4.6调幅电路
通过滑动变阻器的调节,调节电压,从而使波形的振幅发生变化。
5、软件规划
5.1软件流程图
开始
初始化按键设置
设置波形各点输出电压值
波形函数
键盘控制函数
主函数
调用波形函数
结束
5.2软件划分
根据设计要求,先定义按键对应的端口,在定义各波形输出点的电压值,编写波形函数及按键控制函数,完成程序的设计。
设计的全局变量:
(1)定义按键变量:
sbits1=P1^0;
sbits2=P1^1;
sbits3=P1^2;
sbits4=P1^3;
sbits5=P1^4;
sbits6=P1^5;
sbits7=P1^6;
sbits8=P1^7;
(2)定义全局变量:
uintd1,d2;
uints,p;
uintn;
(3)定义正弦波各个输出点的电压值:
ucharcodesintab[256]
(4)定义锯齿波各输出点的电压值ucharcodejctab[128]
(5)定义三角波各输出点的电压值ucharcodesjtab[256]
(6)初始化变量:
d1=10;
d2=10;
n=0;
p=4;
P0=0xff;
P1=0xff;
设计函数如下:
(1)主函数main()
,调用各函数显示输出的波形。
程序循环。
(2)延时函数delay(uchark)
功能:
等待显示器反应
(3)产生正弦波函数sin()
功能:
扫描P2口,产生正弦波。
(4)产生方波函数fang()
功能:
扫描P2口,产生方波。
(5)产生锯齿波juchi()
功能:
扫描P2口,产生锯齿波。
(6)产生三角波tran()
扫描P2口,产生三角波
(7)键盘控制函数boxingkey()
功能:
设置按键的控制功能,返回到具体的函数中。
6、测试(测试方案设计、测试记录、结果分析)
制作完成后,进行如下测试,结果合格。
功能要求
功能描述
测试结果
(1)按键是否满足设计的功能
S1按下,显示正弦波
数码管显示1,示波器显示正弦波
S2按下,显示方波
数码管显示2,示波器显示方波
S3按下,显