?? 12ad7841.c
字號:
#include "SPCE061A.h"
unsigned int shuma[]={unsigned int shuma[]={0x003F,0x0006,0x005B,0x004F,0x0066,0x006D,0x007D,0x0007,0x007F,0x006F,0x006f};
//入口參數 選擇AD的通道
unsigned int ADS7841(unsigned char Channel)
{
unsigned int dclk,dout,busy;
unsigned int ADCResult=0;
unsigned char DataInput=0;
unsigned char i,ADS7841_CHANNEL;
// *P_IOA_Data &=0xfffb; //cs=L
switch(Channel)
{
case 0: ADS7841_CHANNEL=0x10;break;
case 1: ADS7841_CHANNEL=0x50;break;
case 2: ADS7841_CHANNEL=0x20;break;
case 3: ADS7841_CHANNEL=0x60;break;
default:ADS7841_CHANNEL=0x10;break;
}
// DataInput=ADS7841_S|ADS7841_CHANNEL|ADS7841_MODE|ADS7841_SGL_DIF|ADS7841_POWER_DOWN;
DataInput=0x88|ADS7841_CHANNEL;
*P_IOA_Data &=0xfff7; //cs=L
*P_IOA_Data &=0xfffb; //din=L
*P_IOA_Data &=0xffef; //dclk=L
for(i=0;i<8;i++) //模擬SPI串行接口 發送數據
{
DataInput &=0x80;
DataInput=DataInput<<1;
*P_IOA_Data &=0xffef; //dclk=L
__asm("nop");
__asm("nop");
*P_IOA_Data |=0x0010; //dclk=H
}
*P_IOA_Data &=0xfff7; //dclk=L
while(*P_IOA_Data&0x0010) //判斷是否轉換完成
{
__asm("nop");
__asm("nop");
*P_IOA_Data |=0x0010; //dclk=H
__asm("nop");
*P_IOA_Data &=0xffef; //dclk=L
delay(1);
}
delay(2);
for(i=0;i<12;i++)
{
*P_IOA_Data |=0x0010; //dclk=H
dout=*P_IOA_Data&0001; //
ADCResult=(ADCResult<<1)|dout;
*P_IOA_Data &=0xffef; //dclk=L
delay(1);
}
for(i=0;i<4;i++)
{
*P_IOA_Data |=0x0010; //dclk=H
delay(1);
*P_IOA_Data &=0xffef; //dclk=L
delay(1);
}
*P_IOA_Data &=0xfff7; //cs=L
return ADCResult;
}
void delay(unsigned int num)
{
//unsigned int i;
while(num--)
*P_Watchdog_Clear=0x0001;
}
/*void data_deal(unsigned int data_12)
{
unsigned int data_16,tho,hum,ten,gewei;
data_16=data_12&0x0fff;
data_16=data16*100/4200;
tho=data/1000;
hum=data%1000/100;
ten=data/100%10;
gewei=data%10;
}
*/
//顯示
void Led_Show(unsigned int data)
{
unsigned int i;
switch(key)
{
case 0:
*P_IOA_Data=shuma[0];
delay();
break;
case 1:
*P_IOA_Data=shuma[1];
delay();
break;
case 2:
*P_IOA_Data=shuma[2];
break;
case 3:
*P_IOA_Data=shuma[3];
break;
case 4:
*P_IOA_Data=shuma[4];
break;
case 5:
*P_IOA_Data=shuma[5];
break;
case 6:
*P_IOA_Data=shuma[6];
break;
case 7:
*P_IOA_Data=shuma[7];
break;
case 8:
*P_IOA_Data=shuma[8];
break;
case 9:
*P_IOA_Data=shuma[9];
break;
default : break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -