基于8086波形发生器设计Word格式文档下载.docx

上传人:b****4 文档编号:13750561 上传时间:2022-10-13 格式:DOCX 页数:15 大小:291.47KB
下载 相关 举报
基于8086波形发生器设计Word格式文档下载.docx_第1页
第1页 / 共15页
基于8086波形发生器设计Word格式文档下载.docx_第2页
第2页 / 共15页
基于8086波形发生器设计Word格式文档下载.docx_第3页
第3页 / 共15页
基于8086波形发生器设计Word格式文档下载.docx_第4页
第4页 / 共15页
基于8086波形发生器设计Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于8086波形发生器设计Word格式文档下载.docx

《基于8086波形发生器设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于8086波形发生器设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

基于8086波形发生器设计Word格式文档下载.docx

它可以产生多种波形信号,如锯齿波、三角波、梯形波等,因而广泛应用于通信、雷达、导航、宇航等领域。

本次课程设计使用的8086和DAC0832构成的发生器可产生三角波,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、构造紧凑、性能优越等特点。

此设计给出了源代码,通过仿真测试,其性能指标到达了设计要求。

二.设计目的

1、掌握DAC0832与PC机的接口方法。

2、掌握D/A转换应用程序设计方法。

三.原理说明

1.知识简介:

DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。

这类D/A转换器由8位输入锁存器,8位DAC存放器,8位D/A转换电路及转换控制电路构成。

2.DAC0832的引脚及功能:

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

与微处理器兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点。

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

3.应用特性:

·

DAC0832是微处理器兼容型D/A转换器,可以充分利用微处理器的控制能力实现对D/A转换的控制。

这种芯片有许多控制引脚,可以和微处理器控制线相连,承受微处理器的控制,如ILE、/CS、/WR1、/WR2、/XFER端。

有两级锁存控制功能,能够实现多通道D/A的同步转换输出。

DAC0832内部无参考电压源;

须外接参考电压源。

DAC0832为电流输入型D/A转换器,要获得模拟电压输出时,需要外加转换电路。

DAC0832的引脚图及逻辑构造如以下图:

DAC0832构造框图及引脚排列

4.各引脚功能说明:

D0~D7:

8位数据输入线,TTL电平,有效时间应大于90ns(否那么锁存器的数据会出错);

ILE:

数据锁存允许控制信号输入线,高电平有效;

CS:

片选信号输入线〔选通数据锁存器〕,低电平有效;

WR1:

数据锁存器写选通输入线,负脉冲〔脉宽应大于500ns〕有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;

XFER:

数据传输控制信号输入线,低电平有效,负脉冲〔脉宽应大于500ns〕有效;

WR2:

DAC存放器选通输入线,负脉冲〔脉宽应大于500ns〕有效。

由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC存放器的输出随存放器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC存放器并开场D/A转换。

IOUT1:

电流输出端1,其值随DAC存放器的内容线性变化;

IOUT2:

电流输出端2,其值与IOUT1值之和为一常数;

Rfb:

反响信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

Vcc:

电源输入端,Vcc的范围为+5V~+15V;

VREF:

基准电压输入线,VREF的范围为-10V~+10V;

AGND:

模拟信号地

DGND:

数字信号地

5.DAC0832三种数据输入方式:

〔1〕双缓冲方式:

即数据经过双重缓冲后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。

这种方式可在D/A转换的同时,进展下一个数据的输入,可提高转换速率。

更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。

此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。

〔2〕单缓冲方式:

不需要多个模拟量同时输出时,可采用此种方式。

此时两个存放器之一处于直通状态,输入数据只经过一级缓冲送入D/A转换电路。

这种方式只需执行一次写操作,即可完成D/A转换。

〔3〕直通方式:

此时两个存放器均处于直通状态,因此要将、、和端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存存放器同时处于放行直通状态,数据直接送入D/A转换电路进展D/A转换。

这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。

四.硬件设计

1.8086(8088)CPU

引脚图〔如图1〕:

图1

2.DAC0832〔D/A转换器)

D/A0832是8位并行输出电流型D/A转换器,其主要参数:

转换时间1us,满量程误差土1LSB,参考电压—10V~+10V,供电电压+5V~+15V,输入逻辑电平与TTL兼容。

引脚图〔如图2〕:

图2

3.8255A〔可编程并行接口〕

8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。

其内部还有一个控制存放器,即控制口。

通常A口、B口作为输入输出的数据端口。

C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。

它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。

8255可编程并行接口芯片工作方式说明:

方式0:

根本输入/输出方式。

适用于三个端口中的任何一个。

每一个端口都可以用作输入或输出。

输出可被锁存,输入不能锁存。

方式1:

选通输入/输出方式。

这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。

方式2:

双向总线方式。

只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。

引脚图〔如图3〕:

图3

4.8284

在8086CPU内部没有有时时钟发生器,当组成微型机系统时,所需的时钟信号由外部时钟发生器提供。

8284是专门为8086设计的时钟发生器/驱动器。

在8284中,不仅有时钟信号发生器,还有复位信号RESET和准备好信号READY产生电路,这些电路分别向8086系统提供时钟信号CLK,复位信号RESET和准备好信号READY,还可向外界提供晶振信号OSC以及外围芯片所需的时钟信号PCLK。

引脚图〔如图4〕:

图4

五.设计原理

D/A转换器产生各种波形的原理:

利用D/A转换器输出的模拟量与输入数字量成正比关系这一特点,将D/A转换器作为微机输出接口,CPU通过程序向D/A转换器输出随时间呈现不同变化规律的数字量,那么D/A转换器就可输出各种各样的模拟量,如方波、三角波、锯齿波、正弦波等。

8255A实现波形切换的原理:

从8255A的B口读入外接开关的信号,CPU读入不同信号值,从而执行不同的代码,向D/A转换器传送不同的数据,控制D/A转换器输出锯齿波、三角波、方波、正弦波和梯形波。

DAC0832采用双缓冲数据输入方式。

数据要经过两级锁存后才送入D/A转换器。

数据写入分两次进展,第一次把待转换的数据写入输入存放器,第二次再对DAC存放器进展一次写操作。

延迟作用:

方便观察到输出各种波形上下电平时,信号灯发光和熄灭的情况。

a.实验电路图:

六.程序编译

1.输出方波的子程序

〔一〕编程思路:

a.设置8255A的工作方式

b.启动DAC0832转换器

c.写初值,延时

d.取反,延时

e.返回

〔二〕编译子程序:

modelsmall

stack200h

code

start:

MOVDX,213H;

8255A控制口地址

MOVAL,82H

OUTDX,AL

MOVDX,200H;

DAC0832的地址

AGAIN:

MOVAL,00H

OUTDX,AL;

输出方波为“0”

CALLDELAY;

f方波宽度

MOVAL,0FFH

OUTDX,AL;

输出方波为“1”

CALLDELAY;

方波宽度

JMPAGAIN

DELAY:

MOVCX,0ffffH;

LOOP$

RET

ENDstart

2.输出三角波子程序

d.初值加1,返回

e.取反,延时

f.取反值减1,返回

g.循环

〔二〕编译子程序:

OUTDX,AL

L:

DAC0832的地址

MOVAL,00H;

正向初值

M:

OUTDX,AL

CALLdelay

INCAL

JNZM

MOVAL,0FFH;

负向初值

N:

DECAL

JNZN

JMPL

delay:

movcx,0fffh

day1:

loopday1

ret

int21h

3.输出锯齿波子程序

c.写初值

d.初值加1,延时

设置8255A控制口地址

MOVAL,82H

设置8255A口A为方式0输出

输出数据初值

J:

锯齿波输出

INCAL

JMPJ

int21h;

4.输出正弦波子程序

〔一〕编程思路:

a.写正弦波存储数地址

b.写初值

c.地址加1,取值加1

d.启动DAC0832转换器,输出值

e.延时

f.设置8255A,返回

ZXBB:

LEABX,TAB

MOVCX,0001H

ZX2:

MOVAL,[BX];

将TAB中的数字一次赋给AL再输出正弦波

INCBX

INCCX

MOVDX,200H

CALLDELAY

PUSHAX

BG2:

MOVDX,211H;

再次读入开关信号,进展比较

INAL,DX

CMPAL,04H

JNZBG2

POPAX

CMPCX,256

JNEZX2

JMPZXBB

int21h

endstart

5.输出梯形波子程序

a.启动DAC0832转换器

b.写低电平段,延时,返回

c.写上升段

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

当前位置:首页 > 高中教育 > 初中教育

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

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