单片机的接口与应用_第1页
单片机的接口与应用_第2页
单片机的接口与应用_第3页
单片机的接口与应用_第4页
单片机的接口与应用_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 MCS51单片机的接口与应用 第第5 5章章 MCSMCS51 51单片机的接口与应用单片机的接口与应用 5.1 按键、键盘及其接口按键、键盘及其接口5.2 显示及显示器接口显示及显示器接口5.3 A/D转换器接口转换器接口5.4 D/A转换器接口转换器接口5.5 行程开关、晶闸管、行程开关、晶闸管、 继电器与单片机的接口继电器与单片机的接口第5章 MCS51单片机的接口与应用 5.1 按键、键盘及其接口按键、键盘及其接口5.1.1 键输入过程与软件结构键输入过程与软件结构图5.1 MCS51单片机键输入过程 第5章 MCS51单片机的接口与应用 5.1.2 键盘接口和键输入软件中应解

2、决的几个问题键盘接口和键输入软件中应解决的几个问题 1消除键抖动消除键抖动键稳定键按下前沿抖动前沿抖动图5.2 键合断时的电压抖动第5章 MCS51单片机的接口与应用 图5.3 消除键抖动电路 第5章 MCS51单片机的接口与应用 2键编码及键值键编码及键值 (1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。各键相应的键值为88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键值

3、编码软件较为简单直观,但离散性大,不便安排散转程序的入口地址。第5章 MCS51单片机的接口与应用 (2) 顺序排列键编码。如图5.4(b)所示。这种方法,键值的形成要根据I/O线的状态作相应处理。键码可按下式形成:键码=行首键码+列号第5章 MCS51单片机的接口与应用 图5.4 行列式键盘的编码与键值 (a) 二进制组合编码;(b) 顺序排列编码 第5章 MCS51单片机的接口与应用 3键盘的监测方法键盘的监测方法 对于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下时才有意义。对是否有键按下的信息输入方式有中断方式与查询方式两种。第5章 MCS51单片机的接口与应用

4、 5.1.3 独立式按键独立式按键1独立式按键接口结构独立式按键接口结构图图5.5 独立式按键的接口电路示意图独立式按键的接口电路示意图(a) 中断方式;中断方式;(b) 查询方式查询方式 第5章 MCS51单片机的接口与应用 2独立式按键的软件结构独立式按键的软件结构 下面是查询方式的键盘程序。K0K7为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节,PROM0PROM7分别为每个按键的功能程序。设I/O为P1口。START:MOV A,#0FFH ; MOV P1,A ;置P1口为输入状态 MOV A,P1 ;键状态输入 JNB ACC.0,K0 ;检测0号键是否按下,按下转 JN

5、B ACC.1,K1 ;检测1号键是否按下,按下转第5章 MCS51单片机的接口与应用 JNB ACC.2,K2 ;检测2号键是否按下,按下转 JNB ACC.3,K3 ;检测3号键是否按下,按下转 JNB ACC.4,K4 ;检测4号键是否按下,按下转 JNB ACC.5,K5 ;检测5号键是否按下,按下转 JNB ACC.6,K6 ;检测6号键是否按下,按下转 JNB ACC.7,K7 ;检测7号键是否按下,按下转 JMP START ;无键按下返回,再顺次检测K0:AJMP PROM0K1:AJMP PROM1 K7:AJIMP PROM7;入口地址表 第5章 MCS51单片机的接口与应

6、用 PROM0: ;0号键功能程序 JMP START ;0号键功能程序执行完返回PROM1: ;0号键功能程序 JMP START ;1号键功能程序执行完返回 ;7号键功能程序PROM7: JMP START ;7号键功能程序执行完返回第5章 MCS51单片机的接口与应用 5.1.4 行列式键盘行列式键盘 行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如44的行列结构可组成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。 1行列式键盘的接口行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的I/O口上;利用扩展的并行I/O接口;用

7、串行口扩展并行I/O口接口;利用一种可编程的键盘、显示接口芯片8279进行接口等。其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。第5章 MCS51单片机的接口与应用 图5.6 8155扩展I/O口组成的行列式键盘 第5章 MCS51单片机的接口与应用 2键盘工作原理键盘工作原理 按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5 V,被箝位在高电平状态。 对键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。 检测键盘上有无键按下可采用查询工作方式、定时扫描工作方式和中断工作方式。第5章 M

8、CS51单片机的接口与应用 1) 查询工作方式 键盘中有无键按下是由列线送入全扫描字,读入行线状态来判别的。其方法是:PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为1。 键盘中哪一个键按下是由列线逐列置低电平后,检查行输入状态,称为逐列扫描。其方法是:从PA0开始,依次输出0,置对应的列线为低电平,然后从PC口读入行线状态,如果全为1,则所按下之键不在此列;如果不全为1,则所按下的键必在此列,而且是与0电平行线相交的交点上的那个键。 为求取键码,在逐列扫描时,可用计数器记录下当前扫描列的列号,然后用

9、行线值为0的行首键码加列号的办法计算。第5章 MCS51单片机的接口与应用 有键按下否调用6 ms延时子程序开 始调用12 ms延时子程序有键按下否判断闭合键,键码入栈保存闭合键释放否键码 A返 回YYYNNN图5.7 键盘扫描子程序流程框图第5章 MCS51单片机的接口与应用 键盘扫描子程序如下:KEY1:ACALL KS1 ;调用判断有无键按下子程序 JNZ LK1 ;有键按下时,(A) 0转消抖延时 AJMP KEY1 ;无键按下返回 LK1:ACALL TM12S ;调12 ms延时子程序 ACALL KS1 ;查有无键按下,若有则真有键按下 JNZ LK2 ;键(A) 0逐列扫描 A

10、JMP KEY1 ;不是真有键按下,返回 LK2;MOV R2,#0FEH ;初始列扫描字(0列)送入R2 MOV R4,#00H ;初始列(0列)号送入R4第5章 MCS51单片机的接口与应用 LK4:MOV DPTR,#7F01H ;DPTR指向8155PA口 MOV A,R2 ;列扫描字送至8155PA口 MOVX DPTR,A INC DPTR ;DPTR指向8155PC口 INC DPTR MOVX A,DPTR ;从8155 PC口读入行状态 JB ACC.0,LONE ;查第0行无键按下,转查第1行 MOV A,#00H ;第0行有键按下,行首键码#00HA AJMP LKP ;

11、转求键码 LONE:JB ACC.1,LTWO ;查第1行无键按下,转查第2行 MOV A,#08H ;第1行有键按下,行首键码#08HA AJMP LKP ;转求键码第5章 MCS51单片机的接口与应用 LTWO:JB ACC.2,LTHR ;查第2行无键按下,转查第3行 MOV A,#10H ;第2行有键按下,行首键码#10HA AJMP LKP ;转求键码LTHR:JB ACC.3,NEXT ;查第3行无键按下,转该查下一列 MOV A,#18H ;第3行有键按下,行首键码#18HALKP:ADD A,R4 ;求键码,键码=行首键码+列号 PUSH ACC ;键码进栈保护LK3:ACAL

12、L KS1 ;等待键释放 JNZ LK3 ;键未释放,等待 POP ACC ;键释放,键码A RET ;键扫描结束,出口状态(A)=键码第5章 MCS51单片机的接口与应用 NEXT:INC R4 ;准备扫描下一列,列号加1 MOV A,R2 ;取列号送累加器A JNB ACC.7,KEND ;判断8列扫描否?扫描完返回 RL A ;扫描字左移一位,变为下一列扫描字MOV R2,A ;扫描字送入R2 AJMP LK4 ;转下一列扫描KEND:AJMP KEY1 KS1:MOV DPTR,#7F01H ;DPTR指向8155PA口 MOV A,#00H ;全扫描字A MOVX DPTR,A ;全

13、扫描字送往8155PA口第5章 MCS51单片机的接口与应用 INC DPTR ;DPTR指向8155PC口INC DPTR MOVX A,DPTR ;读入PC口行状态CPL A ;变正逻辑,以高电平表示有键按下ANL A,#0FH ;屏蔽高4位,只保留低4位行线值RET ;出口状态:(A)0时有键按下TM12ms:MOV R7,#18H ;延时12 ms子程序TM: MOV R6,#0FFHTM6 : DJNZ R6,TM6 DJNZ R7,TM RET第5章 MCS51单片机的接口与应用 2) 定时扫描工作方式键盘上有键闭合否开 始KM=1KP=1返 回1 KM0 KM0 KP图5.8 定

14、时扫描方式程序框图查询键码1 KPNNNYYY第5章 MCS51单片机的接口与应用 3) 中断工作方式 计算机应用系统工作时,并不经常需要键输入。但无论是查询工作方式还是定时扫描工作方式,CPU经常处于空扫描状态。为了提高CPU的效率,可采用中断工作方式。这种工作方式是当键盘上有键按下时,向CPU发一个中断请求信号,CPU响应中断后,在中断服务程序中扫描键盘,执行键功能程序。中断请求信号的接口电路可参考图5.5(a)。中断服务程序中应完成键识别、消除抖动、排除多次执行键功能操作等功能,可参考查询工作方式键盘程序。第5章 MCS51单片机的接口与应用 5.2 显示及显示器接口显示及显示器接口5.

15、2.1 LED显示器结构与原理显示器结构与原理图图5.9 七段显示块管脚与结构图七段显示块管脚与结构图 第5章 MCS51单片机的接口与应用 表表5.1 七段七段LED的段选码的段选码 显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82H31HCEH707HF8Hy6EH91H87FH80H8.FFH00H96FH90H“灭”00HFFHA77H88HB7CH83H 第5章 MCS51单片机的接口与应用

16、 5.2.2 LED显示器与显示方式显示器与显示方式图5.10 N位LED显示器 第5章 MCS51单片机的接口与应用 1LED静态显示方式静态显示方式 LED工作在静态显示方式下,共阴极接地或共阳极接+5 V;每一位的段选线(ag、dp)与一个8位并行I/O口相连,如图5.10所示。该图表示了一个4位静态LED显示器电路,显示器的每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时刻各位可以显示不同的字符。 N位静态显示器要求有N8根I/O口线,占用I/O口线较多。故在位数较多时往往采用动态显示方式。第5章 MCS

17、51单片机的接口与应用 2LED动态显示方式动态显示方式图5.11 8位LED动态显示器电路 第5章 MCS51单片机的接口与应用 5.2.3 LED显示器接口显示器接口1硬件译码显示器接口硬件译码显示器接口地址译码和字段 ROM 阵列bcdefgh+iaVCR29098434 锁存器5A6B9C10D7LE12111314151216VDDVSS11111111111111图图5.12 MC14495内部逻辑与引脚图内部逻辑与引脚图第5章 MCS51单片机的接口与应用 图5.13 使用MC14495的多位LED静态显示接口 第5章 MCS51单片机的接口与应用 2软件译码显示器接口软件译码显

18、示器接口图图5.14 通过扩展通过扩展8155 I/O口控制的口控制的8位位LED动态显示接口动态显示接口 第5章 MCS51单片机的接口与应用 3动态显示程序设计动态显示程序设计DISPLAY:MOV A,#00000011B ;8155初始化 MOV DPTR,#7F00H ;使DPTR指向8155控制寄存器端口 MOVX DPTR,A MOV R0,#78H ;动态显示初始化,使R0指向缓冲区首址 MOV R3,#7FH ;首位位选字送R3 MOV A,R3 ;LD0:MOV DPTR,#7F01H ;使DPTR指向PA口 MOVX DPTR,A ;选通显示器低位(最右端一位) INC

19、DPTR ;使DPTR指向PB口第5章 MCS51单片机的接口与应用 MOV A,R0 ;读要显示数 ADD A,#0DH ;调整距段选码表首的偏移量 MOVC A,A+PC ;查表取得段选码 MOVX DPTR,A ;段选码从PB口输出 ACALL DL1 ;调用1 ms延时子程序 INC R0 ;指向缓冲区下一单元 MOV A,R3 ;位选码送累加器A JNB ACC.0,LD1 ;判断8位是否显示完毕,显示完返回 RR A ;未显示完,把位选字变为下一位选字 MOV R3,A ;修改后的位选字送R3 AJMP LD0 ;循环实现按位序依次显示第5章 MCS51单片机的接口与应用 LD1:

