电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

单片机实践A/D和D/A转换的程序

作者:佚名    文章来源:本站原创    点击数:    更新时间:2008/12/4

实验五、模数转换

一、实验目的
1、掌握A/D转换与单片机的接口方法;
2、掌握A/D芯片TLC549的编程方法;
3、掌握数据采集程序的设计方法;

二、实验内容
利用实验开发装置上的TLC549做A/D转换器,对电位器提供的模拟电压信号进行定时中断采样,结果在LED上进行显示。

    A/D转换芯片  TLC549
CLK  P1.5  时钟位
DAT  P1.6  数据位
CS   P1.7  选片位
    VREF  接 +5V
三、实验线路
将TLC549的CLK接P1.5、DAT接P1.6、CS接P1.7,将模拟电压输入端连到电位器的电压输出端,

并接万用表进行输入电压测量。

四、实验步骤
在PC机输入源程序并汇编,然后下载到单片机上,进行调试。
调节电位器,电压从0V到5V变化,记录数码管的显示数值。记录到表中。
输入电压V 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
A/D结果           

五、 实验报告
(1) 整理好实验程序和实验记录,进行数据处理分析并做图。
(2) 数据采集中,如何实现精确的定时数据采集?
(3) 数码管动态扫描显示程序设计中,显示刷新的时间如何确定?

;++++++++++++++++++++++++++++++++++++++++++++++++++++++
CS  BIT P3.0
DAT BIT P3.1
CLK BIT P3.2
ADC DATA 30H
  ORG 0000H
MAIN: MOV SP,#60H
WAIT: ACALL TLC549
  LCALL  DELAY
  ACALL TLC549 ;读取上次ADC值,并再次启动AD转换
  MOV A,ADC
  CPL A
  MOV P1,A
  SJMP WAIT
TLC549: CLR CLK
  CLR CS ;选中TLC549
  MOV R6,#8
TLCAD: SETB CLK
  MOV C,DAT
  RLC A
         CLR CLK ;DAT=0,为读出下一位数据作准备
  DJNZ R6,TLCAD
  SETB CS ;禁能TLC549,再次启动AD转换
  SETB CLK
  MOV  ADC,A
  RET
DELAY: MOV R7,#250
  DJNZ R7,$
  RET
  END
 
实验六、模数转换
一、实验目的
1、掌握模数转换芯片TLC5620的接口技术。
2、掌握模数转换芯片TLC5620的编程方法。

二、实验内容
编写程序实现下列要求:
1、 通过SW输入8位数值,由TLC5620变为模拟电压输出,记录数值与对应的对应关系。
2、 利用TLC5620输出一个从0V开始逐渐升至5V再降至0V,周期为1秒的三角波。

三、实验线路
将TLC5620的信号线接到相应的端口,在OutA、OutB、OutC、OutD、输出0-5V电压接万用表。
D/A芯片TLC5620
LDAC    接GND;
LOAD    接P3^0;  装载
CLK     接P3^1;  时钟
DAT     接P3^2;  数据
Vref    接+5V;  参考

四、实验预习
    1、学习模数转换的原理与编程
2、提前编写程序,写出预习报告。

五、实验报告
1、总结出实验的详细步骤。
2、写出调试正确的程序及框图。

;+++++++++++++++++++++++++++++++++++++++++++++++++++++
         SCL    BIT    P3.0
         SDA    BIT    P3.1
         LOAD   BIT    P3.2
  DAC    DATA   30H
  NUM   DATA   31H

  ORG   0000H
MAIN:  MOV  SP,#60H
  CLR   SCL
  CLR   SDA
         SETB   LOAD
WAIT: MOV   P1,#0FFH
  MOV   A,P1
  MOV   DAC,A
  MOV   NUM,#0
  LCALL  DAC5620
  SJMP   WAIT

DAC5620: MOV   A,R1
          CLR    SCL
  MOV   A,NUM
  LCALL  SENDAD
  MOV   A,R2
  CLR    SCL
  MOV   A,DAC
  LCALL  SENDDB
  CLR    LOAD
  SETB   LOAD
          RET

SENDDB: MOV    R7,#8
LPDB: SETB   SCL
  RLC    A
  MOV   SDA,C
  CLR    SCL
  DJNZ   R7,LPDB
  RET

SENDAD: MOV  R7,#3
  SETB  C
  RLC   A
LPAD: SETB  SCL
  RLC   A
  MOV  C,ACC.3
  MOV  SDA,C
  CLR   SCL
  DJNZ  R7,LPAD
  RET
        END

Tags:单片机,数字,模拟,转换,程序  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章:
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询