第八章AT系列单片机的接口扩展技术.ppt
《第八章AT系列单片机的接口扩展技术.ppt》由会员分享,可在线阅读,更多相关《第八章AT系列单片机的接口扩展技术.ppt(105页珍藏版)》请在三一办公上搜索。
1、2023/6/23,1,单片机原理与应用电子课件,第 8 章,AT89系列单片机的接口扩展技术,2023/6/23,2,本章主要内容:8.1 I/O接口的扩展技术 8.2 键盘及其与单片机的接口技术 8.3 LED显示器及其与单片机的接口技术 8.4 LCD显示器及其接口技术 8.5 A/D、D/A转换器及其与单片机的接口技术,2023/6/23,3,I/O接口的功能 实现和不同外设的速度匹配;输出数据锁存;输入数据三态缓冲.,实现和不同外设的速度匹配多种多样外设的工作速度差别很大,但大多数外设的速度很慢,无法和s量级的单片机速度相比。单片机和外设之间的数据传送方式有同步、异步、中断三种。无论
2、采用哪种方式来设计I/O接口电路,单片机只有在确认外设已为数据传送做好准备的前提下才能进行I/O操作。而知道外设是否准备好,就需要I/O接口电路与外设之间传送状态信息,以实现单片机与外设之间的速度匹配。,8.1 I/O接口的扩展技术,2023/6/23,4,输出数据锁存由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据锁存器,以保证输出数据能被接收设备所接收。可见数据输出锁存应成为I/O接口电路的一项重要功能。输入数据三态缓冲输入设备向单片机输入数据时,要经过数据总线,但数据总线上面可能“挂”有多个数据源,为了传送数据时不发生冲突,只允许
3、当前时刻正在进行数据传送的数据源使用数据总线,其余的数据应处于隔离状态,为此要求接口电路能为数据输入提供三态缓冲功能。,8.1 I/O接口的扩展技术,2023/6/23,5,I/O端口(Port)I/O口的编址 I/O接口(Interface)I/O端口编址方式,I/O端口(Port)I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口(Interface)I/O接口是指单片机与外设的I/O接口芯片。一个I/O接口芯片可以有多个I/O端口,传送数据的称为数据口,传送命令的称为命令口,传送状态的称为状态口。,8.1 I/O接口的扩展技术,2023/6/23,6,I
4、/O端口编址方式常用的I/O端口编址有两种方式,一种是统一编址方式(或称为存储器映像编址),另一种是独立编址方式。,8.1 I/O接口的扩展技术,统一编址方式统一编址就是I/O端口的寄存器与存储器单元同等对待,统一进行编址,把存储器的一部分地址空间分给端口,把每一个端口作为一个存储单元。统一编址的优点是对端口信息的处理就像对主存储器单元一样,不必专门设置专门的输入输出指令来访问端口,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。但是,统一编址会减少存储器容量。,2023/6/23,7,8.1 I/O接口的扩展技术,独立编址方式独立编址就是I/O地址空间和存储器地址空间分开编址
5、,端口不占存储器地址空间。独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但是,必须设置专门的输入输出指令访问端口。访问存储器与访问端口采用不同的指令,译码后,产生的控制信息不同,其地址虽有重叠,但不会发生冲突。,2023/6/23,8,I/O接口数据的传送方式 无条件传送方式;查询传送方式;中断传送方式.,无条件传送方式无条件传送又称为同步传送。当外设时刻都处于“准备好”状态,外设的速度可与单片机速度相比拟时,常采用同步传送方式,这种方式不需要交换状态信息。例如,将数据输出给LED数码管,一般采用这种传送方式。由于无条件传送方式在任何时候都不考虑外设是否准备好,常常会产生错
6、误,所以,很少场合使用此种传送方式。,8.1 I/O接口的扩展技术,2023/6/23,9,查询传送方式查询传送又称为有条件传送,也称为异步传送。查询传送方式可以避免无条件传送方式出现的错误。在查询传送方式中,单片机首先要查询外设是否准备好,只有当外设淮备好后,再进行数据传送。查询方式的过程为:查询等待数据传送。查询传送的优点是通用性好,可用于各种速度的外设和单片机之间的数据传送,硬件连线和查询程序十分简单。其缺点是效率不高,在连续传送数据时,每传送一个数据,都有一个等待过程,等待期间CPU不能进行其他操作,CPU利用率低。为了提高单片机的工作效率,通常采用中断传送方式。,8.1 I/O接口的
7、扩展技术,2023/6/23,10,中断传送方式中断传送方式是利用AT89系列单片机本身的中断功能和I/O接口的中断功能来实现I/O数据的传送。在这种方式中,CPU不再进行查询,只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,采用中断传送方式可以大大提高单片机的工作效率。,8.1 I/O接口的扩展技术,2023/6/23,11,简单I/O接口的扩展 利用74LS系列TTL电路或CMOS电路锁存器、三态门电路作为IO端口扩展芯片。这种I/O端口一般都是通过P0口扩展,它具有电路简单、成本低、配置
8、灵活的优点。,一种扩展简单IO端口的实例,8.1 I/O接口的扩展技术,2023/6/23,12,一种扩展简单IO端口的实例,8.1 I/O接口的扩展技术,电路的功能是按下任意健,对应的LED发光。,2023/6/23,13,简单IO端口的实例,电路的功能是按下任意健,对应的LED发光的汇编语言和C语言程序:,8.1 I/O接口的扩展技术,LOOP:MOV DPTR,#0FEFFH;扩展I/O口地址送DPTR MOVX A,DPTR;通过74LS244读入数据,检测键的状态 MOVX DPTR,A;向74LS373输出数据,驱动LED SJMP LOOP;循环C语言程序:#include#in
9、cludeunsigned char i;main()while(1)/循环 i=XBYTE0 xfeff;/通过74LS244读入数据,检测键的状态 XBYTE0 xfeff=i;/向74LS373输出数据,驱动LED,2023/6/23,14,可编程8255A的并行I/O扩展 8255A芯片介绍 8255A控制字 8255A的3种工作方式 8255A和AT89系列单片机的接口,8.1 I/O接口的扩展技术,2023/6/23,8255A芯片介绍8255A是Intel公司生产的可编程并行I/O接口芯片,具有3个8位的并行I/O口,3种工作方式,8255A可编程并行I/O接口芯片与一般接口芯片
10、(如前面介绍的74LS244/74LS373)一样可对单片机的I/O口进行扩展,但8255A可通过编程改变其功能,因而使用灵活方便,通用性强。,8255A内部结构 8255A内部结构见图8-2,它由以下4部分组成:1)并行I/O端口A、B、C 2)A组和B组控制器 3)数据总线缓冲器 4)读/写控制逻辑电路线,8.1 I/O接口的扩展技术,2023/6/23,16,8.1 I/O接口的扩展技术,8255A引脚说明 8255A共有40只引脚,采用双列直插式封装,各引脚功能如下:D7D0:三态双向数据线,与单片机数据总线连接,用来传送数据信息。:片选信号线,低电平有效,表示本芯片被选中:读出信号线
11、,控制8255A中数据的读出:写入信号线,控制向8255A数据的写入。PA7PA0:A口输入/输出线。PB7PB0:B口输入/输出线。PC7PC0:C口输入/输出线。A1、A0:地址线,用来选择8255A内部的4个端口,如表8-1所示。,8.1 I/O接口的扩展技术,2023/6/23,18,8.1 I/O接口的扩展技术,2023/6/23,8255A控制字8255A有两种控制字即工作方式选择控制字和C口置位/复位控制字。这两个控制字以D7位为标志位,若D7=1为工作方式选择控制字,若D7=0为C口置位/复位控制字。,8.1 I/O接口的扩展技术,工作方式选择控制字 3种工作方式由写入控制字寄
12、存器的方式控制字来决定。方式控制字的格式如图8-4所示。3个端口中C被分为2个部分,上半部分随A口称为A组,下半部分随B口称为B组。其中A口可工作于方式0、1和2,而B口只能工作在方式0和1。,2023/6/23,20,8.1 I/O接口的扩展技术,C口置位/复位控制字本控制字可使C口8位中的任意一位置位为“1”或复位清“0”。通过控制C口的各位状态,实现某些控制功能。其控制字格式如图8-5所示。,8.1 I/O接口的扩展技术,2023/6/23,例如,07H写入控制口,置1 PC3;08H写入控制口,PC4清0。若8255A的控制口寄存器地址为FBH,PC5先置“1”,后清“0”的程序如下:
13、MOV R0,#0FBH;控制字端口地址送R0MOV A,#0BH;PC5置“1”控制字送AMOVX R0,A;使PC5=1MOV A,#0AH;PC5清“0”控制字送AMOVX R0,A;使PC5=0,8.1 I/O接口的扩展技术,2023/6/23,8255A的三种工作方式8255A有3中工作方式:1)方式0:基本输入输出;2)方式1:选通输入输出;3)方式2:双向传送(仅A口有)。,方式0方式0是一种基本的输入/输出方式。在方式0下,AT89系列单片机可对8255A进行I/O数据的无条件传送,8255A的A口、B口和C口均可设定为方式0,并可根据需要规定各端口为输入方式或输出方式。825
14、5A的方式0称为基本输入/输出方式。方式0的基本功能为:1)具有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)2)任一个端口都可以设定为输入或输出。3)数据输出锁存,输入不锁存。,8.1 I/O接口的扩展技术,2023/6/23,例:假设8255A的控制字寄存器地址为FF7FH,则令A口和C口的高4位工作在方式0输出,B口和C口的低4位工作于方式0输入。初始化程序:MOV DPTR,#0FF7FH;控制字寄存器地址送DPTR MOV A,#83H;方式控制字83H送AMOVX DPTR,A;83H送控制字寄存器,8.1 I/O接口的扩展技术,方式1方式1是一种选通输入/输出工作
15、方式。A口和B口都可以独立地设置成这种工作方式。在方式1下,8255A的A口和B口通常用于传送和它们相连外设的I/O数据,C口作为A口和B口的握手联络线,图中标有I/O各位仍可用作基本输入/输出,不作联络线用。,8.1 I/O接口的扩展技术,1)方式1输入当任一端口工作于方式1输入时,控制联络信号如图8-6所示,2023/6/23,26,8.1 I/O接口的扩展技术,8.1 I/O接口的扩展技术,A口的输入方式1工作示意图见8-7。,方式2方式2是一种双向总线方式。只有A口才能设定为方式2。在方式2下,PA7PA0为双向I/O总线。当作输入总线使用时,PA7PA0受 和 控制,其工作过程和方式
16、1输入时相同;当作输出总线使用时,PA7PA0受、控制,其工作过程和方式1输出时相同。,8.1 I/O接口的扩展技术,B口方式1选通输出工作示意图,2023/6/23,29,8.1 I/O接口的扩展技术,2023/6/23,8255A和AT89系列单片机的接口,8.1 I/O接口的扩展技术,8255A端口地址的确定8255A的A、B、C及控制口的地址分别为:0000H、0001H、0002H、0003H。,8.1 I/O接口的扩展技术,软件编程如图8-10所示,在8255A的B口接有8个按键,A口接有8个发光二极管,按下某键对应的发光二极管发光。实现的程序如下:,汇编语言参考程序:MOV DP
17、TR,#0FF7FH;指向8255控制口 MOV A,#83H MOVX DPTR,A;向控制口写控制字,A口输出,B口输入 LOOP:MOV DPTR,#0FF7DH;指向8255A的B口 MOVX DPTR,A;检测按键,将按键状态读入累加器A MOV DPTR,#0FF7CH;指向8255A的A口 MOVX DPTR,A;驱动LED发光 SJMP LOOP,8.1 I/O接口的扩展技术,C语言参考程序:#include#include#define portA XBYTE0 xff7c#define portB XBYTE0 xff7d#define portCR XBYTE0 xff7
18、funsigned char i;void main()while(1)portCR=0 x83;/向8255A控制口写入控制字,A口输出,B口输入 while(1)i=portB;/监测8255A的B口按键,读入按键状态 portA=i;/向8255A的A口输出数据,驱动LED发光,2023/6/23,33,键盘的工作原理键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说,键盘是一组规则排列的开关。,按键的分类 触点式开关按键结构原理 无触点式开关按键,8.2 键盘及其与单片机的接口技术,编码键盘接口原理 非编码键盘,2023/6/23,按键的结构特点 微机键盘通常使用机
19、械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,抖动时间的长短与开关的机械特性有关,一般为510ms 在触点抖功期间检测按键的通与断状态,可能导致判断出错,必须采取去抖动措施,可采用硬件去抖与软件去抖的方法。,8.2 键盘及其与单片机的接口技术,2023/6/23,硬件去抖动可采用在键输出端加RS触发器或单稳态触发器构成去抖动电路。图8-12是一种由R-S触发器构成的去抖动电路。,8.2 键盘及其与单片机的接口技术,2023/6
20、/23,软件去抖动在检测到有按键按下时,执行一个10ms左右的延时程序后,再确认该按键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。,按键编码一组按键或键盘都要通过接口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换为相对应的键值,以实现按键功能程序的跳转。,编制键盘程序一个完善的键盘控制程序应具备以下功能:(1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。(2)判断是哪一个键按下,并且每次只处理一个按键。(3)准确输出按键值(或键号),以满足跳转指令要求。,8.2 键盘及其与单片机的
21、接口技术,2023/6/23,37,独立式按键与单片机的接口键盘是由一组规则排列的按键组成,一个按键实际上是一个开关元件,也就是说,键盘是一组规则排列的开关。,独立式按键结构独立式键盘的结构如图8-13所示,这是最简单的键盘结构形式。,8.2 键盘及其与单片机的接口技术,2023/6/23,独立式键盘与AT89单片机的接口图8-14为独立式按键程序查询方式和中断方式的接口电路。,8.2 键盘及其与单片机的接口技术,2023/6/23,独立式按键的软件设计程序清单如下:START:MOV A,#0FFH;置P1口为输入方式 MOV P1,ALOOP:MOV A,P1;读键值 CJNE A,#0F
22、FH,L0;有键按下否 SJMP LOOP;无键按下等待L0:LCALL DELAY;调延时去抖 MOV A,P1;重新读入键盘状态CJNE A,#0FFH,L1;非误读,转SJMP LOOPL1:JNB ACC.0,K0;为0号键按下,转相应程序K0 JNB ACC.1,K1;为1号键按下,转相应程序K1 JNB ACC.2,K2 JNB ACC.3,K3,8.2 键盘及其与单片机的接口技术,JNB ACC.5,K5 JNB ACC.6,K6 JNB ACC.7,K7 SJMP START;无键按下,返回K0:AJMP KEY0;各功能键程序入口地址表K1:AJMP KEY1 K2:AJMP
23、 KEY2K3:AJMP KEY1 K4:AJMP KEY2 K5:AJMP KEY1 K6:AJMP KEY2 K7:AJMP KEY1 KEY0:;0号功能键处理程序 LJMP START;0号键处理程序执行完返回 KEY7:;7号功能键处理程序 LJMP START;7号键处理程序执行完返回,8.2 键盘及其与单片机的接口技术,2023/6/23,41,矩阵式键盘与单片机的接口,矩阵式键盘的结构及工作原理,8.2 键盘及其与单片机的接口技术,2023/6/23,42,键盘的编码对于矩阵式键盘,按键的位置由行号和列号唯一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高
24、4位是行号,低4位是列号。,8.2 键盘及其与单片机的接口技术,矩阵式键盘按键的识别扫描法:1)判断有无键按下。2)如果有键按下,识别是哪一个键按下,键盘扫描取得闭合键的行、列值。3)用计算法或查表法得到键值。4)判断闭合键是否释放,如没释放则继续等持5)将闭合键键号保存,同时转去执行该闭合键的功能。,2023/6/23,43,8.2 键盘及其与单片机的接口技术,2023/6/23,44,键盘的工作方式(1)编程扫描方式 利用CPU在完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。(2)定时扫描工作方式 每隔一定的时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例如1
25、0ms)的定时,当定时时间到就产生定时器溢出中断,CPU响应定时器溢出中断请求,对键盘进行扫描(3)中断扫描工作方式 当无键按下时,CPU处理自己的工作,不需要理睬键盘;当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。,8.2 键盘及其与单片机的接口技术,2023/6/23,45,矩阵式键盘的软件设计键盘的硬件电路如图8-17所示。,8.2 键盘及其与单片机的接口技术,2023/6/23,46,矩阵式键盘的软件设计扫描时,首先将行设置为低电平,在判断有键按下后,读入列状态。如果列状态出现并非全部为1状态,这时0状态的列与行相交的键就是被按下的键。汇编语言与C语言程序见课本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 AT 系列 单片机 接口 扩展 技术

链接地址:https://www.31ppt.com/p-5301202.html