关于TLC0834的A/D转换

[复制链接]
 楼主| dahema1982 发表于 2007-9-4 13:32 | 显示全部楼层 |阅读模式
我要用TLC0834做A/D转换....<br />TLC0834是4通道的,如果我只用到他的1个通道就够了,其他3通道应该怎么处理啊?是不是架空在那里就好了?<br /><br />下面是我自己改的程序,在使用的时候,result的值好象没出来,程序编译通过的,不知道那里出的问题,大家帮忙研究下啊<br /><br />#include&nbsp;&ltreg52.h&gt<br />#include&nbsp;&ltintrins.h&gt<br />#define&nbsp;&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;&nbsp;uint&nbsp;&nbsp;unsigned&nbsp;int<br />#define&nbsp;&nbsp;ulong&nbsp;unsigned&nbsp;long&nbsp;int<br />#define&nbsp;&nbsp;FLASE&nbsp;&nbsp;0<br />#define&nbsp;&nbsp;TRUE&nbsp;&nbsp;&nbsp;1<br />//=========引脚定义==============<br />sbit&nbsp;&nbsp;CS_AD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=P0^2;<br />sbit&nbsp;&nbsp;CLK_AD&nbsp;&nbsp;&nbsp;&nbsp;=P0^4;<br />sbit&nbsp;&nbsp;DAT_AD&nbsp;&nbsp;&nbsp;&nbsp;=P0^3;<br />/********************************************************************<br />*&nbsp;名称:&nbsp;uchar&nbsp;ADConver();<br />*&nbsp;功能:&nbsp;获取模数转换值<br />*&nbsp;调用:<br />*&nbsp;输入:&nbsp;&nbsp;n,表示通道值,n=(1-4)<br />*&nbsp;说明:<br />*&nbsp;返回值:&nbsp;adresult<br />***********************************************************************/<br />//=======AD数据开始转换=========<br />uchar&nbsp;&nbsp;ADConver()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;i,adresult;//adresult2;<br />&nbsp;&nbsp;&nbsp;&nbsp;adresult=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;CS_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;CS_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;//send&nbsp;start&nbsp;bit&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;//send&nbsp;SGL&nbsp;bit<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;//send&nbsp;ODD&nbsp;bit<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;//send&nbsp;SELECT&nbsp;bit<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adresult=_crol_(adresult,1);//高位向左移<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAT_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(DAT_AD==1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adresult|=0x01;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//adresult2=_cror_(adresult2,1);//高位向右移<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//if(DAT_AD==1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//adresult2|=0x80;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLK_AD=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//DAT_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CS_AD=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;adresult;<br />}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

33

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部