实验一、AD1674进行A/D转换
一、实验目的
通过本部分实验的学习,使学生了解A/D转换器与计算机接口时数据线和信号线如何连接,数据采集电路的时序怎样设计,了解A/D芯片AD1674转换性能及编程,掌握芯片AD1674的程序设计方法。
二、实验内容
利用PROTEUS工程文件下的AD转换电路实现A/D转换器,用电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,用虚拟示波器显示。
三、实验原理、方法和手段
A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用的AD1674是12位A/D转换器,可通过设置将其使用于8位或12位。
四、实验组织运行要求
集中授课
图一AD1674实现A/D转
五、实验条件
PC机、Proteus软件、Keil μVision2软件
六、实验步骤
1.按照实验原理及接线图在Proteus中画出仿真电路图
2.编写中转换的程序,输入程序。进行仿真。
3.旋转电位器,测取不同的模拟电压输入时,读取显示的转换结果是否符合5V/256=Vin/D 的规律,并记录。画出模拟电压和数字量关系图,看两者是否成线性关系。
七、实验报告
1.实验前应认真预习,并根据接线图编写出AD1674AD转换的程序,实验完成后将程序附在实验报告后。
2.实验报告中实验记录格式如下表:
输入模拟量0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
理论数字量00H 0CC
H 199
H
266
H
333
H
400
H
4CC
H
599
H
666
H
733
H
800
H
测得数字量00H 0CD
H 199
H
266
H
333
H
400
H
4CC
H
599
H
666
H
733
H
7FF
H
首先根据我们测的一组数据算出实际转换的位数,用公式5V/256=Vin/D,算出实际的转换位数为11位,所以就能够得到公式5V/2048=Vin/D,就可以算出其他组的测量值。七、思考题
1.本实验如采用查询EOC状态的方式判断转换是否结束,应如何编程?
由于AD1674的EOC引脚为转换结束信号,在运行当转换结束后,将会在EOC引脚上产生一个高电平,我们将它与单片机的P1.7口相连接,因此在单片就可以通过查询P1.7的高低电平判断转换是否结束,即高电平结束,低电平跳转继续执行。其相应的程序段为LOOP:JNB P1.7,LOOP;LOOP1:JNB P1.7,LOOP1。
2.如本实验采用软件延时的办法等待转换结束,如何用实验法测定ADC0809的最短转换时间?
可以通过测多算少的办法,进行多次延时实验数据的测量,并记录相应的转换时间,然后用求平均值得方法就可得到每一次的转换时间。
七、实验总结
通过对本实验的学习和陈老师的细心指导,自己了解A/D转换器与计算机接口时数据线和信号线如何连接,同时也掌握芯片AD1674的程序设计方法以及将模拟量转换成二进制数字量。还学会了运用公式5V/256=Vin/D对转换位为11位模数转换的理论值得运算。也使得自己在运用Keil μVision2软件编程和学习上有了跟多知识的积累,相信对于以后的设计型任务带来很大的帮助。
实验二、2 :DAC0832与MCS-51单片机接口实验
一、实验目的
通过本实验的学习,使学生掌握D/A转换的工作原理,掌握芯片DAC0832与单片机接口电路的设计方法,掌握芯片DAC0832的程序设计方法,为后续“测控系统原理课程设计”的学习奠定基础。
二、实验内容
1.编写程序:送数据00~0FF到DAC0832,用万用表测量数模转换的输出端T-DAOUT,观察输出电压的变化。
2.试编写程序:使DAC0832输出三角波,并用示波器观察。
三、实验原理、方法和手段
DAC0832芯片是8位的D/A转换集成芯片,有数据锁存器,选片、读、写控制信号线,故可以和单片机直接接口。由于DAC0832芯片为电流输出方式,但在实际应用中,往往需要电压输出方式,所以在线路设计上接入一片运算放大器来实现电流转换为电压。当数字量输入在00H~FFH范围时,电压的输出量有两种形式:一种是单极性输出,电压的输出量为0~+XV或0~-XV,另一种是双极性输出,电压的输出量为±XV。在本实验中采用单缓冲器、单极性输出方式,数字量在00~FFH变化时,输出模拟量在0~5V之间变化。该电路包括一片DAC0832和一个运算放大器UA741。
实验原理及接线图电路如下图所示,DAC 0832片选信号CS为低电平有效,直接接P2.7,即P2.7为低时选中DAC 0832,据P2.7=0可算得DAC 0832选片地址。(1
WR、2
WR同时与8031的WR连接)DAC 0832内部没有参考电压,8脚接负的参考电压,输出为正电压,8脚接正的参考电压,输出为负电压。由于DAC 0832是有数字量的输入锁存功能,故数字量可以直接从P0口送入。
四、实验组织运行要求
集中授课
图二利用DAC0832及切换开关实现不同波形输出
五、实验条件
PC机、Keil μVision2软件,PROTEUS
六、实验步骤
1.按照实验原理在PROTEUS上完成连线。
2.在KEIL中编制程序1使DAC0832输出三角波。输入程序,编译并下载到AT89C51中。
3.进行编译仿真。
4.运行程序1,用示波器测试,观察输出波形。
5. 编制程序2,实现利用图二所示电路完成三角波及锯齿波不同波形的输出,当SW1接通P1.0实输出三角波,P1.1时输出锯齿波。
6.在KEIL 中编制程序,编译并生成‘*.hex’文件
7.下载到PROTEUS 的单片机中,运行仿真,观测结果,并不断调整程序。
七、实验结果
实验调试结果如下图所示:
三角波
矩形波
锯齿波
参考程序如下:
ORG 0000H
AJMP MAIN
ORG 0200H
MAIN: MOV DPTR,#7FFFH MOV A, P1
JNB ACC.0 ,JUCHIBO JNB ACC.1 ,JUXINGBO JNB ACC.2 ,SABJIAOBO
SANJIAOBO: MOV A,#00H
START1: MOVX @DPTR,A
ACALL DELAY
INC A
CJNE A,#0FFH,START1 LOOP2:MOVX @DPTR,A
ACALL DELAY
DEC A
CJNE A,#00H,LOOP2 AJMP MAIN
JUCHIBO: MOV A,#00H
START2: MOVX @DPTR,A
ACALL DELAY
INC A
CJNE A,#0FFH,START2
AJMP MAIN
JUXINGBO: MOV A,#00H
MOVX @DPTR,A
ACALL DELAY2
MOV A,#0FFH
MOVX @DPTR,A
ACALL DELAY2
AJMP MAIN
DELAY: MOV R0,#02H
DELAY1:MOV R1,#00H
DJNZ R1,$
DJNZ R0,DELAY1
RET
DELAY2: MOV R0,#255
DELAY3:MOV R1,#255
DJNZ R1,$
DJNZ R0,DELAY3
RET
END
八、实验总结
通过本次实验的学习,我觉得最大的一点收获就是对于锯齿波、三角波、矩形波软件程序的编写以及产生相应波形的原理有了较为确切的掌握,同时还掌握芯片DAC0832与单片机接口电路的设计方法,掌握芯片DAC0832的程序设计方法,在老师和同学的帮助下完成PROTEUS上连线,KEIL中编制程序,AT89C51中编译,并下载到下载到PROTEUS 的单片机中,运行仿真,观测结果,实验取得了不错的结果。