AD与DA转换实验.docx
《AD与DA转换实验.docx》由会员分享,可在线阅读,更多相关《AD与DA转换实验.docx(10页珍藏版)》请在冰豆网上搜索。
AD与DA转换实验
华北电力大学
实验报告
实验名称:
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、使用的参考程序
modeequ082h
PAequ09000h
CTLequ09003h
CS0809equ08000h
codesegment
assumecs:
code
startprocnear
moval,mode
movdx,CTL
outdx,al;8255初始化
again:
moval,0
movdx,CS0809
outdx,al;起动A/D
movcx,40h
loop$;延时>100us
inal,dx;读入结果
movdx,PA;8255A口输出
outdx,al
jmpagain;重复
codeends
endstart
三、实验结果与分析
调节电位器使输入模拟量从0---+5V变化时,对应输出的数字量记录如下表:
(测量数字中x代表该灯闪烁;理论值中x代表该位近似,理论上应该闪烁)
1
2
3
4
5
模拟量(V)
1.0
2.0
3.0
4.0
4.78
数字量(测量值)
00110110
01101010
10011111
110101xx
111111x1
数字量(理论值)
00110110
0110101x
1001111x
110101xx
11111111
误差分析:
由表格可知误差基本在允许范围内,些许误差可能如下原因:
1、本次实验所采用的是延迟程序等待ADC0809模数转换,这种设计是存在缺陷的,不如利用EOC引脚来判定转换是否结束比较准确,可能会造成部分数值的误差;
2、实验设备老旧引起的系统误差,仪器的损坏以及电路中元件参数不准确也可能造成实验结果的误差。
3、试验线路连接不稳定,或接触点电阻引起的误差。
●实验二:
D/A转换实验
一、实验要求
1、利用DAC0832生成锯齿波、倒锯齿波、三角波以及方波。
2、对汇编语言的编程应用进一步熟悉与掌握。
二、实验内容
1、使用设备
示波器一台;
PC计算机一台;
Wave6000计算机实验培训系统一套
2、实验步骤
•按连线图接好,检查无误后打开试验箱电源。
通过在计算机上进行设置将试验箱与电脑连接。
•在PC端软件开发平台上编写程序代码,编译通过后下载到试验箱,在试验箱上检测程序运行的结果,调节示波器,得到锯齿波形;
•修改程序使示波器一次产生倒锯齿波、三角波和方波。
3、实验接线图
3、实验结果与分析
1、锯齿波
锯齿波的汇编程序如下:
CS0832equ08000h
codesegment
assumecs:
code
startprocnear
movdx,cs0832//将cs0832单元的数据放到DX寄存器中
moval,0//把当前段地址中送寄存器
again:
outdx,al//把al的8位值送DX端口
incal//逐渐增加
jmpagain//重复上述过程
startendp
codeends
endstart
产生波形如下:
2、倒锯齿波
锯齿波的汇编程序如下:
CS0832equ08000h
codesegment
assumecs:
code
startprocnear
movdx,cs0832
moval,0
again:
outdx,al
decal//将al的值减小一位
jmpagain
startendp
codeends
endstart
产生波形如下:
3、三角波
三角波的汇编程序如下:
CS0832equ08000h
codesegment
assumecs:
code
startprocnear
movdx,cs0832
moval,0
movbx,0
movcx,ofeh
again:
outdx,al//把al的8位值送dx端口
incal
cmpal,0efh//将al的值与0efh进行比较
Jaagain
jmpagain//ja根据again1决定是否跳转,若=1,则跳转,否则不跳转
again1:
outdx,al
decal
cmpal,010h
jbagain
jmpagain1//ja根据again1决定是否跳转,若1则跳转,否则不跳转
startendp
codeends
endstart
产生波形如下:
4、方波
方波的汇编程序如下:
CS0832equ08000h
codesegment
assumecs:
code
startprocnear
movdx,cs0832
movbl,07eh
movcl,01h
movbh,0
again1:
moval,0h
Outdx,al
incbh
cmpbh,bl
jaagain2
jmpagain1
again2:
moval,07eh
outdx,al
decbh
cmpbh,cl
jbagain1
jmpagain2
startendp
codeends
endstart
产生波形如下: