久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
dsPIC30F6015控制AD7715程序源碼 親測可用
[打印本頁]
作者:
shzsy2006
時間:
2018-4-22 16:28
標題:
dsPIC30F6015控制AD7715程序源碼 親測可用
這是我寫的dsPIC30F6015控制AD7715程序,親測可用
單片機源程序如下:
#include <p30f6015.h>
_FOSC(CSW_FSCM_OFF & XT_PLL4);
_FWDT(WDT_OFF);
#define uchar unsigned char
#define uint unsigned int
#define CS_A LATCbits.LATC13 //RC13輸出
#define DRDY PORTDbits.RD10 //RD10輸入
uint result;
void delay_ms(uint x) //延時程序 10M晶振 0.1us
{
uint a,b;
for(a=x;a>0;a--)
for(b=2500;b>0;b--);
}
void Init_PORT(void)
{
// TRISFbits.TRISF4 =0; //報警信號輸出
//U2MODEbits.UARTEN=0; //禁止串口
TRISGbits.TRISG6=0; // SCK
TRISGbits.TRISG7=1; // SDI
TRISGbits.TRISG8=0; // SDO
TRISDbits.TRISD10=1;// DRDY
TRISCbits.TRISC13=0;// CS_A
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: Init_SPI2()
// 函數功能: 初始化設置SPI2
// 入口參數: 無
// 返回值:無
//--------------------------------------------------------------------------------------------------
void Init_SPI2()
{
SPI2BUF=0; //數據寄存器清0
IFS1bits.SPI2IF=0;//清中斷標志
IEC1bits.SPI2IE=0;//關閉中斷
IPC6bits.SPI2IP=2;//中斷優先級為2
SPI2STATbits.SPIEN=0; //禁止SPI2
SPI2CONbits.PPRE = 1;//主分頻比16:1
SPI2CONbits.SPRE = 4;//預分頻比4:1 SCk=10M/(16*4)
SPI2CONbits.FRMEN = 0; //禁止幀SPI支持
SPI2CONbits.DISSDO = 0; //使用SDO2引腳
SPI2CONbits.MODE16 = 0; //8位通訊
SPI2CONbits.SMP = 0; //中間采樣輸入數據
SPI2CONbits.CKE = 0; //由空閑轉為工作狀態時輸出數據
SPI2CONbits.CKP = 1; //空閑狀態為高電平
SPI2CONbits.MSTEN = 1; //主模式
SPI2CONbits.SSEN = 0; //不使用SS2引腳
SPI2STATbits.SPISIDL = 0; //空閑模式下繼續工作
SPI2STATbits.SPIROV = 0; //未溢出
SPI2STATbits.SPIEN = 1; //使能SPI2
}
void Init_Uart2()
{
U2BRG=10;// set baudrate 56000BPS
U2MODE =0x8000 ;//8位數據、無校驗、一個停止位
IEC1bits.U2RXIE = 1;
IPC6bits.U2RXIP = 5;// UART1接收器中斷優先級位
IFS1bits.U2RXIF=0;
IEC1bits.U2TXIE = 0;
IPC6bits.U2TXIP = 6;
U2STAbits.UTXISEL = 0;
U2STAbits.UTXBRK = 0;
U2STAbits.UTXBF = 0;
U2STAbits.URXISEL = 0;
U2STAbits.ADDEN = 0;
U2STAbits.UTXEN = 1;
}
/************************************************************
* 函數名稱:UART2_Send()
* 串口2發送子函數
************************************************************/
void UART2_Send(unsigned char data)
{
U2TXREG=data;
while(IFS1bits.U2TXIF==0);
IFS1bits.U2TXIF=0;
}
//--------------------------------------------------------------------------------------------------
// 函數名稱: AD_write()
// 入口參數: commuCFG通訊寄存器控制字
// 出口參數: 無
// 函數功能: 寫AD7715
//--------------------------------------------------------------------------------------------------
void AD_write(unsigned char data)
{
unsigned char temp;
CS_A=0;
Nop();
SPI2BUF=data;
while(IFS1bits.SPI2IF==0);
IFS1bits.SPI2IF=0;
temp=SPI2BUF;
CS_A=1;
Nop();
}
uint read_from_ad7715()//讀AD7715 二個字節
{
uchar read_h,read_l;
uint AD;
while(DRDY);
CS_A=0;
Nop();
SPI2BUF=0xff;
while(IFS1bits.SPI2IF==0);
IFS1bits.SPI2IF=0;
read_h=SPI2BUF;
Nop();
SPI2BUF=0xff;
while(IFS1bits.SPI2IF==0);
IFS1bits.SPI2IF=0;
read_l=SPI2BUF;
AD=(read_h<<8)+read_l ;
CS_A=1;
return (AD);
}
int main(void)
{
Power_Management();
Init_PORT();
Init_SPI2();
Init_Uart2();
AD_write(0x10); //設定寄存器,寫模式 增益為1
AD_write(0x6C); //設置SetReg,單端,60hz 自校驗方式 時鐘2.4576MHz 輸入不加緩沖
while(1)
{
while(DRDY); //等待AD7715提供可讀的數據
AD_write(0x38);
Nop();
result=read_from_ad7715();
UART2_Send(result>>8);
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
dsPIC30f控制AD7715.zip
(120.12 KB, 下載次數: 20)
2018-4-22 16:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲精品在线看
|
亚洲一区二区中文字幕在线观看
|
免费精品视频一区
|
综合九九
|
久久久久久亚洲国产精品
|
成人精品一区二区户外勾搭野战
|
亚洲欧美日韩高清
|
欧美成ee人免费视频
|
日韩欧美中文字幕在线观看
|
韩日在线视频
|
国产乱码精品一区二区三区忘忧草
|
欧美不卡一区二区三区
|
精品欧美乱码久久久久久
|
久久精品色欧美aⅴ一区二区
|
国产露脸对白88av
|
亚洲91精品
|
国产一区二区三区在线免费观看
|
久久精品99
|
日韩三级免费网站
|
成人在线视频网
|
久久久久国产精品一区二区
|
福利久久
|
成人激情视频在线播放
|
av久久
|
午夜精品一区
|
久久狠狠
|
国产免费一区二区
|
99精品久久
|
激情伊人网
|
成人国内精品久久久久一区
|
免费a级毛片在线播放
|
人人干天天干
|
亚洲精品福利在线
|
久久精品亚洲一区二区三区浴池
|
久久久婷
|
www.欧美.com
|
中文字幕 国产精品
|
欧美性吧
|
久久久久久久一区
|
中文字幕在线一区二区三区
|
日韩中文一区二区三区
|