51单片机实现波形发生器Word格式.docx

上传人:b****4 文档编号:13765509 上传时间:2022-10-13 格式:DOCX 页数:23 大小:876.99KB
下载 相关 举报
51单片机实现波形发生器Word格式.docx_第1页
第1页 / 共23页
51单片机实现波形发生器Word格式.docx_第2页
第2页 / 共23页
51单片机实现波形发生器Word格式.docx_第3页
第3页 / 共23页
51单片机实现波形发生器Word格式.docx_第4页
第4页 / 共23页
51单片机实现波形发生器Word格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

51单片机实现波形发生器Word格式.docx

《51单片机实现波形发生器Word格式.docx》由会员分享,可在线阅读,更多相关《51单片机实现波形发生器Word格式.docx(23页珍藏版)》请在冰豆网上搜索。

51单片机实现波形发生器Word格式.docx

方案二:

利用芯片组成的电路输出波形,MAX038是MAXIM公司生产的一个只需要很少外部元件的精密高频波形产生器,它能产生准确的高频正弦波、三角波、方波。

输出频率和占空比可以通过调整电流、电压或电阻来分别地控制。

所需的输出波形可由在A0和A1输入端设置适当的代码来选择,且具有输出频率范围宽、波形稳定、失真小、使用方便等特点。

方案三:

采用Atmel公司的AT89C51单片机编程方法实现,该方案可以通过编程的方法控制信号波形的频率和幅度,而在硬件电路不便的情况下,通过程序实现频率的变化和输出波形的选择,并同时在显示器显示相应的结果。

方案一输出信号频率不够稳定;

方案二成本高,程序复杂度高;

方案三软硬件结合,硬件成本低,软件起点低,用汇编语言即可完成,优化型相对比较好,容易实现,且满足设计要求。

综合考虑,我们采用了方案三,用AT89C51单片机设计多功能信号发生器,能够满足信号的频率稳定性和精度的准确性。

1.2系统描述

本方案以AT89C51为控制核心,主要模块包括复位电路、时钟信号发生电路、键盘控制电路、D/A转化及LED显示电路,其原理框图如下:

图1系统原理框图

2单元模块设计

2.1AT89C51功能介绍

AT89C51引脚图如下:

图2AT89C51引脚图

1.主电源引脚Vcc和GND

GND:

接地。

Vcc:

主电源+5V。

2.时钟电路引脚XTAL1和XTAL2

XTAL1、XTAL2为内部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路。

3.控制引脚RST、ALE、PSEN、EA

RST:

复位引脚输入高电平使89C51复位,返回低电平退出复位。

ALE:

访问片外存储器时,ALE做锁存扩展地址低位字节的控制信号。

PSEN:

外部程序存储器的读选通信号,低电平有效。

EA:

程序存储器选择信号,当该端口输入高电平时,CPU执行片内程序存储器程序,当输入低电平时,CPU仅访问片外程序存储器。

4.输入/输出引脚

P0—P3是4个寄存器,是单片机与外界联系的4个8位双向并行I/O口,其中P3口还具有第二功能。

2.2时钟电路

单片机的时钟信号通常用两种电路形式得到:

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

在引脚XTAL1和XTAL2外接晶体振荡器,构成了内部振荡方式。

由于单片机内部有一个高增益的反相放大器,当外接晶振后,就构成了自激振荡,并产生振动时钟脉冲。

晶振通常选用6MHZ、12MHZ、24MHZ。

本设计中时钟电路图如下图所示,我们选择24MHZ晶振分别接引脚XTAL1和XTAL2,电容C1、C2均选择为30pF,对振荡器的频率有稳定作用。

图3时钟电路

2.3复位电路

复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声。

复位电路通常采用上电自动复位和按钮复位两种方式。

在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。

本设计选择了按键复位如下图所示,在系统运行时,按一下开关,就在RST断出现一段高电平,使时钟电路图中器件复位。

此时ALE、PSEN、P0、P1、P2、P3输出高电平,在RST上输入返回低电平以后,就退出复位状态开始工作。

图4复位电路

2.4键盘控制电路

键盘电路分为独立式按键和矩阵式键盘,为了简化程序,我们采用了独立式键盘。

独立式按键是指直接用I/O口线构成的单个按键电路。

每个独立式按键单独占有一根I/O口线,每根I/O口线的工作状态不会影响其他I/O口线的工作状态,这是一种最简单易懂的按键结构。

电路图如下所示:

图5键盘输入电路

2.5LED显示电路

2.5.1数码管功能介绍

数码管的外形结构如下图所示,由图可见它由8个发光二极管构成,通过不同的组合用来显示0—9,A—F及小数点“.”等符号。

数码管通常有共阴极和共阳极两种型号,共阴极数码管的发光二极管阴极必须接低电平,当某发光二极管的阳极为高电平(一般为+5V)时,此二极管点亮;

共阳极数码管的发光二极管是阳极并接到高电平,对于需点亮的发光二极管使其阴极接地电平即可(一般接地)。

显然,要显示某字形就应使此字形的相应字段点亮,实际就是送不同电平组合代表的数据至数码管。

这种装入数码管显示字形的数据称字形码。

图6数码管原理图

要使数码管显示不同的数字或者字符,需要使端口输出相应的字型码,显示器的字形与字码关系如下图所示:

图7段码表

2.5.2LED动态显示原理及电路

LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"

a,b,c,d,e,f,g,dp"

的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

本次设计采用6位共阴极数码管,选取AT89C51的P0口作为信号输出端口,并外接两片锁存器74HC573,用于驱动数码管,其中一片作为数码管的段选信号输入端,另一片作为数码管的位选信号输入端,选取AT89C51的P2.6和P2.7分别作为两片锁存器的片选信号输入端,电路图如下所示:

图8LED显示电路

2.6D/A转换及放大电路

2.6.1DAC0832功能介绍

DAC0832是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

其引脚图如下所示:

图9DAC0832引脚图

关于DAC0832的引脚功能如下:

D0~D7:

数字信号输入端。

ILE:

输入寄存器允许,高电平有效。

CS:

片选信号,低电平有效。

WR1:

写信号1,低电平有效。

XFER:

传送控制信号,低电平有效。

WR2:

写信号2,低电平有效。

IOUT1、IOUT2:

DAC电流输出端。

RFB:

是集成在片内的外接运放的反馈电阻。

VREF:

基准电压(-10~10V)。

Vcc:

是源电压(+5~+15V)。

AGND:

模拟地。

NGND:

数字地,可与AGND接在一起使用。

2.6.2D/A转换电路

由于单片机输出的是数字信号,因此要得到模拟信号的波形就必须对其进行数模转换。

我们采用了DAC0832数模转换器,由于其输出为电流输出,需要外加运算放大器OP07使之装换为电压输出,最后通过示波器显示输出的波形。

我们选取了AT89C51的P1口作为波形数字信号的输出端口,电路图如下所示:

图10D/A转换电路

3系统调试

本次设计的系统仿真在Proteus软件中进行,并采用汇编语言进行程序的编写。

3.1软件调试

3.1.1三角波产生

(1)输出波形如下图所示:

图11三角波仿真图

(2)三角波程序如下:

TRI:

CJNER7,#0FFH,GO1

CLR20H

GO1:

CJNER7,#00H,GO2

SETB20H

GO2:

JNBTF1,GO3

CLRTF1

JB20H,GO4

DECR7

SJMPGO6

GO4:

INCR7

GO6:

MOVP1,R7

LCALLDISPLAY

GO3:

MOVA,P3

ORLA,#1FH

CPLA

JZGO5

LCALLDELAY

LJMPCHANGESTATE

GO5:

LJMPTRI

3.1.2方波产生

图12方波仿真图

(2)方波程序如下:

REC:

JNBTF1,GG1

DJNZR2,GG2

MOVR2,#0FFH

CPL20H

GG2:

JB20H,GG3

MOVP1,#00H

SJMPGG4

GG3:

MOVP1,#0FFH

GG4:

GG1:

MOVA,P3

ORLA,#0FH

JZGG5

JZGG5

GG5:

LJMPREC

3.1.3正弦波产生

图13正弦波仿真图

(2)程序如下:

SIN:

JNBTF1,G1

INCR1

MOVA,R1

MOVCA,@A+DPTR

MOVP1,A

G1:

JZG2

G2:

LJMPSIN

3.1.4键盘控制

通过按键的控制,可以实现波形的相互转换和调频的功能。

P3.5和P3.6端口的键盘分别实现频率的加减功能,P3.7端口的键盘实现波形之间的相互转换。

其仿真效果如下图所示:

图14波形转换仿真图

3.1.5LED显示

本次设计采用6位数码管实现显示功能,其中前3位用于显示波形的类型,REC代表方波,SIN代表正弦波,TRI代表三角波;

后3位用于显示波形的频率。

图15LED仿真图

3.2硬件调试

本次设计的硬件电路调试结果如下图所示:

图16硬件效果图

4系统功能介绍

本次设计的电路可实现以下三大功能:

(1)波形产生

本次设计电路可产生方波、三角波、正弦波三种波形,而且通过键盘控制可以实现三种波形之间的相互转换和频率调节的功能。

(2)LED显示

本次设计的显示功能通过6位数码管实现,可以显示三种波形

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

当前位置:首页 > 小学教育 > 语文

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

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