我的STC12C5410AD的AD转换程序

发布者:zuiquan最新更新时间:2012-10-20 来源: 21ic 关键字:STC12C5410AD  AD转换  寄存器 手机看文章 扫描二维码
随时随地手机看文章
#include"STC12C5410AD.h"
#define uchar unsigned char
unsigned char  aa,bb;
void delay(uchar dd)
{
int x,y;
for(x=dd;x>0;x--)
for(y=100;y>0;y--);
}
unsigned char Read_ADC(unsigned char adcvcc)
{
//将P1.0--P1.1设置成适合AD转换的模式
ADC_CONTR = ADC_CONTR|0x80; //1000,0000打开A/D转换电源
delay(20); //20ms
ADC_CONTR = ADC_CONTR&0xE0; //1110,0000 清ADC_FLAG,ADC_START位和低3位
ADC_CONTR = ADC_CONTR&0xf8|adcvcc; //设置当前通道号
delay(10); //延时使输入电压达到稳定
ADC_DATA = 0; //清A/D转换结果寄存器
ADC_CONTR = ADC_CONTR|0x08; //0000,1000ADCS = 1,启动转换
do { ; } while((ADC_CONTR & 0x10)==0); //0001,0000等待A/D转换结束
ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG和ADC_START位,停止A/D转换
return ADC_DATA;
}
void main()
{
//里要加上设置ADC的端口,如)1.0,P1.1设为ADC口的话:
    P1M0 = 0x03; //0000,0011用于A/D转换的P1.x口,先设为开漏
P1M1 = 0xC3; //0000,0011P1.0--P1.1先设为开漏。断开内部上拉电阻
bb=0x01;
while(1)
{
  aa=Read_ADC(1); //第一路A/D转换;如要改别的路,只要把代入通道改一下.
  P3=aa;  //这是让A/D的数据显示在P3口的LED上.
}
} 
关键字:STC12C5410AD  AD转换  寄存器 引用地址:我的STC12C5410AD的AD转换程序

上一篇:ADC0809模数转换器的C51功能函数
下一篇:SRAM外部数据存储器扩展实验

推荐阅读最新更新时间:2024-03-16 13:10

