欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
PIC16LF6720單片機+AD7714采集+SD卡讀寫程序
[打印本頁]
作者:
lanhui81
時間:
2020-12-7 21:53
標題:
PIC16LF6720單片機+AD7714采集+SD卡讀寫程序
PIC16LF6720單片機+AD7714采集程序,采用SPI通訊協議,AD7714本身為6通道24位高精度AD芯片,通過PIC單片機IO口控制AD采集和SD卡通訊,全部原創設計,單片機程序為MPLAB8.7環境編譯通過。
電路原理圖如下:
1.png
(120.56 KB, 下載次數: 110)
下載附件
2020-12-7 21:48 上傳
單片機源程序如下:
#include <msp430x14x.h>
#include "AD7714.h"
extern unsigned char store[NUM_SAMPLES*MAX_REG_LENGTH +30] ;
unsigned char *datapointer = store;
/**************************************************************************
**
---------------------- --------------------------
| | |
|MCLKIN | |
|MCLKOUT | |
|AIN1 CS|<-----------|P2.7
|AIN2 DRDY|----------->|P3.0
|AIN3 |<-----------| MSP430149F
|AIN4 SCLK|<-----------|P3.3
|AIN5 DIN|<-----------|P3.1/SIMO
|AIN6 DOUT|----------->|P3.2/SOMI
| | |
| | |
| REFIN+ REFIN- | |
---------------------- -------------------------
**
**************************************************************************/
/*****************************************
***寫通信寄存器 ***
*****************************************/
void Init_Clk(void)
{
unsigned int i;
BCSCTL1 = 0X00; //將寄存器的內容清零
//XT2震蕩器開啟
//LFTX1工作在低頻模式
//ACLK的分頻因子為1
do
{
// 清除OSCFault標志
IFG1 &= ~OFIFG;
for (i = 0x20; i > 0; i--);
}
while ((IFG1 & OFIFG) == OFIFG);// 如果OSCFault =1
//將寄存器的內容清零
BCSCTL2 = 0X00;
//MCLK的時鐘源為TX2CLK,分頻因子為1
BCSCTL2 += SELM1;
//SMCLK的時鐘源為TX2CLK,分頻因子為1
BCSCTL2 += SELS;
}
void initSPI (void)
{
UCTL0 = SWRST; // 8-bit SPI Master **SWRST**
UTCTL0 = CKPH | SSEL0 | STC; // ACLK, 3-pin mode, clock idle low, data valid on rising edge, UCLK delayed
UBR00 = 0x8F; // 0x02: UCLK/8 (1 MHz), works also with 3 and 4
UBR10 = 0x02; // -"-
UMCTL0 = 0x00; // no modulation
UCTL0 = CHAR | SYNC | MM | SWRST; // 8-bit SPI Master **SWRST**
UCTL0 &= ~SWRST; // clear SWRST
ME1 |= USPIE0; // Enable USART1 SPI mode
while (!(IFG1 & UTXIFG0)); // USART1 TX buffer ready (empty)?
}
void Init_AD7714 (void)
{
P2DIR |= 0x80; //initial port
P3DIR |= 0x1A;
P3SEL |= 0x0E;
initSPI();
CS_LOW(); // 選通AD7714
}
void Writetoreg(const unsigned char byteword)
{
CS_LOW(); /*CS is low*/
spiSendByte(byteword);
//while(P3IN & BIT0); /*wait for /DRDY to go low*/
CS_HIGH(); /*CS is high*/
}
void Read(const unsigned char number)
{
unsigned char i;
//while(P3IN & BIT0); /*wait for /DRDY to go low*/
CS_LOW();
for(i = 0;i < number;i++)
{
//while(!(P3IN & BIT0)) /*wait for /DRDY to go low*/
//{
*datapointer++ = spiRecByte();
// }
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
AD7714+SD.rar
(3.89 KB, 下載次數: 24)
2020-12-7 21:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
rayin
時間:
2021-6-25 15:58
我這里還有好幾個AD7714的IC,可以參考樓主的資料搞下電路
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1