欢迎来到天天文库
浏览记录
ID:61488696
大小:22.50 KB
页数:9页
时间:2021-02-05
《最新10位数字温度传感器AD7416驱动程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/*------------------------------------------------------------------------------------------[文件名]AD7416.c[功能]最新10位数字温度传感器AD7416驱动程序===========================================================================================*///注意要根据不同的情况来减少延时的个数#include"reg51.h"#include"intrins.h"sbitAD7416_
2、SCL=P1^6;sbitAD7416_SDA=P1^7;unsignedcharAD7416_SystemError;unsignedintTemperature;//温度unsignedcharZorF;//正还是负//#defineSomeNOP();{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_
3、nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}//延时函数AD7416_delay(){unsignedinti=60;while(i--);}/*--------------------------------------------------------------------------------调用方式:voidAD7416_I2CStart(void)﹫2001/07/04函数说明:私有函数,I2C专用--------------------------------
4、-------------------------------------------------*/voidAD7416_I2CStart(void){EA=0;AD7416_SDA=1;AD7416_SCL=1;AD7416_delay();//INIAD7416_SDA=0;AD7416_delay();//STARTAD7416_SCL=0;AD7416_delay();}/*--------------------------------------------------------------------------------调用方式:voidAD7416_I
5、2CStop(void)﹫2001/07/04函数说明:私有函数,I2C专用---------------------------------------------------------------------------------*/voidAD7416_I2CStop(void){AD7416_SCL=0;AD7416_SDA=0;AD7416_delay();//INIAD7416_SCL=1;AD7416_delay();//STOPEA=1;}/*---------------------------------------------------------
6、-----------------------调用方式:I2CAck(void)﹫2001/07/04函数说明:私有函数,I2C专用,等待从器件接收方的应答ACKBYAD7416---------------------------------------------------------------------------------*/AD7416_WaitAck(void){unsignedcharerrtime=255;//因故障接收方无ACK,超时值为255。AD7416_SDA=1;AD7416_delay();AD7416_SCL=1;AD7416_delay
7、();AD7416_SystemError=0x10;while(AD7416_SDA){errtime--;if(!errtime){AD7416_I2CStop();AD7416_SystemError=0x11;return;}}AD7416_SCL=0;AD7416_delay();}/*--------------------------------------------------------------------------------调用方式:voidSendAck(void)﹫20
此文档下载收益归作者所有