⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51bbs论坛初学者adc0832-2.htm

📁 汉字显示时间
💻 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&nbsp;14:36:51</FONT></H3>
      <P>//==============================================================================<BR>//2005-03-28...2005-03-29<BR>//ADC0834模块的C51程序源文件<BR>//File&nbsp;Name=ADC083X.c<BR>//==============================================================================<BR>#include&nbsp;&lt;Intrins.h&gt;<BR>#include&nbsp;"DELAY_S.h"<BR>#include&nbsp;"ADC083X.h"<BR><BR>//外部全局变量的预定义<BR><BR>//*******************************************************<BR>//序号:<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HD_ADC083X_S01<BR>//功能:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;端口初始化<BR>//输入:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无<BR>//输出:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无<BR>//********************************************************<BR>void&nbsp;adc083x_init(void)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CS;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DO;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR><BR>#if&nbsp;TYPE_VAL&nbsp;&gt;=ADC0832<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DI;<BR>#endif<BR><BR>#if&nbsp;TYPE_VAL&nbsp;&gt;=ADC0834<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_SARS;<BR>#endif<BR><BR>}<BR><BR>//*******************************************************<BR>//序号:<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HD_ADC083X_S02<BR>//功能:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;读出AD数据字节<BR>//输入:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;&nbsp;&nbsp;&nbsp;通道号以及单、双端设置选择,它的值被类型值限制!<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即有效值是select分别取最低4、3、2位或不使用<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具体的值参见pdf文档!<BR>//输出:&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AD转换的结果字节<BR>//********************************************************<BR>uchar&nbsp;adc083x_do_one_change(uchar&nbsp;chanel)<BR>{<BR>uchar&nbsp;data&nbsp;ad_val;<BR>uchar&nbsp;data&nbsp;i;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;//转换前的初始化<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CS;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DO;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CS;<BR><BR>//SARS引脚非必要时可以不使用,以节省引脚资源!<BR>#if&nbsp;(TYPE_VAL==ADC0838)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//chanel_.3&nbsp;&nbsp;&nbsp;&nbsp;.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.1&nbsp;&nbsp;&nbsp;&nbsp;.0&nbsp;&nbsp;&nbsp;&nbsp;=0000&nbsp;通道0+_通道1-,&nbsp;<BR>=001&nbsp;通道2+_通道3-,(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;SGL/DIF&nbsp;ODD/SIGN&nbsp;SELECT&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;&nbsp;&nbsp;&nbsp;=0010&nbsp;通道4+_通道5-,&nbsp;<BR>=011&nbsp;通道6+_通道7-,(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0100&nbsp;通道0-_通道1+,&nbsp;<BR>=0101&nbsp;通道2-_通道3+,(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=0110&nbsp;通道4-_通道5+,&nbsp;<BR>=0111&nbsp;通道6-_通道7+,(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=1000&nbsp;通道0+,&nbsp;&nbsp;&nbsp;&nbsp;=1001&nbsp;<BR>通道2+,(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=1010&nbsp;通道4+,&nbsp;&nbsp;&nbsp;&nbsp;=1011&nbsp;<BR>通道6+,(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=1100&nbsp;通道1+,&nbsp;&nbsp;&nbsp;&nbsp;=1101&nbsp;<BR>通道3+,(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=1110&nbsp;通道5+,&nbsp;&nbsp;&nbsp;&nbsp;=1111&nbsp;<BR>通道7+,(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//引脚/SE可以接地,不使用其控制反响字节的输出延时功能!<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;|=0x10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//附加起始位<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;&nbsp;i&lt;5;&nbsp;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;(chanel&nbsp;&amp;0x10)!=0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;&lt;&lt;=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>#elif&nbsp;(TYPE_VAL==ADC0834)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//chanel_.2&nbsp;&nbsp;&nbsp;&nbsp;.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.0&nbsp;&nbsp;&nbsp;&nbsp;=000&nbsp;通道0+_通道1-,&nbsp;=001&nbsp;通道2+_通<BR>道3-,&nbsp;&nbsp;&nbsp;&nbsp;(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;SGL/DIF&nbsp;ODD/SIGN&nbsp;SELECT&nbsp;&nbsp;&nbsp;&nbsp;=010&nbsp;通道0-_通道1+,&nbsp;=011&nbsp;通道2-_通<BR>道3+,&nbsp;&nbsp;&nbsp;&nbsp;(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=100&nbsp;通道0+,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=101&nbsp;通道2+,<BR>&nbsp;&nbsp;&nbsp;&nbsp;(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=110&nbsp;通道1+,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=111&nbsp;通道3+,<BR>&nbsp;&nbsp;&nbsp;&nbsp;(单端方式)<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;|=0x08;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//附加起始位<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;&nbsp;i&lt;4;&nbsp;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;(chanel&nbsp;&amp;0x08)!=0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;&lt;&lt;=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>#elif&nbsp;(TYPE_VAL==ADC0832)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//chanel_.1&nbsp;&nbsp;&nbsp;&nbsp;.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=00&nbsp;通道0+_通道1-,&nbsp;=01&nbsp;通道0-_通道<BR>1+,&nbsp;&nbsp;&nbsp;&nbsp;(双端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;SGL/DIF&nbsp;ODD/SIGN&nbsp;&nbsp;&nbsp;&nbsp;=10&nbsp;通道0+,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=11&nbsp;通道1+,&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;(单端方式)<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;|=0x04;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//附加起始位<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=0;&nbsp;i&lt;3;&nbsp;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;(chanel&nbsp;&amp;0x04)!=0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_DI;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chanel&nbsp;&lt;&lt;=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>#else&nbsp;&nbsp;&nbsp;&nbsp;//缺省时为ADC0831<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>#endif<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;&nbsp;&nbsp;&nbsp;&nbsp;//数据接收前的转换位<BR>&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;for(ad_val=0,&nbsp;i=0;&nbsp;i&lt;8;&nbsp;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ad_val&nbsp;&lt;&lt;=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ad_val&nbsp;+=(JUDGE_ADC083X_DO&nbsp;==1?&nbsp;1:0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLR_ADC083X_CLK;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;//对非ADC0831的型号而言,后续波形没有使用!<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;SET_ADC083X_CS;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return(ad_val);<BR>}<BR><BR>//=============================================================================<BR>//End&nbsp;Of&nbsp;File<BR></P>
      <UL><!--Add Reply--></UL></SPAN></TD></TR></TBODY></TABLE><A 
href="http://www.c51bbs.com/c51bbs/moredata.asp?syid=647616">点击回主题参与讨论 
&gt;&gt;&gt;</A><BR>_____________________________________________________________________________<BR>Copyright&copy;,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 + -