模拟波形发生器.docx

上传人:b****8 文档编号:9354557 上传时间:2023-05-18 格式:DOCX 页数:17 大小:95.88KB
下载 相关 举报
模拟波形发生器.docx_第1页
第1页 / 共17页
模拟波形发生器.docx_第2页
第2页 / 共17页
模拟波形发生器.docx_第3页
第3页 / 共17页
模拟波形发生器.docx_第4页
第4页 / 共17页
模拟波形发生器.docx_第5页
第5页 / 共17页
模拟波形发生器.docx_第6页
第6页 / 共17页
模拟波形发生器.docx_第7页
第7页 / 共17页
模拟波形发生器.docx_第8页
第8页 / 共17页
模拟波形发生器.docx_第9页
第9页 / 共17页
模拟波形发生器.docx_第10页
第10页 / 共17页
模拟波形发生器.docx_第11页
第11页 / 共17页
模拟波形发生器.docx_第12页
第12页 / 共17页
模拟波形发生器.docx_第13页
第13页 / 共17页
模拟波形发生器.docx_第14页
第14页 / 共17页
模拟波形发生器.docx_第15页
第15页 / 共17页
模拟波形发生器.docx_第16页
第16页 / 共17页
模拟波形发生器.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

模拟波形发生器.docx

《模拟波形发生器.docx》由会员分享,可在线阅读,更多相关《模拟波形发生器.docx(17页珍藏版)》请在冰点文库上搜索。

模拟波形发生器.docx

模拟波形发生器

模拟波形发生器

一、设计目的

二、设计内容及要求

三、背景知识

四、硬件原理

五、软件实现

六、心得体会

七、参考文献

 

一设计目的

1.1掌握D/A转换器的性能,ADC0832与8255A的连接方法;

1.2掌握D/A的编程和调试方法;

1.3掌握PC/XT机ISA总线连接方法。

二设计内容及要求

2.1通用板8位2路D/A板------信号发生器(推荐使用DAC0832)

2.22路8位分辨率D/A输出,输出电压0~5V,2路同步输出正弦波、三角波、锯齿波。

2.3系统线路图(一号图纸)

2.4接口程序流程图(二号图纸)

2.5接口程序清单(带注释)

三、背景知识

8位D/A转换器DAC0832简介:

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

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

1、DAC0832的引脚及功能:

DAC0832芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,其主要特性参数如下:

·分辨率为8位;

·电流稳定时间1us;

·可单缓冲、双缓冲或直接数字输入;

·只需在满量程和下调整其线性度;

·单一电源供电(+5V~+15V);

·低功耗,200mW。

为便于DAC0832的使用,特将其应用特性总结如下:

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

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

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

·DAC0832内部无参考电压源;须外接参考电压源。

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

 

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

 图1DAC0832结构框图及引脚排列

DAC0832各引脚的功能如下:

DI0~DI7:

数据输入线。

ILE:

数据允许锁存信号,高电平有效;

/CS:

输入寄存器选择信号,低电平有效。

/WR1为输入寄存器的写选通信号。

输入寄存器的锁存信号/LE1由ILE、/CS、/WR1的逻辑组合产生。

当ILE为高电平、/CS为低电平、/WR1输入负脉冲时,在/LE1产生正脉冲;/LE1为高电平,输入锁存器的状态随数据输入线的状态变化,/LE1的负跳变将数据线上的信息锁入输入寄存器。

/XFER:

数据传送信号,低电平有效。

/WR2为DAC寄存器的写选通信号。

DAC寄存器的锁存信号/LE2,由/XEFR、/WR2的逻辑组合产生。

当/XFER为低电平,/WR2输入负脉冲,则在/LE2产生正脉冲;/LE2为高电平是时,DAC寄存器的输出和输入寄存器的状态一致,/LE2负跳变,输入寄存器的内容打入DAC寄存器。

VREF:

基准电源输入引脚。

Rfb:

反馈信号输入引脚,反馈电阻在芯片内部。

IOUT1、IOUT2:

电流输出引脚。

电流IOUT1、IOUT2的和为常数,IOUT1、IOUT2随DAC寄存器的内容线性变化。

VCC:

电源输入引脚。

AGND:

模拟信号地

DGND:

数字地。

2、DAC0832三种数据输入方式:

  

(1)双缓冲方式:

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

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

更为重要的是,这种方式特别适用于要求同时输出

多个模拟量的场合。

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

  

(2)单缓冲方式:

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

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

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

  (3)直通方式:

此时两个寄存器均处于直通状态,因此要将

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

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

8255A功能介绍:

------------------------------------------------------------------------------------------

四、硬件原理

通过8255A的C口控制输出类型,00H为2路同步输出,01H为由8255A的A口控制第一片ADC0832输出,10H为由8255A的B口控制第二片ADC0832输出。

当C口输入00H采用2路同步输出时,通过A口、B口的输入控制主程序调用的波形数据。

当A口、B口输入为00H时,调用锯齿波,01H调用三角波,10H调用正弦波。

调用的数据经数据总线非别送到两片DAC0832中,经双缓冲方式输出。

当C口输入为01H时系统为A口控制第一片DAC0832单路输出。

当A口输入为00H时,调用锯齿波,01H调用三角波,10H调用正弦波。

当C口输入为10H时系统为B口控制第二片DAC0832单路输出。

当B口输入为00H时,调用锯齿波,01H调用三角波,10H调用正弦波。

五、软件实现

系统软件由主程序和波形数据调用子程序组成。

主程序和子程序的流程图如图所示。

 

主程序

 

程序部分:

MY8255_AEQU0E460H

MY8255_BEQU0E461H

MY8255_CEQU0E462H

MY8255_MODEEQU0E463H

PORT1EQU0227H

PORT2EQU0228H

PORT3EQU0230H

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

DATAV1DB00,01,02,03,04,05,06,07,08,09

DB10,11,12,13,14,15,16,17,18,19

DB20,21,22,23,24,25,26,27,28,29

DB30,31,32,33,34,35,36,37,38,39

DB40,41,42,43,44,45,46,47,48,49

DB50,51,52,53,54,55,56,57,58,59

DB60,61,62,63,64,65,66,67,68,69

DB70,71,72,73,74,75,76,77,78,79

DB80,81,82,83,84,85,86,87,88,89

DB90,91,92,93,94,95,96,97,98,99

DB100,101,102,103,104,105,106,107,108,109

DB110,111,112,113,114,115,116,117,118,119

DB130,131,132,133,134,135,136,137,138,139

DB140,141,142,143,144,145,146,147,148,149

DB150,151,152,153,154,155,156,157,158,159

DATAV2DB00,02,04,06,08,10,12,14,16,18

DB20,22,24,26,28,30,32,34,36,38

DB40,42,44,46,48,50,52,54,56,58

DB60,62,64,66,68,70,72,76,78,80

DB82,84,86,88,90,92,94,96,98,100

DB102,104,106,108,110,112,114,116,118,120

DB122,124,126,128,130,132,134,136,138,140

DB142,144,146,148,150,152,154,156,158,160

DB160,158,156,154,152,150,148,146,144,142

DB140,138,136,134,132,130,128,126,124,122

DB120,118,116,114,112,110,108,106,104,102

DB100,98,96,94,92,90,88,86,84,82

DB80,78,76,74,72,70,68,66,64,62

DB60,58,56,54,52,50,48,46,44,42

DB40,38,36,34,32,30,28,24,22,20

DB18,16,14,12,10,08,06,04,02,00

DATAV3DB128,132,137,141,146,150,154,159,163,167

DB171,176,180,184,188,191,195,199,203,206

DB210,213,216,219,222,225,228,231,233,236

DB238,240,242,244,246,247,249,250,251,252

DB253,254,254,255,255,255,255,255,254,254

DB253,252,251,250,249,247,246,244,242,240

DB238,236,233,231,228,225,222,219,216,213

DB210,206,203,198,195,192,188,184,180,176

DB172,167,163,159,155,150,146,141,137,133

DB128,124,119,115,111,106,102,97,93,89,85

DB81,77,73,69,65,61,57,54,50,47,43,40,37

DB34,31,28,25,23,20,18,16,14,12,10,9,7

DB6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6

DB7,9,10,12,14,16,18,20,23,25,28,30,33,36

DB40,43,46,50,53,57,60,64,68,72,76,80,84

DB88,93,97,101,106,110,114,119,123,128,129

 

SATRT:

MOVAX,CODE

MOVDS,AX

LEASI,DATAV1

LEABX,DATAV2

LEADI,DATAV3

MOVCX,160

MOVDX,MY8255_MODE

MOVAL,93H

OUTDX,AL

MOVDX,MY8255_C

CMPDX,00H

JZA1

CMPDX,01H

JZA2

CMPDX,10H

JZA3

 

A1:

MOVDX,MY8255_A

INAL,DX

MOVDX,MY8255_B

INAH,DX

CMPAX,0000H

JZB1

CMPAX,0001H

JZB2

CMPAX,0100H

JZB3

CMPAX,0101H

JZB4

CMPAX,0010H

JZB5

CMPAX,1000H

JZB6

CMPAX,0110H

JZB7

CMPAX,1001H

JZB8

VMPAX,1010H

JZB9

 

B1:

MOVAL,[SI]

OUTPORT1,AL

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCSI

LOOPB1

RET

B2:

MOVAL,[BX]

OUTPORT1,AL

MOVAL,[SI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCBX

INCSI

LOOPB2

RET

B3:

MOVAL,[SI]

OUTPORT1,AL

MOVAL,[BX]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCSI

INCBX

LOOPB3

RET

B4:

MOVAL,[BX]

OUTPORT1,AL

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCBX

LOOPB4

RET

B5:

MOVAL,[DI]

OUTPORT1,AL

MOVAL,[SI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCDI

INCSI

LOOPB5

RET

B6:

MOVAL,[SI]

OUTPORT1,AL

MOVAL,[DI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCSI

INCDI

LOOPB6

RET

B7:

MOVAL,[DI]

OUTPORT1,AL

MOVAL,[BX]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCDI

INCBX

LOOPB7

RET

B8:

MOVAL,[BX]

OUTPORT1,AL

MOVAL,[DI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCBX

INCDI

LOOPB8

RET

B9:

MOVAL,[DI]

OUTPORT1,AL

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCDI

LOOPB9

RET

 

A2:

MOVDX,MY8255_A

INAL,DX

CMPAL,00H

JZC1

CMPAL,01H

JZC2

CMPAL,10H

JZC3

C1:

MOVAL,[SI]

OUTPORT1,AL

OUTPORT3,AL

CALLDELAY

INCSI

LOOPC1

RET

C2:

MOVAL,[BX]

OUTPORT1,AL

OUTPORT3,AL

CALLDELAY

INCBX

LOOPC2

RET

C3:

MOVAL,[DI]

OUTPORT1,AL

OUTPORT3,AL

CALLDELAY

INCDI

LOOPC3

RET

 

A3:

MOVDX,MY8255_B

INAL,DX

CMPAL,00H

JZD1

CMPAL,01H

JZD2

CMPAL,10H

JZD3

D1:

MOVAL,[SI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCSI

LOOPD1

RET

D2:

MOVAL,[BX]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCBX

LOOPD2

RET

D3:

MOVAL,[DI]

OUTPORT2,AL

OUTPORT3,AL

CALLDELAY

INCDI

LOOPD3

RET

 

DELAY:

MOV0F7FFH

E1:

MOVAX,0D00H

E2:

DECAX

JNZE2

LOOPE1

 

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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