亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
stc單片機ADC全端口掃描程序
[打印本頁]
作者:
hujia
時間:
2015-2-18 01:04
標題:
stc單片機ADC全端口掃描程序
#include <intrins.h>
#define ADC_POWER 0x80 //ADC 電源控制位
#define ADC_FLAG 0x10 //ADC 中斷標記
#define ADC_START 0x08 //ADC 運行允許位
#define ADC_SPEEDLL 0x00 //540 分頻
#define ADC_SPEEDL 0x20 //360 分頻
#define ADC_SPEEDH 0x40 //180 分頻
#define ADC_SPEEDHH 0x60 //90 分頻
unsigned int xdata ADC_Data[]={0,0,0,0,0,0,0,0}; //ADC轉換結果
struct ADCs
{//串口1結構數據類型
unsigned char ASFS; //允許接收端口指示
unsigned char Speed:4; //轉換速度
unsigned char Data_P:4; //當前轉換端口指針
}xdata ADCs;
//設置ADC轉換
void InitADC();
void ADC_Int();
void InitADC()
{
//unsigned int tempint;
P1ASF = 0xFF; //P1口模擬輸入設置
ADCs.Speed=ADC_SPEEDHH; //ADC轉換速度設置
ADCs.ASFS=P1ASF;
ADCs.Data_P=0; //設置初次轉換的端口
ADC_RES = 0; //清除ADC轉換結果位
ADC_RESL = 0; //清除ADC轉換結果位
//ADC控制器,電源開,設置速度,設置當前轉換口,開始轉換
ADC_CONTR = ADC_POWER | ADCs.Speed | ADC_START | ADCs.Data_P;
_nop_();
_nop_();
_nop_();
_nop_(); //4個空操作延遲,必須包含庫函數 #include "intrins.h"
EADC =1; //開ADC中斷
EA =1; //開總中斷
}
void ADC_isr() interrupt 5 using 1
{
ADC_Int();
}
void ADC_Int()
{
ADC_CONTR &= !ADC_FLAG; //清ADC中斷
ADC_Data[ADCs.Data_P]=ADC_RES;
ADC_Data[ADCs.Data_P]<<=2;
ADC_Data[ADCs.Data_P]|=ADC_RESL;
do
{
ADCs.Data_P++;
}while(ADCs.ASFS&0x01<<ADCs.Data_P);
ADC_CONTR = ADC_POWER | ADCs.Speed | ADC_START | ADCs.Data_P;
if(ADCs.Data_P>7) ADCs.Data_P=0;
}
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1