以下是AD检测初始化
以下是AD检测初始化
#define AD_START _start = 0; _start = 1; _start = 0//开始AD转换
#define AD_WAITINT 1==_eocb //等待AD转换完成
#define AD_PWOER_OPEN (0<<5) //AD电源模块打开
#define AD_PWOER_CLOSE (1<<5) //AD电源模块关闭
#define AD_DATA_MODE1 (1<<4)
#define AD_DATA_MODE1 (0<<4)
//BIT4 ADRFS= 1:ADC数据高字节是 ADRH的第 3 位--BIT3-BIT0,低字节是 ADRL的第 0 位 BIT7-BIT0
// ADRFS= 0:ADC数据高字节是 ADRH的第 7 位--BIT7-BIT0,低字节是 ADRL的第 4 位 BIT7-BIT4
#define M_AN0 0b00000000//AD通道0
#define M_AN1 0b00000001
#define M_AN2 0b00000010
#define M_AN3 0b00000011
#define M_AN4 0b00000100
#define M_AN5 0b00000101
#define M_AN6 0b00000110
#define M_AN7 0b00000111
//_adcr1
#define AD_IN_125V_SET (1<<7)//内部1.25V连接到AD转换器
#define AD_IN_125V_CLR (0<<7)
#define AD_IN_125V_EN (1<<6)//使能内部1.25V
#define AD_IN_125V_DIS (0<<6)
#define AD_VREAFS_IN (0<<4)//AD参考电压内部vdd
#define AD_VREAFS_OUT (1<<4)//AD参考电压VREF脚
#define AD_FSYS //AD时钟源 Fsys
#define AD_FSYS2 //AD时钟源 Fsys/2
#define AD_FSYS4 //AD时钟源 Fsys/4
#define AD_FSYS8 //AD时钟源 Fsys/8
#define AD_FSYS16 //AD时钟源 Fsys/16
#define AD_FSYS32 //AD时钟源 Fsys/32
//_acerl 不作IO口,做AD口设置
#define AD_ONLY_AN0 (1<<0)//第1个口做A/D输入
#define AD_ONLY_AN1 (1<<1)//第2个口做A/D输入
#define AD_ONLY_AN2 (1<<2)//第3个口做A/D输入
#define AD_ONLY_AN3 (1<<3)//第4个口做A/D输入
#define AD_ONLY_AN4 (1<<4)//第5个口做A/D输入
#define AD_ONLY_AN5 (1<<5)//第6个口做A/D输入
#define AD_ONLY_AN6 (1<<6)//第7个口做A/D输入
#define AD_ONLY_AN7 (1<<7)//第8个口做A/D输入
void AD_init(void)
{
//ADCR0
_adcr1 = 0b00000011; //主要用到BIT4和BIT2~0 其他可以不用管
//Bit 4 0:内部 ADC电源
// 1:VREF引脚
//Bit 2~0 ADCK2, ,, ,ADCK1, ,, ,ADCK0:选择 ADC时钟源
//000:fSYS 001:fSYS/2 010:fSYS/4 011:fSYS/8 100:fSYS/16 101:fSYS/32 110:fSYS/64 :未定义
_adcr0 = M_AN0
//BIT 7 0-1-0 启动
//0-1重置
//BIT 6 0AD结束 1AD进行中
//BIT 5 0开AD电源 1关AD电源
//BIT4 ADRFS= 1:ADC数据高字节是 ADRH的第 3 位--BIT3-BIT0,低字节是 ADRL的第 0 位 BIT7-BIT0
// ADRFS= 0:ADC数据高字节是 ADRH的第 7 位--BIT7-BIT0,低字节是 ADRL的第 4 位 BIT7-BIT4
//BIT3-BIT2 保留
//bit1 bit0 AD通道选择
_acerl| |= 0x01; //设置ADC0通道 ----1为AD输入 0 为io
}
void read_adc(void)
{
AD_START;
while(_eocb == 1);
R_adch=_adrh;
R_adcl=_adrl;
}
分享到:
相关推荐
合泰芯片0185的实用历程,主要用到的几个功能有:定时器配置,串口配置,按键扫描,PWM输出配置功能;可以借鉴使用!避免雷同,产权纠纷,缺少头文件!
大学做的微波人体感应模块,用合泰HT66F002做微波模块检测。
合泰单片机ht66f018 eeprom程序 合泰单片机ht66f018 eeprom程序
temp1=AD_Data_Array[m]; temp2=AD_Data_Array[n]; if(temp1>temp2) //從小到大,冒泡法
合泰HT66F50代码,成熟稳定,定义TM0为定时计数器模式,计算器在A比较匹配发生时清除
合泰单片机HT66F50例程工程源程序,合泰各种例程demo都在里面
合泰单片机HT66F018各种基础功能例程
很详细 ht66f50、ht66fu50等,只要是ht66F系列,详细有内部结构等
合泰HT66F002/HT66F0025/HT66F003/HT66F004的EEPROM C程序模块
合泰单片机HT66F3195 定时器中断 PWM输出例程
合泰单片机HT66F2390 例程+原理图+源代码
合泰单片机主控,esp8266,dht11采集温湿度,通过LCD显示,通过esp8266将温湿度上传到阿里云。设置温度上下限,控制继电器,水泵,加热,控制环境温湿度 运用了串口通信等
合泰中文资料,包括HT66F0175_185v,HT66F30,HT66F40,HT66F50,HT66F60等中文手册及部分代码
很好的一篇介绍合泰185的PDF,希望大家下载看看
合泰单片机HT66F70A Flash系列例程+原理图+源代码,基于ESK-300-V1.02 原理图和ESK-LCM-200-V1.02 原理图。
合泰单片机HT66FM5240 - 无刷电机驱动程序源码
在测试演示程序前请先准备墨镜或深色玻璃或半透明塑料遮挡开发板上灯光, 以免对眼睛造成伤害 // 1. TM0定时器模式, 产生0.5秒定时中断 // 2. TB0时基定时器, 产生1秒的时基定时中断 // 3. PTM0产生PWM波形, 占空比从...
这是合泰HT66F2390的模拟串口完成程序包
基于合泰HT66F70A单片机的智能远近光灯切换系统设计.pdf
合泰 HT66F002/HT66F0025/HT66F003/HT66F004 的EEPROM读取C程序模块 可直接移植 一般合泰MCU都适用