微雪官网产品资料
立即注册 找回密码

QQ登录

只需一步,快速开始

微雪课堂

搜索
微雪课堂 首页 STM8 STM8单片机笑傲江湖 查看内容

STM8 AD转换

2015-7-16 13:52| 发布者: waveshare-admin| 查看: 2379| 评论: 1

摘要: 系统功能  大部分STM8内部带有AD,本节以使用STM8S105的内部AD为例,给出AD转换中断程序。   硬件设计AD转换值低位,LED控制电路原理图AD转换值高位,LED控制电路原理图软件设计/****************************** ...
系统功能

  大部分STM8内部带有AD,本节以使用STM8S105的内部AD为例,给出AD转换中断程序。   

硬件设计

 
AD转换值低位,LED控制电路原理图 

AD转换值高位,LED控制电路原理图

软件设计

/*********************************************************************
微 雪 电 子 WaveShare http://www.waveShare.net
目标系统: 基于STM8单片机 
应用软件: Cosmic CxSTM8 
说 明: 若用于商业用途,请保留此段文字或注明代码来源
深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 
*********************************************************************/

#include <stm8s207s8.h>

void Init_AD(void)
{
        ADC_CSR=0x09; //选择通道
       ADC_CR2|=0x08; // 数据排列,右对齐
       ADC_TDRL=0x20;
}

void main(void)
{
       PB_DDR = 0xff; 
       PB_CR1 = 0xff;
       PB_CR2 = 0x00;

       PD_DDR = 0xff;
       PD_CR1 = 0xff; 
       PD_CR2 = 0x00;

       PE_DDR &= (~0x40);

       Init_AD();
       while (1)
       {
              ADC_CR1|=0x01;
              for(i=0;i<100;i++); // 延时一段时间,至少7uS,保证ADC模块的上电完成
              ADC_CR1|=0x01; // 再次将CR1寄存器的最低位置1,开启AD转换

              while((ADC_CSR & 0x80)!=0x80); // 等待转换结束
              PB_ODR=ADC_DRH;
              PD_ODR=ADC_DRL;
              ADC_CSR&=(~0x80);
       }
}


系统调试

用LED显示AD转换值,调“ADJ0.AD0”的可调电阻可改变AD转换值,观察它的变化。

以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!


184

顶一下

刚表态过的朋友 (184 人)

发表评论

最新评论

引用 Ezio_神仙醋 2017-1-19 15:16
study

查看全部评论(1)

所有教程
STM8

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号  

GMT+8, 2019-1-18 17:11 , Processed in 0.070156 second(s), 25 queries .

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc & Style Design

返回顶部