1.数模转换器
又称D/A转换器,简称DAC,英文 Digital to Analog Converter,在MP3这种数字的音频信号需要转换器驱动扬声器;显卡输出的也是数字型号,也需要转换器转换给显示屏;工业吸合电磁铁。转换器有分分辨率的,那么什么是分辨率呢?
比如我们用八位DA生成0—5V的模拟电压,二进制八位就有2^8=256等分,显然位数越多,分辨率越高,5V / 256=19.5mV,所以19.5mV就是八位数模转换器的分辨率(可以理解成精度)。单片机中常用的是DAC0832。
接下来我们看内部原理,最右边I0的电阻是2R,与左边电阻2R并联,等效为R,再与I1的R串联,等效为2R,再与左边的电阻2R并联,等效为2R…(循环往复)。再看到I分为两份电流,这两份电流流过的等效电阻都是2R。
直通工作方式
当DAC0832芯片的片选信号、写信号、及传送控制信号的引脚全部接地,允许输入锁存信号ILE引脚接+5V时,DAC0832芯片就处于直通工作方式,数字量一旦输入,就直接进入DAC寄存器,进行D/A转换。
如上图是我用的单片机中的DAC0832的引脚图,其中D0-D7为输入端的八位引脚,输出端out2接地,out1连接的是一个电流转换成电压的运放然后接发光二极管。其中CSDA一杠的意思是低电平有效,芯片低电平才工作。现在写一个简单的程序,使得发光二极管最亮。
#include sbit csda=P3^2;//定义引脚 sbit wr=P3^6; void main() { //低电平有效 csda=0;//片选:选中DA wr=0; //全送1 P0=0xff; while(1); } 2. 模数转换器 话不多说,下面是AD转换原理:逐步逼近法(个人觉得可以理解成二分法) 当输入一个模拟电压Vin,启动信号发送V/2,即最高位,与Vin比较大小,若V/2>Vin,最高位清零;若V/2 就好像数学中的二分法,或者夹逼定理,当我们的满量程是5V,八位寄存器,第一次送10000000,即2.5V,若模拟电压是3.2V,2.5<3.2,那么我们知道这个数值在2.5V-5V之间,就将第一位保留,第二次送11000000…直到逼近这个值。 接下来查阅芯片手册,写出一个关动态二极管的程序 #include sbit wr=P3^6; sbit rd=P3^7; #define uchar unsigned char #define uint unsigned int void start(); void init(); void delay(uint z)//延迟子程序 { uint t1,y; for(t1=z;t1>0;t1--) for(y=110;y>0;y--); } void main() { init(); while(1) { start(); delay(100);//转动AD旋钮修改这个时间 rd=0; delay(10); rd=1; delay(10); } } void init() { P0=0x7f; void start() { wr=1; wr=0; wr=1; }
上一篇:单片机 | Keli 调试程序
下一篇:手把手教学51单片机 | 第一课——点亮发光二极管
推荐阅读最新更新时间:2024-11-13 11:00
推荐帖子
- PCB设计怎么才能露出基板呢?
- 请教各位前辈,用AD在画PCB时,怎么才能让板子的某一个小区域内,比如一个半径5mm的圆形,露出基板,就是即没有铜,也没有油墨,也没有锡,要怎么处理呢?请前辈指点啊!!!就像图中的这样。注:那个圆并不是焊盘。PCB设计怎么才能露出基板呢?铝基板完全可以,需要和制版厂沟通,人家愿意搞就行,凸台而已如果是PCB材质用的是比如FR-4(玻纤布基)或者CEM-1/3(玻纤和纸的复合基板),就很难搞 谢谢,用的FR-4基板,那是不是用AD不能实现这样的设计,属于是制板中的其他环节?
- 飞海 PCB设计
- HC32F460 串口两个DMA的问题?
- 两个问题:1.我按照官方的3.2.0的例程进行移植,单个串口的DMA传输已完成,其中串口1的接收DMA传输完成中断,我使用调试模式从来没进入过这个中断函数,我将该中断函数的里面代码,不影响正常功能。2.我使用串口2,将关于串口2的DMA初始化后,会造成DMA传输通道计数会累计一直增加,不会正常的计数,现在不知道怎么办。串口1接收DMA1通道0,串口2接收DMA1通道1串口1发送DMA2通道0,串口2发送DMA2通道1HC32F460串口两个DMA的问题?
- 121315L 国产芯片交流
- HT48R05A制作数字脉冲发生器
- HT48R05A芯片功能很强大的可以做很多的事情HT48R05A制作数字脉冲发生器
- rain 模拟电子
- 晒WEBENCH设计的过程+WEBENCH指导下的路灯LED照明设计(3)
- Ti的在线设计软件webench针对当下越来越热的LED照明提供了专门的设计流程和方法。本帖中针对简易室内LED照明设计流程做一个简单介绍。首先从webench设计器中选择LED标签命令,设置输入电源的最大与最小值,选择驱动电源为交流或者直流,点击开始设计。如下图。本设计采用webench的默认参数作为设计参数。点击开始设计,进入下图,在下图中的参数配置区,填写需求参数滤除不合适元件。设置led的工作电流,正激电压以及动态电阻。设置led灯串的串联数量和并联数量。设置交直
- 地瓜patch 模拟与混合信号
- F5529触摸键ccs程序出错,怎么弄啊,新手求帮助!
- 刚学,我是想用ccsv5。1自带的资源库弄一个触摸键的程序,把资源库加到include里面了,然后。。。。就出错了,是不是资源库加的不对啊?不加资源库也不行,各种尝试,直接把structure.h和structure.c复制到我的工程中也不行,不知道怎么弄了,求指教F5529触摸键ccs程序出错,怎么弄啊,新手求帮助!从错误信息来看,似乎是在链接的时候报的,检查一下头文件和库是否包含正确。试着重新添加一下路径,具体请参照我之前的帖子https://bbs.eeworld.com.cn/th
- yinger01 微控制器 MCU
- Cyclone III FPGA开发板详细电路图
- CycloneIIIFPGA开发板详细电路图CycloneIIIFPGA开发板详细电路图非常的感谢谢谢LZ分享好资源不错,分享看看谢谢好东西,非常感谢谢谢LZ分享好资源,看了看非常不错阿。很好。谢谢LZ分享好资源
- unbj FPGA/CPLD