AD与DA转换实验

  • 格式:docx
  • 大小:733.51 KB
  • 文档页数:10

华北电力大学
实验报告
实验名称:A/D转换与D/A转换实验
课程名称:计算机控制系统
专业班级:自动实1401
学生姓名:张娅楠
学号:201402020526
实验日期:2017.3.14
指导老师:程海燕老师
A/D转换与D/A转换
实验报告
●实验一:A/D转换实验
一、实验要求
1、了解模/数转换基本原理,掌握ADC0809的使用方法。

2、了解ADC0809芯片的转换性能及编程,用延时查询方式读入A/D 转换结果,并用8255的PA口输出到发光二极管显示。

3、对汇编语言的编程的应用,有了更熟练的掌握。

二、实验内容
1、使用设备
万用表一块;PC计算机一台;
Wave6000计算机实验培训系统一套
2、实验过程
•按连线图接好,检查无误后打开试验箱电源。

通过在计算机上进行设置将试验箱与电脑连接。

•在 PC 端软件开发平台上编写程序代码,编译通过后下载到试验箱,在试验箱上检测程序运行的结果。

•运行程序后,通过调节电位器,改变输入电压的大小,观察LED 灯的亮灭情况并记录不同电压值下LED灯的亮灭情况。

3、实验接线图
4、使用的参考程序
mode equ 082h
PA equ 09000h
CTL equ 09003h
CS0809 equ 08000h
code segment
assume cs:code
start proc near
mov al, mode
mov dx, CTL
out dx, al ;8255初始化again:
mov al, 0
mov dx, CS0809
out dx, al ; 起动A/D
mov cx, 40h
loop $ ; 延时> 100us
in al, dx ; 读入结果
mov dx, PA ;8255A口输出
out dx, al
jmp again ;重复
code ends
end start
三、实验结果与分析
调节电位器使输入模拟量从0--- +5V变化时,对应输出的数字量记录如下表:(测量数字中x代表该灯闪烁;理论值中x代表该位近似,理论上应该闪烁)
误差分析:
由表格可知误差基本在允许范围内,些许误差可能如下原因:
1、本次实验所采用的是延迟程序等待ADC0809模数转换,这种设计是存在缺陷的,不如利用EOC引脚来判定转换是否结束比较准确,可能会造成部分数值的误差;
2、实验设备老旧引起的系统误差,仪器的损坏以及电路中元件参数不准确也可能造成实验结果的误差。

3、试验线路连接不稳定,或接触点电阻引起的误差。

●实验二:D/A转换实验
一、实验要求
1、利用DAC0832生成锯齿波、倒锯齿波、三角波以及方波。

2、对汇编语言的编程应用进一步熟悉与掌握。

二、实验内容
1、使用设备
示波器一台;
PC计算机一台;
Wave6000 计算机实验培训系统一套
2、实验步骤
•按连线图接好,检查无误后打开试验箱电源。

通过在计算机上进行设置将试验箱与电脑连接。

•在 PC 端软件开发平台上编写程序代码,编译通过后下载到试验箱,在试验箱上检测程序运行的结果,调节示波器,得到锯齿波形;
•修改程序使示波器一次产生倒锯齿波、三角波和方波。

3、实验接线图
三、实验结果与分析
1、锯齿波
锯齿波的汇编程序如下:
CS0832 equ 08000h
code segment
assume cs:code
start proc near
mov dx,cs0832//将cs0832单元的数据放到DX寄存器中mov al, 0// 把当前段地址中送寄存器
again:out dx, al// 把al的8位值送DX端口
inc al//逐渐增加
jmp again//重复上述过程
start endp
code ends
end start
产生波形如下:
2、倒锯齿波
锯齿波的汇编程序如下:CS0832 equ 08000h
code segment
assume cs:code start proc near
mov dx,cs0832
mov al, 0
again:out dx, al
dec al//将al的值减小一位
jmp again
start endp
code ends
end start
产生波形如下:
3、三角波
三角波的汇编程序如下:
CS0832 equ 08000h
code segment
assume cs:code
start proc near
mov dx,cs0832
mov al, 0
mov bx,0
mov cx,ofeh
again:out dx, al//把al的8位值送dx端口
inc al
cmp al, 0efh//将al的值与0efh进行比较
Ja again
jmp again//ja根据again1决定是否跳转,若=1,则跳转,否则不跳转again1: out dx, al
dec al
cmpal, 010h
jb again
jmp again1//ja根据again1决定是否跳转,若1则跳转,否则不跳转start endp
code ends
end start
产生波形如下:
4、方波
方波的汇编程序如下:CS0832 equ 08000h
code segment
assume cs:code start proc near
mov dx,cs0832 mov bl, 07eh
mov cl,01h
mov bh,0
again1:moval,0h
Out dx,al
inc bh
cmp bh, bl
ja again2
jmp again1
again2:mov al, 07eh
out dx, al
dec bh
cmpbh,cl
jb again1
jmp again2
start endp
code ends
end start 产生波形如下:。