欢迎光临MCUWAY! 本站网名:单片机之路  永久域名:www.mcuway.com

设为首页

加入收藏

电子基础 初学MCU 单片机类型 MCU程序 MCU应用 设计软件 测控电路 技术论坛
 您现在的位置: 单片机之路 >> 单片机程序 >> 单片机源码 >> 文章正文

C51编写的AD7416驱动程序-绝对可用

    网上很多关于AD7416驱动程序的停止信号有问题,希望大家在使用的时候多多注意。单片机之路收集整理的这个程序已经经过了修改,在实际的开发过程中已经过调试并正确运行,敬请放心使用!
//AD7416
sbit AD7416_SCL = P2^6;
sbit AD7416_SDA = P2^7;
unsigned char AD7416_SystemError;
unsigned int Temperature; //温度
unsigned char ZorF;       //正还是负

void AD7416_delay() //延时函数
{
 unsigned char i=20;
 while(i--)
        {
   _nop_();
        }
}
/*--------------------------------------------------------------------------------
调用方式:void AD7416_I2CStart(void) 函数说明:私有函数,I2C专用
---------------------------------------------------------------------------------*/
void AD7416_I2CStart(void)
{
 EA=0;
 AD7416_SDA=1;
 AD7416_SCL=1;
 AD7416_delay();//INI
 AD7416_SDA=0;
 AD7416_delay();//START
 AD7416_SCL=0;
 AD7416_delay();
}
/*--------------------------------------------------------------------------------
调用方式:void AD7416_I2CStop(void) 函数说明:私有函数,I2C专用
---------------------------------------------------------------------------------*/
void AD7416_I2CStop(void)
{
 /*
 AD7416_SCL=0;
 AD7416_SDA=0;
 AD7416_delay();//INI
 AD7416_SCL=1;
 AD7416_delay();//STOP
 EA=1;
 */
 AD7416_SDA=0;
    AD7416_SCL=1;
 AD7416_delay();
 AD7416_SDA=1;
 AD7416_delay();
 EA=1;
}
/*--------------------------------------------------------------------------------
调用方式:I2CAck(void) 私有函数,I2C专用,等待从器件接收方的应答ACK BY AD7416
---------------------------------------------------------------------------------*/
void AD7416_WaitAck(void)
{
 unsigned char errtime=255;//因故障接收方无ACK,超时值为255。
 AD7416_SDA=1;
 AD7416_delay();
 AD7416_SCL=1;
 AD7416_delay();
 AD7416_SystemError=0x10;
 while(AD7416_SDA)
 { errtime--;
  if(!errtime)
  { AD7416_I2CStop();
   AD7416_SystemError=0x11;
   return;
  }
 }
 AD7416_SCL=0; AD7416_delay();
}

本文转自网络,经“单片机之路”(www.mcuway.com)摘选整理,版权归原作者所有

[1] [2] [3] 下一页

普通文章28课:单片机音乐汇编程序设计
普通文章27课:单片机的一些基本概念
普通文章26课:单片机矩阵式键盘接口技术
普通文章51单片机教程(从原理开始基于汇编)
普通文章1课:单片机概述
普通文章2课:8051单片机引脚介绍
普通文章3课:单片机存储器结构结构分析
普通文章4课:第一个单片机小程序
普通文章5课:单片机延时程序分析
普通文章6课:单片机并行口结构
普通文章7课:单片机的特殊功能寄存器
普通文章8课:单片机寻址方式与指令系统
普通文章9课:单片机数据传递类指令
普通文章10课:单片机数据传送类指令
普通文章11课:单片机算术运算指令
普通文章12课:单片机逻辑运算类指令
普通文章13课:单片机逻辑与或异或指令祥解
普通文章14课:单片机条件转移指令
普通文章15课:单片机位操作指令
普通文章16课:单片机定时器与计数器
普通文章17课:单片机定时器/计数器的方式控制
普通文章18课:单片机的中断系统
普通文章19课:单片机定时器、中断试验
普通文章20课:单片机定时/计数器实验
普通文章21课:单片机串行口介绍

  • 上一篇文章:
  • 下一篇文章:
  • 更多精彩内容>>>

    普通文章电流单位
    普通文章功率单位
    普通文章什么是达林顿管?
    普通文章晶闸管的作用与原理

    学习单片机的必经之路——单片机之路,永久域名:www.mcuway.com