📄 c51bbs论坛初学者adc0832-2.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0051)http://www.c51bbs.com/c51bbs/topic/c51bbs647616.htm -->
<HTML><HEAD><TITLE>C51BBS论坛>>初学者:ADC0832-2</TITLE>
<META http-equiv=Content-Type content="text/html; charset=Gb2312">
<SCRIPT language=javascript>function MM_findObj(n, d) { var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;}function MM_changeProp(objName,x,theProp,theValue) {var obj = MM_findObj(objName);if (obj && (theProp.indexOf("style.")==-1 || obj.style)) eval("obj."+theProp+"='"+theValue+"'");}</SCRIPT>
<LINK href="C51BBS论坛初学者ADC0832-2.files/nobgcolor.css" type=text/css
rel=stylesheet>
<META content="MSHTML 6.00.2900.2627" name=GENERATOR></HEAD>
<BODY bgColor=#efefef leftMargin=35
background=C51BBS论坛初学者ADC0832-2.files/c51bbs.jpg topMargin=80><TD
class=pw>用【<SPAN style="CURSOR: hand"
onclick="MM_changeProp('spancontent','','style.fontSize','9pt','SPAN')"> 小
</SPAN>|<SPAN style="CURSOR: hand"
onclick="MM_changeProp('spancontent','','style.fontSize','10.5pt','SPAN')"> 中
</SPAN>|<SPAN style="CURSOR: hand"
onclick="MM_changeProp('spancontent','','style.fontSize','12pt','SPAN')"> 大
</SPAN>】字体浏览</TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><SPAN id=spancontent>
<H3>初学者:ADC0832-2 [机灵小老鼠] <FONT
color=#d5d5d5>2005-3-29 14:36:51</FONT></H3>
<P>//==============================================================================<BR>//2005-03-28...2005-03-29<BR>//ADC0834模块的C51程序源文件<BR>//File Name=ADC083X.c<BR>//==============================================================================<BR>#include <Intrins.h><BR>#include "DELAY_S.h"<BR>#include "ADC083X.h"<BR><BR>//外部全局变量的预定义<BR><BR>//*******************************************************<BR>//序号:<BR>// HD_ADC083X_S01<BR>//功能: <BR>// 端口初始化<BR>//输入: <BR>// 无<BR>//输出: <BR>// 无<BR>//********************************************************<BR>void adc083x_init(void)<BR>{<BR> SET_ADC083X_CS;<BR> SET_ADC083X_DO;<BR> CLR_ADC083X_CLK;<BR><BR>#if TYPE_VAL >=ADC0832<BR> SET_ADC083X_DI;<BR>#endif<BR><BR>#if TYPE_VAL >=ADC0834<BR> SET_ADC083X_SARS;<BR>#endif<BR><BR>}<BR><BR>//*******************************************************<BR>//序号:<BR>// HD_ADC083X_S02<BR>//功能: <BR>// 读出AD数据字节<BR>//输入: <BR>// chanel 通道号以及单、双端设置选择,它的值被类型值限制!<BR>// 即有效值是select分别取最低4、3、2位或不使用<BR>// 具体的值参见pdf文档!<BR>//输出: <BR>// AD转换的结果字节<BR>//********************************************************<BR>uchar adc083x_do_one_change(uchar chanel)<BR>{<BR>uchar data ad_val;<BR>uchar data i;<BR><BR> //转换前的初始化<BR> SET_ADC083X_CS;<BR> CLR_ADC083X_CLK;<BR> SET_ADC083X_DO;<BR> <BR> CLR_ADC083X_CS;<BR><BR>//SARS引脚非必要时可以不使用,以节省引脚资源!<BR>#if (TYPE_VAL==ADC0838)<BR> //chanel_.3 .2 .1 .0 =0000 通道0+_通道1-, <BR>=001 通道2+_通道3-,(双端方式)<BR> // SGL/DIF ODD/SIGN SELECT SELECT =0010 通道4+_通道5-, <BR>=011 通道6+_通道7-,(双端方式)<BR> // =0100 通道0-_通道1+, <BR>=0101 通道2-_通道3+,(双端方式)<BR> // =0110 通道4-_通道5+, <BR>=0111 通道6-_通道7+,(双端方式)<BR> // =1000 通道0+, =1001 <BR>通道2+,(单端方式)<BR> // =1010 通道4+, =1011 <BR>通道6+,(单端方式)<BR> // =1100 通道1+, =1101 <BR>通道3+,(单端方式)<BR> // =1110 通道5+, =1111 <BR>通道7+,(单端方式)<BR> //引脚/SE可以接地,不使用其控制反响字节的输出延时功能!<BR><BR> chanel |=0x10; //附加起始位<BR> for(i=0; i<5; i++)<BR> {<BR> if( (chanel &0x10)!=0)<BR> {<BR> SET_ADC083X_DI;<BR> }<BR> else<BR> {<BR> CLR_ADC083X_DI;<BR> }<BR> SET_ADC083X_CLK;<BR> CLR_ADC083X_CLK;<BR> chanel <<=1;<BR> }<BR><BR>#elif (TYPE_VAL==ADC0834)<BR> //chanel_.2 .1 .0 =000 通道0+_通道1-, =001 通道2+_通<BR>道3-, (双端方式)<BR> // SGL/DIF ODD/SIGN SELECT =010 通道0-_通道1+, =011 通道2-_通<BR>道3+, (双端方式)<BR> // =100 通道0+, =101 通道2+,<BR> (单端方式)<BR> // =110 通道1+, =111 通道3+,<BR> (单端方式)<BR><BR> chanel |=0x08; //附加起始位<BR> for(i=0; i<4; i++)<BR> {<BR> if( (chanel &0x08)!=0)<BR> {<BR> SET_ADC083X_DI;<BR> }<BR> else<BR> {<BR> CLR_ADC083X_DI;<BR> }<BR> SET_ADC083X_CLK;<BR> CLR_ADC083X_CLK;<BR> chanel <<=1;<BR> }<BR><BR>#elif (TYPE_VAL==ADC0832)<BR> //chanel_.1 .0 =00 通道0+_通道1-, =01 通道0-_通道<BR>1+, (双端方式)<BR> // SGL/DIF ODD/SIGN =10 通道0+, =11 通道1+, <BR> (单端方式)<BR> <BR> chanel |=0x04; //附加起始位<BR> for(i=0; i<3; i++)<BR> {<BR> if( (chanel &0x04)!=0)<BR> {<BR> SET_ADC083X_DI;<BR> }<BR> else<BR> {<BR> CLR_ADC083X_DI;<BR> }<BR> SET_ADC083X_CLK;<BR> CLR_ADC083X_CLK;<BR> chanel <<=1;<BR> }<BR><BR>#else //缺省时为ADC0831<BR> <BR> SET_ADC083X_CLK;<BR> CLR_ADC083X_CLK;<BR> <BR>#endif<BR><BR> SET_ADC083X_CLK; //数据接收前的转换位<BR> CLR_ADC083X_CLK;<BR><BR> for(ad_val=0, i=0; i<8; i++)<BR> {<BR> ad_val <<=1;<BR> SET_ADC083X_CLK;<BR> ad_val +=(JUDGE_ADC083X_DO ==1? 1:0);<BR> CLR_ADC083X_CLK;<BR> } <BR> //对非ADC0831的型号而言,后续波形没有使用!<BR><BR> SET_ADC083X_CS;<BR> return(ad_val);<BR>}<BR><BR>//=============================================================================<BR>//End Of File<BR></P>
<UL><!--Add Reply--></UL></SPAN></TD></TR></TBODY></TABLE><A
href="http://www.c51bbs.com/c51bbs/moredata.asp?syid=647616">点击回主题参与讨论
>>></A><BR>_____________________________________________________________________________<BR>Copyright©,C51BBS论坛
2000-2003 <BR><BR><IFRAME name=ad src="C51BBS论坛初学者ADC0832-2.files/ad.htm"
frameBorder=0 width="100%" scrolling=no height=80 allowTransparency
color="#efefef"> </IFRAME></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -