⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc.c

📁 nokia5110智能电子钟的设计ds1302+ds18b20+stc12c5a60s2
💻 C
字号:
/**************************************************************************************
*		         			子程序:底层程序     									  *			  					  
*						    功能:内部ADC功能设置,处理方法设置;					  *
*     						调用子程序;		      								  *
*																					  *
***************************************************************************************/
# include <intrins.h>
# include "stc12c5a60s2.h"
# include "macroandconst.h"
# include "delay.h"

#define ADC_POWER   0x80            //ADC 电源控制
#define ADC_FLAG    0x10            //ADC 完成标志
#define ADC_START   0x08            //ADC 启动控制
#define ADC_SPEEDLL 0x00            //420 时钟
#define ADC_SPEEDL  0x20            //280 时钟
#define ADC_SPEEDH  0x40            //140 时钟
#define ADC_SPEEDHH 0x60  


UINT GetADCResult(UINT ch)
{   
 ADC_CONTR = ADC_POWER | ADC_SPEEDH | ch | ADC_START;   
 
		 _nop_();  //开始等待时间 
		 _nop_();    
		 _nop_();    
		 _nop_();    
	while (!(ADC_CONTR & ADC_FLAG));//等待完成标志    
	ADC_CONTR &= ~ADC_FLAG;         //关闭 ADC    
	return ((ADC_RES<<2)|ADC_RESL);                 //返回 ADC 结果
}



void InitADC()
{    
P1ASF = 0x81;                   //打开第一路和第七路ADC功能
AUXR1=0x00;    
ADC_RES = 0; ADC_RESL = 0;                   //数据存储器初始化    
ADC_CONTR = ADC_POWER | ADC_SPEEDH;    
Delay1(2);                       //ADC 开机延时
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -