设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> 正文 用户登录 新用户注册
[图文]AD转换TLC2543的51源程序          【字体:
AD转换TLC2543的51源程序
作者:未知    文章来源:转载    点击数:    更新时间:2005-4-8

网上12位串行的AD转换可以说是不少。不过合用的就不多了。不是买不到就是缺资料或是并行的占用IO口。找来找去还是觉得用TLC2543比较好。

图1是TLC2543的接口电路。TLC2543的CLOCK,DATA OUT,DATAINPUT和/CS分别与AT89C2051的P3.0,P3.1,和P3.3连接。其接口软件由主程序和两个子程序组成,主程序主要是对AT89C2051的初始化,子程序是对89C2051和TLC2543的具体操作。如还有什么疑问的还可参考本站转载的另一PDF文件的文章串行A/D转换TLC2543与TMS320C25的接口与编程

程序清单如下:

CLK EQU P3.0

DIN EQU P3.2

DOUT EQU P3.3

ADDR EQU 50H; AD转换结果存储区

AD-DATA:

MOV R0, #ADDR

MOV R1,#0; 选择通道0,单极性,高位在前,;12位输出

ACALL RD-AD; 加电后空转换一次。

MOV R1,#0; 有效转换开始

ACALL RD-AD

MOV @R0, R2;保存转换结果

INC R0

MOV @R0, R3

;XXXXXX

;XXXXXX

;XXXXX

;用户的数据处理程序。

 

 

RD-AD: ;TLC2543AD转换子程序,R1内容为控;制字,结果的高;;8位保存在R2,低4位保存;在R3。

CLR CLK; 置CLK为低

SETB CS; 置CS为高

NOP

NOP

CLR CS; 置CS为低,转换开始

MOV R4,#08; 8位控制字移入TLC2543,高8位;结果移出TLC2543

MOV A,R1; 控制字装入A中

 

ADLOP1:

MOV C,DOUT; 移出一位结果进入C

RLC A; C中结果从A的最低位进入,控制字最;高位移入C

MOV DIN, C; 1位控制字移入TLC2543

SETB CLK

NOP

NOP

NOP

NOP

CLR CLK

DJNZ R4,ADLOP1; 是否移完?

MOV R2, A; 结果的高8位装入R2

MOV A, #0

MOV R4, #04; 读取低4位转换结果

ADLOP2:

MOV C, DOUT

RLC A

SETB CLK

NOP

NOP

NOP

NOP

CLR CLK

DJNZ R4, ADLOP2

MOV R3, A; 低4位转换结果装入R3

SETB CS

RET

文章录入:admin    责任编辑:admin 
  • 上一篇文章: 用AT89C2051设计超声波测距仪

  • 下一篇文章: 用AD595制作的温度采集仪
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
    没有相关文章
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}