//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。速度最快的整個轉換...