?? ad.c
字號(hào):
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#include "main.h"
unsigned int AD_val[15];
unsigned int AD_mid[15];
unsigned int AD_high[15];
unsigned int AD_low[15];
unsigned int ssb;
void init_AD(void){
/*AD Init*/
ATD0CTL2=0xc0; //AD模塊上電, 快速清零, 無(wú)等待模式, 禁止外部觸發(fā), 中斷禁止
ATD0CTL3=0x40; // 每個(gè)序列4次轉(zhuǎn)換, No FIFO, Freeze模式下繼續(xù)轉(zhuǎn)換
ATD0CTL4=0x86; // 8位精度, 2個(gè)時(shí)鐘, ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=3, divider=8
ATD0CTL5=0xB0; //右對(duì)齊無(wú)符號(hào),duo通道采樣,
ATD0DIEN=0x00; // 禁止數(shù)字輸入
ATD1CTL2=0xc0; //AD模塊上電, 快速清零, 無(wú)等待模式, 禁止外部觸發(fā), 中斷禁止
ATD1CTL3=0x40; // 每個(gè)序列4次轉(zhuǎn)換, No FIFO, Freeze模式下繼續(xù)轉(zhuǎn)換
ATD1CTL4=0x88; // 8位精度, 2個(gè)時(shí)鐘, ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=3, divider=8
ATD1CTL5=0xB0; //右對(duì)齊無(wú)符號(hào),duo通道采樣,
ATD1DIEN=0x00; // 禁止數(shù)字輸入
}
void Get_AD(void) {
AD_val[0]=ATD0DR0;
AD_val[1]=ATD0DR1;
AD_val[2]=ATD0DR2;
AD_val[3]=ATD0DR3;
AD_val[4]=ATD0DR4;
AD_val[5]=ATD0DR5;
AD_val[6]=ATD0DR6;
AD_val[7]=ATD0DR7;
AD_val[8]=ATD1DR0;
AD_val[9]=ATD1DR1;
AD_val[10]=ATD1DR2;
AD_val[11]=ATD1DR3;
AD_val[12]=ATD1DR4;
AD_val[13]=ATD1DR5;
AD_val[14]=ATD1DR6;
}
void Clear_AD(void) {
unsigned char i;
for(i=0;i<15;i++) {
AD_mid[i]=175;
AD_high[i]=0;
AD_low[i]=255;
}
ssb=0;
}
void Set_AD(void) {
unsigned char i;
Get_AD();
for(i=0;i<15;i++) {
if(AD_val[i]>AD_high[i])AD_high[i]=AD_val[i];
if(AD_val[i]<AD_low[i])AD_low[i]=AD_val[i];
if(AD_high[i]>AD_low[i])ssb|=(1<<i);
AD_mid[i]=(3*AD_high[i]+7*AD_low[i])/10;
}
showyellow(ssb);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -