dah计算机原理,计算机原理

DA及AD转换实验报告

Sil

自03张驰昱2010012028

1、D/A转换

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

要求:程序运行后等待键入

若键入'1',则产生锯齿波

若键入'2',则产生三角波

若键入'3',则产生正弦波

若键入'4',则返回DOS

程序运行过程屮没有新键入别的数字,则维持原状不变,用示波器能观测到连续的电压波形。

解决思路:

先写三个用于波形发生的过程,分别发出锯齿波、三角波和正眩波。再写一个每次从DAC0832输 出数据前都会调用的产生延迟的过程,在这个过程中进行有无按键的判断和分辨按键的判断。主程序 先调用这个延迟的过程,这样程序一旦运行起来就相当于不断的在检测按键了。

正弦波的值我是通过matlab生成和写入文件,并保存在数据段里的。以下是生成一个周期256 个采样sin值的matlab代码:

clear;clc;

fid=fopen(1 sine.txt1z 1w1);

s=round(sin(2*pi/256*[1:256])*127.5+127.5); s=reshape(sA16^16);

for i=l:16

fprintf(fid,1DB 1);

fprintf(fid, '%03XH, 'z s(:z i));

fprintf(fid, *\n*);

end

源代码:

DATAS SEGMENT

DNUM

DB

01H

CSADD

DW

0280H

HINT1

DB

'TEETH WAVE‘,0DH,0AH,'$'

HINT2

DB

'TRIANGLE WAVE:0DH,0AH,$'

HINT3

DB

'SINE WAVE',0DH,0AH,$

SINE

DB

083H,086H,089H,08CH,08FH,092H,095H,098H,09BH,09EH,0A2H,0A5H,0A7H,0AAH,0ADH,0B0H

DB0B3H,0B6H,0B9H,0BCH,0BEH,0ClH,0C4H,0C6H,0C9H,0CBH,0CEH,0D0H,0D3H,0D5H,0D7H,0DAH

DB0DCH,0DEH,0E0H,0E2H,0E4H,0E6H,0E8H,0EAH,0EBH,0EDH,0EEH,0F0H,0FlH,0F3H,0F4H,0F5H

DB0F6H,0F8H,0F9H,0FAH,0FAH,0FBH,0FCH,0FDH,0FDH,0FEH,0FEH,0FEH,0FFH,0FFH,0FFH,0FFH

DB0FFH,0FFH,0FFH,0FEH,0FEH,0FEH,0FDH,0FDH,0FCH,0FBH,0FAH,0FAH,0F9H,0F8H,0F6H,0F5H

DB0F4H,0F3H,0F:lH,0F0H,0EEH,0EDH,0EBH,0EAH,0E8H,0E6H,0E4H,0E2H,0E0H,0DEH,0DCH,0DAH

DB0D7H,0D5H,0D3H,0D0H,0CEH,0CBH,0C9H,0C6H,0C4H,0ClH,0BEH,0BCH,0B9H,0B6H,0B3H,0B0H

DB0ADH,0AAH,0A7H,0A5H,0A2H,09EH,09BH,098H,095H,092H,08FH,08CH,089H,086H,083H,080HDB07CH,079H,076H/073H/070Hz06DH,06AH,067H/064H,061H,05DH/05AH/058H,055H,052H,04FH

DB04CH,049H,046H/043Hz041Hz03EH/03BH,039H,036H,034H/031H,02FH,02CH,02AHz028H,025H

DB023H,021H,01FH,01DH,01BH,019H,017H,015H,014H,012H,011H,00FH,00EH,00CH,00BH,00AH

DB009H,007H/006H,005H,005H,004H/003H,002H/002H,001H/001H,001H,000H/000H/000H,000H

DB000H/000H/000H,001H,001H,001H,002H,002H,003H,004H,005Hz005H/006H,007H,009H,00AH

DB00BH,00CHz00EH,00FH,011H,012H,014Hz015H,017H,019H,01BH/01DH,01FH/021Hz023H,025H

DB028H,02AH,02CH,02FH,031H,034H,036H,039H,03BH,03EH,041H/043Hz046H,049H,04CH/04FH

DB052H,055H/058H/05AH/05DH,061H/0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值