当前位置:首页 > 单片机 > 单片机
[导读]ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和

ADC,Analog-to-Digital Converter的缩写,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的数字形式。

我们现在学习ADC模块是将介于0V~5V之间的电压值转换成0~1023的数值。STM8S105K4有7个ADC通道,分别对应PB0~PB5、PF4引脚。


如上图所示,该元件是可调电阻,或者叫电位器,103表示10*10^3Ω,即10k欧姆,电位器1脚和2脚之间的阻值为10K,旋转电位器可改变1脚和3脚或者2脚和3脚之间的阻值。1脚接5V,2脚接GND,旋转电位器,可以改变3脚输出的电压。

一、库函数

1、打开DAHUME MINI.stw文件;

2、在STVD左侧Workspace窗口Source Files目录下找到main.c,双击打开;

3、编写如下代码;

#include "main.h"

unsigned int a;

void setup(void)

{

delay(10);

CLOCK(_16MHz);

}

main()

{

setup();

while (1)

{

a = analogRead(0);

}

}

定义了无符号16位全局变量a。unsigned int analogRead(char channel);函数返回ADC指定通道的模数转换结果,参数channel可为0~5或者PB0~PB5、PF4。

a = analogRead(0);是将PB0引脚上的模拟量转换成数字量,在赋值给全局变量a。

4、编译、仿真;

5、在菜单栏第二行找到眼镜的图标,即QuickWatch,或者Shift+F9,跳出QuickWatch对话框,在输入栏输入a,点击Add Watch按钮,将会在下方出现Watch窗口;

6、右击Watch窗口任意处,点击Read/Write On Fly;

7、点击菜单栏第三行Run按钮;

8、旋转电位器,Watch窗口里a的值也跟着变化。

QuickWatch只能在程序非运行状态下添加监视对象,监视对象可为全局变量、全局数组、寄存器等,刷新时间为1秒。

二、练习

1、用PB0连接的电位器控制LED1的亮度,亮度等级为255级。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