1.ADC相关寄存器配置 void initADC(void) { _ade = 0; // disable ADC interrupt _ace8 = 1; // select AN8 _adcr0 = 0x20; //关闭ADC模块电源 _adcr1 = 3; // Fsys/8 adcCount = 0; } 2.开启ADC转换并读取ADC值
#define CONVERT_PEROID 10
static unsigned char adcCount;
bit lowbatt_flag;
void auto_conversion(void) //AD启动动作 { unsigned int temp=0; if(adcCount != 0) //每10个计数转换一次 { adcCount--; return; } adcCount = CONVERT_PEROID; _adcr0 = 0x18; //1: ADC 数据高字节是 ADRH 的 bit 3~bit 0,低字节是 ADRL 的 bit 7~bit 0 //此位控制存放在两个 A/D 数据寄存器中的 12 位 A/D 转换结果的格式,AN8输入。
_start=0; _start=1; _start=0; //0 → 1 → 0:启动 while(_eocb) //等待转换结束 { asm("nop") } temp = _adrh; //ADC高4位值 temp
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?