#include <intrins.h>
sfr ADC_CONTR = 0XBC;
sfr P1ASF = 0X9D;
sfr ADC_RES = 0XBD;
sfr ADC_RESL = 0XBE;
#define AD_SPEED 0x60
void init_adc()
{
ADC_CONTR = ADC_CONTR|0x80; //打开adc电源
P1ASF = 0X01; //设置P1.7为模拟功能
}
void adc_delay(unsigned char delay_time) // 延时函数
{
unsigned int n;
while(delay_time--)
{
n = 6000;
while(--n);
}
}
unsigned int get_AD_result(unsigned char channel)
{
unsigned char AD_finished=0;
unsigned int h_val;
unsigned int l_val;
ADC_RES = 0;
ADC_RESL = 0;
channel &= 0x07;
ADC_CONTR = AD_SPEED;
_nop_();
ADC_CONTR |= channel;
_nop_();
ADC_CONTR |= 0x80;
adc_delay(1);
ADC_CONTR |= 0x08;
AD_finished = 0;
while ( AD_finished ==0 )
{
AD_finished = (ADC_CONTR & 0x10);
}
ADC_CONTR &= 0xE7;
h_val = ADC_RES;
h_val = h_val<<2;
l_val = ADC_RESL & 0X03;
h_val = h_val | l_val;
return (h_val);
}
分享到:
相关推荐
- STC单片机ADC:涉及STC系列单片机中的模数转换器(ADC)功能及其应用。 - 第九通道BandGap:指STC单片机内部提供的用于参考的带隙电压(BandGap)通过第九通道实现精密测量。 描述所揭示的知识点: - STC单片机与...
2. **转换速度**:STC12C5608AD的ADC转换速率可能因具体型号和配置而异,但通常在几十微秒到几百微秒之间,满足许多实时应用需求。 3. **输入通道**:该单片机可能包含多个ADC输入通道,允许同时或逐个对不同模拟...
在本案例中,"STC12C5202AD单片机ADC使用范例.rar"提供的压缩包包含了一个名为"STC12C5202AD单片机ADC使用范例.c"的源代码文件,该文件提供了使用ADC的示例程序。 ADC(模拟到数字转换器)是单片机中的重要组成部分...
STC单片机,如STC12C系列,通常采用VCC(电源电压)作为其内置ADC(模数转换器)的参考电压。然而,当VCC由电池供电时,电压可能会因电池的放电状态而产生波动,导致ADC测量结果的不准确。为了解决这个问题,STC...
本文旨在详细介绍ADS1115与STC15单片机的接口设计、寄存器配置以及C51编程实例,帮助读者理解如何有效地利用这款ADC芯片进行多通道数据采集。 #### 二、ADS1115主要特点 - **16位ADC**:提供高精度的模数转换能力...
标题 "STC单片机+ADS7606_SPI 例程" 提供了我们要讨论的核心内容:在基于STC单片机的系统中如何利用SPI接口与ADS7606模数转换器进行通信。这个例子可能是一个开发项目的一部分,帮助开发者了解如何将这两个器件集成...
STC单片机的串口通信是与外部设备交互的重要手段。在这个例子中,串口可能被用来发送控制指令到迪文DGUS屏或者接收屏幕返回的数据。串口通信涉及到波特率设定、数据格式(如奇偶校验、停止位)以及中断处理。开发者...
2.1 STC单片机命名介绍 4 2.2 安装keil软件 4 2.3 新建工程 5 2.4 下载程序 8 2.5 使用辅助工具计算延时时间 12 2.6 STC90C51系列单片机引脚图 13 三、 基础入门学习 14 3.1 LED灯模块 14 3.2 蜂鸣器模块 17 3.5 ...
本项目围绕“基于stc15单片机的进制转换器”展开,它是一个能够实现多种进制间转换的实用工具。以下是关于这个项目的详细知识点: 1. **STC15单片机**:STC15系列是增强型8051内核的单片机,拥有较高的处理速度和更...
STC12C5A60S2 STC12C5204AD单片机软件DEMO例程源码36例合集 5个唤醒源唤醒MCU BRT-Timer0-Timer1-同时编程脉冲输出 BRT编程脉冲输出-Timer0中断取反IO输出 INT0-INT1-外中断测试 IO口推挽输出测试 P44-P45-P46-应用...
STC单片机通常内置了一个或多个ADC通道,每个通道可以连接不同的模拟输入。在STC5404中,可能包含多个通道,每个通道可以独立进行A/D转换。转换过程通常包括以下几个步骤: 1. **配置ADC**:在开始A/D转换前,需要...
- **中断处理**:在源码中,可能会设置ADC转换完成中断,用于实时处理气体检测数据。 5. **单片机实例源码** - **学习价值**:这些源码是理解STC15F2K60S2与MQ-2传感器结合工作的实际例子,有助于初学者掌握...
本文将详细讲解基于STC15W4K32S4单片机的DS18B20温度传感器读取及串口通信的实现过程,结合Proteus仿真和Keil开发环境。首先,我们要了解涉及的核心技术点:STC15系列单片机、DS18B20温度传感器以及串行通信。 STC...
- ADC转换:将模拟信号转化为数字信号,常用于采集环境数据。 - PWM输出:用于电机控制、亮度调节等,通过改变占空比来调整输出电压。 - I/O口操作:了解如何配置和读写GPIO端口,实现开关控制、LED显示等。 - ...
STC8系列单片机是基于8051内核的增强型微控制器,由宏晶科技(STC)公司生产。这些单片机在传统8051的基础上增加了许多特性,如更高的运行速度、内置EEPROM、更大的内存以及增强的I/O口等。这个压缩包中的"STC8的...
5. 模拟I/O:了解如何通过模拟I/O操作,实现对模拟信号的采集和处理,如ADC(模数转换)和DAC(数模转换)的应用。 6. 存储器管理:理解51单片机的内部RAM和ROM的组织结构,以及如何在程序中有效地使用它们。 7. ...
- ADC与DAC:模拟信号的数字化处理和数字信号的模拟化输出,涉及A/D转换和D/A转换。 - 串行通信:如UART、SPI、I2C,理解不同通信协议的实现和应用。 - 模拟电路:如RC滤波、PWM波形生成等,学习模拟电路与单片机...
这个例子展示了如何在STC89LE516AD系列单片机上使用内部AD转换器进行数据采集,并通过串行口发送转换结果,这对于实时监控或数据记录应用非常有用。通过理解这些基本概念和操作,开发者能够灵活地在STC系列单片机上...
这篇文档主要介绍了一个基于STC12C5A60S2单片机的AD转换程序,用于将模拟信号转换为数字信号,并在数码管上显示转换结果。STC12C5A60S2是一款低功耗、高性能的8位单片机,常用于嵌入式系统设计。 首先,程序包含了...
STC开发板是一种基于STC单片机的电路板,主要应用于嵌入式系统开发,尤其在电子制作、物联网项目以及教学实验等领域有着广泛的应用。STC单片机以其高性价比、低功耗和丰富的内置功能特性而受到青睐。本文将深入探讨...