資源簡介
雙通道AD7705讀取橋式電路信號,通過STC單片機處理后發到MODBUS485RTU接口備讀取。
但是AD7705切換速度較慢。且市場上假貨太多。

代碼片段和文件信息
/*------------------------------------------------------------------*/
/*?---?STC?MCU?International?Limited?-------------------------------*/
/*?---?STC?1T?Series?MCU?SPI?Demo(Each?other?as?the?master-slave)?--*/
/*?---?Mobile:?(86)13922805190?-------------------------------------*/
/*?---?Fax:?86-755-82944243?----------------------------------------*/
/*?---?Tel:?86-755-82948412?----------------------------------------*/
/*?---?Web:?www.STCMCU.com?-----------------------------------------*/
/*?If?you?want?to?use?the?program?or?the?program?referenced?in?the??*/
/*?article?please?specify?in?which?data?and?procedures?from?STC????*/
/*------------------------------------------------------------------*/
//#include?“reg51.h“
#include?
#include?
#include?
//---------------------------------------------------
//全局變量
extern?BYTE?SPI_DT;//保存收到的數據
extern?BYTE?SPI_RD;//設置SPI端口收到數據標志?
extern?BYTE?AD7705nRDYhgh8low8;
extern?BYTE?i8DTOK;
extern?WORD?i16S1OVERRdOverTime;
extern?WORD?isoidxisomax;
extern?BYTE?ComBusytketks;
extern?union?AD7705_DATA_FOR_UP_SEND_TO_OPS?xdata?ud;
sbit?INF_LED??=?P1^0;//LED?閃爍
sbit?ERR_LED??=?P1^1;//LED?閃爍
sbit?ADDRDY???=?P2^0;//DRDY
sbit?SPIDI????=?P1^6;//DI
sbit?SPIDO????=?P1^5;//DO
sbit?SPICLK???=?P1^7;//CLK
void?LedFlash();
void?SPI_Wd_Init();
//void?SPI_Rd_Init();
//void?SPI_Close();
BYTE?SPI_Read();
void?SPI_Write(BYTE?dat);
void?AD7705_Work_init();
void?AD7705_SPI_Read();
//void?WD_SPI_Byte(BYTE?dat);
//WORD?RD_SPI_Word();
//BYTE?RD_SPI_Byte();
BYTE?rearrange(unsigned?char?dat);
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
void?SPI_Wd_Init()
{
EA?????=?0;
SPDAT??=?0;??????????????????//初始化SPI數據
SPSTAT?=?0;??????? ?????????//清除SPI狀態
SPCTL??=?SPEN?|?SSIG?|?MSTR;?//從模式?|?主模式?SSIG|?SPD016
IE2?=?IE2ESPI;????????//開中斷
EA?=1;
}
void?SPI_Rd_Init()
{
SPDAT??=?0;???????????//初始化SPI數據
SPSTAT?=?0;???????????//清除SPI狀態
// SPCTL?=?SPEN?|?SSIG;??//從模式?|?主模式?SSIG
}
BYTE?SPI_Read()
{
// SPDAT??=?0;???????????//初始化SPI數據
// SPSTAT?=?0;???????????//清除SPI狀態
i16?=?0;
????while(1){
i16?++;
if(!SPI_RD){
if?(i16?>?200){
return(0);
}
continue;
}
else?if(SPI_DT?&?DRDY){
return(1);
}
}
}
/*
void?SPI_Close()
{
SPDAT??=?0;?//初始化SPI數據
SPSTAT?=?0;?//清除SPI狀態
SPCTL??=?0;?//從模式?|?主模式?SSIG
}
*/
void?Spi_DIn()?interrupt?9?using?3
{
SPSTAT?=?SPIF?|?WCOL;?????//清除SPI狀態
SPI_DT=SPDAT;?????????????//保存收到的數據
SPI_RD=1;?????????????????//設置SPI端口收到數據標志?
SPDAT??=?0;???????????//初始化SPI數據
}
//------------------------------------------------------------------------------------------
//函數:write_AD7705_dword
//功能:往AD7705寫24位數據因為AD7705是24位的器件
//參數:IN?-?int32_t???data要寫入AD7705的數據
//返回:無
//變量:無
//備注:無
//------------------------------------------------------------------------------------------
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????24097??2013-09-01?20:50??復件?AD7705READ-DP20130829\AD7705READ.C
?????文件???????5773??2012-02-26?00:09??復件?AD7705READ-DP20130829\AD7705SPIIO.c
?????文件???????4299??2013-09-01?18:26??復件?AD7705READ-DP20130829\DATA.H
?????文件????????857??2002-10-11?14:53??復件?AD7705READ-DP20130829\INTRINS.H
?????文件??????????0??2013-08-29?11:06??復件?AD7705READ-DP20130829\KeyInputSubr.c
?????文件???????8282??2012-04-24?22:54??復件?AD7705READ-DP20130829\Modbus485.c
?????文件??????????0??2012-04-22?16:36??復件?AD7705READ-DP20130829\SEG_C.c
?????文件??????????2??2012-04-22?18:46??復件?AD7705READ-DP20130829\SEG_C.H
?????文件???????9987??2013-08-25?15:00??復件?AD7705READ-DP20130829\Spi2Uart.c
????.......?????13434??2013-09-11?07:38??復件?AD7705READ-DP20130829\SPI2UART.uvproj
?????文件???????5057??2012-02-25?23:07??復件?AD7705READ-DP20130829\Spi2Uart2.c
?????文件???????5105??2012-05-18?10:06??復件?AD7705READ-DP20130829\STC_EEROMRW.c
?????文件??????17733??2013-09-01?09:30??復件?AD7705READ-DP20130829\STC_NEW_8051.H
?????文件???????9607??2013-08-14?13:03??復件?AD7705READ-DP20130829\UartModbus.c
?????目錄??????????0??2013-09-11?07:38??復件?AD7705READ-DP20130829
-----------?---------??----------?-----??----
???????????????104233????????????????????15
評論
共有 條評論