20、RETDSEG:DB 3FH,06H,5BH;4FH,66H,6DH,7DH ;段码表 DB 07H,7FH,6FH,77H,7CH,39H,5EH,79HDL1:MOV R7,#02H ;延时子程序DL: MOV R6,#0FFHDL0:DJNZ R6,DL6 DJNZ R7,DL RET第5章 MCS51单片机的接口与应用 5.2.4 键盘、显示器组合接口键盘、显示器组合接口1键盘、显示器组合接口电路键盘、显示器组合接口电路 图5.15是一个采用8155并行扩展口构成的键盘、显示器组合接口电路。图中设置了32个键。如果多使用PC口线,可以增加按键,最多可达88=64个键。可根据需要进行设置

21、。 LED显示器采用共阴极。段选码由8155 PB口提供,位选码由PA口提供。键盘的列输入由PA口提供,与显示器的位选输入公用,行输入由PC0PC3提供。显然,因为键盘与显示器公用了PA口,比单独接口节省了一个I/O口。第5章 MCS51单片机的接口与应用 图图5.15 8155扩展扩展I/O口的键盘、显示器组合接口口的键盘、显示器组合接口 第5章 MCS51单片机的接口与应用 2软件设计软件设计 LED采用动态显示、软件译码,键盘采用逐列扫描查询工作方式。由于键盘与显示做成一个接口电路,因此在软件中合并考虑键盘查询与动态显示,键盘消抖的延时子程序可用显示子程序替代。 相应的程序如下:KD1:

22、MOV A,#03H ;初始化8155PA、PB口为基本输出,PC口为输入 MOV DPTR,#7F00H MOVX DPTR,A第5章 MCS51单片机的接口与应用 KEY1:ACALL KS1 JNZ LK1 ACALL DISPLAY ;调用显示子程序实现延时,防止抖动引起按键拒认 AJMP KEY1 ;延时后再检测键盘 LK1:ACALL DISPLAY ;调用两次显示实现延时,防止抖动引起误处理 ACALL DISPLAY ACALL KS1 JNZ LK2 ACALL DISPLAY AJMP KEY1第5章 MCS51单片机的接口与应用 LK2:MOV R2,#0FEH MOV

23、R4,#00H LK4:MOV DPTR,#7F01H MOV A,R2 MOVX DPTR,A INC DPTR INC DPTR MOVX A,DPTR JB ACC.0,LONE MOV A,#00H AJMP LKP第5章 MCS51单片机的接口与应用 LONE:JB ACC.1,LTWO MOV A,#08H AJMP LKPLTWO:JB ACC.2,LTHR MOV A,#10H AJMP LKPLHR: JB ACC.3,NEXT MOV A,#18HLKP: ADD A,R4 PUSH ACC第5章 MCS51单片机的接口与应用 LK3:ACALL DISPLAY ACALL

24、 KS1 JNZ LK3 POP ACC RETNEXT:INC R4 MOV A,R2 JNB ACC.7,KEND RL A MOV R2,A AJMP LK4 KEND:AJMP KEY1第5章 MCS51单片机的接口与应用 KS1:MOV DPTR,#7F01H MOV A,#00H MOVX DPTR,A INC DPTR INC DPTR MOVX A,DPTR CPL A ANL A,#0FH RETDISPLAY:见5.2.3节8155扩展动态扫描子程序。第5章 MCS51单片机的接口与应用 5.3 A/D转换器接口转换器接口5.3.1 A/D转换器概述转换器概述 在设计A/D

25、转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。为此,先介绍一下A/D转换器的主要技术指标。 量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示。其中n为A/D转换器的位数。nn212满量程输入电压满量程输入电压第5章 MCS51单片机的接口与应用 量化误差有两种表示方法:一种是绝对误差,另一种是相对误差。22量化间隔绝对误差%100211n相对误差 A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为816位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。第5章 MCS5

26、1单片机的接口与应用 逐次逼近式转换器的常用产品有ADC0801ADC0805型8位MOS型A/D转换器、ADC0808/0809型8位MOS型A/D转换器、ADC0816/0817型8位MOS型A/D转换器、AD574型快速12位A/D转换器。 双重积分式转换器的常用产品有ICL7106/ICL7107/ICL7126、MC14433/5G14433、ICL7135等。 A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。第5章 MCS51单片机的接口与应用 A/D转换器数字量输

27、出线与单片机的连接方法与其内部结构有关。对于内部带有三态锁存数据输出缓冲器的ADC(如ADC0809、AD574等),可直接与单片机相连。对于内部不带锁存器ADC,一般通过锁存器或并行I/O接口与单片机相连。在某些情况下,为了增强控制功能,那些带有三态锁存数据输出缓冲器的ADC也常采用I/O接口连接。还有,随着位数的不同,ADC与单片机的连接方法也不同。对于8位ADC,其数字输出线可与8位单片机数据线对应相接。对于8位以上的ADC,与8位单片机相接就不那么简单了,此时必须增加读取控制逻辑,把8位以上的数据分两次或多次读取。为了便于连接,一些ADC产品内部已带有读取控制逻辑,而对于内部不包含读取

28、控制逻辑的ADC,在和8位单片机连接时,应增设三态缓冲器对转换后的数据进行锁存。第5章 MCS51单片机的接口与应用 一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种。对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制。对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号

29、必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。第5章 MCS51单片机的接口与应用 当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种。对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号;对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。 A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在

30、时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。第5章 MCS51单片机的接口与应用 5.3.2 A/D转换器转换器ADC0809与单片机的接口与单片机的接口1ADC0809芯片简介芯片简介图5.16 ADC0809芯片的内部逻辑结构与引脚图 第5章 MCS51单片机的接口与应用 表5.2 ADC0809通道地址选择表 ADDC ADDB ADDA选通的通道0 0 0IN00 0 1IN10 1 0IN20 1 1IN31 0

31、 0IN41 0 1IN51 1 0IN61 1 1IN7第5章 MCS51单片机的接口与应用 图5.17 ADC0809转换工作时序 第5章 MCS51单片机的接口与应用 2ADC0809与单片机接口与单片机接口 图5.18 ADC0809与8031的接口连接图 第5章 MCS51单片机的接口与应用 3A/D转换应用程序举例转换应用程序举例 设图5.18接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H37H单元中。采样完一遍后停止采集。 其数据采集的初始化程序和中断服务程序如下:初始化程序: MOV R0,#30H ;设立数

32、据存储区指针 MOV R2,#08H ;设置8路采样计数值 SETB IT0 ;设置外部中断0为边沿触发方式 SETB EA ;CPU开放中断第5章 MCS51单片机的接口与应用 SETB EX0 ;允许外部中断0中断 MOV DPTR,#FEF8H ;送入口地址并指向IN0 LOOP: MOVX DPTR,A ;启动A/D转换,A的值无意义 HERE: SJMP HERE ;等待中断中断服务程序: MOVX A,DPTR ;读取转换后的数字量 MOV R0,A ;存入片内RAM单元 INC DPTR ;指向下一模拟通道 INC R0 ;指向下一个数据存储单元 DJNZ R2,INT0 ;8路

33、未转换完,则继续 CLR EA ;已转换完,则关中断 CLR EX0 ;禁止外部中断0中断 RETI ;中断返回INT0: MOVX DPTR,A ;再次启动A/D转换 RETI ;中断返回第5章 MCS51单片机的接口与应用 5.3.3 单片机与单片机与A/D转换器转换器AD574的接口的接口 1 AD574芯片简介 AD574是一种快速的12位逐次比较式A/D转换芯片,片内有两片双极型电路组成的28脚双插直列式芯片,无需外接元器件就可独立完成A/D转换功能。内部设有三态数据输出锁存器。一次转换时间为25 s。芯片引脚如图5.19所示。第5章 MCS51单片机的接口与应用 图5.19 AD5

34、74的引脚图 第5章 MCS51单片机的接口与应用 AD574的引脚定义如下:REOUT:内部参考电源输出(+10 V);REFIN:参考电压输入;BIP:偏置电压输入;10VIN:5 V或010 V模拟输入;20VIN:10 V或020 V模拟输入;DB0DB11数字量输出,高半字节为DB8DB11,低字节为DB0DB7;第5章 MCS51单片机的接口与应用 STS:工作状态指示端。STS=1时表示转换器正处于转换状态,STS返回到低电平时,表示转换完毕。该信号可处理器作为中断或查询信号用; 12/-8:变换输出字长选择控制端,在输入为高电平时,变换字长输出为12位,在低电平时,按8位输出;

35、 CS、CE:片选信号。当CS=0、CE=1同时满足时,AD574才能处于工作状态。 R/C:数据读出和数据转换启动控制; A0:字节地址控制。它有两个作用,在启动AD574(R/C=0)时,用来控制转换长度。A=0时,按完整的12位A/D转换方式工作,A=1时,则按8位A/D 转换方式工作。在AD574处于数据读出工作状态(R/-C=1)时,A0和12/8成为输出数据格式控制。第5章 MCS51单片机的接口与应用 表5.3 AD574控制信号状态表 CECSR/ C 12/ 8A0功能说明100012位转换10018位转换101+5V12位输出101地0高8位输出101地1低4位输出第5章

36、MCS51单片机的接口与应用 2AD574模拟输入电路的极性选择模拟输入电路的极性选择图5.20 AD574的模拟输入电路 (a) 单极性输入;(b) 双极性输入第5章 MCS51单片机的接口与应用 3AD574与与MCS-51单片机的接口单片机的接口图5.21 AD574与MCS51单片机接口电路 第5章 MCS51单片机的接口与应用 4转换程序设计举例转换程序设计举例 设要求AD574进行12位转换,单片机对转换结果读入,高8位和低4位分别存于片内RAM的31H和30H单元,其转换子程序如下:ADTRANS:MOV R0,#7CH ;7CH地址使AD574的CS=0、A0=0、R/C=0

37、MOV R1,#31H ;R1指向转换结果的送存单元地址 MOVX R0,A ;产生有效的WR信号,启动AD574为12位工作方式 MOV A,P1 ;读P1口,检测STS的状态第5章 MCS51单片机的接口与应用 WAIT:ANL A,#01H JNZ WAIT ;转换未结束,等待,转换结束则进行如下操作INC R0 ;使CS=0、A0=0、R/C=1,为按双字节读取转换结果,并读高;字节 MOVX A,R0 ;读取高8位转换结果 MOV R1,A ;送存高8位转换结果 DEC R1 ;R1指向低4位转换结果存放单元地址 INC R0 INC R0 ;(R0)=7FH,使CS=0、A0=1、

38、R/C=1,为读低字节 MOVX A,R0 ;读取低4位转换结果 ANL A,#0FH ;只取低4位结果 MOV R1,A ;送存低4位结果 RET第5章 MCS51单片机的接口与应用 5.4 D/A转换器接口转换器接口5.4.1 D/A 转换器概述转换器概述 在设计D/A转换器与单片机接口之前,一般要根据D/A转换器的技术指标选择D/A转换器芯片。 (1) 分辨率。分辨率是D/A转换器对输入量变化敏感程度的描述。D/A转换器的分辨率定义为:当输入数字量发生单位数码变化时,即LSB位产生一次变化时所对应输出模拟量的变化量。对于线性D/A转换器来说,其分辨率与输入数字量输出的位数n呈现下列关系n

39、2模拟量输出的满量程值第5章 MCS51单片机的接口与应用 (2) 建立时间。建立时间是描述D/A转换速率快慢的一个重要参数。一般所指的建立时间是输入数字量变化后,模拟输出量达到终值误差LSB/2(最低有效位)时所经历的时间。根据建立时间的长短,把D/A转换器分成以下几挡: 超高速 100 ns 较高速 100 ns1 s 高 速 110 s 中 速 10100 s 低 速 100 s第5章 MCS51单片机的接口与应用 (1) DAC0830系列。DAC0830系列是美国National Semiconductor公司生产的具有两个数据寄存器的8位D/A转换芯片。该系列产品包括DAC0830

40、 、DAC0831、 DAC0832,管脚完全相容为20脚双插直列式封装。 (2) DAC82。DAC82是B-B公司生产的8位能完全与微处理器兼容的D/A转换器芯片,片内带有基准电压和调节电阻。无需外接器件及微调即可与单片机8位数据线相连。芯片工作电压为15 V,可以直接输出单极性或双极性的电压(0+10 V,10 V)和电流(01.6 mA, 0.8 mA)。第5章 MCS51单片机的接口与应用 (3) DAC1020/AD7520和DAC1220/AD7521系列。DAC1020/AD7520为10位分辨率的D/A转换集成系列芯片。DAC1020系列是美国National Semicon

41、ductor公司的产品,包括DAC1020 、DAC1021、 DAC1022,与美国Analog Devices公司的AD7520及其后继产品AD7530、AD7533完全兼容。单电源工作,电源电压为+5+15 V,电流建立时间为500 ns,为16线双插直列式封装。与美国Analog Devices公司的AD7520及其后继产品AD7530、AD7533完全兼容。单电源工作,电源电压为+5+15 V,电流建立时间为500 ns,为16线双插直列式封装。第5章 MCS51单片机的接口与应用 (4) DAC1220/AD7521系列。DAC1220/AD7521系列为12位分辨率的D/A转换集

42、成芯片。DAC1220系列包括DAC1220 、DAC1221、 DAC1222产品,与AD7521及其后继产品AD7531管脚完全兼容,为18线双插直列式封装。 (5) DAC1208和DAC1230系列。DAC1208和DAC1230系列均为美国National Semiconductor公司的12位分辨率产品。两者不同之处是DAC1230数据输入引脚线只有8根,而DAC1208有12根。DAC1208系列为24线双插直列式封装,而DAC1230系列为20线双插直列式封装。DAC1208系列包括DAC1208 、DAC1209、 DAC1210等,DAC1230系列包括DAC1230 、D

43、AC1231、 DAC1232等。第5章 MCS51单片机的接口与应用 (6) DAC708/709。DAC708/709是B-B公司生产的16位微机完全兼容的D/A转换器芯片,具有双缓冲输入寄存器,片内有基准电源及电压输出放大器。数字量可并行或串行输入,模拟量可以电压或电流输出。 D/A转换器与单片机接口也具有硬、软件相依性。各种A/D转换器与单片机接口的方法有些差异,但就其基本连接方法,还是有共同之处:都要考虑到数据线、地址线和控制线的连接。第5章 MCS51单片机的接口与应用 就数据线来说,D/A转换器与单片机的接口要考虑到两个问题:一是位数,当高于8位的D/A转换器与8位数据总线的MC

44、S-51单片机接口时,MCS-51单片机的数据必须分时输出,这时必须考虑数据分时传送的格式和输出电压的毛刺问题;二是D/A转换器的内部结构,当D/A转换器内部没有输入锁存器时,必须在单片机与D/A转换器之间增设锁存器或I/O接口。最常用、也是最简单的连接是8位带锁存器的D/A转换器和8位单片机的接口,这时只要将单片机的数据总线直接和D/A转换器的8位数据输入端一一对应连接即可。第5章 MCS51单片机的接口与应用 就地址线来说,一般的D/A转换器只有片选信号,而没有地址线。这时单片机的地址线采用全译码或部分译码,经译码器的输出控制片选信号,也可由某一位I/O线来控制片选信号。也有少数D/A转换

45、器有少量的地址线,用于选中片内独立的寄存器或选择输出通道(对于多通道D/A转换器),这时单片机的地址线与D/A转换器的地址线对应连接。 就控制线来说,D/A转换器主要有片选信号、写信号及启动转换信号等,一般由单片机的有关引脚或译码器提供。一般来说,写信号多由单片机的-WR信号控制;启动信号常为片选信号和写信号的合成。第5章 MCS51单片机的接口与应用 5.4.2 8位位D/A转换器与单片机的接口转换器与单片机的接口1DAC0830/DAC0831/ DAC0832的结构与引脚功能的结构与引脚功能图5.22 DAC0830系列结构框图 第5章 MCS51单片机的接口与应用 2DAC0830系列

46、系列D/A转换器与单片机接口转换器与单片机接口图图5.23 单路单路DAC0830/DAC0831/DAC0832与单片机接口逻辑图与单片机接口逻辑图 第5章 MCS51单片机的接口与应用 设分配给DAC0830/DAC0831/ DAC0832的地址为7FFFH(P2.7=0),则执行下列三条指令就可以将一个数字量转换为模拟量:MOV DPTR,#7FFFH ;端口地址送DPTRMOV A,#DATA ;8位数字量送累加器MOVX DPTR,A ;向锁存器写入数字量,同时启动转换第5章 MCS51单片机的接口与应用 图5.24 单路DAC0830/DAC0831/DAC0832控制时序 第5

47、章 MCS51单片机的接口与应用 下面的程序可使DAC0830/DAC0831/ DAC0832输出呈渐升骤降的电压锯齿波。 START:MOV DPTR,#7FFFH MOV A,#00 LOOP :MOVX DPTR,A INC A MOV R0,#data ;data为延时常数 DJNZ R0,$ ;延时,改变data可改变锯齿波周期T值 SJMP LOOPo第5章 MCS51单片机的接口与应用 图5.25 由软件产生的锯齿波 第5章 MCS51单片机的接口与应用 图5.26 两路DAC0830/DAC0831/DAC0832与单片机接口逻辑图 第5章 MCS51单片机的接口与应用 如果

48、图5.26中的模拟输出分别用于示波器的X、Y偏转,则MCS-51执行下面的程序后,可使示波器上的光点根据参数X、Y的值同步移动。MOV DPTR,#0DFFFHMOV A,#XMOVX DPTR,A ;将参数X写入DAC(1)的数据输入锁存器MOV DPTR,#0BFFFHMOV A,#YMOVX DPTR,A ;将参数Y写入DAC(1)的数据输入锁存器MOV DPTR,#7FFFHMOVX DPTR,A ;两片DAC同时启动转换,同步输出SJMP $第5章 MCS51单片机的接口与应用 3DAC0830/DAC0831/DAC0832的模拟输出方式的模拟输出方式 DAC0830/DAC083

49、1/DAC0832属于电流输出型的D/A转换器,其转换结果是与输入数字量成正比的电流。这种形式的输出不能直接带动负载,需经运算放大器放大并转换成电压输出。电压输出又根据不同的场合,需要单极性电压输出和双极性电压输出。 图5.22、图5.25所示的接口电路是单极性电压输出,运放的输出电压为REFOUTVDV82其中,D为用十进制表示的数字输入量。第5章 MCS51单片机的接口与应用 例如,设VREF =-5 V,当D=FFH=255时,VVOUT 98. 4)5(256255这是最大的输出电压。 若D=01H=1时,这是最低位LSB对应的输出电压。运放的输出电压与参考电压VREF是反极性。VVO

50、UT 02. 0)5(2561第5章 MCS51单片机的接口与应用 第5章 MCS51单片机的接口与应用 根据运放的理想情况,运放A2的反向输入端虚地,且I1+I2=0,而,3221RVRVIOUTREF112RVIOUT如果选择R2=R3=2R1,则可以得到VOUT2=(2VOUT1+VREF) 设VREF=+5 V,当VOUT1=0 V时,VOUT2=5 V;VOUT1=2.5 V时, VOUT2=0 V;VOUT1=5 V时, VOUT2=5 V。可见,VOUT2将VOUT1输出电压范围05 V转换成双极性电压范围5+5 V。因 第5章 MCS51单片机的接口与应用 REF8OUTV2DV所以REFREFREFV128128D)V2V256D(V第5章 MCS51单片机的接口与应用 5.4.3 高于高于8位位D/A转换器与单片机的接口转换器与单片机的接口 在微机控制系统中,为了提高精度需要采用10位、12位、14位,甚至更高位数的D/A转换器芯片。高于8位的D/A转换器芯片与8位单片机接口,被转换的数据至少要分两次送出。这需要解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论