A. 单片机内部AD转换模块能否处理外部的模拟信号
1,什么是ad转换?
a是模拟信号的意思,d是数字信号的意思,ad转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号。
2,为什么要ad转换?
单片机(以及其他处理器)只能处理数字信号,当单片机想要获取电路上某一点的电压值时,就得用到ad转换了,如果你直接把单片机的引脚接到电路这个点上,单片机只知道这个点的电压是低电平还是高电平,又怎么能得到他的电压值呢?例如数字式的万用表,它测量电压时,先有一个ad转换电路,把电压值转换成一个数值,然后把这个值送个单片机(当然万用表里的用的处理芯片不是单片机),单片机经过计算处理后,再把这电压值显示到显示到屏幕上。
不过现在有一些比较强的单片机,其内部已经集成了ad转换器,不需要你再外接ad转换芯片。
3,8位16位的ad转换芯片是什么意思?
8位,16位就代表了ad转换芯片的转换分辨率,数字越大,分辨率越高,同时也反映了它的精度,数字越大,精度相对也越高。8位算是最低了,有些单片机里集成的ad转换器一般是10位的。12位和16位的芯片价格就比较贵了。
4,分辨率?
举个简单的例子,8位芯片只能转换最小到0.01v的电压,而12位的芯片却能转换最小到0.001v的电压,如果一个电压为3.359v,8位芯片转出来后的数值是3.35v,12位芯片转换出来后是3.359v,精度比8位就高一个档次了。(注:这里数值不是正确的数值,举例用,切勿实际使用)
5,采样?
采样是ad转换的速度性能指标,通俗的说就是每秒里能采样多少次,采样次数越高芯片性能越好。如果对采样不理解,也可以用另一种方式理解,就是一个ad转换芯把电压值转换成数字值这个过程所需要的时间,时间越短越好。
6,精度?
精度是ad芯片的一个重要参数,表示采集到的数据和真实值之间的相差的程度。例如单片机转换出来的结果是0.3v,而实际可能是0.31v,这样就相差了0.01v。这种误差是不可避免无法消除的。这和在第3点中提到的位数有关,位数越高,这样的误差越小。
7,这些知识点在“数字电路基础”一书中有详细解释,说明你数字电路没学好,自己好好加油了。
B. 51单片机实现数字信号和模拟信号的转换
首先你要有麦克风或者拾音器,区别是拾音器效果更好还有降噪功能;其次要把模拟信号送到单片机,要有AD转换电路,然后单片机处理一下信号,比如抑制噪声、放大;然后要把数字信号输出驱动扬声器,要有驱动电路和DA芯片。51单片机做语音效果不好 ,因为采样频率低,音不好。一般的开发板都有这些功能的。
C. 单片机如何实现多路模拟量的数据采集、显示
普通单片机实现多路模拟量的数据采集、显示需要:
外部连接一个多通道输入的ADC芯片,单片机按照一定的周期驱动模拟开关切换到不同的模拟通道,设计模数转换控制器的控制程序,可以进行定团戚时模拟信号采集和显示。
(3)单片机处理模拟信号扩展阅读:
单片机基本结构及作用:
1、运算器
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。
ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
运算器有两个功能:
执行各种算术运算。
执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
2、控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:
从内存中取出一条指令,并指出下一条指令在内存中的位置。
对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线键或仿DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。
3、主要寄存器
累加器A
累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
数据寄存器DR
数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
指令寄存器IR和指令译码器ID
指令包括操作码和操作数。
指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。
当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
程序计数器PC
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
地址寄存器AR
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时稿纤,也需要用到地址寄存器和数据寄存器。
D. 怎样把模拟信号传感器接入单片机,需要什么器件转换
把模拟信号传感器接入单片机:
单片机自身带有A/D通道,那么直接把传感器模拟信号接入即可,前提是信号电压的范围要合适,如果信号过于微弱还要增加前置放大环节;如果单片机没有A/D通道,那么就要经过A/D转换器变为数字信号后再通过单片机的数字接口输入单片机。
模拟信号是指信息参数在给定范围内表现为连续的信号。 或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。
模拟信号是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等等,我们通常又把模拟信号称为连续信号,它在一定的时间范围内可以有无限多个不同的取值。而数字信号是指在取值上是离散的、不连续的信号 。
实际生产生活中的各种物理量,如摄相机摄下的图像、录音机录下的声音、车间控制室所记录的压力、流t、转速、湿度等等都是模拟信号。数字信号是在模拟信号的基础上经过采样、量化和编码而形成的。具体地说,采样就是把输入的模拟信号按.适当的时间间隔得到各个时刻的样本值.量化是把经采样测得的各个时刻的值用二进码制来表示,编码则是把t化生成的二进制数排列在一起形成顺序脉冲序列 。
模拟信号传输过程中,先把信息信号转换成几乎“一模一样”的波动电信号(因此叫“模拟”),再通过有线或无线的方式传输出去,电信号被接收下来后,通过接收设备还原成信息信号。
E. 单片机的I/O接口能输入或输出模拟信号吗
单片机的 I/O 接口, 如果带卜该 I/O 口有 AD 功能 就可以,以模拟量信号输入,
如果该 I/O 口有 PWM 功能 就可以,以 PWM 调制信号 输出,
或者 通过滤波以 模拟量信号输出,
现在有很多 型号的 单片机 都有 以上轿桥功能,
如 STC 系列单片机,可以 上 STC 官网 看看,下载蠢帆穗单片机的 数据手册