实验一 模拟量输入输出通道实验20181105

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一模拟量输入输出通道实验
一、实验目的:
1、了解A/D、D/A转换的基本原理。

2、了解A/D转换芯片ADC0809、D/A转换芯片DAC0832的性能及编程方法。

3、掌握过程通道中A/D转换与D/A转换与计算机的接口方法。

4、了解计算机如何进行数据采集及输出控制。

二、实验设备
计算机 1台;
缔造者系统 1套:CPU挂箱、8031CPU模块;
万用表 1块;
示波器 1台。

三、实验内容
一)、A/D转换实验
利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。

1、实验电路:如图1
图1
2、实验接线:
1)0809的片选信号CS0809接CS0。

2)电位器的输出信号AN0接0809的ADIN1。

3、实验程序
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: MOV DPTR,#0CFA1H ;启动通道1
MOVX @DPTR,A
MOV R0,#0FFH
LOOP1: DJNZ R0,LOOP1 ;等待转换结束
MOVX A,@DPTR
MOV R1,A
DISP: MOV A,R1 ;从R1中取转换结果
MOV B,#100 ;求百位数据
DIV AB
MOV 50H,A ;存百位数据
MOV A,B
MOV B,#10 ;求十位数据
DIV AB
MOV 51H,A ;存十位数据
MOV 52H,B ;存个位数据
LOOP: MOV DPTR,#0CFE9H ;写显示RAM命令字
MOV A,#90H
MOVX @DPTR,A
MOV R0,#50H ;存放转换结果地址初值送R0
MOV R1,#03H
MOV DPTR,#0CFE8H ;8279数据口地址
DL0: MOV A,@R0
ACALL TABLE ;转换为显码
MOVX @DPTR,A ;送显码输出
INC R0
DJNZ R1,DL0
SJMP DEL1
TABLE: INC A
MOVC A,@A+PC
RET
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL1: MOV R6,#255 ;延时一段时间使显示更稳定
DEL2: MOV R5,#255
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
LJMP START ;循环
END
4、实验步骤
1)从系统“开始”菜单进入“所有程序”,在“所有程序”中选择“Windows Virtual PC”,点击“Windows XP Mode”进入虚拟机系统。

2)根据接线图接线,并运行EL型(8051)教学实验环境,建立上位计算机与缔造者系统的通信连接。

(串口选择COM2;波特率选择9600;点击屏幕中对话框确定后立刻按下设备上的复位键RST,若设备上的数码管显示C则表示通信成功。

)3)新建一个汇编文件(点击工具栏上的字母A,若程序用单片机C语言编写,则
点击工具栏上的字母C),输入汇编源程序,编译成功后,选择调试-运行。

4)用万用表测量电位器电压,依次调节电位器旋钮,并使数码管从一个较小的数开始变化。

记录表格1。

表1 A/D转换实验数据表
序号
电位器
电压(V)
理论计算的AD转
换结果数字量
数码管显
示值
理论计算与
实际显示值
相对误差
1
2
3
4
5
6
7
8
9
10
二)、D/A转换实验
利用DAC0832,编制程序产生锯齿波、三角波。

1、实验电路:如图2
图2
2、实验接线
1)DAC0832的片选CS0832接CS1,输出端OUT接示波器探头信号表笔,接地端GND接示波器地线夹子。

2)将短路端子DS的1、2短路
3、实验程序
1)产生锯齿波程序:
CSEG AT 4000H
LJMP START
CSEG AT 4100H
START: MOV B,#0FFH ;置计数初值于B
ACALL JCB ;显示锯齿波
LJMP START ;转START循环显示
JCB: MOV A,#00H ;初值送ACC
LOOP: MOV DPTR,#0CFA8H ;DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;加一,为DAC寄存器端口地址
MOVX @DPTR,A ;启动转换
INC A ;数据加一
CJNE A,#0FFH,LOOP
DJNZ B,JCB ;计数值减到00H了吗?没有则继续
RET ;产生锯齿波
END
2)产生三角波程序:
CSEG AT 4000H
LJMP START
CSEG AT 4100H
START: MOV B,#0FFH ;置计数初值于B
ACALL SJB ;显示三角波
LJMP START ;转START循环显示
SJB: MOV A,#00H
SJBZ: MOV DPTR,#0CFA8H ;LP1循环产生三角波前半周期
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
INC A
CJNE A,#0FFH,SJBZ ;数据为FFH吗?不等则转SJBZ
SJBF: MOV DPTR,#0CFA8H ;LP2循环产生三角波后半周期
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
DEC A
CJNE A,#00H,SJBF
DJNZ B,SJB
RET
END
4、实验步骤
1)从系统“开始”菜单进入“所有程序”,在“所有程序”中选择“Windows Virtual PC”,点击“Windows XP Mode”进入虚拟机系统。

