并行计算机原理实验报告,b计算机原理b实验报告.doc

本文档为一份计算机原理实验报告,详细介绍了如何使用DAC0832和ADC0809进行D/A和A/D转换。实验目标包括理解转换器工作原理,掌握使用方法,并通过汇编语言编程生成锯齿波、三角波和正弦波。程序允许用户通过键盘输入选择不同波形,输入4退出。程序中使用Sin_table查表方式输出正弦波,其他波形实时计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机原理实验报告

一、实验目的

1、学习D/A及A/D转换的基本原理。

2、掌握D/A及A/D转换器DAC0832、ADC0809的使用方法。

3、综合汇编语言及I/O接口的知识,提高实际应用的能力。

二、实验准备

1、复习有关D/A及A/D转换,DAC0832及ADC0809的有关知识。

2、对照DAC0832、ADC0809的工作原理及时序,看懂实验接线图,理解实现D/A及

A/D转换的工作过程。

3、按实验内容要求编写汇编语言源程序并加注释。

三、实验内容

1、D/A转换

用DAC0832实现D/A转换,使产生的模拟电压波形分别为锯齿波、三角波和正弦波。

用示波器观察DAC0832的双极性输出Ub,运行用汇编语言编写的程序产生连续的电压波形。程序有简单的提示信息,能接受用户的按键。运行程序后Ub产生锯齿波并等待键入:

若键入“1”Ub产生锯齿波;

若键入“2” Ub产生.三角波;

若键入“3” Ub产生正弦波;

若键入“4” 退出用户程序,返回DOS。

用户程序运行过程中没有新键入别的数字则维持原状不变。不要求识别“1、2、3、4”以外的其他键。

程序流程图如上图。

程序中定义了一个变量MENU来存储当前波形选择的数字,按照实验内容的要求,其初始值应该是“1”,对应输出锯齿波。程序每次循环输出一个周期相应的波形,然后返回来处理键盘的输入,若输入了1-4中的某一个数字,则更新MENU或者退回DOS。

锯齿波和三角波都采用实时计算的方式输出,而正弦波则采用查表的方式输出,每个

周期取了256个点。

源程序如下:

NAME DAC0832

DATA SEGMENT

WELMSG DB 'PLEASE INPUT 1~4 : ',0DH,0AH,'$'

NEWLINE DB 0DH,0AH,'$'

PORT DW 0C400H

MENU DB '1'

Sin_table DB 128,131,134,137,140,143,146,149,152,155,158,162,165,167,170,173

DB 176,179,182,185,188,190,193,196,198,201,203,206,208,211,213,215

DB 218,220,222,224,226,228,230,232,234,235,237,238,240,241,243,244

DB 245,246,248,249,250,250,251,252,253,253,254,254,254,255,255,255

DB 255,255,255,255,254,254,254,253,253,252,251,250,250,249,248,246

DB 245,244,243,241,240,238,237,235,234,232,230,228,226,224,222,220

DB 218,215,213,211,208,206,203,201,198,196,193,190,188,185,182,179

DB 176,173,170,167,165,162,158,155,152,149,146,143,140,137,134,131

DB 128,124,121,118,115,112,109,106,103,100,97,93,90,88,85,82

DB 79,76,73,70,67,65,62,59,57,54,52,49,47,44,42,40

DB 37,35,33,31,29,27,25,23,21,20,18,17,15,14,12,11

DB 10,9,7,6,5,5,4,3,2,2,1,1,1,0,0,0

DB 0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9

DB 10,11,12,14,15,17,18,20,21,23,25,27,29,31,33,35

DB 37,40,42,44,47,49,52,54,57,59,62,65,67,70,73,76

DB 79,82,85,88,90,93,97,100,103,106,109,112,115,118,121,124

DATA ENDS

STACK SEGMENT PARA STACK

DB 100 DUP(?)

STACK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值