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