|
ADS7886的源程序,可直接用
單片機(jī)源程序如下:
- #include "ads7886.h"
- #include "delay.h"
- /*
- 函數(shù)功能:ADS7886驅(qū)動(dòng)程序
- 制作人:王博文
- 版本 1.0
- ADS7886芯片介紹:
- 1、采用模擬SPI時(shí)序?qū)崿F(xiàn)通信
- 2、信號(hào)前4位為0,無實(shí)際意義
- 3、芯片供電電壓為2.35-5.25V
- 4、各引腳定義
- (1)VDD:電源引腳
- (2)GND:模擬地
- (3)VIN:信號(hào)輸入端
- (4)SCLK:時(shí)鐘輸入端
- (5)SDO:串口信號(hào)輸出端
- (6)CS:片選信號(hào),下降沿觸發(fā)
- */
- //端口初始化
- void ADS7886_Init(void)
- {
- RCC->APB2ENR|=1<<6; //使能GPIOE時(shí)鐘
- GPIOE->CRL&=0XFFF000FF; //清空PE2,PE3,PE4端口之前的設(shè)置
- GPIOE->CRL|=0X00082200; //設(shè)置PE2,PE3端口為推挽輸出
- //GPIOE->CRL|=0X00000000; //設(shè)置PE4端口為模擬輸入
- GPIOE->ODR=8<<4; //設(shè)置模式為下拉
-
- }
- //ADS7886讀電壓程序
- u16 Adc_Read_Init()
- {
- u16 data;
- u8 i;
- CS=1; //片選信號(hào)拉高,準(zhǔn)備發(fā)送信號(hào)
- SCLK=1; //時(shí)鐘信號(hào)拉高
- // delay_us(1); //延時(shí)
- CS=0; //片選拉低,準(zhǔn)備讀數(shù)據(jù)
- for(i=0;i<16;i++) //時(shí)序最好對(duì)照datasheet來看
- {
-
- SCLK=1; //時(shí)鐘拉高
- data<<=1; //移位
- delay_us(1);
- if(SDO==0) //判斷數(shù)據(jù)線數(shù)據(jù)
- data&=0xfffe;
- if(SDO==1)
- data|=0x0001;
- SCLK=0; //時(shí)鐘拉低
- delay_us(1); //延時(shí)
- }
-
- // for(i=0;i<15;i++) //時(shí)序最好對(duì)照datasheet來看
- // {
- // SCLK=0;
- // delay_us(1);
- // SCLK=1;
- // data<<=1; //移位
- // if(SDO==0) //判斷數(shù)據(jù)線數(shù)據(jù)
- // data&=0xfffe;
- // if(SDO==1)
- // data|=0x0001;
- // delay_us(1); //延時(shí)
- // }
- SCLK=1; //結(jié)束,時(shí)鐘拉高
- delay_us(5);
- CS=1; //片選拉高
- delay_us(1); //延時(shí)
- data&=0x0fff; //保證高四位為0
- return data;
- }
-
-
-
復(fù)制代碼
所有資料51hei提供下載:
ADS7886.zip
(833.88 KB, 下載次數(shù): 25)
2018-6-23 11:11 上傳
點(diǎn)擊文件名下載附件
STM32ADS7886
|
|