- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
徐州工程学院
《智能仪器原理及应用》实验指导书
实验一 A/D转换实验
一、实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法。
二、实验内容:
1、利用综合实验仪上的0809做A/D转换器,综合实验仪上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。
2、编程实现将从0809采集到的数字量转换成实际的模拟电压值,并显示在LED上。使用编写测程序和万用表同时在测量电压范围内采集不低于50个的电压值,用MATLAB作图对测量结果进行分析比较,分析误差产生的原因。如何对程序修改能减小误差?
三、实验器材:
1、超想-3000TC综合实验仪 1 台
2、KEIL仿真器 1 台
3、连线 若干 根
4、计算机 1 台
四、实验原理:
A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100μS。其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时,AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转换结果,也可以通过中断方式读取结果。CLOCK为转换时钟输入端,频率为100KHz-1.2MHz,推荐值为640KHz。
五、、实验步骤:
1、设定仿真模式为程序空间在仿真器上,数据空间在用户板上,即点击[设置]下的[仿真模式],在RAM区选中用户RAM,ROM区选中系统ROM(注:本书中的实验除另行说明外,均与此相同)。把AD0809的零通道09IN0孔用连线接至模拟信号发生器的VIN孔,AD0809的片选信号CS09孔接“译码器”YC2(0A000-0AFFFH)孔,“脉冲源”中的0.5MHZ孔连AD0809的CLOCK孔。
2、编写程序,并编译通过。本程序使用查询的方式读取转换结果。在读取转换结果的指令后设置断点,运行程序,在断点处检查并读出A/D转换结果,数据是否与VIN相对应。修改程序中错误,使显示值随VIN变化而变化。
六、接线图:
七、思考问题:1、试编写循环采集8路模拟量输入A/D转换程序;2、以十进制方式显示。
八、实验程序: 程序框图:
OUTBIT equ 0e101h ; 位控制口
CLK164 equ 0e102h ; 段控制口(接164时钟位)
DAT164 equ 0e102h ; 段控制口(接164数据位)
IN equ 0e103h ; 键盘读入口
LEDBuf equ 40h ; 显示缓冲
org 0000h
mov sp,#60h
mov dptr,#0e100h ;8155初始化
mov a,#03h
movx @dptr,a
mov 40h,#00h ;显示缓冲器初始化
mov 41h,#08h
mov 42h,#00h
mov 43h,#09h
mov 44h,#00h
mov 45h,#00h
LOOP1: MOV R7,#40
VI: lcall DISPLAY
DJNZ R7,VI
mov a,#00h
mov dptr,#0a000h ;0809AD的通道开始转换吗?
movx @dptr,a
mov r7,#0fh
loop2: djnz r7,loop2
movx a,@dptr
mov r0,#45h ;拆字
lcall ptds
sjmp loop1
ptds: mov r1,a
lcall ptds1
mov a,r1
swap a
ptds1: anl a,#0fh
mov @r0,a
dec r0
ret
Delay:
mov r7, #0 ; 延时子程序
Dela
文档评论(0)