STC15W芯片A/D、D/A转换的简单使用

描述

STC15W芯片A/D、D/A转换的简单使用

A/D、D/A转换

在现代电子系统中,数字信号通常以离散的二进制形式存在,而模拟信号则是连续变化的。数模转换的目的是将数字信号转换为相应的连续模拟信号,以便在模拟电路中进行处理、传输或输出。

相反,模数转换是一种将模拟信号转换为数字信号的技术。它在许多领域中都有广泛的应用,例如通信、音频处理和仪器测量。通过将连续的模拟信号离散化,模数转换器能够将其表示为一系列数字样本。这些样本可以被数字系统处理和存储,从而实现更高的精度和可靠性。模数转换的原理和方法各不相同,但其核心目标是将模拟信号转换为数字形式,以满足数字系统的需求。

今天,我们以郭天祥老师的TX-1C开发板上的STC15W芯片为例,来介绍一下模数转换的简单使用。

PART

01、D/A转换(数字/模拟)

模拟信号

这是我们使用的板子上面的PCB电路图,他看上去有很多的针脚,如果我们只是要对他就行简单的操作使用,我们只需要关心四种针脚就行,DAC CS51 WRD0~D7IOUT针脚。

DAC SC片选口,相当于芯片的总开关,只有他开启时,对芯片的其他操作才有作用,低电平有效。

51WR,数字量接受开关,有效时数字量才能输入到芯片中,低电平有效。

D0~D7数字量输入口。

IOUT转换成模拟量之后的输出口。

其使用的一般步骤为:

1、将片CS选口和WR口,先后置为低电平时期有效。

DAturn=0;  //开启DACS
  WRturn=0;  //开启DAp0口写入

代码示例

2、对D0~D7所对应的数字量输入口赋值。

3、等待IOUT的输出。

在TX-1C的板子中IOUT外接的是一个D/A的指示灯,使用成功后应该可以通过数字量来控指示灯的亮度。

模拟信号

PART

02、A/D转换(模拟/数字)

模拟信号

STC15W的模数转换芯片跟数模转换需要注意的针脚大同小异,ADC CS51 RD51 WRDB0~DB7VIN针脚。

ADC SC片选口,相当于芯片的总开关,只有他开启时,对芯片的其他操作才有作用,低电平有效。

51WR,读入模拟量开关,有效时对模拟量采样,低电平有效。

51RD,写出数字量开关,开启后数字量将被写出,低电平有效。

DB0~DB7数字量输出口。

VIN接外设,模拟量读入端口。

其使用的一般步骤为:

1、先将片CS选口置为低电平时期有效(由于实验板上留的IO口不够因此用U2上的一个针脚来控制)。

2、读入模拟量。

ADWR=1;
_nop_();
ADWR=0;      //打开信号输入
_nop_();
ADWR=1;
_nop_();

代码示例(读入模拟量)

例中_nop_()是指延时一个机器周期

3、将模拟量转换并输出。

ADRD=1;
_nop_();
ADRD=0;      //打开模数转换
_nop_();
ADRD=1;
_nop_();
dis_num=P1;  //P1- >dis_num

代码示例(将转出的数字量赋给dis_num)

模拟量转化为数字量后,数字量会发送到DB0~DB7,这里这八个针脚对应的是51单片机上的P1。

自我测验

任务一:使D/A转换的指示灯,从按到亮,再从亮到暗反复变化,周期为四秒。

任务二:使(STC15W)ADC旁接的可变电阻,可以时时将其对应的数字量(0~225)显示在数码管上。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分