微机实践实验报告4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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时进行减一的操作。