MSP430的AD7705驅動程式

2021-06-23 01:40:39 字數 1493 閱讀 9646

//2023年8月4日

//在網上找了半天msp430的7705的驅動程式,沒乙個能用!現在貼出乙個能用的

#ifndef __ad7705 

#define __ad7705

#define uint unsigned int

#define uchar unsigned char

#define adclk_h p3out |= bit6 // clk--->p3.6

#define adclk_l p3out &= ~bit6

#define cs_h p3out |= bit7 // cs--->p3.7

#define cs_l p3out &= ~bit7

#define addin_h p3out |= bit5 // din--->p3.5

#define addin_l p3out &= ~bit5

#define dout p3in & bit3 // dout--->p3.3

#define drdyin p3in & bit1 // drdy--->p3.1,實時查詢drdy的狀態

// 延時

void delay(void)

// 寫入指令,配置ad7705,寫入八位

void write_cmd(uchar cmd)

adclk_h;

addin_h;

} // 讀出資料,讀出十六位

uint read_data(int data)

adclk_h;

addin_h;

return digit;

}// 初始化ad7705

void initad7705(void)

write_cmd(0x20); // 向clock register寫,通道1

//write_cmd(0x21); // 向clock register寫,通道2

write_cmd(0x0b); // 時鐘 mclk為 2mhz,clk 位置零(取樣頻率<---8(20hz),9(25hz),a(100hz),b(200hz))

write_cmd(0x10); // 向setup register寫

//write_cmd(0x11); // 向setup register寫,通道2

write_cmd(0x44); // 校正模式,增益為1,單極性

}void choose(uint x)

write_cmd(0x20+x);

write_cmd(0x0b);

write_cmd(0x10+x); // 向setup register寫

write_cmd(0x44); // 校正模式,增益為1,單極性 }

unsigned int duqu(void)

#endif

MSP430的AD採集程式

基於msp430f169 149的雙通道ad採集程式,內部2.5v參考電壓,中斷處理方式,採用滑動平均的濾波 方式,在測試時穩定的電壓的採集中在小數點後兩位保持不動。include adc.h include stdio.h include define adc buf len 200 uint16...

MSP430的比較器A

比較器a是乙個實現模擬電壓比較的外圍模組 比較器a的主要功能是指出兩個輸入電壓ca0和ca1的大小關係,然後設定輸出訊號caout的值。如果ca0 ca1 則 caout 1,否則caout 0。參與比較的兩個電壓ca0和ca1可以是外部或者內部基準電壓。任何組合都是可能的。比較器結構 比較器a一共...

MSP430常見問題之AD轉換類

q1 msp430f149 ad 的輸入阻抗有多大?a1 rc 2000歐 30pf q2 msp430 adc12 模組的速度?a2 adc12 的轉換速率是轉換所需的adc12clk 以及時鐘的一項功能。adc12clk 的近似最小值與最大值分別為500khz 及6.5mhz。速度最快的整個轉換...