《第7章-单片机系统扩展与接口技术-单片机原理及接口技术-教学课件.ppt》由会员分享,可在线阅读,更多相关《第7章-单片机系统扩展与接口技术-单片机原理及接口技术-教学课件.ppt(106页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第7章 单片机系统扩展与接口技术 第第7章章 单片机系统扩展与接口技术单片机系统扩展与接口技术 7.1 外部总线的扩展外部总线的扩展 7.2 外部存储器的扩展外部存储器的扩展7.3 输入输入/输出接口的扩展输出接口的扩展 7.4 管理功能部件的扩展管理功能部件的扩展 7.5 A/D和和D/A接口功能的扩展接口功能的扩展 第7章 单片机系统扩展与接口技术 7.1 外部总线的扩展外部总线的扩展 一、一、外部总线的扩展外部总线的扩展 图图 7.1 MCS-51外部三总线示意图外部三总线示意图 第7章 单片机系统扩展与接口技术 图图 7.2 地址锁存器的引脚和接口地址锁存器的引脚和接口 第7章 单片机
2、系统扩展与接口技术 二、总线驱动二、总线驱动 在单片机应用系统中,扩展的三总线上挂接很多负载,如存储器、并行接口、A/D接口、显示接口等,但总线接口的负载能力有限,因此常常需要通过连接总线驱动器进行总线驱动。总线驱动器对于单片机的I/O口只相当于增加了一个TTL负载,因此驱动器除了对后级电路驱动外,还能对负载的波动变化起隔离作用。在对TTL 负载驱动时,只需考虑驱动电流的大小;在对MOS负载驱动时,MOS负载的输入电流很小,更多地要考虑对分布电容的电流驱动。第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 图 7.3 总线驱动器芯片管脚(a)单向驱动器;(b)双向驱动器 第7
3、章 单片机系统扩展与接口技术 2.总线驱动器的接口总线驱动器的接口 图 7.4 8051与总线驱动器的接口(a)P2 口的驱动;(b)P0 口的驱动 第7章 单片机系统扩展与接口技术 7.2 外部存储器的扩展外部存储器的扩展 图 7.5 MCS-51 单片机程序存储器的扩展原理 7.2.1 外部程序存储器的扩展外部程序存储器的扩展 1.外部程序存储器的扩展原理及时序外部程序存储器的扩展原理及时序 第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 2716 有五种工作方式,见表 7.1。表 7.1 2716工作方式选择 第7章 单片机系统扩展与接口技术 图 7.7 2716与8
4、031的连接图 第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 3.E2PROM 2864A的扩展的扩展 图图 7.8 2864A管脚及原理框图管脚及原理框图(a)管脚;管脚;(b)原理框图原理框图 第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 图 7.9 2864A与8031的接口电路第7章 单片机系统扩展与接口技术 7.2.2 外部数据存储器的扩展外部数据存储器的扩展 1.外部数据存储器的扩展方法及时序外部数据存储器的扩展方法及时序 图 7.10 MCS-51 数据存储器的扩展示意图 第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技
5、术 表 7.3 6264的工作方式 第7章 单片机系统扩展与接口技术 图 7.12 扩展6264 静态RAM第7章 单片机系统扩展与接口技术 6264的8 KB地址范围不唯一(因为A14A13可为任意值),6000H7FFFH是一种地址范围。当向该片6000H单元写一个数据DATA时,可用如下指令:MOV A,DATA MOV DPTA,6000H MOVX DPTR,A从FFFH单元读一个数据时,可用如下指令:MOV DPTR,7FFFH MOVX ,DPTR 第7章 单片机系统扩展与接口技术 7.2.3 多片存储器芯片的扩展多片存储器芯片的扩展 1.线选法寻址线选法寻址 图 7.13 用线
6、选法实现片选 第7章 单片机系统扩展与接口技术 各芯片的地址范围如下:第7章 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 例例 要求用 2764 芯片扩展 8031 的片外程序存储器空间,分配的地址范围为 0000H3FFFH。本例采用完全译码方法。(1)确定片数。因0000H 3FFFH的存储空间为16 KB,则 所需芯片数=实际要求的存储容量/单个芯片的存储容量 =16 KB/8 KB =2(片)第7章 单片机系统扩展与接口技术(2)分配地址范围。第7章 单片机系统扩展与接口技术(3)存储器扩展连接如图 7.14 所示。图 7.14 采用地址译码器扩展存储器的连接图 第7章
7、 单片机系统扩展与接口技术 第7章 单片机系统扩展与接口技术 图 7.15 8255A内部结构和引脚(a)内部结构;(b)引脚第7章 单片机系统扩展与接口技术 (1)端口A、B、C。A口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。B口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器。C口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器。通常,A口#,B口作为数据输入/输出端口,C口作为控制/状态信息端口。C口内部又分为两个 4 位端口,每个端口有一个 4 位锁存器,分别与A口和B口配合使用,作为控制信号输出或状态信息输入端口。第7章 单片机系统扩展与接口技术
8、 第7章 单片机系统扩展与接口技术 (3)总线数据缓冲器。总线数据缓冲器是一个三态双向8位缓冲器,作为 8255 与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。(4)读/写控制逻辑电路。读/写控制逻辑电路接收CPU发来的控制信号RD、WR、RESET、地址信号A1、A0 等,然后根据控制信号的要求,将端口数据读出,送往CPU或将CPU送来的数据写入端口。第7章 单片机系统扩展与接口技术 表表 7.4 8255A 接口工作状态选择表接口工作状态选择表 第7章 单片机系统扩展与接口技术 图 7.16 8255A三种工作方式示意图(a)方式 0;(b)方式 1;(c)方式 第7
9、章 单片机系统扩展与接口技术 2.工作方式选择工作方式选择 (1)方式 0:基本输入/输出方式。这种方式不需选通信号。PA,PB和PC中任一端口都可以通过方式控制字设定为输入或输出。(2)方式 1:选通输入/输出方式。共有 3 个口,被分为两组。A组包括A口和PC7PC4,A口可由编程设定为输入或输出,PC7PC4 作为输入/输出操作的选通信号和应答信号。B组包括B口和PC3PC0,这时C口作为 8255A和外设或CPU之间传送某些状态信息及中断请求信号。第7章 单片机系统扩展与接口技术 (3)方式 2:双向传送方式。只有A口有方式 2,此时,A口为8位双向传送数据口,C口的高5位PC7PC3
10、用来作为指定A口输入/输出的控制联络线。表 7.5 8255A的C口联络控制信号线 第7章 单片机系统扩展与接口技术 3.8255A 的控制字的控制字(1)方式控制字图 7.17 8255A的方式控制字第7章 单片机系统扩展与接口技术(2)端口C置位/复位控制字 图 7.18 8255A端口C置位/复位控制字 第7章 单片机系统扩展与接口技术 例例 1 要求A口工作在方式0输入,B口为方式1输出,C口高4位PC7PC4为输入,C口低4位PC3PC0为输出。实现上述要求的初始化程序为:MOV R1,03H;03H为 8255A 控制寄存器地址 MOV A,9CH;8255A工作方式字为 9CH
11、MOVX R1,A;方式字送入 8255A 控制口 第7章 单片机系统扩展与接口技术 4.8255A 和和 8031 单片机的硬件接口单片机的硬件接口 图 7.19 8255A与8031单片机接口 第7章 单片机系统扩展与接口技术 设 8255A的A、B、C口和控制寄存器地址依次为 00H、01H、02H 和 03H。如果用户需要将C口的PC3 置 1,PC5 置 0,可编程如下:MOV R0,03H;8255A 控制口地址 MOV A,07H;将PC3 置 1 控制字 MOVX R0,A;置PC3=1 MOV A,0AH;将PC5 置 0 控制字 MOVX R0,A;置PC5=0 第7章 单
12、片机系统扩展与接口技术 例例 2 图 7.20 是 8031 扩展 8255A 与打印机接口的电路。8255A 的片选线为P0.7,打印机与 8031 采用查询方式交换数据。打印机的状态信号输入给PC7,打印机忙时BUSY=1,打印机的数据输入采用选通控制,当STB上出现负跳变时数据被打入,要求编写向打印机输出 80 个数据的程序。设 8255A 的A、B、C和控制寄存器的口地址分别为:7CH、7DH、7EH和7FH。第7章 单片机系统扩展与接口技术 图 7.20 8031扩展打印机接口8255A 第7章 单片机系统扩展与接口技术 8255A 的方式1中OBF为低电平有效,而打印机STB要求下
13、降沿选通。所以8255A采用方式0,由PC0 模拟产生STB信号。因PC7输入,PC0输出,则方式选择命令字为:10001110B=8EH。自内部RAM 20H单元开始向打印机输出80个数据的程序如下:MOV R0,7FH ;R0 指向控制口MOV A,8EH ;方式控制字为8EHMOV R0 ,A ;送方式控制字MOV R1,20H ;送内部RAM数据块首地址至指针R1MOV R2,50H ;置数据块长度 第7章 单片机系统扩展与接口技术 LP:MOV R0,7EH ;R0指向C口LP1:MOVX A,R0 ;读PC7连接BUSY状态 JB ACC.7,LP1 ;查询等待打印机 MOV R0
14、,7CH ;指向A口 MOV A,R1 ;取RAM 数据 MOVX R0,A ;数据输出到8255A口锁存 INC R1 ;RAM地址加1 MOV R0,7FH ;R0指向控制口 MOV A,00H ;PC0复位控制字 MOVX R0,A ;PC0=0,产生STB的下降沿 MOV A,01H ;PC0置位控制字 MOVX R0,A ;PC0=1,产生STB的上升沿 DJNZ R2,LP ;未完,则反复 第7章 单片机系统扩展与接口技术 7.3.2 8155 可编程并行可编程并行I/O接口接口 1.8155的结构与引脚的结构与引脚 图 7.21 8155引脚及结构框图 第7章 单片机系统扩展与接
15、口技术 2.8155 的的RAM和和I/O口的编址口的编址 表 7.6 8155 端口地址表 第7章 单片机系统扩展与接口技术 3.8155 I/O的工作方式的工作方式 8155 I/O的工作方式有两种:基本I/O和选通I/O。1)基本I/O 基本I/O为无条件传送,不需任何联络信号,8155 的A口、B口、C口都可以工作于该方式。第7章 单片机系统扩展与接口技术 2)选通I/O 选通I/O为条件传送,传送的方式可用查询方式,也可用中断方式。8155的A 口、B口均可工作于此方式,这时需由C口提供联络控制信号线。这些联络控制信号线有:(1)BF:I/O缓冲器满标志,输出,高电平有效。(2)ST
16、B:选通信号,输入,低电平有效。(3)INTR:中断请求信号,输入,低电平有效。以上信号线对A口和B口均适用,分别称为ABF,ASTB,AINTR 和 BBF、BSTB、BINTR。它们都由C口提供,如表 7.7 所示。第7章 单片机系统扩展与接口技术 表 7.7 8155 的PC口线联络信号 第7章 单片机系统扩展与接口技术 4.8155的命令的命令/状态字状态字 8155 有一个命令/状态字寄存器,实际上这是两个不同的寄存器,分别存放命令字和状态字。由于对命令寄存器只能进行写操作,对状态寄存器只能进行读操作,因此把它们统一编址,合称命令/状态寄存器。1)命令字 命令字共 8 位,用于定义I
17、/O口及定时器的工作方式。第7章 单片机系统扩展与接口技术 图 7.22 8155的命令字格式 第7章 单片机系统扩展与接口技术 对C口工作方式的说明:D3D2=00(ALT1):A口、B口为基本I/O,C口为输入。D3D2=11(ALT2):A口、B口为基本I/O,C口为输出。D3D2=01(ALT3):A口为选通I/O,B口为基本I/O,C口低 3 位为联络信号,高 3 位输出。D3D2=10(ALT4):A口、B口均为选通I/O,C口低3位作A口联络信号,高 3 位作 B口联络信号。第7章 单片机系统扩展与接口技术 对定时器运行控制位(TM2,TM1)的说明:当TM2TM1=11 时,其
18、操作为:当计数器未计数时,装入计数长度后,立即开始计数;当计数器正在计数时,待计数器溢出后以新装入的计数长度和方式进行计数。第7章 单片机系统扩展与接口技术 2)状态字 图 7.23 8155的状态字格式 第7章 单片机系统扩展与接口技术 5.8155 的定时器的定时器/计数器计数器 8155 的定时器/计数器是一个14位的减法计数器,由两个8位寄存器构成,其格式如下:T7T6T5T4T3T2T1T0M2M1T13T12T11T10T9T8TL(04H)TL(05H)第7章 单片机系统扩展与接口技术 图 7.24 8155定时器方式及输出波形 第7章 单片机系统扩展与接口技术 6.8155的接
19、口电路及应用的接口电路及应用 图 7.25 8155 与MCS-51 的接口 第7章 单片机系统扩展与接口技术 例例 3 在图 7.25 所示的接口电路中,设A口与C口为输入口,B口为输出口,均为基本I/O。定时器为连续方波工作方式,对输入脉冲进行 24 分频。试编写 8155 的初始化程序。命令字可选取为:PA=0,PB=1,PC2PC1=00,IEA=0,IEB=0,TM2TM1=11。即命令字为11000010B=C2H。初始化程序:第7章 单片机系统扩展与接口技术 MOV OPTR,0204H ;指向定时器的低 8 位MOV A,18H ;设置定时器的低 8 位的值MOVX DPTR,
20、A ;写入定时器低 8 位INC DPTR ;指向定时器的高位MOV A,40H ;设置定时器的高 6 位及 2 位输出 方式位的值MOVX DPTR,A ;写入位的值MOV DPTR,0200H ;指向命令口MOV A,C2H ;取 8155 的命令字MOVX DPTR,A ;写入命令字 第7章 单片机系统扩展与接口技术 例例 4 采用图 7.25 所示的电路,从 8155 的A口输入数据,并进行判断:若不为0,则将该数据存入 8155 的RAM中(从起始单元开始,数据总数不超过256个),同时从B口输出,并将PC0 置“1”;若为 0,则停止输入数据,同时将PC0清“0”,试编写程序。MO
21、V DPTR,0200H ;指向命令口MOV A,06H ;设置命令字MOVX DPTR,A ;写入命令字MOV R0,00H ;指向 8155 的RAM区首址MOV R1,00H ;数据总数为 256 个 LP1:MOV DPTR,0201H ;指向A口MOVX A,DPTR ;从A口读入数据JZ LP3 ;为 0 则转 第7章 单片机系统扩展与接口技术 MOVX R0,A ;存入RAM单元INC R0 ;指向下一单元INC DPTR ;指向B口MOVX DPTR,A ;B口输出INC DPTR ;指向C口MOVX A,DPTR ;C口读入SETB ACC,0 ;使PC0=1MOVX DPT
22、R,A ;回送DJNZ R1,LP1 ;未完则反复 LP2:SJMP$;暂停 LP3:MOV DPTR,0203H ;指向C口MOVX DPTR,A ;回送SJMP LP2 第7章 单片机系统扩展与接口技术 7.4 管理功能部件的扩展管理功能部件的扩展 7.4.1 键盘接口键盘接口 键盘实际上是由排列成矩阵形式的一系列按键开关组成,用户通过键盘可以向CPU输入数据、地址和命令。键盘按其结构形式可分为:编码式键盘和非编码式键盘两类。单片机系统中普遍使用非编码式键盘,这类键盘主要解决以下几个问题:键的识别;如何消除键的抖动;键的保护。第7章 单片机系统扩展与接口技术 1.非编码式键盘工作原理非编码
23、式键盘工作原理 非编码式键盘识别按键的方法有两种:一是行扫描法,二是线反转法。1)行扫描法 通过行线发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。为了防止双键或多键同时按下,往往从第 0 行一直扫描到最后 1 行,若只发现 1 个闭合键,则为有效键,否则全部作废。找到闭合键后,读入相应的键值,再转至相应的键处理程序。第7章 单片机系统扩展与接口技术 2)线反转法 线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。先将行线作为输出线,列线作为输入线,行线输出全“0”信号
24、,读入列线的值,然后将行线和列线的输入输出关系互换,并且将刚才读到的列线值从列线所接的端口输出,再读取行线的输入值。那么在闭合键所在的行线上值必为 0。这样,当一个键被按下时,必定可读到一对唯一的行列值。第7章 单片机系统扩展与接口技术 2.键盘接口电路键盘接口电路 图 7.26 采用8155的键盘接口电路 第7章 单片机系统扩展与接口技术 下面的程序是用行扫描法进行键扫描的程序,其中KS1 为判键闭合的子程序。有键闭合时(A)=0。DIR为数码显示器扫描显示子程序,执行一遍的时间约6 ms。程序执行后,若键闭合,键值存入A中,键值的计算公式是:键值=行号4+列号;若无键闭合,则A中存入标志F
25、FH。KEY1:LCALL KS1 ;检查有无闭合键?JNZ LK1 ;(A)=0,有键闭合则转 LJMP LK8 ;无闭合键则返回 LK1:LCALL DIR ;延时 12 ms LCALL DIR ;清抖 LCALL LS1 ;再检查有键闭合否?JNZ LK2 ;有键闭合则转 LJMP LK8 ;无键闭合则返回 第7章 单片机系统扩展与接口技术 LK2:MOV R3,00H ;行号初值送R3 MOV R2,FEH ;行扫描初值送R2LK3:MOV DPTR,0101H ;指向 8155 口A MOV A,R2 ;行扫描值送A MOVX DOTR,A ;扫描 1 行 INC DPTR INC
26、 DPTR ;指向 8155 口C MOVX A,DPTR ;读入列值 ANL A,0FH ;保留低 4 位 MOV R4,A ;暂存列值 CJNZ A,0FH,LK4 ;列值非全“1”则转 MOV A,R2 ;行扫描值送A 第7章 单片机系统扩展与接口技术 JNB ACC.7,LK8 ;扫至最后一行则转RL A ;未扫完,则移至下一行MOV R2,A ;行值存入R2 中INC R3 ;行号加 1SJMP LK3 ;转至扫描下一行 LK4:MOV A,R3 ;行号送入A ADD A,R3 ;行号2 MOV R5,A ADD A,R5 ;行号4 MOV R5,A ;存入R5 中 MOV A,R4
27、 ;列值送A 第7章 单片机系统扩展与接口技术 LK5:RRC A ;右移一位 JNC LK6 ;该位为 0 则转 INC R5 ;列号加 1 SJMP LK5 ;列号未判完则继续LK6:MOV 20H,R5;存键值LK7:LCALL DIR ;扫描一遍显示器 LCALL KS1 ;发扫描信号 JNZ LK7 ;键未释放等待 LCALL DIR ;键已释放 LCALL DIR ;延时 12 ms,清抖 MOV A,20H ;键值存入A中KND:RET 第7章 单片机系统扩展与接口技术 LK8:MOV A,FFH ;无键标志FFH存入A中 RET KS1:MOV DPTR,0101H ;判键子程
28、序 MOV A,00H ;全扫描信号 MOVX DPTR,A ;发全扫描信号 INC DPTR INC DPTR ;指向8155口C MOVX A,DPTR;读入列值 ANL A,0FH ;保留低4位 ORL A,F0H ;高4位取“1”CPL A ;取反,无键按下则全“0”RET 第7章 单片机系统扩展与接口技术 7.4.2 LED显示器接口显示器接口 1.LED显示器结构与原理显示器结构与原理 图 7.27 7段LED数码显示器 第7章 单片机系统扩展与接口技术 各段码位的对应关系如下:第7章 单片机系统扩展与接口技术 表 7.8 十六进制数及空白与P的显示段码 第7章 单片机系统扩展与接
29、口技术 2.LED显示器接口电路显示器接口电路 图 7.28 6 位动态显示器接口 第7章 单片机系统扩展与接口技术 图 7.29 显示子程序流程图 第7章 单片机系统扩展与接口技术 程序清单如下:DIR:MOV R0,79H ;显示缓冲区首址送R0MOV R3,01H ;使显示器最右边位亮MOV A,R3LD0:MOV DPTR,0101H ;扫描值送PA口MOVX DPTR,AINC DPTR ;指向PB口MOV A,R0 ;取显示数据ADD A,12H ;加上偏移量MOVX A,A+PC ;取出字形MOVX DPTR,A ;送出显示 第7章 单片机系统扩展与接口技术 ACALL DL1;
30、延时 INC R0;缓冲区地址加 1 MOV A,R3;JB ACC.5,LD1;扫到第 6 个显示位了吗?RL A;没有,R3 左环移一位,扫描下一个显示位 MOV R3,A AJMP LD0LD1:RETDSEG:DB 3FH,06H,5BH,4FH,66H,6DH ;显示段码表DSEG1:DB 7DH,07H,7FH,6FH,77H,7CH 第7章 单片机系统扩展与接口技术 DSEG2:DB 39H,5EH,79H,71H,73H,3EHDSEG3:DB 31H,61H,1CH,23H,40H,03HDSEG4:DB 18H,00H,00H,00HDL1:MOV R7,02HDW;延时子
31、程序DL:MOV R6,0FFHDL6:DJNZ R6,DL6 DJNZ R7,DL RET 第7章 单片机系统扩展与接口技术 7.4.3 键盘显示器接口键盘显示器接口8279 1.8279的组成及引脚的组成及引脚 8279 芯片有 40 条引脚,由单一+5 V电源供电。它主要由以下几部分组成:(1)I/O控制和数据缓冲器;(2)控制和定时寄存器及定时控制部分;(3)扫描计数器;(4)回送缓冲器与键盘去抖动控制电路;(5)FIFO(先进后出)寄存器和状态电路;(6)显示器地址寄存器及显示RAM。第7章 单片机系统扩展与接口技术 图 7.30 8279的引脚图 第7章 单片机系统扩展与接口技术
32、2.8279的接口电路与应用的接口电路与应用 图 7.31 8031与 8279 接口连接框图 第7章 单片机系统扩展与接口技术 更新显示器和用查询方法读出 16 个键输入数的程序如下:STRT1:MOV OPTR,7FFFH ;7FFFH为 8279 状态地址 MOV A,0D1H;清除命令 MOVX DPTR,A;命令字输入 WAITD:MOVX A,DPTR;读入状态 JB ACC.7,WAITD;清除等待 MOV A,2AH ;对时钟编程,设ALE为 1 MHz,;10 分频为 100 kHz MOVX DPTR,A;命令送入 MOV A,08H ;显示器左边输入外部译码,双键 ;互锁
33、方式 MOVX DPTR,A 第7章 单片机系统扩展与接口技术 MOV R0,30H ;设30H3FH存放显示字形的段数据MOV R7,10H ;显示16位数 MOV A,90H ;输出写显示数据命令 MOVX DPTR,A MOV DPTR,7EFFH ;7EFFH是 8279 数据地址LOOP1:MOV A,R0 MOVX DPTR,A ;段选码送 8279 显示RAM INC R0 ;指向下一个段选码 DJN2 R7,LOOP1 ;16 个段选码送完?MOV R0,40H ;40H为键值存放单元首址 MOV R7,10H ;有 16 个键值LOOP2:MOV DPTR,7FFFH ;读
34、8279 状态 第7章 单片机系统扩展与接口技术 LOOP3:MOVX A,DPTR ANL A,0FH ;取状态字低 4 位 JZ LOOP3 ;FIFO中无键值时等待输入 MOV A,40H ;输出读FIFO的RAM命令 MOVX DPTR,A;命令送入 MOV DPTR,7EFFH ;读键输入数据 MOVX A,DPTR ;读入键值 MOV R0,A ;键值存入内存 40H4FH INC R0 ;指向下一个键值存放单元 DJNZ R7,LOOP2 ;读完 10H个键入数据?HERE:AJMP HERE ;键值读完等待 第7章 单片机系统扩展与接口技术 7.5 A/D和和D/A接口功能的扩
35、展接口功能的扩展 7.5.1 A/D转换器接口转换器接口 1.概述概述 A/D转换器用以实现模拟量向数字量的转换。按转换原理可分为 4 种:计数式、双积分式、逐次逼近式以及并行式A/D转换器。逐次逼近式A/D转换器是一种速度较快,精度较高的转换器,其转换时间大约在几微秒到几百微秒之间。常用的这种芯片有:(1)ADC0801ADC0805型 8 位MOS型A/D转换器;(2)ADC0808/0809 型 8 位MOS型A/D转换器;(3)ADC0816/0817 型 8 位MOS型A/D转换器;第7章 单片机系统扩展与接口技术 量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔由下式计
36、算:其中n为A/D转换器的位数。量化误差有两种表示方法:一种是绝对量化误差;另一种是相对量化误差。绝对量化误差 第7章 单片机系统扩展与接口技术 2.典型典型A/D转换器芯片转换器芯片ADC0809 简介简介 图 7.32 ADC0809的内部结构 第7章 单片机系统扩展与接口技术 图 7.33 ADC0809引脚图 第7章 单片机系统扩展与接口技术 表 7.9 地址码与输入通道的对应关系 第7章 单片机系统扩展与接口技术 图 7.34 ADC0809时序图 第7章 单片机系统扩展与接口技术 3.ADC0809与与8031 的接口电路的接口电路 1)查询方式 图 7.35 ADC0809查询方
37、式硬件接口第7章 单片机系统扩展与接口技术 下面的程序是采用查询方法,分别对 8 路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序。MOV R1,data ;置数据区首址 MOV DPTR,7FF8H ;P2.7=0,指向通道 0 MOV R7,08H ;置通道数LP1:MOVX DPTR,A ;启动A/D转换 MOV R6,0AH ;软件延时DALY:NOP NOP NOP 第7章 单片机系统扩展与接口技术 NOPNOPDJNZ R6,DALYMOVX A,DPTR ;读取转换结果MOV R1,A ;存储数据INC DPTR ;指向下一个通道INC R1 ;修改数据区指针D
38、JNZ R7,LP1 ;8 个通道全采样完了吗?第7章 单片机系统扩展与接口技术 4.中断方式中断方式 图 7.36 ADC0809 中断方式硬件接口 第7章 单片机系统扩展与接口技术 这里将ADC0809 作为一个外部扩展的并行I/O口,直接由8031的P2.0和WR脉冲进行启动。因而其端口地址为 0FEFFH。用中断方式读取转换结果的数字量,模拟量输入通道选择端ADD A、ADD B、ADD C分别与8031的P0.0、P0.1、P0.2 直接相连,CLK由 8031 的ALE提供。其读取通道 0 转换后的数字量程序段如下:ORG 1000H INADC:SETB IT1 ;INT1设为边
39、沿触发 SETB EA ;开中断INT1 SETB EX1 第7章 单片机系统扩展与接口技术 MOV DPTR,0FEFFH ;端口地址送DPTR MOV A,00H ;选择 0 通道输入 MOVX DPTR,A ;启动输入 ORG 0013HAJMP PINT1 PINT1:MOV DPTR,0FEFFH ;端口地址送DPTR MOVX A,DPTR ;读取IN0 的转换结果 MOV 50H,A ;存入 50H单元 MOV A,00H MOVX DPTR,A ;启动A/D,IN0 通道输入并转换 RETI ;返回 第7章 单片机系统扩展与接口技术 7.5.2 D/A转换器接口转换器接口 1.
40、D/A转换器的性能指标转换器的性能指标 (1)分辨率。分辨率是D/A转换器对输入量变化敏感程度的描述,与输入数字量的位数有关。如果数字量的位数为n,则D/A转换器的分辨率为 2-n。(2)建立时间。建立时间是描述 D/A转换速度的一个参数,具体是指从输入数字量变化到输出达到终值误差1/2LSB(最低有效位)时所需的时间。通常以建立时间来表明转换速度。(3)接口形式。D/A转换器有两类:一类不带锁存器,另一类则带锁存器。对于不带锁存器的D/A转换器,为保存单片机的转换数据,在接口处要加锁存器。第7章 单片机系统扩展与接口技术 2.典型典型D/A转换器转换器DAC0832简介简介 图 7.37 D
41、AC0832内部结构框图 第7章 单片机系统扩展与接口技术 图 7.38 第7章 单片机系统扩展与接口技术 图 7.39 DAC0832的引脚图 第7章 单片机系统扩展与接口技术 3.DAC0832与与MCS-51 的接口及应用的接口及应用 1)单缓冲方式 图 7.40 DAC0832单缓冲方式接口电路 第7章 单片机系统扩展与接口技术 执行下面的几条指令就能完成一次D/A转换:MOV DPTR,7FFFH;指向DAC0832 MOV A,DATA;数字量装入A MOVX DPTR,A;完成一次D/A输入与转换 第7章 单片机系统扩展与接口技术 2)双缓冲方式 图 7.41 DAC0832双缓
42、冲方式接口电路 第7章 单片机系统扩展与接口技术 MOV DPTR,0DFFFH ;指向DAC0832(1)MOV A,data1 ;data1送入DAC0832(1)中锁存MOVX DPTR,A ;MOV DPTR,0BFFFH ;指向DAC0832(2)MOV A,data2 ;data2送入DAC0832(2)中锁存MOVX DPTR,AMOV DPTR,7FFFH ;给0832(1)和(2)提供WR信号MOVX DPTR,A ;同时完成D/A转换输出 第7章 单片机系统扩展与接口技术 图 7.42 阶梯波形图 第7章 单片机系统扩展与接口技术 产生阶梯波的程序如下:START:MOV A,00H ;MOV DPTR,7FFFH ;0832 的地址送DPTR MOV R1,0AH ;台阶数为 10LP:MOVX DPTR,A ;送数据至 0832 CALL DELAY ;1 ms延时 DJN2 R1,NEXT ;不到 10 台阶转移 SJMP STRT ;产生下一个周期NEXT:ADD A,10 ;台阶增幅 SJMP LP ;产生下一台阶DELAY:MOV 20H,249 ;1 ms延时程序AGAIN:NOP NOP DJNZ 20H,AGAIN