1 / 78

第八章 接口技术

第八章 接口技术. §8-1 单片机应用系统的人机通道 §8-2 键盘及其接口 §8-3 显示器及接口 §8-4 D/A 、 A/D 转换器及其与单片机的接口 . §8-1 单片机应用系统的人机通道 返回 一、输入 / 输出及其接口电路 1 、输入 / 输出

tobit
Download Presentation

第八章 接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 接口技术 §8-1单片机应用系统的人机通道 §8-2 键盘及其接口 §8-3 显示器及接口 §8-4 D/A、A/D转换器及其与单片机的接口

  2. §8-1 单片机应用系统的人机通道 返回 • 一、输入/输出及其接口电路 • 1、输入/输出 计算机是一个高速、自动、连续进行数据处理的智能电子装置。依靠“存储程序”及“程序控制”来完成用户指定的任务。如果只有一台“主机”而没有与它配套的输入/输出(I/O)设备,它根本无法完成用户所指定的任务。I/O设备是人----机联系的桥梁。I/O操作是主机与外部环境进行通信的唯一手段,也是各种计算机系统必不可少的基本功能。 • I/O设备通常是以主机作为参考点,若数据由外部环境流向主机,则称为输入;反之,则称为输出。

  3. I/O设备与计算机之间的数据传输过程如下图所示:I/O设备与计算机之间的数据传输过程如下图所示: • 图7-1 I/O设备与计算机的数据传输方向

  4. I/O操作是通过I/O设备来实现的。由于I/O设备种类繁多(输入设备如键盘、条形码识别器、鼠标器;输出设备有CRT显示器、LED显示器、点阵针式打印机、激光印字机、绘图仪等)、速度差异大、记录信息的外部存储介质不同、处理的信息类型不同及信息传输方式不同(有的用串行方式,有的用并行方式、有的用串并行方式)。因此,I/O操作比计算机内部操作要复杂一些。I/O操作是通过I/O设备来实现的。由于I/O设备种类繁多(输入设备如键盘、条形码识别器、鼠标器;输出设备有CRT显示器、LED显示器、点阵针式打印机、激光印字机、绘图仪等)、速度差异大、记录信息的外部存储介质不同、处理的信息类型不同及信息传输方式不同(有的用串行方式,有的用并行方式、有的用串并行方式)。因此,I/O操作比计算机内部操作要复杂一些。 2、输入/输出接口电路 通常,主机不是直接与I/O设备相连,而是通过一个被称为接口的电路把它们连接起来。

  5. 二、主机与I/O设备之间的接口信号 主机与I/O设备之间进行数据传送时,不但有数据信息而且还有控制信息和状态信息。如图7-2所示。 图7-2 主机与设备之间的接口信号

  6. 1、数据信息 • 数据信息是主机与I/O设备交换的基本信息。通常有以下三种类型: • 1)数字量 • 如键盘输入主机的信息或主机输出给打印机的信息都是数字量,它们或为二进制数或为ASCⅡ码。 2)模拟量 在微型机控制系统中,大多输入信息均为现场的连续变化的物理量(如温度、压力、流量等)。通常,这些物理量需通过相应的传感器及A/D转换器才能变成主机能接受和识别的二进制信息。 3)开关量 它可表示两个状态,如开头的闭合和断开等,对于一个开关量只须用一位二进制数表示即可。

  7. 2、状态信息 • 除数据和定时信息外,I/O设备还向主机发出若干状态信息,状态信息反映了目前I/O设备的工作状态。对输入设备,“用准备就绪”信号表示待输入的数据是否准备就绪,以确定CPU是否开始接收数据。对输出设备,则用“忙”信号表示它是否处于空闲状态,以确定CPU是否开始发送数据,当然,I/O设备还有其它的状态信号。 • 3、控制信息 • 除数据和定时信息外,主机还要向I/O设备发出若干控制信息,控制信息可选择I/O设备工作方式、启动或停止I/O设备的工作过程、选择格式、识别操作类型及优先级等。

  8. 三、接口电路与端口 • 通常,主机每连接一个I/O设备就需要一个I/O接口电路(有时一个接口可连接几台同类型I/O设备)。在I/O接口电路中有一组CPU可寻址的寄存器,它们用来存放完成数据传送所必须的信息——数据、状态和控制信息。这些寄存器被称为端口,用来对来自CPU或是送往CPU或内存的数据起缓冲作用的端口,称为数据端口;用来存放I/O设备或接口本身的状态的端口,称为状态端口;用来存放由CPU发出的命令的端口,称为控制端口。各接口电路根据需要设置端口。CPU对各种端口进行的操作是不相同的,对数据端口可进行读写操作,对控制端口通常只进行写操作,而对状态端口只进行读操作。主机与I/O设备之间的通信是通过I/O接口电路的端口进行的。通常,每个端口都有一个地址码,以便访问。

  9. 四、输入/输出寻址方式 • 当主机执行I/O操作时,应先对I/O接口中的端口进行寻址,其寻址方式有如下两种: • 1、标准的I/O寻址方式 • 此时,I/O端口单独编址。CPU指令系统中有专门用于I/O操作的指令——I/O指令,CPU访问I/O端口时发出I/O读命令或写命令,访问内存时发存储器读或写命令。因此,端口地址与存储单元地址可重叠。此时,I/O端口不占用存储空间且与访问I/O设备指令有别。 • 2、存储器映射I/O寻址方式 这种寻址方式中,将I/O端口与存储单元统一编址,即CPU把I/O端口作为存储单元对待,I/O端口占用一定的存储空间。采用这种寻址方式的CPU指令系统中没有专门的I/O指令,

  10. 所有对存储单元操作的指令都能用于对I/O端口操作。其优点是程序设计灵活性好,I/O端口地址安排灵活且I/O端口数目不受限制;缺点是减少了存储空间,执行指令时间较长且在程序中较难区分是存储器操作还是I/O操作。MCS-50系列单片机采用的就是这种寻址方式。所有对存储单元操作的指令都能用于对I/O端口操作。其优点是程序设计灵活性好,I/O端口地址安排灵活且I/O端口数目不受限制;缺点是减少了存储空间,执行指令时间较长且在程序中较难区分是存储器操作还是I/O操作。MCS-50系列单片机采用的就是这种寻址方式。 五、主机与外设之间的数据传送方式 传送方式有以下四种: 1、无条件传送方式 采用这种传送方式的前提是外部控制过程的各种动作时间是固定的且是已知的。在进行数据传送时不必查询外设的状态。它总是处于“准备就绪”状态,CPU随时可与外设进行数据传送。这种传送方式的优点是硬件和软件都很简单。无条件传送方式实际上还是有条件的。即数据传送不能太频繁,以保证每次数据传送时外设总是“准备就绪”的。它只适用主机与简单外设(如拔盘或七段LED显示器等)之间的数据传送。

  11. 2、查询传送方式 • 查询传送方式在早期计算机中就已经彩了。在这种方式中主机输入、输出数据的控制均由主程序完成。主程序反复检测外设的状态,以决定是否可传送数据。由此可,CPU处于主动地位,而I/O设备处于被动地位。典型的传送过程如下:主机首先启动外设,接着测试外设的状态,当外设“准备就绪”(输入设备)或“空闲”(输出设备)进行数据传送;否则,主机继续测试外设的状态,进行等待直至其“准备就绪”或“空闲”时为止。查询方式又称为条件传送方式。 • 3、中断传送方式 • 采用中断传送方式时主机在启动外设后不再等待外设的状态,而继续执行主程序,一旦外设的状态完成,立即就向主机请示中断,主机响应后转入相应的中断服务程序进行数据传送,数据传送完毕继续执行主程序。

  12. 4、直接存储器存取(DMA)方式 • DMA是指利用DM0控制器(简称DMAC)实现外设与存储器之间的直接数据传送。在传送过程中不需要CPU介入。当然,在DM0操作之前与DMA操作结束后仍需要CPU的控制。 • DMAC在DM0操作期间替代CPU,负责控制DM0传送工作。在微型机系统中CPU、存储器、外设接口等功能部件均挂在系统总线上。在通常情况下,由CPU掌握系统总线的控制权,当CPU响应DMA请示时,它释放对系统总线的控制权,而由DMAC接管对系统总线的控制,于是可在DMAC的控制下实现DMA操作。当数据传送完毕时,CPU恢复对系统总线的控制。DMA传送方式的主要优点是传送速度高,传送速率只受到存储器存取时间的限制,其缺点是硬件开销很大,在DM0传送期间,CPU不能使用系统总,必须强调指出,采用DMA传送方式是有条件的。即CPU的系统结构允许DMA操作。MCS-51系列单片机中常用的单片机(8051、8031、8751等)不具备DMA操作的结构。8086/8088则具备这个结构。

  13. 微型机中常外设有LED显示器、CRT显示器、键盘、打印机、软磁盘存储器等。单片机应用系统中常设置LED显示器、拔盘、键盘、点阵式打印机等外设。微型机中常外设有LED显示器、CRT显示器、键盘、打印机、软磁盘存储器等。单片机应用系统中常设置LED显示器、拔盘、键盘、点阵式打印机等外设。 • §8-2 键盘及其接口 返回 • 在微型机系统中,键盘是最常用的输入设备,键盘通常由数字键和功能键组成,其规模取决于系统的要求。 • 键盘可分为编码键盘和非编码键盘两种,前者有检测键闭合,去抖动及产生相应键编码的硬件电路,而后者则没有这些硬件,上述功能在有少量的硬件支持下由软件来完成。由此可见编码键盘产生键编码的速度快且基本上不占用CPU时间,但硬件开销大,电路复杂,成本高;非编码键盘则硬件开销省,电路简单,成本低,但占用CPU时间较长。 • 单片机应用系统中为了降低成本,简化硬件电路,大多数采用非编码键盘,在此只介绍非编码键盘。

  14. 一、按键及其抖动 • 按键可分为触点式和非触点式两大类。前者是利用机械触点的闭合或断开来输入信息,而后者是利用按键动作改变某些物理参数或利用某种效应来输入信息。为了降低成本,在单片机应用系统上的键盘通常采用触点式的。由于机械触点的弹性作用,在闭合及断开瞬间均有一个抖动过程,如图8-3所示。抖动时间的长短与开关的机械特性有关,一般为5ms~10ms,去抖动即可用硬件(最简单的是利用R-S触发器)也可用软件来实现。在非编码键盘中是采用软 件延时消除抖动的。 图8-3 按键的抖动

  15. 二、非编码键盘工作原理 • 非编码键盘结构有小键盘结构(一级控制)和大键盘结构(二级控制)两种。 • 1、小键盘结构的工作原理及其接口 • 在单片机应用系统中常常需要使用简单的键盘完成输入操作,如输入数据及命令等。按键的数量较少时可用小键盘结构,其接口如图8-4所示。此接口电路的工作原理很简单,平时无键按下时,并行端口各输入线为电平,当有某键按下,相应的输入线为低电平。CPU查询此输入口的状态就可知是哪个键闭合。此为一线一键的方法,当按键的数目增加时,将增加输入口的线数,为了减少占用输入线数,可采用矩阵式结构的键盘。

  16. 2、大键盘结构的工作原理及其接口 • 图7-5是4×4键盘接口,它是矩阵式结构,如采用一键一线的小键盘结构,要占用16条I/O口线,采用矩阵式结构仅需占用8条I/O线。减少I/O口线是以增加件工作量为代价的。此时非编码键盘的工作是借用于“键盘扫描”程序进行的。键盘扫描程序包括从判断是否有键按下到获取键值并进行相应的键处理的全过程。 • (1)是否有键按下的识别 • 首先必须解决如何判断是否有键被按下。开始时使所有行线X1-X3均为低电平。当无键按下时,各行线与各列线相互断开,各列线仍保持高电平。当有键被按下时(如键6号被按下),则相应的行线(X1)与列线(Y2)相连,该列线就变为低电平。由此可见,当各行线均为低电平时,测试各列线的状态即可知是否有键被按下。若各列线均高电平,则无键被按下;否则,有键被按下。

  17. (2)键的识别 • 通常有两种方法可识别被按之键:一种是“行扫描”法;一种是“反转”法。 • 1)行扫描法 • 依次对每一行进行扫描,选使被扫描的行为低电平,其它所有的行均为高电平,接着检测各列线的状态(称为“列”)。若各列码均为高电平(即列码为全1),则被按之键不在这行。继续扫描下一行;若列线不全为高电平(即列码为非全1),则被按之在此行。根据行扫描码及列码就可知被按之键的坐标值(即位置码)。再根据位置码通过查表可得到它的键值。查表法的扫描子程序流程图如图7-6所示。

  18. 除查表法外,还可通过简单的计算处理方法来得到键值。由图7-5可知,键值=行的首键值+列值。行的首键值可通过以下方法得到:设置一首键值寄存器,初值为1(即为0行的首键值)。从第1行X1开始扫描,若列码为全1,则扫描下一行,每扫描一行RX的内容加键盘的列数(本例的列数为4),直扫描到列码不为全1时为止。此时,RX的内容即为被按之键所处行的首键值。同样,列号也可利用RY得到。再将两个寄存器的内容合并成一个寄存器,就可得到相应的键值。既可节省空间也可省去加法操作。其流程如图8-7所示。除查表法外,还可通过简单的计算处理方法来得到键值。由图7-5可知,键值=行的首键值+列值。行的首键值可通过以下方法得到:设置一首键值寄存器,初值为1(即为0行的首键值)。从第1行X1开始扫描,若列码为全1,则扫描下一行,每扫描一行RX的内容加键盘的列数(本例的列数为4),直扫描到列码不为全1时为止。此时,RX的内容即为被按之键所处行的首键值。同样,列号也可利用RY得到。再将两个寄存器的内容合并成一个寄存器,就可得到相应的键值。既可节省空间也可省去加法操作。其流程如图8-7所示。

  19. 计算方法获取键值的程序框图

  20. 2)反转法 采用反转法的接口见图7-9,反转法的基本思想是先由行线输出全0信号,接着由列线输入表示按键状态的代码。若有键被按下,则相应列线一定为0;若无键被按下,则由列线输入的代码一定为全1,当有键被按下时,将列线输入的代码由列线输出,然后由行线输入表示按键状态的代码。将先后两次输入的表示按键状态的代码组合,即为被按之键的位置码。

  21. 反转法获取键值的原理图

  22. 三、非编码键盘与8031单片机的接口 • 1、接口电路 如图8-9是8×4非编码键盘与单片机的接口,是通过8155芯片与8031相连。此时8155PA口工作于基本输出方式,作为行扫描码输出口,其地址可设为7F01H,PC口工作于基本输入方式,作为列码输入口,地址可设为7F03H。 2、键扫描子程序 扫描子程序调用三个子程序,即判有键闭合子程序FSCANK、延时子程序D20MS及出错处理子程序ERORR。程序如下:

  23. 8X4接口电路如图所示:

  24. ORG 1000H SCANKE:MOV DPTR, #7F00H ;指向8155命令寄存器 MOV A, #03 ;设置8155命令字 MOV @DPTR, A ;写入命令字 KEYDE1:ACALL FSCANK;调用子程序,以判断是否有键闭合 JNZ KEYDE1 ;若有键闭合,则转向KEYDE1 LJMP DISPER ;若无键,则转显示子程序 KEYDE1:LCALL DSPME ;调用显示子程序,延时去抖动 ACALL FSCANK;调用FSCANK子程序,以判键正常否 JNZ DEYDE2 ;若是正常,则转KEYDE2 LJMP DISPER ;若是抖动,则转DISPER

  25. KEYDE2:MOV R2,#0FFH ;置行扫描寄存器R2初值 MOV R3,#00H ;清键值寄存器R3 SCNEXT:MOV DPTR,#7F01H;指向8155PA口 MOV A,R3 ;送行扫描码 MOVX @DPTR,A ;输出行扫描码 INC DPTR ;修改指针 SCDONE:ACALL FSCANK ;判断该键是否释放 • INC DPTR ;修改指针,指向8155的C口 • MOVX A,@DPTR ;输入列码,以判该行有键闭合 • CJNE A,#0FFH,LSCANR;若有键,则转LSCANR • MOV A,R2 ;若该行无键,则判一遍扫描结束? • JNB ACC.7,ERROR;若结束,则转ERROR • RL A ;若未结束,则修改扫描码 • MOV R2,A • MOV A,R3 ;修改行首键值

  26. ADD A,#14 • MOV R3,A • AJMP SCANEXT LSCANR:MOV B,#04H ;置列计数器B初值 LSCANK:JNB ACC.1,SCDONE;如果该列有键闭合,则转SCDONE INC R3 ;若无,则键值加A RR A ;列码右移1位 DJNZ B,LSCANK ;若列检查末完,则转LSCANK AJMP ERROR ;若检查完,无键闭合则转ERROR JNZ SCDONE ;若未释放,则等待 RET ;若已释放,则返回 FSCANK:MOV DPTR,#7F01H ;指向8155PA口 MOV A, #00H ;置全扫描码 MOVX @DPTR, A ;输出全扫描码 INC DPTR INC DPTR

  27. MOVX A, @DPTR ;读入列码 CPL A ANL A, #0FH ;列码取反,以便于检测 RET ERROR:… DISPER:… D20MS:…

  28. §8-3 显示器及接口 返回 • 在单片机应用系统中最常用的两种显示器是发光二极管显示器(LED)和液晶显示器(LCD)。主要介绍LED显示器及接口。 • 一、LED显示器简介 LED是一种外加电压(阳极电位比阴极电位为高)超过额定电压时发生击穿,从而流过电流并发出可见光的器件。LED是属于电流型控制器件,使用时必须加限流电阻。由于LED体积小,功耗小,所以用途较广。 二、简单LED显示器接口 一个LED就是最简单的输出设备,其接口电路如图8-10所示。由于一般微型机接口芯片不能提供毫安级的电流,故应由驱动器推动。由图8-10可知,驱动器的地址可设为7FFFH。

  29. 简单LED显示器接口原理图:

  30. 例8-1 由图8-10可知,LED导通(发光)的条件是P0.7为1,且P2.7, 同时为1。先使LED截止1分钟。当达到1分钟时8031单片机发相应的信号,使P0.7为1且P2.7, 同时为0,点亮LED 1秒钟,不断地重复上述操作就能满足题目的要求,相应的程序如下: • ORG 1000H START:SETB P0.7 MOV DPTR, #7FFFH;指向LED 驱动器 LOOP :CLR A MOVX @DPTR,A ;关LED 1分钟 MOV B, 60 ;调用1秒延时程序 LOOP1:ACALL DT1S

  31. DJNZ B,LOOP1 CPL A ;点亮LED1秒钟 MOVX @DPTR,A ACALL DT1S AJMP LOOP DT1S :MOV R5,#32H ;延时1秒钟子程序 D20MS:MOV R6,#28H D500NS:MOV R7,#0F9H DNLOOP:DJNZ R7,DNLOOP DJNZ R6,D500NS DJNZ R5,D20MS RET END

  32. 三、七段LED显示器及其接口 1、七段LED显示器 在单片机应用系统中通常使用由八个LED器件组成的七段LED显示器,其中七个LED构成七笔字形,另一个LED构成小数点(故有时称为八段显示器)。如图8-10所示,其接法共有两种:共阴极与共阳极,前者是输入高电平有效(LED发光),后者是输入低电平有效。其工作原理是:控制其中各段LED的亮与暗即可显示出相应的数字、字母或符号。

  33. 七段LED显示器进行显示的信息称为七段代码,不同接法的七段代码显然是不相同的,共阴极和共阳极的七段代码的相同字符相加为FFH。两种代码分别如图所示:七段LED显示器进行显示的信息称为七段代码,不同接法的七段代码显然是不相同的,共阴极和共阳极的七段代码的相同字符相加为FFH。两种代码分别如图所示:

  34. 七段代码表(字形码)

  35. 2、七段显示器接口 在单片机应用系统中,通常会有若干位七段LED显示器。将每一位的七段LED显示器的公共端(阳极或阴极)引线称为“位选”线,而把每一位的引线称为“段选”线,即位选线用于选择所需的七段LED显示器,而段选线用来控制该显示器所显示器的内容。 七段LED有两种显示方式,即静态显示方式和动态显示方式。不同的显示的方式,位选线和段选线的连接方法不同。通常,静态显示是把各位七段LED显示器的位选线连在一起或接地(共阴极)可接电源(共阳接法),而每一位七段LED显示器的段选线与相应的8位并行输出口(或锁存器)相连,各位是独立显示的。这样,各显示位能同进显示不同的数字或字符,CPU为显示器服务的时间短且软件简单,但硬件接口开销大,接口电路复杂,动态显示是将各显示器的同名段选分别相连,由同一个8位并行输出口控制,而各显示器的位选线则分别则输出口线控制,这样各显示位不能同时显示不同的数字或字符。动态显示通常采用扫描的方法即从左到右(或从右到左)依次轮流使每位显示器显示数字或字符并保留一段时间(通常为1~10ms),以造成视觉暂留效果,这样也可达到

  36. 各显示位“同时”显示不同的数字或字符的目的。动态显示的最大优点是硬件开销省,接口电路简单,但它要求CPU频繁地为显示服务。下面分别介绍静态锁存显示器接口和动态显示器接口。各显示位“同时”显示不同的数字或字符的目的。动态显示的最大优点是硬件开销省,接口电路简单,但它要求CPU频繁地为显示服务。下面分别介绍静态锁存显示器接口和动态显示器接口。 (1)静态锁存显示器接口 在单片机应用系统的静态显示器接口中常采用MC14495芯片。它内部有锁存器、地址译码器、七段ROM阵列及带有限流电阻的驱动电路,可与七段LED直接相连,其引脚及逻辑框图如图8-11所示。

  37. 引脚功能如下: DCBA:BCD码或十六进制码输入; ab…g:七段代码输出; h+i:输入大于等于10指示位。当输入的数大于或等于10时为高电平,否则为低电平; :输入等于15指示位。当输入的数等于15时, 输出为高电平,否则为高阻态; :锁存控制信号。当 为低电平时输入数据,为高电平时将数据锁存。

  38. 采用MC14495芯片的4位静态七段LED显示器接口电路如图8-12所示。采用MC14495芯片的4位静态七段LED显示器接口电路如图8-12所示。

  39. 例8-2:要求存放在内部RAM中30H及31H单元中的4位十六进制数在图8-12所示的电路从左到右显示出来。试编写程序 解: 其显示程序如下: ORG 1000H SDELAY: MOV A, 30H ANL A,#0F0H;截取30单元高位BCD码 MOV P1, A;在1#位置显示39H单元中高位BCD码 MOV A, 30H SWAP A ANL A, #0F0H INC A ;以指向2#MC14495芯片 MOV P1, A;在2#位置显示30H单元中低位BCD码 MOV A, 31H ANL A,#0F0H

  40. ADD A,#02H;以指向3#MC14495芯片 MOV P1,A;在3#位置显示31H单元中高位BCD码 MOV A,31H SWAP A ANL A,#0F0H ADD A,#03H;以指向4#MC14495芯片 MOV P1,A;在4#位置显示31H单元中低位BCD码 RET END 在静态锁存显示器中也可采用软件译码方法。但要求有锁存器存放相应的七段代码。

  41. (2)动态扫描显示接口 为了节约成本,简化硬件电路,在单片机应用系统中大多采用动态扫描显示。图8-13是6位动态扫描七段LED显示器接口。采软件译码方法。图中的8155的PA口作为位选端口,其地址可设为7F01H,PB口作为段选端口,地址可为7F02H。 例:8-3 要求将8031单片机内部RAM中的以50H为首址的六个连续单元中存放的六个十六进制数在图8-13所示的接口电路中从左到右显示出来。

  42. 动态扫锚接口电路

  43. 解:由图可知,此接口采用软件设码方法。在本程序中采用近程查表获得十六进制数的相应七段代码。程序流程见图8-14,程序如下: 解:由图可知,此接口采用软件设码方法。在本程序中采用近程查表获得十六进制数的相应七段代码。程序流程见图8-14,程序如下: ORG 1000H INDUP:MOV DPTR,#7F00H ;8155设定工作方式 MOV A, #03H MOVX @DPTR,A MOV R1, #0FFH;置循环计数器初值 DISUP: MOV R0, #50H; 置待显示数的地址初值 MOV R3, #20H; 置位选码的初值(最左位) DISLP0: MOV A, R3 MOV DPTR, #7F01H;指向8155PA口 MOVX @DPTR, A ; 送位选码 INC DPTR ; 指向8155PB口 MOV A, @R0 ; 取将显示的数值

  44. ADD A, #0FH ; 查表取显示代码 MOVC A, @A+PC MOVX @DPTR,A ; 将显示代码送PB口进行显示 ACALL D1MS ; 延时1ms,使显示稳定 INC R0 ; 修改指针,备下次取显示值使用 MOV A, R3 JB ACC.0, DINEND;如果一遍显示结束,则转移 RR A ;未结束,则准备显示下一位 MOV R3, A AJMP DISLP0

  45. 程序框图如下:

  46. §8-4 D/A、A/D转换器及其与单片机的接口返回 模拟量与数字量的转换技术包括实现两种形式的转换:即D/A和A/D转换。当计算机用工作控制时,这两种转换是计算机与外部环境联系的主要形式。 通常D/A和A/D转换是由专用的D/A转换器(DAC)与A/D转换器(ADC)芯片来实现的。 一、D/A转换 1、D/A的基本原理: 按二进制数的各位代码的数值,将每一位数字量转换成相应的模拟量,然后将各模拟量迭加,其总和就是与数字量成正比的模拟量。 DAC的基本电路由四部分构成:参考电源、电阻网络、电子转换开关和运算放大器。如图8-15所示。

  47. 1)参考电源VREF:提供数字量转换成相应的模拟量的基准电源; 2)电阻网络:又称解码网络,是DAC的关键部件。本图中所示的为R- 2RT型网络,具有4位数字量输入; 3)电子转换开关:受输入数字量的控制。当该位为1,则接通开关1, 否则接通0,从而总的输入电流,以形成对应的模拟量; 4)运算放大器:将总的输入电流信号变成电压信号。 • 图中所示的DAC最终输出电压:

More Related