ATMEGA16 IO端口相关总结
ATMEGA16 IO端口相关的寄存器总共有三个DDRX、PORTX和PINX。如果要对IO操作基本上就是对这三个寄存器进行相关的操纵。DDRX也称为数据方向寄存器、PORTX称为数据寄存器、PINX称为端口输入引脚。 DDRX的作用: 当DDRX = 0时,表示的是某端口的引脚为输入;当DDRX = 0xff时表示某端口的引脚为输出。 引脚的状态:输入或者输出是根据什么定义的呢? 是根据高低电平是输入单片机还是从单片机输出。输入是指:不属于单片机的外部的电平输入到单片机;输出是指:单片机的电平输出到单片机的外部。 PORTX的作用: 当DDRX = 0时,若把PORTX置位则表示启动了上拉电阻;若PORTX为0,
[单片机]
ATMEGA16 IO端口相关总结
使用excel制作的AVR寄存器配置助手---轻松搞定AVR
/*********************************************************** -功能描述:开机初始化 -参数说明:无 -返回说明:无 ***********************************************************/ void Init_Start(void) { ADC_InitTypeDef ADC_InitStruct; /*ADC配置*/ ADC_InitStruct.refSource = REF_INT; //内部基准源 ADC_InitStruct.dataAlign = AD_LEFT; //ADC数据为左对齐
[单片机]
使用excel制作的AVR<font color='red'>寄存器</font>配置助手---轻松搞定AVR
ARM的工作模式和寄存器
以前学的时候学的是S3C6410的开发板,它是三星公司推出的基于ARM v6架构(指令集),处理器是ARM11。 ARM架构是构建每个ARM处理器的基础。 目前最新的是ARM v8架构:http://www.arm.com/zh/products/processors/instruction-set-architectures/armv8-architecture.php ARMv8-A 将 64 位架构支持引入 ARM 架构中,其中包括: 64 位通用寄存器、SP(堆栈指针)和 PC(程序计数器) 64 位数据处理和扩展的虚拟寻址 两种主要执行状态: AArch64 - 64 位执行状态,包括该状态的异常模型、内存模型
[单片机]
ARM的工作模式和<font color='red'>寄存器</font>
基于keil5新建STM32F10x寄存器版本工程
一、前言 前面文章分享了很多关于STM32F103系列知识点、物联网相关的小项目,工程都采用的是寄存器方式编写;很多小伙伴接触STM32开始都采用库函数编程,不清楚如何使用寄存器方式开发STM32;这篇文章就讲一下如何新建寄存器风格的STM32工程,并介绍需要用到哪些官方系统文件等。 比较具有代表性的几篇物联网教程: 1. 智慧农业项目(基于腾讯物联网服务器) 2. 遥控小车项目 3. 智能门锁项目(基于腾讯物联网服务器) 4. 物联网项目(基于阿里云物联网服务器) 5. 智能家居项目(基于中国移动OneNet物联网服务器) 二、环境介绍 开发环境: keil5.25 编程语言: C语言 操作系
[单片机]
基于keil5新建STM32F10x<font color='red'>寄存器</font>版本工程
51单片机控制SL811HS的USB主机底层驱动
引言 基于USB接口的设备使用方便,性价比高,因此在人们的工作和生活中得到了广泛的应用,如U盘,移动硬盘,光驱,USB摄像头,USB鼠标键盘等,同时,51系列单片机以其成熟的技术和高性价比吸引了大量国内用户,被广泛应用于测控和自动化领域,因此,如果在51单片机系统中增加USB主机接口,实现对USB从机设备的控制,则该单片机系统可以充分利用现有的各种USB从机设备,大大扩展单片机系统功能。 本设计实现了在51单片机系统中增加USB主机功能,采用普通51单片机外接专用USB接口芯片的方案,这种方案虽然会使系统传输速度受到限制,而且在稳定性有所欠缺,但此方案设计灵活性高,且易于移植,为低成本产品的开发提供了广阔前景,设计中采用51单
[单片机]
基于FPGA的RISC微处理器的设计与实现
20世纪80年代初兴起的RISC技术一直是计算机发展的主流,RISC微处理器的一些基本理论则是计算机领域的重要基础常识,但具体实现仍有难度。电子设计自动化(Electronic Design Automation,简称EDA)是现代电子设计的核心技术。利用EDA技术进行电子系统设计的主要目标是完成专用集成电路(ASIC)的设计,而现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)是实现这一途径的主流器件。现场可编程通用门阵列(Field Program mableGateArray,简称FPGA)的内部具有丰富的可编程资源。FPGA外部连线很少、电路简单、便于控制。FPGA目前已达千万门标记(10million-gatem
[应用]
ATmega64 MCU控制寄存器MCUCR
ATmega64 MCU 控制寄存器包含了电源管理的控制位。 • Bit 5 – SE: 睡眠使能 为了使MCU 在执行SLEEP 指令后进入睡眠模式, SE 必须置位。为了确保进入睡眠模 式是程序员的有意行为,建议仅在SLEEP 指令的前一条指令置位SE。一旦唤醒立即清 除SE。 • Bits 4..2 – SM2..0: 睡眠模式选择位 如Table 17 所示,这些位用于选择具体的睡眠模式。 Note: 1. 仅在使用外部晶体或谐振器时Standby 模式和扩展的Standby 模式才可用。
[单片机]
ATmega64 MCU控制<font color='red'>寄存器</font>MCUCR
ADSP2189M在船舶自动识别系统开发中的应用
   引言   AIS系统是海上移动VHF波段采用TDMA技术交换数据的一种避碰系统,是国际海事组织规定每条船只必须安装的设备之一,产品开发基于国际海事组织颁布的ITU-R M1371协议。在开发中采用ADSP2189M作为其数据处理平台,完成各种数据处理,转换,时隙的划分,网络登陆和维护等算法,实现其大部分的主要功能。系统的模式如图1所示。   由电台在161.975MHz和162.025MHz的两个频点上接收GMSK信号,经GMSK调制解调芯片把模拟数据转换成数字信号,数据流通过上位机完成对正确数据的判定,并且删去数据段的起始、填充和结束位,把数据通过并行口发往DSP,DSP完成对接收到数据的处理与分析,建立整个海域的时隙表
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved