AD7890型串行数模转换器与51系列单片机的接口设计
基于51单片机和ADC0809多通道模数转换的设计与实现
目录摘要 (1)1、方案设计 (2)2、硬件电路的设计 (2)2.1单片机的最小系统设计 (2)2.2 ADC0809模数转换器设计电路 (3)2.2.1 ADC0809的结构功能 (3)2.2.2 ADC0809的工作时序 (6)2.2.3 ADC0809与AT89C52单片机的接口电路 (7)2.3 LCD1602显示电路 (8)2.4 键盘与单片机连接电路 (10)2.5系统整体电路图 (10)3、软件设计 (11)4、系统仿真和测试结果 (12)5、性能分析 (13)6、心得与体会 (14)7、参考文献 (14)附录一:源程序 (14)附录二:本科生能力拓展训练成绩评定表 (20)摘要本文介绍了基于单片机的数据采集的硬件设计和软件设计,数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有非常重要的作用。
本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机。
硬件部分是以单片机为核心,还包括A/D模数转换模块,LCD1602显示模块部分。
8路被测电压通过模数转换器ADC0809进行模数转换,实现对采集到的数据进行模拟量到数字量的转换,并将转换后的数据通过LCD1602显示器来显示所采集的结果,并且可以通过按键来查看任意通路的电压值,整个系统具有操作方便、线路简单、测量误差小等优点。
关键词:单片机AT89S52、模数转换器ADC0809、数据采集、LCD1602显示器1、方案设计根据设计要求,采用的方案如下:硬件部分实现对8路数据采集和显示的功能,包括MCS-51单片机、ADC0809、LCD1602;软件部分实现单片机对8路输入数据的采集以及对LCD1602的显示操作。
主要设计思想:单片机P1与ADC0809相连,P0与LCD1602连接。
模拟信号通过IN0——IN7输入到ADC0809中转换为数字信号,P1获得此值后,经过处理得到每位的数据后,通过P0口写数据到LCD 屏上。
AT89S51单片机与ADC0809模数转换器的三种典型连接
AT89S51单片机与ADC0809模数转换器的三种典型连接Ξ元增民(长沙大学机电工程系,湖南长沙410003)摘 要:根据模数转换器定位为单片机的外部RAM单元的概念,介绍了AT89S51单片机与ADC0809模数转换器三种典型连接电路及程序编制.分析了三种电路硬件和软件特点.并且给出了一种能用于中断、串行口和模数转换等项目的综合训练的短小精悍的可执行程序.关键词:单片机;模数转换;连接硬件;控制软件;AT89S51;AT89C51;ADC0809中图分类号:TP368.1 文献标识码:A 文章编号:1008-4681(2005)05-0069-04Three Typical Connections B etw een AT89S51Single Chip Computer andADC0809Analog to Digital ConverterY UAN Z engmin(Mechanical and E lectrical Engineering Department,Changsha University,Changsha,Hunan410003) Abstract:According to the concept that analog to digital converters are defined as external RAM of single chip com puter,three typical connections between AT89S51single chip com puter and ADC0809analog to digital converter are introduced.The characteristic of hardware and s oftware of the three circuits are analyzed.A short program which may be used in the integrated training of interrupting,series port and analog to digital converting is given.K ey w ords:single chip com puter;analog to digit converting;connecting hardware;controlling s oftware; AT89S51;AT89C51;ADC0809 MCS51系列单片机是美国英特尔公司于1980年开始生产的.MCS51系列单片机以功能强大的指令系统、并行口串行口兼有以及灵活的SFR模式等优点,在20世纪80~90年代曾经风行我国.上世纪末国际著名电子器件生产厂家,如飞力浦(Philips)公司,西门子(Siemens),都在MCS51系列单片机的框架下设计新型单片机产品.其中美国爱特美(AT ME L)公司采用MCS51系列单片机的指令系统和硬件框架,将MCS51系列单片机内置ROM、EPROM及外挂EPROM等模式改为内置FPEROM (Flash Programmable and Erasable Read Only Mem o2 ry),设计了与MCS51系列单片机兼容的AT ME L51系列单片机,包括内置4kB FPEROM的标准40脚AT89C51、内置2kB FPEROM的20脚AT89C2051以及内置1kB FPEROM的20脚AT89C1051.正是这些后起的51系列单片机赋予MCS51系列单片机以新的生命力.建议把英特尔公司MCS51系列单片机和后来世界各大公司在其框架下生产的各种51系列单片机统称为51系列单片机,简称为51单片机.51系列单片机至今在8位机控制领域还是一只独秀.就连一些32位处理器也在致力8位应用[1].讨论51系列单片机的一些基本应用问题非常有价值.尽管大家都知道模拟数字转换(Analog to Digit C onvert,ADC)数字模拟转换(Digit to Analog C onvert, DAC)接口技术在控制领域非常重要,而且很多教科书,如单片机、电子技术、计算机控制技术、都有关于ADC和DAC的内容,但是实际上在很多学校的教学中ADC和DAC都是一个薄弱环节,或者说是一个交叉点.谁都应当管,结果往往谁都不管.在一定程度上影响了教学效果.目前8路8位逐位比较式模数转换芯片ADC0809无论在工程设计还是教学过程中还是作为首选品种.讨论51系列单片机与ADC0809的硬件连接与软件编程,是一项有价值的工作.概念非常重要.要了解ADC0809与51单片机连接原理,首先要明确ADC0809在整个51单片机第19卷 第5期2005年9月 长 沙 大 学 学 报J OURNA L OF CH AN GSH A UNI VERSITYVol.19 No.5Sep.2005Ξ收稿日期:2005-06-09;修回日期:2005-09-09作者简介:元增民(1957-),男,河北沙河人,长沙大学教授,硕士,主要从事电子学研究和教学.系统中的定位.大体上说,ADC0809在整个51单片机系统中是作为外部RAM 的1个单元定位的.具体到某一个连接方式,ADC0809在整个51单片机系统中的定位又有一些差别.目前,性能非常好的AT 89C51的价格大约在10元左右,已经完全取代MCS51而稳占市场.考虑AT 89C51已经在2004年停产,代之而起的是性能价格比更好的AT 89S51.本文介绍ADC0809与51系列单片机的连接时将以AT 89S51作为例子,不过完全适合于AT 89C51和更早的MCS51系列单片机中的8031,8051和8751.本文介绍ADC0809与AT 89S51(51系列单片机)的3种典型连接方式.1 ADC0809与51单片机的第一种连接方式这是一种数据线对数据线、地址线对地址线的标准连接方式,如图1.但是由于51单片机没有现成的低8位地址总线,所以采用这种标准连接方式需要用74LS373或类似芯片产生低8位地址总线.早期的MCS51系列单片机的应用品种很多是没有内置程序存贮器的8031芯片,本身就需要外挂74LS373等芯片产生低8位地址总线来外接E 2PROM 等程序存贮器,连接ADC0809时不需要专门外挂74LS373.因此早期的MCS51系列单片机,如8031,采用这种方式连接ADC0809还是比较可行的.图1中的P2.7/A15线作为整个ADC0809芯片的片选线.当P2.7/A15=0时,或非门敞开,允许写信号通过,将单片机负的写脉冲转换为ADC0809所需要的正脉冲,以选中ADC0809某一通道并启动转换.图1 ADC0809与51单片机的第一种连接方式这是一种不完全地址译码方式.如果增加地址译码器,将P2.7/A15线改为高位地址译码器的输出线,就可以形成完全译码.在图1连接方式中,ADC0809的转换结果寄存器在概念上定位为单片机外部RAM 单元的一个只读寄存器,与通道号无关.因此读取转换结果时不必关心DPTR 中的通道号如何.编程概要:MOV DPTR ,#7FF8H ;DPTR 指向0809通道0MOVX @DPTR ,A ;锁定通道0并启动转换…………………………MOVX A ,@DPTR ;读取转换结果要求在程序第一条指令中把决定是否能选中整个ADC0809芯片和通道的数据送到数据指针DPTR.在本电路中,只要送到DPTR 的最高位数据为0,就能选中ADC0809,而通道地址由DPTR 的最低3位数字决定.这里累加器A 的内容对于ADC 没有任何意义.因此事先不用操心累加器A 内容如何.这是本程序的一大特点.2 ADC0809与51单片机的第二种连接方式通常芯片的地址线只能进不能出自不必说,ADC0809的数据线有一特点:只能出不能进.就是说,就像往S BUF 写入时写到发送缓冲寄存器,从S BUF 读出时实际是读取接收缓冲寄存器的数据一样,往ADC0809写入时,把数据总线上的数据写到地址寄存器,从ADC0809读出时实际是读取转换结果数据.图2 ADC0809与51单片机的第二种连接方式因此可以在把51单片机的8位数据线接到ADC0809的8位数据线的同时,又把其中的3位直接接到ADC0809的3根地址线以确定通道号.通常把51单片机的8位数据线中的低3位D2,D1,D0直接接到ADC0809的3根地址线A2,A1,A0以确定通道号,如图2.采用这种连接方式明显可以省去一片74LS373.在图2连接方式中,ADC0809的转换结果寄存07长沙大学学报 2005年9月器在概念上定位为单片机外部RAM 单元的只读寄存器,而通道号锁存器在概念上定位为单片机同一个外部RAM 单元的只写寄存器.同一个外部RAM 单元的只读寄存器与只写寄存器使用同一个地址,就像51系列单片机的串行发送缓冲器与串行接收缓冲器使用同一个地址99H 一样,不会发生混乱.图2连接方式有一个特点,那就是单片机要把最低3位二进制数据通过数据总线写入ADC0809的地址锁存器,然后作为通道地址使用.编程概要:MOV A ,#0F8H ;ADC0809通道0地址送到A MOV DPTR ,#7FFFH ;DPTR 指向ADC0809MOVX @DPTR ,A ;锁定通道0并启动转换…………………………MOVX A ,@DPTR ;读取转换结果要求在程序第一条指令中把决定是否能选中整个ADC0809芯片的数据送到数据指针DPTR.在本电路中,只要送到DPTR 的最高位数据为0,就能选中ADC0809,而通道地址由累加器A 的最低3位数字决定.除了最高位以外,DPTR 的其余15位数据对于ADC 没有任何意义.除了较低3位以外,累加器A 的其余5位数据对于ADC 也没有任何意义.这是本程序的一大特点.3 ADC0809与51单片机的第三种连接方式在很多应用场合,AT 89S51内部的硬件资源,例如4kB 闪存,128B 内部RAM ,一个串行口和4个8位并行口等,已经够用.就是说,在很多应用场合,不需要外扩RAM 或I/O 口.图3 ADC0809与51单片机的第三种连接方式当51单片机没有外扩RAM 和I/O 口时,ADC0809就可以在概念上作为一个特殊的唯一的外扩RAM 单元.因为它是唯一的,就没有地址编号,也就不需要任何地址线或者地址译码线.只要单片机往外部RAM 写入,就是写到ADC0809的地址寄存器中.只要单片机从外部RAM 读取数据,就是读取ADC0809的转换结果.基于这种外部RAM 的唯一单元概念设计的AT 89S51与ADC0809的连接电路如图3.相应的启动程序和读数程序都非常简单.编程概要:MOV A ,#0F8H ;ADC0809通道0地址送到A MOVX @R0,A ;锁定通道0并启动转换………………MOVX A ,@R0;读取转换结果只要程序中使用MOVX @R0,A 指令或者MOVX @DPTR ,A 指令,就能启动ADC0809.比较MOVX @R0,A 指令和MOVX @DPTR ,A 指令,当然是MOVX @R0,A 占优势,所以这里使用MOVX @R0,A 指令.其中间址寄存器R0中的数据无论在启动ADC0809还是在读取转换结果时都没有任何意义,因此事先不必考虑往R0中送入什么数据.这是本程序的一大特点.4 三种连接方式的综合比较第一种和第二种连接方式允许多片ADC0809与单片机连接,第三种连接方式只能连接一片.通常1片8通道ADC0809就能满足控制工程需要.因此在单片机没有外扩RAM 和I/O 接口时,第三种连接方式是一种优选方案.需要2片或更多ADC0809时,第二种连接方式是一种优选方案.第一种连接方式需要一片74LS373做地址锁存器.如果单片机系统已经有一片74LS373地址锁存器,那么第一种连接方式也不失为一种可以考虑的连接方式.5 同时进行模数转换和显示的典型程序单片机教学中除了ADC 和DAC 是难点之外,中断和串行口也是难点.下面介绍一个典型的程序.这个程序虽然短小精悍,但是能利用中断和串行口功能同时完成多项任务,有利于学员掌握中断、串行口及ADC0809的编程应用.执行本程序时,需要在图3基础上再增加一片串入并出芯片74LS164及一只共阳数码管,并通过P1口和7406或74LS240控制8只LE D. ORG 0000H LJMP MAI N ORG 0003H ;0号外中断服务子程序 PUSH ACC ;ACC 入栈保护 MOVX A ,@R0 ;读ADC 转换结果 MOV P1,A ;送P1口显示17总第67期 元增民 AT 89S51单片机与ADC0809模数转换器的三种典型连接 C LR A ;ACC指向ADC0809的0通道 MOVX@R0,A ;再次启动ADC0809 POP ACC ;ACC出栈 RETI ;中断返回MAI N:MOV IE,#10000001B;开0号外中断 C LR A ;ACC指向ADC0809的0通道 MOVX@R0,A ;首次启动ADC0809 MOV DPTR,#ST AB ;DPTR指向段码表ST ART:MOV R0,A ;秒数送R0保存 MOVC A,@A+DPTR ;查表取来秒数段码 M O V S BUF,A ;秒数的段码送串行口输出 AC A LL DE LAY ;延时1秒 ADD A,#1 ;加1秒 DA A ;十进制调整 AN L A,#0FH ;屏蔽掉十位 S JMP ST ART ;循环计时DE LAY:……………… ;1秒延时子程序 E ND执行本程序,首先在主程序中启动ADC0809,然后单片机运行一位秒表程序.在秒表运行过程中,当模数转换完成时,ADC0809发出一个正脉冲E OC(End O f C onvert),反相为负脉冲后给单片机的端子,单片机响应中断,执行完当前指令后即进入中断服务子程序,读取转换结果并送显示,然后再次启动ADC0809后返回主程序.ADC0809完成1次转换需用64个时钟脉冲.如果ADC0809时钟信号是640kH z,那么1次转换需要时间为0.1ms,1秒钟之内就能完成1万次转换,就是说,1秒钟之内要产生1万次中断,理论上对秒表运行肯定有影响,但是实际上作为演示实验,人们根本觉察不到中断对秒表的影响.所以我们把这个实验命名为“秒表运行中进行ADC”,其特征是秒表一边运行,一边连续进行ADC,因此实验成功的标志是代表转换结果的LE D显示数字能与为ADC0809提供模拟电压的电位器实现随动,即拧动电位器时LE D显示数字跟着闪烁.参考文献:[1]R obert Crav otta.32位微处理器致力于8位应用[J].电子设计技术,2005(12):5,56-57.[2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2004.(上接第23页)A=100.11 0.190.1 10.13解:显然矩阵A为对角占优矩阵,且两圆盘R1与R2相交.∵S=1+0.1-0.2=0.9>0,Δ=0.92-4×1.1×0.1=0.37>0,∴R1与R2是可以被分离的.取a=S2P i ≈0.4,令D=0.4 1 1,作变换B=DAD-1=100.040.4 0.2590.1 2.50.13这时R1与R2就已经被分离.三个圆盘都被分离开来了.由G erschg orin圆盘定理可得三个特征值的范围分别为:9.56≤λ1≤10.44,8.65≤λ2≤9.35,2.5≤λ3≤3.5.小结:上面所讲述的方法对于对角占优矩阵是非常行之有效的.但是它还有一定的局限性。
ADC0809与51单片机接口电路及应用程序
ADC0809与51单片机接口电路及应用程序最近研究了下ADC0809这个芯片,做了个电路,和大家分享电路原理图如下:500)this.width=500;" border=0>说明:D0~D7接51单片机的P2口(P2.0~P2.7)ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(0~5V)应用程序如下:#include"reg52.h"#define uchar unsigned charsbit ST=P1^0;sbit EOC=P1^1;sbit OE=P1^2;sbit CLK=P1^3;sbit ADDCS=P1^4;uchar AD_DATA[2]; //保存IN0和IN1经AD转换后的数据/**********延时函数************/void delay(uchar i){uchar j;while(i--){for(j=125;j>0;j--);}}/*********系统初始化***********/void init(){EA = 1; //开总中断TMOD = 0x02; //设定定时器T0工作方式 TH0=216; //利用T0中断产生CLK信号 TL0=216;TR0=1; //启动定时器T0ET0=1;ST=0;OE=0;}/***********T0中断服务程序************/void t0(void) interrupt 1 using 0{CLK=~CLK;}/***********AD转换函数**********/void AD(){ST=0;ADDCS=0; //选择通道IN0delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC);OE=1;AD_DATA[0]=P2;OE=0;ST=0;ADDCS=1; //选择通道IN1 delay(10);ST=1; //启动AD转换delay(10);ST=0;while(0==EOC);OE=1;AD_DATA[1]=P2;OE=0;}/*****************主函数**************/。
多通道模数转换器AD7890与DSP的接口设计
多通道模/数转换器AD7890与DSP的接口设计作者:黄浦杨秀丽李军等来源:《现代电子技术》2009年第22期摘要:为提高现代数字控制系统中多通道模/数转换的效率,介绍串行多通道模/数转换器AD7890工作原理。
选用TMS320F2812作为处理器,给出AD7890与DSP串行外设接口的硬件实现方法、电平转换方法及软件实现流程。
实际应用表明,系统的A/D转换效率较高,性能稳定。
为实现多轴数字控制系统的A/D转换功能提供了一种新的方案。
关键词:多通道模/数转换器;DSP;串行外设接口;转换效率中图分类号随着工业技术进步,对数字控制伺服系统中执行效率和集成化程度的要求越来越高。
比如用单处理器控制多个伺服系统时,对多通道A/D转换的效率要求较高。
以往较多地使用多路模拟开关与单通道A/D转换器来实现,效率较低,使用模拟开关带来的噪声也比较严重。
在此,选用串行多通道A/D转换器AD7890与TMS320F2812处理器的SPI接口组成A/D转换模块,非常适合应用于多轴伺服系统。
AD7890是一款8通道12位串行A/D转换器,具有高转换效率(转换时间仅为5.9 μs)、高速灵活的串行接口、多通道等优点\[1\。
其中,AD7890[CD*2]10输入电压范围为-10~+10 V。
TMS320F2812处理器上集成了多种先进的外设,为实现电机及其他运动控制领域的应用提供了良好的平台,它所提供的SPI接口通常用于DSP处理器和外部设备及其他处理器之间的通信。
SPI分主、从两种工作方式,数据长度可编程(1~并能同时进行接收和发送操作,通常用于DSP处理器和外部外设以及其他处理器之间的通信,这使它能很方便地与AD7890采用主/从模式进行通信。
1 AD7890工作模式和原理AD7890的SMODE引脚是工作模式控制输入端,它决定了器件是工作于外部时钟模式(作为从设备),还是内部时钟模式(作为主设备)。
当SMODE置于高电平时,器件工作在外部时钟模式,由主设备提供时钟信号SCLK和接收帧同步信号-],AD7890可接收的最大串行时钟频率达10 MHz;当SMODE置于低电平时,器件工作在内部时钟模式,自身提供时钟信号SCLK和接收帧同步信号-],其时钟频率由CLK引脚输入时钟频率决定。
51单片机与A-D接口设计详解
51单片机与A/D接口设计详解
A/D 转换器用于实现模拟量数字量的转换,按转换原理可分为4 种,即:
计数式A/D 转换器、双积分式A/D 转换器、逐次逼近式A/D 转换器和并行式
A/D 转换器。
目前最常用的是双积分式A/D 转换器和逐次逼近式A/D 转换器。
双积分式
A/D 转换器的主要优点是转换精度高,抗干扰性能好,价格便宜。
其缺点是转
换速度较慢,因此,这种转换器主要用于速度要求不高的场合。
另一种常用的A/D 转换器是逐次逼近式的,逐次逼近式A/D 转换器是一种
速度较快,精度较高的转换器,其转换时间大约在几μs 到几百μs 之间。
通常使用的逐次逼近式典型A/D 转换器芯片有:
(1)ADC0801~ADC0805 型8 位MOS 型A/D 转换器(美国国家半导体公司产品)。
(2)ADC0808 / 0809 型8 位MOS 型A/D 转换器。
(3) ADC0816 / 0817。
这类产品除输入通道数增加至16 个以外,其它性能与ADC0808 /0809 型基本相同。
典型A/D 转换器芯片ADC0809
ADC0809 是典型的8 位8 通道逐次逼近式A/D 转换器,CMOS 工艺。
1. ADC0809 的内部逻辑结构
ADC0809 内部逻辑结构如图所示。
图中,多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用一个
A/D 转换器进行转换。
地址锁存与译码电路完成对A、B、C 三个地址位进行
锁存和译码,其译码输出用于通道选择。
对ADC0809 主要信号引脚的功能说明如下:。
基于51单片机的模数转换(AD)实验设计
HEFEI UNIVERSITY单片机课程综述报告主题基于51单片机的模数转换(A/D)实验设计姓名郭丽丽专业通信工程学号**********班级11级通信(1)班指导老师汪济洲2014 年 6 月 2 日目录1.实验目的与要求 (1)1.1实验目的 (1)1.2实验要求 (1)2.实验原理 (1)2.1电路原理图 (1)2.2 Proteus7.4 软件简介 (2)3、实验步骤 (5)4、源程序代码 (5)5. 实验结果分析 (10)6.总结 (10)1.实验目的与要求1.1实验目的1.掌握A/D转换与单片机的接口方法2.了解A/D芯片ADC0809转换性能及编程方法3.通过实验了解单片机如何进行数据采集1.2实验要求1.采用查询法或中断法编程进行A/D采集;2.采集0~5V范围的电压信号(以电位器模拟被测信号),使用4位串行数码管显示0~5V数值,小数点保留三位,实现简易电压表功能。
2.实验原理2.1电路原理图熟悉8051的输入输出端口的使用方法, 本实验的电路连接如图1所示。
图1 连接电路2.2 Proteus7.4 软件简介Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。
第11章 51单片机与DA、AD 转换器的接口
开的哈佛结构。扩展后,系统形成了两个并行的外部存储
器空间。 (2)I/O接口部件扩展与数据存储器扩展统一编址。
4
系统扩展以AT89S51为核心,通过总线把单片机与各扩展部
件连接起来。
进行系统扩展首先要构造系统总线。 (1)地址总线(Address Bus,AB):用于传送单片机发出 的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单 元的选择。
16
51单片机与8位D/A转换器0832的接口设计
1.DAC0832芯片介绍 (1)DAC0832的特性
美国国家半导体公司的DAC0832芯片,是具有两个输入
数据寄存器的8位DAC,它能直接与51单片机连接。
17
主要特性如下。
① 分辨率为8位。 ② 电流输出,建立时间为1s。 ③ 可双缓冲输入、单缓冲输入或直接数字输入。 ④ 单一电源供电(+5V~+15V)。 ⑤ 低功耗,20mW。 (2)DAC0832的引脚及逻辑结构 引脚如图11-1所示,DAC0832的逻辑结构如图11-2所示。
11
(2)D/A转换器与单片机的接口形式
早期采用8位数字量并行传输的并行接口 目前,除并行接口外,带有串行口的D/A转换器品种也
不断增多。 通用的UART串行口、I2C串行口和SPI串行口等。
12
2.DAC主要技术指标
(1)分辨率
单片机输入给D/A转换器的单位数字量的变化,所引起的模拟量 输出的变化. 定义为输出满刻度值与2n之比(n为D/A转换器的二进制位数)。 习惯上用输入数字量的二进制位数表示。 位数越多,分辨率越高,即D/A转换器对输入量变化的敏感程 度越高。
CS
:片选端,当为低电平时,本芯片被选中。
(完整word版)51单片机控制ADC0809的电路图和源程序
ADC0809数模转换与显示/*名称:ADC0809数模转换与显示说明:ADC0809采样通道3输入的模拟量,转换后的结果显示在数码管上。
*/#include〈reg51.h>#define uchar unsigned char#define uint unsigned int//各数字的数码管段码(共阴)uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbit CLK=P1^3;//时钟信号sbit ST=P1^2; //启动信号sbit EOC=P1^1;//转换结束信号sbit OE=P1^0;//输出使能//延时void DelayMS(uint ms){uchar i;while(ms——) for(i=0;i<120;i++);}//显示转换结果void Display_Result(uchar d){P2=0xf7; //第4个数码管显示个位数P0=DSY_CODE[d%10];DelayMS(5);P2=0xfb;//第3个数码管显示十位数P0=DSY_CODE[d%100/10];DelayMS(5);P2=0xfd;//第2个数码管显示百位数P0=DSY_CODE[d/100];DelayMS(5);}//主程序void main(){TMOD=0x02;//T1工作模式2TH0=0x14;TL0=0x00;IE=0x82;TR0=1;P1=0x3f;//选择ADC0809的通道3(0111)(P1。
4~P1。
6)while(1){ST=0;ST=1;ST=0;//启动A/D转换while(EOC==0);//等待转换完成OE=1;Display_Result(P3);OE=0;}}//T0定时器中断给ADC0808提供时钟信号void Timer0_INT() interrupt 1{CLK=~CLK;}硬件电路连接图(proteus仿真):。
第9章 MCS-51单片机与DA、AD转换器的接口
DI0~DI7(DI0为最低位):8位数字量输入端。 VCC ILE:数据允许控制输入线,高电平有效。 ILE WR2 XFER CS :片选信号。 D14 WR1 :写信号1。 D15 D16 WR2 :写信号线2。 D17 XFER :数据传送控制信号输入线,低电平有效。 Iout1 Iout2 R :片内反馈电阻引出线
VREF In-1= n 2 R
第9章 MCS-51单片机与D/A、 A/D转换器的接口
流向运算放大器的反向端的总电流I为分代码为1的各支 路电流之和,即: n 1 n 1 VREF diVREF I=I0+ I1+ I2+… + In-2+ In-1= di I i = ni =D n 2 R 2 R i 0 i 0 经运算放大器转换成输出电压VO,即 VR RF VO = - IRF = -D n 2 R 取RF=R,则
+5V
U3:B
4
LM324
-5V
-5V
双缓冲方式的连接
第9章 MCS-51单片机与D/A、 A/D转换器的接口
2.DAC0832的应用 D/A转换器在实际中经常作为波形发生器使用,通过 它可以产生各种各样的波形。D/A转换器产生波形的原理如 下:利用D/A转换器输出模拟量与输入数字量成正比这一特
点,通过程序控制CPU向D/A转换器送出随时间呈一定规律
第9章 MCS-51单片机与D/A、 A/D转换器的接口
方波: ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV DPTR,#7FFFH LOOP:MOV A,#00H MOVX @DPTR,A ACALL DELAY MOV A,#0FFH MOVX @DPTR,A ACALL DELAY SJMP LOOP DELAY:MOV R7,#0FFH DJNZ R7,$ RET END
MCS-51单片机与A-D转换器的接口和应用
见图9.8。 对ADC0809主要信号引脚的功能说明如下:
• IN7~IN0——模拟量输入通道 • A、B、C——地址线。 通道端口选择线,A为低地址, C为 高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态 与通道对应关系见表9-1。 • ALE——地址锁存允许信号。对应ALE上跳沿,A、B、 C地址状态送入地址锁存器中。
• CLK ——时钟信号。ADC0809的内部没有时钟电路,所 需时钟信号由外界提供,因此有时钟信号引脚。通常使用频 率为500KHz的时钟信号。
• EOC——转换结束信号。EOC=0,正在进行转换;EOC=1, 转换结束。使用中该状态信号即可作为查询的状态 标 志,又可作为中断请求信号使用。
• Vcc—— +5V电源。
A0
A1
A3
P2.0
WR
A B C
ALE START
图9.11 ADC0809的部分信号连接
WR
地址锁存 ALE
START 寄存器清“0”
A/D启动
图9.12 信号的时间配合
从图中可以看到,把ALE信号与START信号接在一起 了,这样连接使得在信号的前沿写入(锁存)通道地址, 紧接着在其后沿就启动转换。图9.19是有关信号的时间 配合示意图。
表9-1 通道选择表
C B A 被选择的通道
000
IN0
001
IN1
010
IIN4
101
IN5
110
IN6
111
IN7
ALE 地址AD 模拟量 输入 IN
第11章 51单片机与DA、AD 转换器的接口解读
P2口用作系统的高8位地址线,再加上地址锁存器提供的低
8位地址,便形成了系统完整的16位地址总线。
6
单片机系统的片外扩展寻址范围达64KB。
图11-2
AT89C51单片机扩展的片外三总线
7
3.控制信号线
除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1) PSEN作为外扩程序存储器的读选通控制信号。 (2)RD 和 WR为外扩数据存储器和I/O的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号。
15
(3)转换精度
理想情况下,转换精度与分辨率基本一致,位数越多 精度越高。 实际,由于电源电压、基准电压、电阻、制造工艺等 各种因素存在着误差。因此,转换精度与分辨率并不完全 一致。 位数相同,分辨率则相同,但相同位数的不同转换器转换
精度会有所不同。
例如,某种型号的8位DAC精度为0.19%,而另一种 型号的8位DAC精度为0.05%。
第11章
51单片机与D/A、 A/D 转换器的接口
1
第11章
目录
11.0 51单片机片外并行扩展(接口)结构 11.1 AT89S51单片机与DAC的接口
11.1.1 D/A转换器简介
11.1.2 AT89S51单片机与8位D/A转换器0832的接口设计 11.2 AT89S51单片机与ADC的接口 11.2.1 A/D转换器简介 11.2.2 AT89S51与逐次比较型8位A/D转换器ADC0809的接口
2
51单片机片外并行扩展(接口)结构
AT89S51单片机采用总线结构, 扩展片外 ROM RAM I/O设备.
基于DSP平台AD7890芯片的端口模拟串行外设接口的研究与实现
基于DSP平台AD7890芯片的端口模拟串行外设接口的研究与实现发布时间:2021-07-08T04:32:04.164Z 来源:《中国科技人才》2021年第11期作者:郑德健[导读] DSP2812作为TI公司2003年推出的性能强劲、用途广泛的32位数字信号处理器,历经20年的不断发展,集成多种功能强大的外设资源,实现简单、高效的控制目标。
其中串行外设接口(SPI)通常用于实现DSP数字信号处理器和外部设备之间的通讯功能,SPI可以同时实现接收、发送,且数据长度可编程。
天津航空机电有限公司天津 300163摘要:本文基于DSP2812,提出一种新型的AD转换方式,通过DSP输入/输出端口模拟串行外设接口,实现AD7890数据采集系统的高转换效率、快速稳定的AD转换功能。
本文研究AD7890芯片的工作模式、读写时序,模拟芯片读取、写入的操作流程,最终给出A/D转换过程的具体实现。
关键词:DSP2812;AD7890;串行外设接口;控制字一、前言DSP2812作为TI公司2003年推出的性能强劲、用途广泛的32位数字信号处理器,历经20年的不断发展,集成多种功能强大的外设资源,实现简单、高效的控制目标。
其中串行外设接口(SPI)通常用于实现DSP数字信号处理器和外部设备之间的通讯功能,SPI可以同时实现接收、发送,且数据长度可编程。
AD7890芯片作为12位数据采集系统,包括8路采集通道,具有转换效率高、稳定高速的串行接口、多通道快速转换等优点。
选用AD7890模块结合DSP2812的SPI接口构成A/D转换模块,可以实现多通道、快速、稳定的A/D转换功能[1]。
考虑到DSP2812片上外设仅包含1路SPI接口资源,串行外设接口的复用压力较大,故本文提出通过DSP2812输入/输出端口模拟SPI接口的方式来实现AD7890芯片的A/D转换功能,缓解DSP2812处理器片上外设的资源压力。
二、AD7890工作模式AD7890芯片内部嵌入输入多路复用器、高速12位A/D转换模块、片上跟踪/保持放大器、基准电压源与高速串行接口。
MCS-51单片机与AD的接口
10 ST 11 OE 12 EOC 13 14 15 16 17 CLK
50%
RV1
4.7k VCC
GND
U3
26 27 28
1 2 3 4 5
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
25 24 23 ST22
第9章 51单片机与D/A、 A/D转换器的接口
2.A/D转换器的主要性能指标
1) 分辨率
2) 转换时间
3) 量程
4) 转换精度
第9章 51单片机与D/A、 A/D转换器的接口
A/D转换器的主要性能指标
1、分辨率 ADC的分辨率是指使输出数字量变化一个相邻 数码所需输入模拟电压的变化量。常用二进制 的位数表示。 例如8位ADC的分辨率就是8位,或者说分辨率 为满刻度FS的1/28。 一个5V满刻度的8位ADC能分辨输入电压变化最 小值是5V×1/28=0.02V。
007 数字输出
007 数字输出
006
006
005
005
004
004
003
003
002
001
模拟电压输入
000
1LSB
002
001
模拟电压输入
000
1/2LSB
Least Significant Bit
第9章 51单片机与D/A、 A/D转换器的接口
3、偏移误差 偏移误差是指输入信号为零时,输出信号不 为零的值,所以有时又称为零值误差。假定 ADC没有非线性误差,则其转换特性曲线各 阶梯中点的连线必定是直线,这条直线与横 轴相交点所对应的输入电压值就是偏移误差 4。、满刻度误差 满刻度误差又称为增益误差。ADC的满刻度误 差是指满刻度输出数码所对应的实际输入电 压与理想输入电压之差。
ad模数转换51单片机程序流程
ad模数转换51单片机程序流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 初始化:配置 ADC 相关的寄存器,如选择 ADC 通道、设置转换精度等。
利用51单片机与ADC0809和数码管设计数字电压表
利用51单片机与ADC0809和数码管设计数字电压表一、课题功能描述:利用单片机AT89C51 芯片与ADC0809 芯片设计一个数字电压表,能够测量0―5V 之间的直流电压,三位数码显示。
二、程序设计本实验采用AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简易的数字电压表,原理电路如图1-1 所示。
该电路通过 ADC0809 芯片采样输入口AI0 输入的0~5V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7 传送给 AT89C51 芯片的F0口。
AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过P1 口传送给数码管。
同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的亮灭。
另外,AT89C51 还控制着 ADC0809 的工作。
其ALE管脚为 ADC0809提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC)。
电路原理图如下:三、器件清单:1 . AT89S51 芯片 1块2 . ADC0809 芯片 1块3 . 74HC245 芯片 1块4 . 数码管 1个5 . 6MHZ 晶振 1个6 . 30pF 电容 2个7 . 10uF 电解电容 1个8 . 复位电容 1个9 . 510Ω电阻 8个10. 10KΩ电阻 1个11. 导线若干四、程序设计1、主程序设计由于ADC0809 在进行A/D转换时需要有CKL 信号,而此时的 ADC0809 的CLK 是连接在 AT89C51 单片机的30管脚,也就是要求从30管脚输出CLK 信号供图1-2主程序流程图ADC0809 使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%&’ IO +! P ’()* QRL#S67T9: #,-# .- /0. EF12 $ !"#$U()#*+, # !1" -. #.&’ >V789:W.UX)Y<= # ;#Z [ 5 ’)(* Y > ? #,-.- 23 Q Y C D E F I ’()* Y J K L U V # \ U V X ) ] ^ _ ‘ ! P ’()* @a $
!
*+
! " #*$ % & ’ ( ) * + , - . / 0 1 " 2
," <=’? ¬®¯ *°±²* " ³´µ¶7· ( p¸
HB $¹º-^"»¼½ #
3456789:;<=>?@ABCDEFG 23H-IJ # KL " .+-MNOPQRHST 5-UVWX # YZ[\ (+,"-& ]^"> * $%_ *‘abcdefghij78>?kAl-Q 5 # m6fnop7qrst9:uv $ owx+ y z $ { | } D E H " ~ 2 4 J k 5 ^ " (*+ %&* #
$,-./0 12 .03,4256, 7,38,,0 -,4.59 #)$ 610:,43,4 #$%&’( 50; *! -,4.,- -.0/9,<6=.> ?.64161?>@3,4
D(HM H/.N OG @5.2
%!"#$$% $& ’%(")*$+," ’+-,+((*,+-$ ., */+ !#,0$1 2+,3(*4,)05 ., */+ 67889:5 ;#,+/ &
*+,-.& ^?’E,-%&u
Pp%&+u "2X A ] ! ? ! ]’W & " 2 *?#*%#
(
"#$%&’ !&’(#
*& WYTZ[^_‘abc’7] # ] +7] " ^_ b c W $ b^ _ 1 !*? "C # *%"?$*&$%" Q ! ¡¢Z£¤ ¥?@¦.3§ ! t3§¨©KLM /8D< NO’S
b c # $ % & d ( ) # * + , # !4 " - . # e
%&’ 89:<=df +! HCDEF # 7ghij( ) # kl %&’ B ’()* Y#mno+p # q=H 5 rstu]^vP ’()* @Awx # yIOvP@
Awxz3YOvPJKL#12 $ {b # IdX )|D}~MY -6, /012 # >?EF Y d X) B %&’ T 9:3|D $ bc#$%&UX)#*+, #!4" . #CDEFUX)I .&’ 6789:#<= #7 H UX)]^_‘ ! P ’()* @A # ! c#$UX))%&; $
(+,"-& G (./012 +345637 6 %& -& - " ’% ^ " (*+ % _ * # D } 2 %(*+ % & &-89 !7 ’( & 9& :;" ¡ ¢ £ n ,9 !;’(
, : oY ¡
!
!"#$
-,8"95 I 7+ o o } Y
%>, B .>, £ -,8"95 ¦ E F
dUX)# {#_‘§¨©ªY«
-,8"95 Y C DE F ¬« TM N H
I® #¯ 7+ oCD°±²³ X)¬«8MNHI® $ <+=+&<+= ; ´¨£ %&’ B .&’$ ?0> /0. B
’@- 23 µ£ #¶·£¸&Y¹
!"#$%&’()#*+, # !$ " -. # /0 123 %&’ 456789: # ;#<=>? ’()* @ABCDEF # GHEFI ’()* JKL#MN $
-5 ´¨ÚÛO 8 H &O ! HBO 7 H $ Û O : HÜ + )7 (/3D ÝÞ $ +ßUVY«Ü9à
º«o»¼;#½¾B >?EF $ !c#@A¿À Á_Âà ; !A YÄÅ 6 gu¢Æ# m# Ç{9È ! YÉÈʤ¥7
+;5 B&$
Ë [ 5 -,8"95 / 0 Y (7+ ÌEÍ*Î,+, 7 -. $ ÏD}Ð
, # -,8ห้องสมุดไป่ตู้95 YdU# *
ÑÒEÓÔÕ/0Y°Ö×Ø !5C55$5C58 Ù D23+$D23" "# s°Ö×Ø -; &-+&
% ]3 £] %& ]^_‘a+X7ºÈ]Z£’ %? ]¸e%&4 %E ] " Pp%& 5 !y 6 7 PQ 8 %*+,-.&5%&& W 9 5 ! y : 6 7 P Q 8 %*+,-.&5C + *+,-.&5?&W× ; 1’ < ½%" *+,-.&5C ’#$àJyæ)IJABÜ = º
/:34!< W¸eZ£.’ó¡PQV ! ôõÞ öï " *+,-.& 9:X /:34!< PQ÷ /:34 ]$ % øùjB¤¥ " ¹ú ! û¸eÓZ£<üB ¤ ¥ *=+ ¸ e ’ . { { ý l X þ , - $ à J
¤¥’?@¦.3§ÿ " !" ì #$ t3§ % ç &’ ¡¤¥’¸eÓ ( ÿ| ) ’¦. " * ?@ ¦..{ + < ! X /:34!< ôõÞZ£’ *=+ ¸e .{W .@A !H ! ÀÁ = ·Â’=Ã.{W ? !H " Ô r ! W , · - ü . ’ *=+ ¸ e ! è é , - # $ à J æ 9 y *=+ ¸ e Ð { / Ü ¸ e Z £ ¹ A&& IH ?½- "
*+,-.& ,-%&PQNOl +*<* 23! $à J .^ tN O E *+,-.& $ Q % & !
$Q.> 0 P() 1 <9! 2 WSäh !/0$ ’¹
AÎÜÝÞ$Q +*<* 23 ô,-%&’¹ A ] " v )| <9! ’ A Î !/0$ 3§ÜÝÞ:h’,%&×È " ,-%&PpNOl +*<* :;<! Pp%&X
¤ ¥¦ H & 6 ,& <= ’( § ¨© ª «< & F 6 >
&’( ) ! %& "!#" ’( # )* +, $%&&’((!&%’&#)
万方数据
*+,-.& !"#$=%&’() A% *+,-./0123
%A%
!
"#$%&’ !"#$%
’ /:34 W ¸ eZ £ ] ! W
! " # $ % & ’ ( ) * + , - . / 0 1 !"#$! 2 ,-3456789:;< %& ’()" =>?@./ AB. !*+,-.& CDEFG!"()*-./ ! H .’IJ56KLM /01 23 NOPQ’R./5 6 " ST’ - TAUPQVW 423%5423-! XYT Z[\& 6 ]^_‘abc ! YTde.fgZh ijBkJ " 789 :;<=789 23 lmnSoPp= P QV " q>r@snSo.r@>?@A 4 snSoX tVuQ ! vq>?@snSo.wxytV+A U‘ *B3+ z{uQ|} &@% !9 ’S~ "
#7-34563+ DP3 73Q5/0 (*+ 61.43QR5.2 SP56P 6/. T3 U73< R1 75:V05WX P/Q<S/Q3 1W </R/ /6YU575R51. 7X7* R3:7 P/7 2Q3/R /<4/.R/23 5. 63QR/5. 37V365/0 /VV056/R51. 61.<5R51.8 DP3 W3/RUQ37 /.< 1V3Q/R5.2 VQ5.65V03 1W 73Q5/0 (*+ 61.43QR3Q (+,"-& /Q3 5.RQ1<U63<N /.< /. 3Z/:V03 1W 5R7 5.R3QW/63 W1Q 9’ 73Q537 75.203> 6P5V :56Q161:VUR3Q S5RP RP3 P/Q<S/Q3 3ZV0/./R51. /.< J9’ 71WRS/Q3 /Q3 VQ373.R3<8 A,B 814;-+ 73Q5/0 (*+ 61.43QR3Q ) 75.203>6P5V :56Q161:VUR3Q) 5.R3QW/63? <3752.