微机实践实验报告4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D/A转换器实验报告

王龙康12121696

一、实验目的

了解D/A转换的基本原理,掌握DAC0832芯片的性能、使用方法及对应的硬件电路。

二、实验内容

编写程序,要求输出锯齿波、三角波及方波,分别用示波器观察波形;如有能力,把三段程序编在一起,循环输出三种波形。

三、实验区域电路连接图

连线如下所示:

CS5→8000H; IOWR→IOWR;JX2→JX17;AOUT→示波器

四、程序框图

五、实验步骤

1.按连线图连接好,检查无误后打开实验箱电源。

2.在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3.运行程序后,用示波器测量0832左侧AOUT插孔,应有方波或锯齿波输出。

4.如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。

六、程序清单及输出结果

CODE SEGMENT

ASSUME CS:CODE

ORG 1000H

START:

MOV DX,8000H ;0832端口地址

MOV AL,00H ;数据初值0赋给AL寄存器

MOV CX,0FFH

L1:

OUT DX,AL ;输出数据到0832

CALL DELAY ;延迟,低电平

XOR AL,0FFH ;取反

DEC CX ;计数减一

JNZ L1 ;不为0转L1

MOV AL,00H ;锯齿波初值

MOV CX,0FFH

L2:

OUT DX,AL ;输出初值

NOP

INC AL ;加一

CMP AL,0FFH ;比较

JNZ L2 ;不为0转L2

DEC CX

JNZ L2 ;CX不为0跳L2,为0向下执行,锯齿波转三角波

MOV AL,00H

MOV CX,0FFH

L3:

DEC CX

JZ START ;波形个数CX到0,就转到开始,显示方波

L6:

OUT DX,AL ;输出初值0

INC AL ;AL自加

CMP AL,0FFH ;比较

JZ L4 ;相等转L4

JMP L6 ;不等转L6

L4:

OUT DX,AL

DEC AL ;到峰值AL自减

NOP

JZ L3 ;减到0转L3

JMP L4

DELAY:

MOV BX,0FFH

L5:

DEC BX

JNZ L5

RET

CODE ENDS

END START

锯齿波

三角波

方波

七、问答题

1.DAC产生波形的频率如何调节?频率上限的限制取决于哪些因素?

答:如果是方波只要调节延时程序就可以实现改变频率。三角波和锯齿波的频率程序执

行的长度,延时时间,CPU频率和转换频率。频率的上线取决于CPU频率和转换频率。

2.如果要求产生正弦波一般用什么方法实现?具体如何实施的。

答:现根据采样率,把一个周期平分成n份,算出正弦值。每隔1/n周期,送出n个数值。n越大正弦波形越明显,但不能超过系统频率。

八、实验心得

通过本次实验,我对DAC0802输出各种波形程序的编写更加了解。

输出方波的程序编写思想是在AL寄存一个低电平,输出之后取反为高电平,之后跳转输出,再取反为低电平,如此循环输出。

输出锯齿波的思想就是让AL从0开始累加,每加1就输出,直到AL的值变为0FFH。此时加1AL中的值变为00H。循环输出则产生锯齿波。

输出三角波的思想就是设置一变量作为工作标志,在变量为0时当检测到时钟的上升沿时进行加一的操作,而当此变量为全1时进行减一的操作。

相关文档
最新文档