adc.h
#ifndef __ADC_H_
#define __ADC_H_
#include “define.h”
//ADC通道号定义
#define ADC_Channel0 (unsigned char)0x00
#define ADC_Channel1 (unsigned char)0x01
#define ADC_Channel2 (unsigned char)0x02
#define ADC_Channel3 (unsigned char)0x03
#define ADC_Channel4 (unsigned char)0x04
#define ADC_Channel5 (unsigned char)0x05
#define ADC_Channel6 (unsigned char)0x06
#define ADC_Channel7 (unsigned char)0x07
#define ENB 1
extern void adc_init(uint8 mode);
extern void adc_switch(uint8 channel);
extern void adc_mode_scan(uint8 value);
extern void read_adc(uint8 channel);
#endif
adc.c
#include “adc.h”
#include “uart.h”
//*****************************
//函数名称:adc_init
//函数功能:对ADC初始化,开启或关闭ADC电路
//入口参数:ADC电路使能参数
//出口参数:无
//*****************************
void adc_init(uint8 mode)
{
uint16 i;
if(mode == ENB) //启动ADC电路
{
//F/4转换时间分频 Fadc = Fmaster/ADC_CR1[4..6]
//[000 F/2] [001 F/3] [010 F/4]
ADC_CR1 = (ADC_CR1&0x8f)|0x00; //f/2
//数据左对齐
ADC_CR2 &= ~0x08;
//启动ADC
ADC_CR1 |= 0x01;
//等待ADC电路稳定
for(i=0; i<500; i++)
;
ADC_CSR &= ~0x80; //转换结束标志清0
return;
}
else
{
ADC_CR1 &= ~0x01; //关闭ADC电路
return;
}
}
//********************************
//函数名称:adc_switch
//函数功能:在单通道模式下转换某一通道的ADC值
// 在(扫描模式下)连续转换1-Channel的ADC值
//入口参数:要转换的ADC通道号
//出口参数:无
//********************************
void adc_switch(uint8 channel)
{
//选择转换通道
ADC_CSR = (ADC_CSR&0xf0)|channel;
//启动ADC
ADC_CR1 |= 0x01;
//等待转换
while(!(ADC_CSR&0x80))
;
ADC_CSR &= ~0x80;
return;
}
//********************************
//函数名称:adc_mode_scan
//函数功能:ADC扫描模式设置函数
//入口函数:扫描模式开启函数
//出口参数:无
//********************************
void adc_mode_scan(uint8 value)
{
if(value==ENB)
{
ADC_CR2 |= 0x02;
}
else
{
ADC_CR2 &= ~0x02;
}
}
void read_adc(uint8 channel)
{
unsigned char tmpH, tmpL;
uint8 temp;
adc_switch(channel);
tmpH = ADC_DRH;
tmpL = ADC_DRL;
temp = tmpH;
temp *= 50;
temp /= 256;
//uart1_send_byte(tmpH);
//uart1_send_byte(tmpL);
uart1_send_byte(temp);
}
在主函数里直接调用 read_adc(channel)
上一篇:STM8S103串口通信初始化设置
下一篇:STM8S103定时中断初始化
推荐阅读
史海拾趣
在电子通信技术的浪潮中,EF Johnson Technologies Inc公司凭借其卓越的研发团队,成功开发出一款新型无线通信设备,该设备在信号稳定性和传输距离上均取得了重大突破。这一技术突破不仅让EF Johnson在市场上获得了显著的竞争优势,也推动了整个行业的技术进步。随着产品的广泛应用,EF Johnson逐渐确立了其在无线通信领域的领先地位。
在快速发展的过程中,Dae Ryung Electronic Co Ltd公司始终注重产品质量和品牌建设。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测等各个环节都进行严格把关。同时,公司还注重品牌形象的塑造和宣传,通过广告宣传、公关活动等方式提升品牌知名度和美誉度。这些努力使得公司的产品在市场上获得了良好的口碑和认可。
在快速发展的过程中,Dae Ryung Electronic Co Ltd公司始终注重产品质量和品牌建设。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测等各个环节都进行严格把关。同时,公司还注重品牌形象的塑造和宣传,通过广告宣传、公关活动等方式提升品牌知名度和美誉度。这些努力使得公司的产品在市场上获得了良好的口碑和认可。
随着技术的不断进步,DURAKOOL公司不断投入研发,推出了一系列创新产品,如Durakool接触器和电流互感器。这些产品凭借其高可靠性和稳定性,在电力监控和智能计量等领域得到了广泛应用。公司也逐渐扩大了市场覆盖范围,不仅在美国本土取得了成功,还逐步进入国际市场。
DAESAN公司以其独特的设备回收与再利用技术,在电子行业中崭露头角。起初,公司只是一个小型的设备拆卸公司,但在一次偶然的机会中,他们发现许多被废弃的电子设备中,仍然含有大量可再利用的零部件和材料。于是,DAESAN公司开始专注于电子设备的回收和再利用,通过精细的拆卸和修复技术,将废旧设备转化为新的生产资源。这一举措不仅为公司带来了可观的利润,也为环保事业做出了贡献。
近年来,随着电子行业技术的不断革新和市场环境的变化,协顺电子也面临着前所未有的挑战。为了应对这些挑战,公司开始进行转型升级。一方面,公司加大研发投入,推动产品创新和技术升级;另一方面,公司也积极探索新的业务领域和市场机会。同时,协顺电子还加强了与供应商和客户的合作关系,共同应对市场变化和挑战。这些努力使得公司在激烈的市场竞争中保持了良好的发展态势。
Microchip科技公司(MCHP)宣布签订协议,将以每股2.05美元现金收购Silicon Storage Technology (SSTI)。另外,SST今天表示,SST终止先前宣布的合并协议。两家公司董事会一致通过这件交易,预期在第二季完成交易,有待SST股东通过和其他条件的满足。… 查看全部问答∨ |
|
不知道哪位有ATmega16与SD卡使用的经验,我想问下,SD卡可以直接接到ATmega16引脚上吗,需不需要接什么电阻之类的,比如限流电阻,上拉电阻的,当然SD卡电源需要接3.3V,呵呵~哪位知道的希望能指点下,谢谢了~… 查看全部问答∨ |
|
视频服务器,是从传统的模拟监控当中衍生出来,把之前的本地监控引申到网络化的监控系统,整个系统更加具备灵活性、开放性、稳定性、可兼容性等。随着互联网的普及和网络环境的提升,网络视频监控得到飞速发展,监控的网络化已经成为安防行业的支柱 ...… 查看全部问答∨ |
|
美国北卡罗来纳州大学的一组研究人员日前公布了一种基于水凝胶技术的太阳能发电装置——人工叶。研究人员称,这种水基太阳能电池不但能够和硅基太阳能电池一样产生电力,而且在成本和环境友好性上更具优势,使模拟自然产生电能的设想离现实又近了一 ...… 查看全部问答∨ |
该系统是传统的计算机技术、现代计算机网络技术、CAN总线技术以及单片机技术的结合,具有功能丰富、便于操作、成本低、安装维护方便、实时性好、可靠性高、运营费用低,易于二次开发和扩展等特点。该项目的主要研究内容、目标和关键技术如下:   ...… 查看全部问答∨ |
这是我的一些Xilinx的FPGA的论文,传上来给大家分享一下!大家多多支持啊! 我会分批上传,方便大家选择性的交流与下载! [ 本帖最后由 jjkwz 于 2011-11-18 19:08 编辑 ]… 查看全部问答∨ |
各位坛友快来晒晒你手上C2000的开发板和最小系统,不管是TI的官方原版及第三方公司的开发板,还是自己的DIY板,我们都拭目以待。 晒图格式: 贴子名称: C2000晒晒 + 开发板名称 贴子内容: 开发板图 ...… 查看全部问答∨ |