2)根据接线图接线,并运行EL型(8051)教学实验环境,建立上位计算机与缔造者系统的通信连接。

(串口选择COM2;波特率选择9600;点击屏幕中对话框确
定后立刻按下设备上的复位键RST,若设备上的数码管显示C则表示通信成功。

)3)输入产生锯齿波的汇编源程序,编译成功后运行。

4)记录示波器显示的锯齿波波形曲线,计算显示锯齿波曲线的Vp-p电压及显示波形的周期或频率。

5)点击工具栏“停止调试”工具停止运行程序。

点击菜单“单片机复位”,按下复位按键,重新建立通信。

数码管显示C表示重新通信成功。

6)输入产生三角波的汇编源程序,编译成功后运行。

7)记录示波器显示的三角波波形曲线,计算显示三角波曲线的Vp-p电压及显示波形的周期和频率。

三)、A/D转换结果控制D/A输出信号频率实验
利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。

利用DAC0832,编制程序产生频率受A/D转换结果控制的锯齿波、三角波。

当调节实验箱上的电位器,A/D显示的结果相应发生变化,D/A产生的锯齿波和三角波频率也随之改变。

1、实验电路:如图1及图2
2、实验接线
1)0809的片选信号CS0809接CS0。

2)电位器的输出信号AN0接0809的ADIN0。

3)DAC0832的片选CS0832接CS1,输出端DAOUT接示波器探头信号表笔,接地端GND接示波器地线夹子。

3、实验程序
1)频率受控锯齿波程序:
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: MOV DPTR,#0CFA0H ;启动通道0
MOVX @DPTR,A
MOV R0,#0FFH
LOOP1: DJNZ R0,LOOP1 ;等待转换结束
MOVX A,@DPTR
MOV 53H,A
MOV R1,A
DISP: MOV A,R1 ;从R1中取转换结果
MOV B,#100 ;求百位数据
DIV AB
MOV 50H,A ;存百位数据
MOV A,B
MOV B,#10 ;求十位数据
DIV AB
MOV 51H,A ;存十位数据
MOV 52H,B ;存个位数据
LOOP: MOV DPTR,#0CFE9H ;写显示RAM命令字
MOV A,#90H
MOVX @DPTR,A
MOV R0,#50H ;存放转换结果地址初值送R0 MOV R1,#03H
MOV DPTR,#0CFE8H ;8279数据口地址
DL0: MOV A,@R0
ACALL TABLE ;转换为显码
MOVX @DPTR,A ;送显码输出
INC R0
DJNZ R1,DL0
SJMP DEL1
TABLE: INC A
MOVC A,@A+PC
RET
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL1: MOV R6,#1 ;延时一段时间使显示更稳定DEL2: MOV R5,#20
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
STARTDA: MOV B,10H
ACALL JCB ;显示锯齿波
LJMP START ;转START循环检测并显示JCB: MOV A,53H ;53H存储AD转换结果
JCBS: MOV DPTR,#0CFA8H ;DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;加一,为DAC寄存器端口地址
MOVX @DPTR,A ;启动转换
INC A ;数据加一
CJNE A,#0FFH,JCBS ;继续生成锯齿波
DJNZ B,JCB
MOV A,#00H
MOVX @DPTR,A
RET
END
2)频率受控三角波程序:
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: MOV DPTR,#0CFA0H ;启动通道0
MOVX @DPTR,A
MOV R0,#0FFH
LOOP1: DJNZ R0,LOOP1 ;等待转换结束
MOVX A,@DPTR
MOV 53H,A
MOV R1,A
DISP: MOV A,R1 ;从R1中取转换结果
MOV B,#100 ;求百位数据
DIV AB
MOV 50H,A ;存百位数据
MOV A,B
MOV B,#10 ;求十位数据
DIV AB
MOV 51H,A ;存十位数据
MOV 52H,B ;存个位数据
LOOP: MOV DPTR,#0CFE9H ;写显示RAM命令字
MOV A,#90H
MOVX @DPTR,A
MOV R0,#50H ;存放转换结果地址初值送R0 MOV R1,#03H
MOV DPTR,#0CFE8H ;8279数据口地址
DL0: MOV A,@R0
ACALL TABLE ;转换为显码
MOVX @DPTR,A ;送显码输出
INC R0
DJNZ R1,DL0
SJMP DEL1
TABLE: INC A
MOVC A,@A+PC
RET
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
DEL1: MOV R6,#1 ;延时一段时间使显示更稳定DEL2: MOV R5,#20
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
STARTDA: MOV B,10H
ACALL SJB ;显示三角波
LJMP START ;转START循环检测并显示
SJB: MOV A,53H ;53H存储AD转换结果
SJBZ: MOV DPTR,#0CFA8H ;DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;加一,为DAC寄存器端口地址
MOVX @DPTR,A ;启动转换
INC A ;数据加一
CJNE A,#0FFH,SJBZ ;继续生成三角波前半周
SJBF: MOV DPTR,#0CFA8H ;DAC输入寄存器端口地址
MOVX @DPTR,A ;送出数据
INC DPTR ;加一,为DAC寄存器端口地址
MOVX @DPTR,A ;启动转换
DEC A ;数据减一
CJNE A,52H,SJBF ; 继续生成三角波后半周
DJNZ B,SJB
MOV A,#00H
MOVX @DPTR,A
RET
END
4、实验步骤
1)从系统“开始”菜单进入“所有程序”,在“所有程序”中选择“Windows Virtual PC”,点击“Windows XP Mode”进入虚拟机系统。

2)根据接线图接线,并运行EL型(8051)教学实验环境,建立上位计算机与缔造者系统的通信连接。

(串口选择COM2;波特率选择9600;点击屏幕中对话框确定后立刻按下设备上的复位键RST,若设备上的数码管显示C则表示通信成功。

)3)输入频率受控锯齿波汇编源程序,编译成功后运行。

4)依次调节电位器旋钮,并使数码管显示为一个较小的值开始。

记录数码管显示值,及相应示波器显示的锯齿波波形曲线,计算显示锯齿波曲线的Vp-p电压及显示波形的周期和频率并填入表2。

5)点击工具栏“停止调试”工具停止运行程序。

点击菜单“单片机复位”,进行单片机复位,重新通信。

数码管显示C表示重新通信成功。

3)输入频率受控三角波汇编源程序,编译成功后运行。

4)依次调节电位器旋钮,并使数码管显示为一个较小的值开始。

记录数码管显示值,及相应示波器显示的三角波波形曲线,计算显示三角波曲线的Vp-p电压及显示波形的周期和频率并将数据填入表3。

表3 频率受控三角波实验数据表
四、实验报告
1、实验过程中填写表1、表
2、表3的实验结果数据。

2、A/D转换实验相关问题:
1)、将表1数据整理后作图表示数码管显示的A/D转换结果与待转换电压的关系,横坐标为输入电压,纵坐标为A/D转换结果的十进制数,图中应包含理论曲线和实际测量曲线,观测并分析误差产生的原因。

2)、A/D转换实验的ADC0809的端口地址是多少?对其哪个通道进行转换?若电位器电压接到AIN6,请给出ADC0809的端口地址。

3)、A/D转换实验中,单片机是以哪种方式(延时、查询、中断)处理A/D转换结果的?
3、D/A转换实验
1)分别画出D/A转换输出锯齿波和三角波实验输出波形,注意标注好波形的横坐标和纵坐标。

给出锯齿波和三角波曲线的Vp-p电压及显示波形的周期和频率。

2)、给出DAC0832的工作方式和端口地址。

3)、程序是如何实现锯齿波和三角波的。

4、A/D转换结果控制D/A输出信号频率实验
1)分别画出两个锯齿波和两个三角波实验波形。

2)根据表3分析,数码管显示的A/D转换结果与示波器显示波形的频率变化规律。

相关文档
最新文档