《AD与DA转换实验》由会员分享,可在线阅读,更多相关《AD与DA转换实验(12页珍藏版)》请在金锄头文库上搜索。
1、 华北电力大学 实验报告 实验名称: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、培训系统一套2、 实验过程 按连线图接好,检查无误后打开试验箱电源。通过在计算机上进行设置将试验箱与电脑连接。 在 PC 端软件开发平台上编写程序代码,编译通过后下载到试验箱,在试验箱上检测程序运行的结果。 运行程序后,通过调节电位器,改变输入电压的大小,观察LED灯的亮灭情况并记录不同电压值下LED灯的亮灭情况。 3、 实验接线图4、使用的参考程序mode equ 082hPA equ 09000hCTL equ 09003hCS0809 equ 08000hcode segment assume cs:codestart proc near mov al, mode mov dx, CTL
3、 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代表该位近似,理论上应该闪烁)12345模拟量(V)1.02.03.04.04.78数字量(测量值)001
4、101100110101010011111110101xx111111x1数字量(理论值)001101100110101x1001111x110101xx11111111误差分析:由表格可知误差基本在允许范围内,些许误差可能如下原因:1、本次实验所采用的是延迟程序等待ADC0809模数转换,这种设计是存在缺陷的,不如利用EOC引脚来判定转换是否结束比较准确,可能会造成部分数值的误差; 2、实验设备老旧引起的系统误差,仪器的损坏以及电路中元件参数不准确也可能造成实验结果的误差。3、试验线路连接不稳定,或接触点电阻引起的误差。 实验二:D/A转换实验一、实验要求1、利用DAC0832生成锯齿波、倒
5、锯齿波、三角波以及方波。2、对汇编语言的编程应用进一步熟悉与掌握。二、实验内容1、使用设备示波器一台; PC计算机一台; Wave6000 计算机实验培训系统 一套2、 实验步骤 按连线图接好,检查无误后打开试验箱电源。通过在计算机上进行设置将试验箱与电脑连接。 在 PC 端软件开发平台上编写程序代码,编译通过后下载到试验箱,在试验箱上检测程序运行的结果,调节示波器,得到锯齿波形; 修改程序使示波器一次产生倒锯齿波、三角波和方波。3、 实验接线图三、 实验结果与分析1、锯齿波 锯齿波的汇编程序如下:CS0832 equ 08000hcode segment assume cs:codestar
6、t proc near mov dx,cs0832/将cs0832单元的数据放到DX寄存器中 mov al, 0/ 把当前段地址中送寄存器 again: out dx, al/ 把al的8位值送DX端口 inc al/逐渐增加 jmp again/重复上述过程 start endpcode ends end start产生波形如下:2、 倒锯齿波 锯齿波的汇编程序如下:CS0832 equ 08000hcode segment assume cs:codestart proc near mov dx,cs0832 mov al, 0 again:out dx, al dec al/将al的值减
7、小一位 jmp again start endpcode ends end start产生波形如下:3、 三角波 三角波的汇编程序如下:CS0832 equ 08000hcode segment assume cs:codestart proc near mov dx,cs0832 mov al, 0mov bx,0mov cx,ofeh again: out dx, al/把al的8位值送dx端口 inc alcmp al, 0efh/将al的值与0efh进行比较Ja again jmp again/ja根据again1决定是否跳转,若=1,则跳转,否则不跳转again1: out dx,
8、al dec al cmp al, 010h jb again jmp again1/ja根据again1决定是否跳转,若1则跳转,否则不跳转 start endpcode ends end start产生波形如下:4、 方波方波的汇编程序如下:CS0832 equ 08000hcode segment assume cs:codestart proc near mov dx,cs0832 mov bl, 07ehmov cl,01hmov bh,0 again1:mov al,0hOut dx,al inc bhcmp bh, blja again2 jmp again1again2:mov al, 07eh out dx, al dec bh cmp bh,cljb again1jmp again2start endpcode ends end start产生波形如下: