欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3221|回復: 0
打印 上一主題 下一主題
收起左側

stc單片機ADC控制器程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:26188 發表于 2015-2-18 01:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#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;            //當前轉換端口指針
}ADCs;
//設置ADC轉換
void InitADC()
{
     ADCs.Speed=ADC_SPEEDHH;               //ADC轉換速度設置
     P1ASF = 0xff;                         //P1口模擬輸入設置
     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_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
    {
        if(++ADCs.Data_P>7) ADCs.Data_P=0;
    }while(ADCs.ASFS|1<<(ADCs.Data_P+1));
    ADC_CONTR = ADC_POWER | ADCs.Speed | ADC_START | ADCs.Data_P;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表