AD实验技术总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机系统设计及应用实验报告第7次实验实验名称:A/D实验专业:姓名:学号:同组人员:学号:实验地点: 实验时间: 2016.12.01评定成绩:审阅教师:一.实验目的掌握单片机与A/D的接口及编程方法;进一步了解A/D的工作原理;通过实验了解单片机如何进行数据采集;进一步了解单片机系统地址分配概念。二.实验内容及要求首先利用8051单片机的高位地址进行线译码,以分别给实验板中的各有关芯片提供CS信号,实现单片机系统地址分配。ADC0809是输入为8通道、可与8051单片机直接接口的8位逐次逼近型CMOSA/D。在8模拟输入通道中的每个通道上接至不同的信号源,改变通道号,并把A/D转换结果显示出来,即可检查A/D转换过程是否正确。根据实验板的硬件线路可知,当8051向0809写入通道数时,即启动A/D转换,约经过100μs后,A/D转换完成,并向8051发出中断申请。要求在ADC0809的输入端加上不同的模拟信号,通过键盘输入ADC0809的通道号并启动A/D转换,采集N个(如N=256)数据存入外部RAM中,打开XDATA窗口,检查实验结果。注意:①在进行A/D采样前,应先检查ADC0809的参考电压是否正确。(要求ADC0809的参考电压值Vref = +5V,用万用表观察ADC0809芯片的12脚电压值。若不对,可调节实验板上的电位器W1来改变A/D的参考电压值。)②实验板上电位器W2可调节校准信号的值。三.实验原理ADC0809的硬件连接如上图,接线与书上例子不同。通道数由MOVX @DPTR,A的A低位值来决定,片选通过钉字线与地址A15口连接,则地址为7XXX即可。本实验通过函数发生器产生正弦波形,接入输入口之一,进行A/D转换。四.实验流程图五.调试过程及相关数据记录修改语法错误。修改通道选择部分,给A预设值。在中断服务程序中修改代码,PUSH A和POP A,保证通道数不丢失。检测参考电压的值,为4.995V,不用修正。计算检查A/D结果是否正确。六.源代码ORG?0000H??LJMP?START?ORG?0003H?LJMP?INTORG?0040H?START:??MOV?SP,?#60H??MOV?R3,#0FFH????????????;读取数据个数初始化?MOV?R1,#0A0H????????????;片外储存数据首地址?MOV?R0,?#00H??MOV?DPTR,#7FF8H ;初始化地址KEYBORD: ;键盘读取部分MOV P1, #0FFHMOV A, P1CPL AJZ KEYBORD ;是否全为0LCALL LOOPMOV A, P1CPL AJZ KEYBORDPUSH ATHEN:MOV A, P1CPL AANL A, #0FHJNZ THENLCALL LOOPPOP AJZ KEYBORDJB ACC.0, CH0 ;判断哪个通道JB ACC.1, CH1JB ACC.2, CH2JB ACC.3, CH3JB ACC.4, CH4JB ACC.5, CH5JB ACC.6, CH6JB ACC.7, CH7CH0:MOV A,#00H ;通道值设置SJMP MAINCH1:MOV A,#01HSJMP MAINCH2:MOV A,#02HSJMP MAINCH3:MOV A,#03HSJMP MAINCH4:MOV A,#04HSJMP MAINCH5:MOV A,#05HSJMP MAINCH6:MOV A,#06HSJMP MAINCH7:MOV A,#07HMAIN:?MOVX?@DPTR,A?????????;启动?A_D??SETB?IT0????????????????;开中断SETB?EA??SETB?EX0?????????????????CJNE?R3,#00H,STOP?????????;判断256个数据是否转换完毕,是则停止,否则原地等待中断??CLR IT0INT:?PUSH A ;保存通道值MOVX?A,@DPTR?????????;读?AD?数据??MOV?DPH,R1?MOV?DPL,R0?MOVX?@DPTR,A??????????;将数据放到片外存储地址?INC?R0???????????????????;指向下一个单元?DEC?R3???????????????????;数据个数减一?POP A????????????? ;恢复通道值MOVX?@DPTR,A??????????;再次启动A_D?RETI?????????????????????;返回中断?LOOP: ;键盘消抖延时MOV R2, #9FHMOV R7, #0FFHMOV R6, #0FFHLOOP1

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档