第11章AT89S51单片机与DAC、ADC的接口
AT89S51引脚图,AT89S51单片机引脚说明及管脚定义

AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
1.主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
第10章 DAC与ADC

12
● DI7~DI0:8位数字量输入端,接收发来的数字量。
● ILE、CS*、WR1* :当ILE=1, CS*=0,WR1 *=0时 ,即M1=1, 第一级8位输入寄存器被选中。待转换的数字信号被锁存到 第一级8位输入寄存器中。 ● XFER *、WR2 *:当 XFER*=0, WR2* =0时,第一级8 位输入寄存器中待转换数字进入第二级8位DAC寄存器中。
单 片 机 P2.0 脚 控 制 DAC0832 的 CS* 脚 , P2.1 控 制 WR1* 端 。 当
P2.0脚为低时,如果同时WR*有效,单片机就会把数字量通过 P1 口送入 DAC0832 的 DI7 ~ DI0 端,并转换输出。用虚拟直流 电压表测量经运放 LM358N的I/V转换后的电压值,并观察输出 电压变化。 仿真运行后,可看到虚拟直流电压表测量输出电压在 −2.5V~0V(参考电压为2.5V)范围内不断线性变化。如参考
器,若满量程输出为 10V ,根据分辨率定义,则分辨率为
10V/2n,分辨率为10V/256 = 39.1mV,即输入的二进制数最
低位数字量的变化可引起输出的模拟电压变化 39.1mV,该值 占满量程的0.391%,常用符号1LSB表示。
6
同理:
10位D/A转换 12位D/A转换 16位D/A转换
● IOUT1:D/A转换电流输出1端,输入数字量全为“1”时,
IOUT1最大,输入数字量全为“0”时,IOUT1最小。
● IOUT2:D/A转换电流输出2端,IOUT2 + IOUT1 = 常数。 ● Rfb: I-V转换时的外部反馈信号输入端,内部已有反馈电 阻Rfb,根据需要也可外接反馈电阻。 ● VREF:参考电压输入端。 ● VCC:电源输入端,在+5V~+15V范围内。 ● DGND:数字地。 ● AGND:模拟地,最好与基准电压共地
AT89S51单片机与ADC0809 的接口设计_单片机原理及接口技术(第2版)_[共2页]
![AT89S51单片机与ADC0809 的接口设计_单片机原理及接口技术(第2版)_[共2页]](https://img.taocdn.com/s3/m/b46a7c0ead51f01dc281f1e1.png)
245 可直接连到AT89S51单片机的数据总线上。
通过适当的外接电路,ADC0809可对0~5V 的模拟信号进行转换。
图11-19 ADC0809的内部结构框图3.输入模拟电压与输出数字量的关系ADC0809的输入模拟电压与转换输出结果的数字量的关系如下。
)(256)]()([R R R IN −+•−−+=V N V V V 其中:V IN 处于[V R (+)-V R (-)]之间, N 为十进制数。
通常情况下V R (+)接+5V ,V R (-)接地,即模拟输入电压范围为0~+5V 。
此时,输入模拟电压与转换输出结果的数字量的关系如下。
N V V •+=256)(R IN 对应的数字量输出为00H ~FFH 。
由于N /256的值小于1,所以被转换的模拟电压要小于参考电压。
11.6.2 AT89S51单片机与ADC0809的接口设计在讨论接口设计之前,先来了解单片机如何控制ADC 开始转换,如何得知转换结束以及如何读入转换结果的问题。
单片机控制ADC0809有查询和中断两种方式。
查询方式控制过程如下:首先用指令选择ADC0809的一个模拟输入通道,当执行指令“MOVX@DPTR ,A ”时,单片机的WR 信号有效,从而产生一个启动脉冲。
信号加到ADC0809的START 脚,开始对选中通道进行A/D 转换。
同时不断对ADC0809的EOC 脚的电平进行查询,如EOC 脚为高电平,则表明A/D 转换已经结束,然后单片机执行指令“MOVX A ,@DPTR ”,发出读控制RD 信号,控制OE 端为高电平,把转换完毕的数字量读入到单片机中。
中断控制方式控制过程如下:首先用指令选择ADC0809的一个模拟输入通道,当执行“MOVX @DPTR ,A ”时,单片机的WR 信号有效,在启动信号送到ADC 之后,单片机执行其他程序。
ADC0809转换结束时,通过EOC 脚向单片机发出中断请求信号,单片机响应该中断请求,进入中断服务程序读入转换完毕的数字量。
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.小结:上面所讲述的方法对于对角占优矩阵是非常行之有效的.但是它还有一定的局限性。
51单片机DAC、ADC和红外模块

三、红外模块
因缺少调试元件,待上课后再补充进来!
ADUC848内置DA简介
DA为12位,也可设臵为8位; 单通道电压型输出,其输出引脚为DAC;
输出电压范围在0~VREF(内部参考电压 2.56v)和0~AVDD(单片机模拟工作电压为 3v或5v)可选; 内臵一个缓冲器,可增强其带负载能力。
在接近满刻度及0电压输出时,电压线性度有 失真,在0~AVDD输出时必须使用; 在0~VREF输出时,可以禁止缓冲器,外加双电 源运放射随电路解决。
开发板AD简介
根据开发板的硬件设计,在不添加板外电路情 形下,其AD使用如下:
输入通道为AIN5、AIN6。两者既可作为两个单极 性伪差动输入通道(AIN5、AIN6相对模拟地), 也可结合为1个单双极性均可的全差动输入通道 (AIN5为+,AIN6为-) 无外接参考电压源,故AD为内部参考电压。 斩波模式下,AD转换有效精度优于非斩波模式, 但转换时间较长; 数字滤波器抽样系数可通过SF寄存器来设臵,SF值 从3~255,数字越大,其输出噪声越低,但转换时 间越长。
位于测试程序包中“ADDA联合测试”目录,双 击TEST.UVPROJ文件打开并编译下载。
测试程序
ADC测试现象
右边三个数码管显示DA输出值,从0.10V以 0.05V递增至1.00V,不断循环。
左边4个数码管显示AD输入值。DA输出值与AD输入 值基本相同。 两路AD需分别检测通过。
程序测试情形
一、DAC模块 二、ADC模块 三、红外模块
一、DAC简介
DAC(Digital-to-Analog Conversion),数 模转换,将离散的数字量转换为连接变化 的模拟量。 计算机能直接处理的是数字量,而自然界 大部分信息为模拟量,因此计算机监控系 统常通过模数转换(ADC)获取外界信息, 通过数模转换(DAC)实现控制。
51单片机(AD及DA转换器)PPT优秀课件

例2 产生锯齿波
MOV A,#00H ;起始值
MOV DPTR,#0FEFFH
MM:MOVX @DPTR,A ;送转换
INC A
NOP
NOP
NOP
;决定坡度
SJMP MM
15
DAC0832编程应用举例:例3产生三角波
MOV A,#00H
MOV DPTR,#0FEFFH
SS1: MOVX @DPTR,A ;送转换
ALE
6
WR
P2.0
12MHz
INT1 RD
锁存器 74LS373
8D Q0
G
Q1 Q2
OE
≥1 ≥1
D0-D7 ADDA ADDB ADDC
CLK START ALE OE EOC
1、先送通道号地址到A、B、C,由ALE信号锁存通道号地址,然后让START有 效启动A/D转换。 即执行一条MOVX @DPTR, A指令产生WR信号,使ALE、START有效,锁存 通道号并启动A/D转换。A/D转换完毕,EOC端发出一正脉冲,表示转换结束。
NOP
NOP
NOP
SS2: INC A
;等速上升
JNZ SS1
SS3: DEC A
MOVX @DPTR,A
NOP
NOP
NOP
;等速下降
JNZ SS3
SJMP SS2
三角波
同样的编程思路,若要产生 如下的梯形波也很容易:
梯形波
16
例4
正弦波电压输出为双极性电压,最简单的办法是将一个周期内电压变化 的幅值(-5V~+5V)按8位D/A分辨率分为256个数值列成表格,然后依次 将这些数字量送入D/A转换输出。只要循环不断地送数,在输出端 就能获得正弦波输出。
第10章 MCS-51与DAC、ADC的接口

DAC0832 引脚定义
D0~D7: D0~D7:8位数字量输入端 /CS: 片选端, /CS: 片选端,低有效 ILE: 数据锁存允许, ILE: 数据锁存允许,高有效 /WR1: 写选通控制1, 1,低有效 /WR1: 写选通控制1,低有效 /WR2: 写选通控制2, 2,低有效 /WR2: 写选通控制2,低有效 /XFER: /XFER: 数据传送控制信号 Iout1: 电流输出端1 Iout1: 电流输出端1 Iout2: 电流输出端2 Iout2: 电流输出端2 Rfb: Rfb: 外部反馈信号输入端 参考电压源, 10~ Vref: 参考电压源,-10~+10V DGND: DGND: 数字信号接地端 AGND: AGND: 模拟信号接地端 Vcc: +5~+15V单电源供电端 Vcc: +5~+15V单电源供电端
LE 1 = CS + WR1 ILE
LE 2 = WR 2 + XFER
输入锁存器状态随数据输入线状态变化; 当/LE1=1时,输入锁存器状态随数据输入线状态变化; = /LE1=0时,则锁存输入数据。 = 则锁存输入数据。 当/LE2=1时,DAC寄存器的输出随输入状态变化; = 寄存器的输出随输入状态变化; 寄存器的输出随输入状态变化 /LE2=0时,锁存输入状态。 = 锁存输入状态。 IOUT1 和 IOUT2 : 电 流 输 出 线 。 IOUT1 与 IOUT2 的 和 为 常 数 , IOUT1随DAC寄存器的内容线性变化。一般在单极性输出时, 寄存器的内容线性变化。 寄存器的内容线性变化 一般在单极性输出时, IOUT2接地;在双极性输出时,接运放。 接地;在双极性输出时,接运放。
1、单缓冲工作方式
AT89S51单片机引脚说明

AT89S51单片机引脚说明引脚功能:MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
l P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,初学者很难理解,这里都是按我自已的表达方式来写的,相信你也能够理解。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。
(注:这些引脚的功能应用,除9脚的第二功能外,在“新动力2004版”学习套件中都有应用到。
)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.1 单片机扩展DAC概述
2.主要技术指标
(3)转换精度 理想情况下,转换精度与分辨率基本一致,位数越多精 度越高。但由于电源电压、基准电压、电阻、制造工艺等各 种因素存在误差。严格地讲,转换精度与分辨率并不完全一 致。两个相同位数的不同的DAC,只要位数相同,分辨率则 相同,但转换精度会有所不同。例如,某种型号的8位DAC 精度为± 0.19%,而另一种型号的8位DAC精度为± 0.05%。
11.1 单片机扩展DAC概述 11.2 DAC工作原理
CONTENTS
目
11.3 单片机扩展并行8位DAC0832设计
录
11.4 ADC工作原理
11.5 单片机扩展并行8位ADC0809设计
11.3.1 8位并行DAC 0832简介
1.DAC0832的引脚及逻辑结构
01 分辨率为8位。
OPTION
D0
R 2
U REF 23 R
(23 D3
22 D2
21 D1
20
D0 )
U REF 24
(23 D3
22 D2
21 D1 20 D0 )
19
11.2 DAC工作原理
权电阻网络
优点:电路简单 缺点:电阻值相差太大,难于保证精度,且大电阻不宜于集成 在IC内部
20
11.2 DAC工作原理
U
REF
1 16
D0
1 8
D1
1 4
D2
1 2
D3
U REF 24
23 D3 22 D2 21 D1 20 D0
23
11.2 DAC工作原理
倒T形电阻网络转换器特点: 1.基准电压的稳定性好; 2.倒T形电阻网络中R和2R电阻的比值精度高 3.每个模拟开关的开关电压降相等
24
OPTION 8位输入寄存器中待转换数字进入第二级8位DAC寄存 器中。
11.3.1 8位并行DAC 0832简介
1.DAC0832的引脚及逻辑结构 各引脚的功能如下。
04 IOUT1:D/A转换电流输出1端,输入数字量全为“1”时,
OPTION
IOUT1最大,输入数字量全为“0”时,IOUT1最小。
01 DI7~DI0:8位数字量输入端,接收发来的数字量。
OPTION
02 ILE、CS*、WR1* :当ILE=1, CS*=0,WR1 *=0时,
OPTION
即M1=1, 第一级8位输入寄存器被选中。待转换的数 字信号被锁存到第一级8位输入寄存器中。
03 XFER *、WR2 *:当 XFER*=0, WR2* =0时,第一级
11.3.2 单片机扩展DAC0832的程控电压源
【例11-1】单片机与DAC0832单缓冲方式接口见图11-3, 单片机P2.0脚控制DAC0832的CS*脚,P2.1控制WR1*端。当 P2.0脚为低时,如果同时WR*有效,单片机就会把数字量通 过P1口送入DAC0832 的DI7~DI0端,并转换输出。用虚拟 直流电压表测量经运放LM358N的I/V转换后的电压值,并观 察输出电压变化。
I REF
I0 R
I1 R
I2 R
I3
U REF
2R I0 2R I1 2R I2 2R I3 2R
iF
S0
S1
S2
S3
i
RF
D3
D2
D1
D0
A
uo
倒T形电阻网络D/A转换器
21
11.2 DAC工作原理
uo RFi
RF I3 I2 I1 I0
I REF
I0 R
I1 R
I2 R
U REF
11.1 单片机扩展DAC概述
2.主要技术指标
D/A转换器的指标很多,设计者最关心的几个指标如下。 (1)分辨率 分辨率指单片机输入给D/A转换器的单位数字量的变化, 所引起的模拟量输出的变化,通常定义为输出满刻度值与 2n之比(n为D/A转换器的二进制位数),习惯上用输入数 字量的位数表示。显然,二进制位数越多,分辨率越高,即 D/A转换器输出对输入数字量变化的敏感程度越高。
11.3.2 单片机扩展DAC0832的程控电压源
单片机控制DAC0832可实现数字调压,单片机只要送给 DAC0832不同数字量,即可实现不同模拟电压输出。
DAC0832输出可用单缓冲方式或双缓冲方式。单缓冲 方式是DAC0832片内的两级数据寄存器的有一个处于直通方 式,另一处于受AT89S51控制的锁存方式。实际应用中,如 只有一路模拟量输出,或虽是多路模拟量输出,但并不要求 多路输出同步情况下,就可采用单缓冲方式。
目前常用的D/A转换器有权电阻网络D/A转换器、倒梯形电 阻网络D/A转换器、权电流型D/A转换器、权电容型D/A转换器 以及开关树型D/A转换器等几种类型。
13
11.2 DAC工作原理
D/A转换器的目的为:
D 111101…
D/A
A(电压 或 电流)
?
在数-模转换电路中,主要介绍权电阻网络型数/模 转换器、倒梯形电阻网络型数/模转换器。
11.1 单片机扩展DAC概述
2.主要技术指标
例如,8位的D/A转换器,若满量程输出为10V,根据 分辨率定义,则分辨率为10V/2n,分辨率为 10V/256 = 39.1mV,即输入的二进制数最低位数字量的变 化可引起输出的模拟电压变化39.1mV,该值占满量程的 0.391%,常用符号1LSB表示。
i iF
uo RF
i
uo RFi
RF I3 I2 I1 I0
17
11.2 DAC工作原理
如图所示,D3D2D1D0分别表示各个支路开关的状态,当
开关接地时 (n=0,1,2,3)为0,各支路电流为0。当开关接到电
源端时,(n=0,1,2,3)为1,各支路电流可表示为:
I3
UREF R
RFB
VREF IOUT2 IOUT1
RFB
CS
&
WR1
XFER
&
WR2
AGND VCC DGND
11-2引脚和逻辑结构 20个引脚、双列直插式
11.3.1 8位并行DAC 0832简介
1.DAC0832的引脚及逻辑结构
由图11-2,片内共两级寄存器,第一级为“8位输入寄 存器”,用于存放单片机送来的数字量,使得该数字量得到 缓冲和锁存,由LE1*(即M1=1时)加以控制;“8位DAC 寄存器”是第二级8位输入寄存器,用于存放待转换的数字 量,由LE2*控制(即M3=1时),这两级8位寄存器,构成 两级输入数字量缓存。“8位D/A转换电路”受“8位DAC寄 存器”输出数字量控制,输出和数字量成正比的模拟电流。 如要得到模拟输出电压,需外接I-V转换电路。
控制 对象
非电量
传感器
模拟量
模/数 转换器
数字量
计算机
数字量
数/模 转换器
执行 机构
模拟量
计算机控制系统框图
4
11.1 单片机扩展DAC概述
温度控制系统:
电加热炉
控制 对象
执行机构
传感器 热电偶
放大器
A/D 转换
微型计算机
D/A 转换
5
11.1 单片机扩展DAC概述
1.D/A转换器简介
购买和使用D/A转换器时,要注意有关D/A转换器选择 的几个问题。
15
11.2 DAC工作原理
iF
i
8R I0 4R I1 2R I2
R
I3
RF
A
uo
S0
S1
S2
S3
U REF
I REF
D0
D1
D2
D3
权电阻网络D/A转换器
16
11.2 DAC工作原理
权电阻网络D/A转换器如图所示,它由4个权电阻,一 个集成运放和4个开关组成。 由虚短路定理和虚开路定理可 知:
05 IOUT2:D/A转换电流输出2端,IOUT2 + IOUT1 = 常数。
OPTION
06 Rfb: I-V转换时的外部反馈信号输入端,内部已有反
OPTION
馈电阻Rfb,根据需要也可外接反馈电阻。
07OPTION VREF:参考电压输入端。 08 OPTION VCC:电源输入端,在+5V~+15V范围内。
2R I0 2R I1 2R I2 2R
I3 I3 2R
22
11.2 DAC工作原理
I3
1 2
I2
I2
1 2
I1
I1
1 2
I0
I0
1 2
I REF
uo RFi
RF I3 I2 I1 I0
RF R
RF
1 16I REFD01 8I REF
D1
1 4
I REF
D2
1 2
I REF
D3
11.3.2 单片机扩展DAC0832的程控电压源
单片机控制DAC0832实现数字调压的单缓冲方式接口电 路见图11-3。由于 XFER*=0、WR2*=0,所以第二级 “8位 DAC寄存器” 处于直通。第一级 “8位输入寄存器”为单片 机控制的锁存方式,3个锁存控制端的ILE直接接到有效的高 电平,另两个控制端CS*、WR1* 分别由单片机P2.0和P2.1控 制DAC 0832输出电压Vo与输入数字量B关系为: