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

📄 [原创]带spi接口的16位ad7705驱动程序[avr论坛].htm

📁 有关于AD7705的众多详细资料
💻 HTM
📖 第 1 页 / 共 5 页
字号:
  <TR>
    <TD class=td_a vAlign=top rowSpan=2>
      <DIV 
      style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 30px; PADDING-TOP: 10px; HEIGHT: 30px">
      <DIV 
      style="FILTER: glow(color='#9898BA',strength='2'); FLOAT: left; WIDTH: 105px"><FONT 
      face=Verdana color=#da2549><B>tonghe</B></FONT></DIV>
      <DIV style="MARGIN-TOP: 3px; FLOAT: left; WIDTH: 23px"><IMG 
      alt=帅哥哟,在线,有人找我吗? 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/Male.gif"></DIV>
      <DIV style="MARGIN-TOP: 8px; FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 15px">
      <SCRIPT language=javascript type=text/javascript>document.write (astro(''));</SCRIPT>
      </DIV></DIV>
      <DIV><IMG height=32 alt="" 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/image4.gif" width=32></DIV>
      <DIV><IMG style="MARGIN: 5px 0px" 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/level18.gif"></DIV>
      <DIV>等级:版主</DIV>
      <DIV>文章:2415</DIV>
      <DIV>积分:6311</DIV>
      <DIV>圈子:<A 
      href="http://www.iccavr.com/forum/IndivGroup_List.asp?action=usergrouplist&amp;userid=302">参与的圈子</A></DIV>
      <DIV>注册:2007年1月4日</DIV></TD>
    <TD class=td_b style="OVERFLOW: hidden; LINE-HEIGHT: normal" vAlign=top 
    width="82%">
      <DIV>
      <DIV class=user_menu_info>
      <DIV style="FLOAT: right; COLOR: #333">楼主</DIV>
      <DIV class=text_style style="FLOAT: right"><A 
      onclick="fontSize('m','textstyle_25382')" 
      href="javascript:void(0);">小</A><A 
      onclick="fontSize('b','textstyle_25382')" 
      href="javascript:void(0);">大</A></DIV>&nbsp;<A 
      href="http://www.iccavr.com/forum/userspace.asp?sid=302">个性首页</A></DIV></DIV>
      <DIV style="LINE-HEIGHT: 22px; HEIGHT: 22px">
      <DIV style="FLOAT: left"><IMG alt=发贴心情 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/face1.gif"></DIV><B>[原创]带SPI接口的16位AD7705驱动程序</B></DIV>
      <DIV id=textstyle_25382 
      style="PADDING-RIGHT: 3px; MARGIN-TOP: 20px; PADDING-LEFT: 3px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; PADDING-BOTTOM: 3px; WIDTH: 97%; TEXT-INDENT: 0px; LINE-HEIGHT: 22px; PADDING-TOP: 3px; HEIGHT: 150px">
      <P>最近在做一个印度项目时,应用到16位AD转换器AD7705,此器件<SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">是<SPAN 
      lang=EN-US>AD公司推出的双通道16位∑-Δ(电荷平衡式)A/D转换器。具有高分辨率、宽动态范围、自校准,低功耗及优良的抗噪声性能,因此非常适用于仪表测量和工业控制等领域。<SPAN 
      lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">16位无丢失代码;0.003%的非线性度;内部放大器可选择1,2,4,8,16,32,64,128;8种增益;输出数据更新速率可编程;具有自校准和系统校准功能,三线串行接口,可缓冲模拟输入;低功耗。经努力,目前已调通一个通道,现将驱动程序共享,愿起到抛砖引玉的作用。此程序在项目板上调试通过,而且测试精度极高,显示的电压值准确稳定。</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">#include 
      &lt;iom16v.h&gt;<BR>#include &lt;macros.h&gt;<BR>#include 
      "delay.h"<BR>#include "ylkz_io.h"<BR>#include "FYD_12864_B.h"<BR>#include 
      "AD7705.h"</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">//数据类型的定义<BR>#define 
      uchar unsigned char <BR>#define uint unsigned int<BR>#define spk_f 
      230</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">//全局变量定义<BR>uint 
      vol;</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/********************************<BR>* 
      器件端口初始化函数 *<BR>********************************/<BR>void 
      port_init(void)<BR>{<BR>PORTA = 0b00001111;<BR>DDRA = 0b00110000;<BR>PORTB 
      = 0b00011000;<BR>DDRB = 0b00010111; //输出<BR>PORTC = 0xFF;<BR>DDRC = 
      0b11000000; //输入<BR>PORTD = 0b00011100;<BR>DDRD = 
      0b11010000;<BR>}</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/*************************************<BR>* 
      蜂鸣器操作函数组 
      *<BR>*************************************/<BR>//无源蜂鸣器操作函数<BR>//入口:n响声次数,m响声时长1/10MS<BR>void 
      spk(uchar n,uint m)<BR>{<BR>uint a;<BR>CLI(); 
      //暂停中断,以免影响声音<BR>for(;n;n--)<BR>{<BR>a=(m*100/spk_f)*5; 
      //计算循环次数<BR>for(;a;a--)<BR>{;<BR>SPK_TG;<BR>delay_us(spk_f);<BR>SPK_TG;<BR>delay_us(spk_f);<BR>}<BR>SPK_OFF;<BR>delay_ms(100);<BR>}<BR>SEI(); 
      //开中断<BR>}</SPAN></SPAN></SPAN></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/****************************<BR>* 
      电压显示函数 *<BR>* 入 口:da 电压数据 *<BR>****************************/<BR>void 
      dy_disp(uint da)<BR>{<BR>uchar 
      temp;<BR>locate(1,1);<BR>lcd("AD7705测试程序:");<BR>locate(2,2);<BR>lcd("一通道电压值");<BR>locate(3,3);<BR>temp=((da/1000)+0x30);<BR>wr_12864(1,temp);<BR>temp=(da%1000)/100+0x30;<BR>wr_12864(1,temp);<BR>temp=(da%100)/10+0x30;<BR>wr_12864(1,temp);<BR>temp=(da%10)+0x30;<BR>wr_12864(1,temp);<BR>lcd("mV");<BR>}</SPAN></SPAN></SPAN></P></DIV></TD></TR>
  <TR>
    <TD class=td_d vAlign=bottom width="82%">
      <DIV id=sigline_1 
      style="CLEAR: both; FLOAT: left; OVERFLOW-X: hidden; WIDTH: 85%; TEXT-ALIGN: left"><IMG 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/sigline.gif"><BR>虽然已经老了,仍需活到老,学到老!</DIV>
      <SCRIPT language=javascript 
      type=text/javascript>fixheight('sigline_1');</SCRIPT>
      <BR>
      <DIV class=info>
      <UL class=info>
        <LI>评论[<FONT color=#3399ff>支持者: <SPAN id=isagree1_25382>0</SPAN> 
        人</FONT> ,<FONT color=#ff6600>反对者: <SPAN id=isagree2_25382>0</SPAN> 
        人</FONT>,<FONT color=#009933>中立者: <SPAN id=isagree0_25382>0</SPAN> 
        人</FONT>] <A 
        href="http://www.iccavr.com/forum/Appraise.asp?boardid=2&amp;topicid=4958&amp;postid=25382" 
        target=_blank><FONT color=red>查看评论信息</FONT></A></LI></UL></DIV></TD></TR>
  <TR height=20>
    <TD style="PADDING-LEFT: 20px" vAlign=center width="22%"><IMG 
      title=ip地址已设置保密 style="PADDING-LEFT: 2px; FLOAT: left" 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/ip.gif">
      <DIV style="PADDING-LEFT: 2px; FLOAT: left; TEXT-INDENT: 12px">2008-1-28 
      22:54:00</DIV></TD>
    <TD class=td_c 
    style="PADDING-RIGHT: 6px; PADDING-LEFT: 6px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; TEXT-ALIGN: left" 
    vAlign=center width="82%">
      <DIV style="FLOAT: left; LINE-HEIGHT: 26px; HEIGHT: 26px"><A 
      href="http://www.iccavr.com/shop/Product.asp?id=22" target=_blank><FONT 
      color=#0033ff>AVR mega16学习板</FONT></A>:电路合理、结构清晰,专为初学者设计。<FONT 
      color=#ff0000>价格:240元</FONT></DIV>
      <DIV style="FLOAT: right; MARGIN-RIGHT: 5px; HEIGHT: 26px"><A 
      href="http://www.iccavr.com/forum/dispbbs.asp?boardid=2&amp;id=4958#top"><IMG 
      style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" 
      alt=回到顶部 
  src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/p_up.gif"></A></DIV></TD></TR></TBODY></TABLE></DIV><A 
name=25384></A>
<DIV class=postlary2>
<TABLE style="TABLE-LAYOUT: fixed; WIDTH: 100%" cellSpacing=0 cellPadding=0 
border=0>
  <TBODY>
  <TR>
    <TD class=td_a vAlign=top rowSpan=2>
      <DIV 
      style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 30px; PADDING-TOP: 10px; HEIGHT: 30px">
      <DIV 
      style="FILTER: glow(color='#9898BA',strength='2'); FLOAT: left; WIDTH: 105px"><FONT 
      face=Verdana color=#da2549><B>tonghe</B></FONT></DIV>
      <DIV style="MARGIN-TOP: 3px; FLOAT: left; WIDTH: 23px"><IMG 
      alt=帅哥哟,在线,有人找我吗? 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/Male.gif"></DIV>
      <DIV style="MARGIN-TOP: 8px; FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 15px">
      <SCRIPT language=javascript type=text/javascript>document.write (astro(''));</SCRIPT>
      </DIV></DIV>
      <DIV><IMG height=32 alt="" 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/image4.gif" width=32></DIV>
      <DIV><IMG style="MARGIN: 5px 0px" 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/level18.gif"></DIV>
      <DIV>等级:版主</DIV>
      <DIV>文章:2415</DIV>
      <DIV>积分:6311</DIV>
      <DIV>圈子:<A 
      href="http://www.iccavr.com/forum/IndivGroup_List.asp?action=usergrouplist&amp;userid=302">参与的圈子</A></DIV>
      <DIV>注册:2007年1月4日</DIV></TD>
    <TD class=td_b style="OVERFLOW: hidden; LINE-HEIGHT: normal" vAlign=top 
    width="82%">
      <DIV>
      <DIV class=user_menu_info>
      <DIV style="FLOAT: right; COLOR: #333">第 <FONT color=red>2</FONT> 楼</DIV>
      <DIV class=text_style style="FLOAT: right"><A 
      onclick="fontSize('m','textstyle_25384')" 
      href="javascript:void(0);">小</A><A 
      onclick="fontSize('b','textstyle_25384')" 
      href="javascript:void(0);">大</A></DIV>&nbsp;<A 
      href="http://www.iccavr.com/forum/userspace.asp?sid=302">个性首页</A></DIV></DIV>
      <DIV style="LINE-HEIGHT: 22px; HEIGHT: 22px">
      <DIV style="FLOAT: left"><IMG alt=发贴心情 
      src="[原创]带SPI接口的16位AD7705驱动程序[AVR论坛].files/face1.gif"></DIV><B></B></DIV>
      <DIV id=textstyle_25384 
      style="PADDING-RIGHT: 3px; MARGIN-TOP: 20px; PADDING-LEFT: 3px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; PADDING-BOTTOM: 3px; WIDTH: 97%; TEXT-INDENT: 0px; LINE-HEIGHT: 22px; PADDING-TOP: 3px; HEIGHT: 150px">
      <P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"></SPAN></SPAN></SPAN></P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/************************************<BR>* 
      定时器1初始化函数 *<BR>* 功 能:定时读取AD7705数据 *<BR>* 定时时间:预分频64,定时500MS *<BR>* 
      实际定时:499.991mSec (0.0%) *<BR>************************************/<BR>void 
      timer1_init(void)<BR>{<BR>TCCR1B = 0x00; //停止定时器<BR>TCNT1H = 0x1F; 
      //装初值<BR>TCNT1L = 0x01;<BR>TCCR1A = 0x00;<BR>// TCCR1B = 0x03; 
      //启动定时器<BR>}<BR>/******************************<BR>* 定时器1中断函数 
      *<BR>******************************/<BR>#pragma interrupt_handler 
      timer1_ovf_isr:iv_TIMER1_OVF<BR>void timer1_ovf_isr(void)<BR>{<BR>TCNT1H = 
      0x1F; //重装初值<BR>TCNT1L = 0x01;<BR>LED_TG; 
      //工作指示灯闪亮<BR><BR>vol=ad7705();<BR>if(vol)<BR>{<BR>vol=(vol/131)*5; 
      //电压MV<BR>dy_disp(vol);<BR>}<BR>}</SPAN></SPAN></SPAN>
      <P></P>
      <P><SPAN 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><SPAN 
      lang=EN-US><SPAN lang=EN-US 
      style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/******************************<BR>* 
      器件初始化函数 *<BR>******************************/<BR>void 
      init_devices(void)<BR>{<BR>CLI(); 
      //先关总中断<BR>port_init();<BR>timer1_init();<BR>MCUCR = 0x00;<BR>GICR = 
      0x00;<BR>TIMSK = 0x04; //开启中断源<BR>SEI(); 
      //开总中断<BR>}</SPAN></SPAN></SPAN></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -