复旦大学 微机接口实验 串行A D转换实验 预习报告.docx

复旦大学 微机接口实验 串行A D转换实验 预习报告.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行A/D转换实验预习报告08300720314 实验目的:学习使用串行模数转换芯片TLC549进行电压采集和数据处理。实验内容:1. REF+连基准源的+5V(通过可调电阻调整),CLK、DAT和-CS分别连P10、P11和P12。D2区电位器的输出连ANIN。通过单片机P1口控制串行AD转换芯片TLC549实现模拟电压信号的采集,并存入内部数据存储器。记录10组不同的电压转换值,并分析误差。2. 使用信号源产生0~+5V区间的正弦波,使用串行A/D转换芯片TLC549实现信号采集,并利用采样定律分析采样频率与输入信号频率的关系。实验原理TLC549 8位串行A/D TLC549是美国德州仪器(TI)公司生产的8位串行逐次比较型A/D转换芯片。通用微处理器通过串行控制线可实现对该芯片的控制。该芯片具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,转换速度为40 000次/s。总失调误差最大为±0.5LSB,典型功耗值为6mW。 4、8脚为电源输入和接地; 2脚AIN模拟采样电压的输入; 5脚-CS为片选信号;当-CS为高时,数据输出DATA_OUT 端处于高阻状态。 7脚I/OCLK为时钟信号的输入; 6脚DOUT为转换后的串行数据输出; 1、3脚为参考电压输入,其中1脚REF+,3脚REF-,通常为保证器件工作良好,REF+电压应高于REF-电压至少1V,为减少误差,建议相差4.75V以上。工作时序控制时序 1. 将CS置低。内部电路在测得CS下降沿后,等待ten后自动将前一次转换结果的最高位(D7)位输出到DATA OUT端上。2. 前四个IO_CLOCK 周期的下降沿依次移出第2、3、4 和第5 个位(D6、D5、D4、D3),片上采样保持电路在第4个IO_CLOCK 下降沿开始采样模拟输入。 3. 接下来的3个IO_CLOCK 周期的下降沿移出第6、7、8(D2、D1、D0)个转换位。 4. 最后,片上采样保持电路在第8个I/O CLOCK 周期的下降沿后,开始A/D转换。第8个IO_CLOCK后,CS 必须为高,或IO_CLOCK保持低电平,这种状态需要维持tconv以等待保持和转换工作的完成。实验流程图实验一主程序流程图实验二主程序流程图CS BIT P1.2DAT BIT P1.1CLK BIT P1.0AD_DATA DATA 30HORG 8000HAJMP MAINORG 8100HMAIN:MOV SP,#60H;ACALL TLC549_ADC;MOV R7,#0;DJNZ R7,$;ACALL TLC549_ADC;读取上次ADC的值,并再次启动A/D转换;MOV AD_DATA,A;SJMP $;TLC549_ADC:CLR A;CLR CLK;CLR CS;进行片选MOV R6,#8;TLCAD_L1:SETB CLK;把时钟信号置高,产生上升沿NOP;NOP;MOV C,DAT;RLC A;CLR CLK;产生下降沿,为读取下一位数据做准备NOP;DJNZ R6,TLCAD_L1;SETB CS;禁止TLC549,再次启动A/D转换。SETB CLK;RET;;ENDCS BIT P1.2DAT BIT P1.1CLK BIT P1.0AD_DATA DATA 30HAD_DATA_END DATA 50H; ORG 0000HAJMP MAINORG 000BHLJMP INTT0;ORG 0100HMAIN:MOV SP,#60HMOV TMOD,#02H;MOV TL0,#9CH;;5000hz正弦波,用10000hz采样,采样时间为1/10000s,MOV TH0,#9CH;计时周期在除以1.1us,,最后得到92.165,为了保证采样准确SETB ET0;采样率稍大,设为90,256-90=156=9CHSETB EA;SETB TR0;MOV R0,#AD_DATA;ACALL TLC549_ADCSJMP $;5000hz正弦波,用10000hz采样,采样时间为1/10000s,计时周期在除以1.1us,最后得到92.165,为了保证采样准确,记录稍大,设为90,256-90=156INTT0:ACALL TLC549_ADCINC R0;MOV @R0,ACJNE R0,#AD_DATA_END,RETTI;CLR TR0;关闭中断;CLR EA;CLR ET0;RETTI:RETI;TLC549_ADC:CLR ACLR CLKCLR CSMOV R6,#8TLCAD_L1:SETB CLKNOPNOPMOV C,DAT;读入数据到标志位RLC A;用循环移位吧标志位移入ACLR CLKNOPDJNZ

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档