資源簡介
通過51增強單片機IIC開發FDC2214模塊,測試程序好使,無需修改內容,調用即可,89C51,15W系列皆可兼容

代碼片段和文件信息
#include?“FDCIIC.h“
#include?“FDCdelay.h“
//uint8?dis[6]; //顯示數字(-511至512)的字符數組
//int dis_data; //變量
//********************************************************************************
//整數轉字符串
//********************************************************************************
//void?lcd_printf(uint8?*sint?temp_data)
//{
// if(temp_data<0)
// {
// temp_data=-temp_data;
// *s=‘-‘;
// }
// else?*s=‘?‘;
// *++s?=temp_data/10000+0x30;
// temp_data=temp_data%10000;?????//取余運算
// *++s?=temp_data/1000+0x30;
// temp_data=temp_data%1000;?????//取余運算
// *++s?=temp_data/100+0x30;
// temp_data=temp_data%100;?????//取余運算
// *++s?=temp_data/10+0x30;
// temp_data=temp_data%10;??????//取余運算
// *++s?=temp_data+0x30;?
//}
//*************************************************************************************************
//I2C起始信號
//*************************************************************************************************
void?I2C_Start()
{
????SDA?=?1;????????????????????//拉高數據線
????SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????SDA?=?0;????????????????????//產生下降沿
????Delay5us();?????????????????//延時
????SCL?=?0;????????????????????//拉低時鐘線
}
//*************************************************************************************************
//I2C停止信號
//*************************************************************************************************
void?I2C_Stop()
{
????SDA?=?0;????????????????????//拉低數據線
SCL?=?0;
Delay5us();
????SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????SDA?=?1;????????????????????//產生上升沿
????//Delay5us();?????????????????//延時
}
//**************************************************************************************************
//I2C發送應答信號
//入口參數:ack?(0:ACK?1:NAK)
//**************************************************************************************************
void?I2C_SendACK(bit?ack)
{
????SDA?=?ack;??????????????????//寫應答信號
????SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????SCL?=?0;????????????????????//拉低時鐘線
????Delay5us();?????????????????//延時
}
//****************************************************************************************************
//I2C接收應答信號
//****************************************************************************************************
bit?I2C_RecvACK()
{
????SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????CY?=?SDA;???????????????????//讀應答信號
????SCL?=?0;????????????????????//拉低時鐘線
????Delay5us();?????????????????//延時
????return?CY;
}
//*****************************************************************************************************
//向I2C總線發送一個字節數據
//*****************************************************************************************************
void?I2C_SendByte(uint8?dat)
{
????uint8?i;
????for?(i=0;?i<8;?i++)?????????//8位計數器
????{
????????dat?<<=?1;??????????????//移出
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????7757??2018-09-23?14:26??15開發測試FDC2214\FDCIIC.c
?????文件?????????617??2018-07-23?03:51??15開發測試FDC2214\FDCIIC.h
?????目錄???????????0??2018-09-23?14:27??15開發測試FDC2214\
- 上一篇:霍夫變換檢測和定位圓
- 下一篇:2018前端教學視頻全套什么都有
評論
共有 條評論