模数数模转换实验报告.doc_第1页
模数数模转换实验报告.doc_第2页
模数数模转换实验报告.doc_第3页
模数数模转换实验报告.doc_第4页
模数数模转换实验报告.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机与接口技术实验51采用查表法,用DAC0809产生100Hz正弦输出模拟信号,用示波器检查波形。(8253 T0产生定时脉冲,8259 INT0向CPU中断)。分析:定时器对4Mhz信号4000分频,产生1000hz的中断,在中断服务程序里查表法进行数模转换(表中预先存有10个数),输出的模拟值符合正弦规律,且频率正好100hz。源程序:ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 09000h ; 8259地址CS8259B equ 09001hCONTROL equ 08003hCOUNT0 equ 08000h dac0832 equ 0a000hdata segmentnum db 6,52,128, 203, 249, 249, 203, 128, 52, 6;十个点进行正弦逼近data endscode segmentassume cs:code,ds:datainit8259 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 retinit8259 endpinit8253 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 retinit8253 endpint0 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 iretint0 endpstart: 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 mov ds,ax mov si,offset num sti wait:jmp wait ;等待中断code endsend start2设计ADC0832模数采样程序,对电位器输出电压采样,并用发光二极管显示采样值。要求每秒采样并输出显示一次。(8253 T0产生定时脉冲,8259 INT0向CPU中断)。分析:计时器每秒产生上升沿中断,输入到8259A,中断服务程序里对电位器的采样电压进行模数转换,再通过简单输出接口74LS273输出到二极管。源程序:ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111110b ; 只响应INT0 中断CS8259A equ 09000h ; 8259地址CS8259B equ 09001hCONTROL equ 08003hCOUNT0 equ 08000hCOUNT1 equ 08001hadc0809 equ 0a000hcs273 equ 0b000hcode segmentassume cs:codeinit8259 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 retinit8259 endpinit8253 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 mov al,74h ;通道1,方式2 mov dx,control out dx,al mov ax,1000 ;1000分频,最终输出1hz的脉冲 mov dx,count1 out dx,al mov al,ah out dx,al retinit8253 endpint0 proc near ;中断服务程序 push ax push dx mov al, 0 ;让adc启动 mov dx, adc0809 out dx, al mov cx, 66h ;让start信号有足够的高电平时间 loop $ in al,dx mov dx,cs273 out dx,al mov dx, CS8259A mov al, 20h ; 中断服务程序结束指令 out dx, al pop dx pop ax iretint0 endpstart: cli call init8259 call init8253 ;将中断服务程序的入口地址写入 mov ax, 0 mov ds, ax mov bx, 4*ICW2 ; 中断号 mov ax, code shl ax, 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论