- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模数数模转换实验报告
微机与接口技术实验5
1.采用查表法,用DAC0809产生100Hz正弦输出模拟信号,用示波器检查波形。(8253 T0产生定时脉冲,8259 INT0向CPU中断)。
分析:定时器对4Mhz信号4000分频,产生1000hz的中断,在中断服务程序里查表法进行数模转换(表中预先存有10个数),输出的模拟值符合正弦规律,且频率正好100hz。
源程序:
ICW1 equ ; 单片8259, 上升沿中断, 要写ICW4
ICW2 equ ; 中断号为20H
ICW4 equ ; 工作在8086/88 方式
OCW1 equ ; 只响应INT0 中断
CS8259A equ 09000h ; 8259地址
CS8259B equ 09001h
CONTROL equ 08003h
COUNT0 equ 08000h
dac0832 equ 0a000h
data segment
num db 6,52,128, 203, 249, 249, 203, 128, 52, 6;十个点进行正弦逼近
data ends
code segment
assume cs:code,ds:data
init8259 proc near ;8259的初始化子程序
mov dx, CS8259A
mov al, ICW1
out dx, al
mov dx, CS8259B
mov al, ICW2
out dx, al
mov al, ICW4
out dx, al
mov al, OCW1
out dx, al
ret
init8259 endp
init8253 proc near ;8253的初始化子程序
mov al, 34h ; 通道0,方式2
mov dx, CONTROL
out dx, al
mov ax,4000 ;4000分频
mov dx, COUNT0
out dx, al
mov al,ah
out dx, al
ret
init8253 endp
int0 proc near ;0号中断的服务程序
push ax
push dx
cmp si, 10 ;如果指针过了一个周期的数,就要返回到第一个重新来
jnz goon
mov si,offset num
goon:mov al,[si]
inc al
mov dx,dac0832 ;将数字输入数模转换,成为模拟量输出
out dx,al
inc si
mov dx, CS8259A
mov al, 20h ; 中断服务程序结束指令
out dx, al
pop dx
pop ax
iret
int0 endp
start: cli
call init8259
call init8253
;将中断服务程序的入口地址写入
mov ax, 0
mov ds, ax
mov bx, 4*ICW2 ; 中断号
mov ax, code
shl ax, 4 ; x 16
add ax, offset Int0 ; 中断入口地址(段地址为0)
mov [bx], ax
mov ax, 0
inc bx
inc bx
mov [bx], ax ; 代码段地址为0
mov ax,data
文档评论(0)