实验五 D/A转换实验

454 字
2 分钟
实验五 D/A转换实验

实验五 D/A转换实验#

1. 实验内容#

基础部分

编写程序,产生周期的锯齿波、矩形波、三角波和阶梯波,经 D/A 转换,显示在软件模拟示波器上。
要求:每种波形的周期数、阶梯波的阶梯数可通过参数设置。

扩展部分

在软件模拟示波器上显示锯齿波、矩形波、三角波和阶梯波,并使用单脉冲开关KK1在四种波形间进行切换。

2. 实验原理#

3. 连线#

机箱连线
机箱连线

KK1 连接 MIR6

4. 实验代码#

基础部分:#

(见扩展部分)

扩展部分:#

DAC0832 EQU 0600H
DATA SEGMENT
SIGN DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, 0000H
MOV DS, AX
LEA AX, MIR6
MOV SI, 38H
MOV [ES:SI], AX
MOV AX, CS
MOV SI, 3AH
MOV [ES:SI], AX
CLI
MOV AL, 11H
OUT 20H, AL
MOV AL, 08H
OUT 21H, AL
MOV AL, 04H
OUT 21H, AL
MOV AL, 07H
OUT 21H, AL
MOV AL, 2FH
OUT 21H, AL
STI
MAIN:
CMP SIGN, 0
JZ SAW
CMP SIGN, 1
JZ REC
CMP SIGN, 2
JZ TRI
CMP SIGN, 3
JZ STA_CON
JMP MAIN
SAW:
CMP SIGN, 0
JNE MAIN
MOV DX, DAC0832
MOV AL, 00H
SA1:
OUT DX, AL
CALL DELAY1
CMP AL, 0FFH
JE SA2
INC AL
JMP SA1
SA2:
JMP SAW
REC:
CMP SIGN,1
JNE MAIN
MOV DX, DAC0832
MOV AL, 00H
OUT DX, AL
CALL DELAY2
MOV AL, 0FFH
OUT DX, AL
CALL DELAY2
JMP REC
STA_CON:
JMP STA
STA_RET:
JMP MAIN
TRI:
T1:
CMP SIGN, 2
JNE MAIN
MOV DX, DAC0832
OUT DX, AL
CALL DELAY1
CMP AL, 0FFH
JE T2
INC AL
JMP T1
T2:
MOV DX, DAC0832
OUT DX, AL
CALL DELAY1
CMP AL, 00H
JE T3
DEC AL
JMP T2
T3:
JMP TRI
STA:
MOV AX, 0FEH
MOV BL, 05H
DIV BL
MOV BL, AL
MOV BH, 00H
ST1:
CMP SIGN,3
JNE STA_RET
MOV AX, 0000H
ST2:
MOV DX, DAC0832
OUT DX, AL
CMP AX, 00FFH
JAE ST3
CALL DELAY2
ADD AX, BX
JMP ST2
ST3:
JMP STA
MIR6:
INC SIGN
CMP SIGN, 4
JNZ QUIT
MOV SIGN, 0
QUIT:
IRET
DELAY1:
PUSH CX
MOV CX, 01FFH
D1: PUSH AX
POP AX
LOOP D1
POP CX
RET
DELAY2:
PUSH CX
MOV CX, 0FFFFH
D2: PUSH AX
POP AX
LOOP D2
POP CX
RET
CODE ENDS
END START

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

实验五 D/A转换实验
https://mathison2020.github.io/posts/2022-11-14-mcexp5/
作者
Mathison2020
发布于
2022-11-14
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
实验四 A/D转换实验
微机实验 实验四 A/D转换实验1. 实验内容基础+扩展部分 编写实验程序,将 ADC 单元中提供的 0V~5V 信号源作为 ADC0809 的模拟输入量,进行 A/D 转换,转换结果通过 8 位 LED 进行显示。分别使用延时等待、查询和中断三种方式实现本实验的实验内容。 2. 实验原理 延时方式:又名等待方式、定时采样方式,
2
实验八 数码管显示实验
微机实验 实验八 数码管显示实验1. 实验内容基础部分 用一片 8255 接口芯片的 A 口和 B 口分别连接数码管段码接口(ABCDEFG、Dp)和位码接口(X1~X6)。编写程序实现以下两种显示方式: 使六位数码管从右到左逐位显示移动的数字 0 到 9,即数字 0 从最右端移动到最左端,数字 1 从最右端移动到最左端,….,
3
实验一 8255并行接口实验
微机实验 实验一 8255并行接口实验1. 实验内容基础部分编写一个基本输入输出程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求:数据灯的显示随开关动态变化。拓展部分在基础实验上增加如下功能: 若开关 K7~K0 均为高电平,则程序退出。 当 K0 为高电平时,数据灯高4位亮; 当 K0 为低电平时
4
实验二 存储器扩展实验
微机实验 实验二 存储器扩展实验1. 实验内容基础部分 编写实验程序,将 0000H~000FH(16个十六位的数据)写入SRAM从 8000:0000H 起始的一段空间中,并通过系统命令查看该存储空间,检查写入数据是否正确。 要求:分别按规则字、非规则字和字节三种方式将数据写入存储器,并观察实验结果。 拓展部分 编写程序实现如
5
实验三 8259中断优先级实验
微机实验 实验三 8259中断优先级实验1. 实验内容基础部分 编写中断实验程序: 主程序通过 8255 的 PB 口输出 0FFH,使数据灯 D0~D7 全亮; IR6中断服务程序使绿灯亮(红灯灭),延时一段时间后返回主程序; IR7中断服务程序使红灯亮(绿灯灭),延时一段时间后返回主程序。 要求: 按单脉冲开关 KK1:响应
随机文章 随机推荐
Profile Image of the Author
Mathison2020
Never really desperate, only the lost of the soul.
公告
欢迎来到 Mathison's Blog,这里记录算法、实验和学习笔记。
分类
标签
站点统计
文章
12
分类
3
标签
6
总字数
12,352
运行时长
0
最后活动
0 天前

目录