资源预览内容
第1页 / 共48页
第2页 / 共48页
第3页 / 共48页
第4页 / 共48页
第5页 / 共48页
第6页 / 共48页
第7页 / 共48页
第8页 / 共48页
第9页 / 共48页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章内容提要内容提要 并行接口并行接口I/O扩展器件扩展器件8255A 模数转换器模数转换器 MAX114与与51机接口电路设计机接口电路设计 数模转换器数模转换器DAC0832单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章9.1并行接口并行接口I/O扩展器件扩展器件8255A并行接口芯片并行接口芯片8255A是是Intel公司产品。在单片机公司产品。在单片机I/O扩展中得到了广泛的应用。扩展中得到了广泛的应用。并行接口芯片有并行接口芯片有8155H、8255A、Z-80PIO、MC6820等,他们有差异,但工作原理基本相同。等,他们有差异,但工作原理基本相同。本书只本书只讨论讨论8255A。9.1.1 8255A的内部结构和外部特性的内部结构和外部特性 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章并行接口分为并行接口分为不可编程和可编程接口不可编程和可编程接口芯片两种。芯片两种。所谓可编程就是具有可选择性,应用起来更灵活,所谓可编程就是具有可选择性,应用起来更灵活,这类芯片在计算机系统中得到广泛应用。这类芯片在计算机系统中得到广泛应用。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章1.8255A的基本特性的基本特性(1)具有具有A、B两个两个8位和位和C口高口高/低两个低两个4位并行位并行I/O端口的接口芯片,提供端口的接口芯片,提供TTL电平兼容的接口,其中电平兼容的接口,其中C口有口有按位置按位置/复位功能。复位功能。(2)能适应能适应CPU与与I/O接口间的多种数据传送方式接口间的多种数据传送方式的要求。如无条件传送、查询方式传送和中断传送,与此的要求。如无条件传送、查询方式传送和中断传送,与此相应,相应,8255A设置了方式设置了方式0,方式,方式1及方式及方式2。(3)通过方式字命令寄存器设置其功能。通过方式字命令寄存器设置其功能。(4)单一)单一5V电源供电。电源供电。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章(2)8255A的内部结构的内部结构8255A的内部结构与管脚布置如的内部结构与管脚布置如图图9-1所示。所示。8255A由由以下几部分组成:以下几部分组成:(1)数据(或数据(或I/O)端口)端口A、B、C: (2)A组和组和B组控制电路组控制电路 (3)8位数据总线缓冲器及控制逻辑单元,包括:位数据总线缓冲器及控制逻辑单元,包括:读读/写、地址线、复位信号输入及片选输入端共写、地址线、复位信号输入及片选输入端共6线,线,如图如图9-1 (a)所示。)所示。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章3 8255A芯片的管脚芯片的管脚以以40引脚双列直插式标准芯片为例,其引脚排列引脚双列直插式标准芯片为例,其引脚排列如图如图9-1 (b)所示)所示。其中其中A1、A0:寄存器线。用于选择:寄存器线。用于选择8255A内内部端口。部端口。8255A内部有内部有3个数据(个数据(I/O)端口和)端口和1个控制个控制端口,端口,A1、A0的的4种组合,分别对应种组合,分别对应8255A内部的内部的4个个端口地址,端口地址,表表9-1给出给出8255A内部各端口地址的偏移量内部各端口地址的偏移量及工作状态选择方式。及工作状态选择方式。注意:注意:A1、A0:也可以称为地址线:也可以称为地址线。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章4基地址概念基地址概念同一接口器件,在不同应用系统中的绝对地址一般同一接口器件,在不同应用系统中的绝对地址一般是不同的。但在地址连续的前提下,一个器件内各个寄存是不同的。但在地址连续的前提下,一个器件内各个寄存器的相对位置是不变的,因此,在接口技术中,经常出现器的相对位置是不变的,因此,在接口技术中,经常出现基地址这一词汇,其定义为:器件中寄存器的最低地址。基地址这一词汇,其定义为:器件中寄存器的最低地址。从定义出发,再结合表从定义出发,再结合表9-1可知,可知,8255A 的基地址是的基地址是A口寄口寄存器的地址,存器的地址, A、B、C口及控制字寄存器相对于基地址口及控制字寄存器相对于基地址的偏移量分别为的偏移量分别为0、1、2、3。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章9.1.2 8255A的编程命令的编程命令8255A的编程命令包括的编程命令包括工作方式命令工作方式命令和对和对PC口的按口的按位操作命令位操作命令,通过对,通过对控制字寄存器控制字寄存器各位的配置、按位操作各位的配置、按位操作命令来实现的。命令来实现的。 1。方式控制字。方式控制字8255A的工作方式可由的工作方式可由CPU写入控制字到写入控制字到8255A的控的控制寄存器来选择,方式控制字的格式制寄存器来选择,方式控制字的格式如图如图9-2所示。所示。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章【例例9-1】设某一设某一51机系统分配给机系统分配给8255A的基地址为的基地址为E000H。编写一个将。编写一个将A组指定为方式组指定为方式1,A口输入,口输入,C口上口上半部定为输出;半部定为输出;B组指定为方式组指定为方式0,B口输出,口输出,C口下半部口下半部定为输出的定为输出的8255A初始化程序段。初始化程序段。解解 根据图根据图9-2得到得到8255A的工作方式命令代码:的工作方式命令代码:10110000B或或B0H。将此代码写入将此代码写入8255A的控制字寄存器,完成对的控制字寄存器,完成对8255A的初始化,初始化的程序段为:的初始化,初始化的程序段为: 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章MOVDPTR,#0E003H;控制字地址;控制字地址=基地址基地址+3MOVA,#0B0H ;初始化命令;初始化命令MOVXDPTR,A ;送入控制字端口;送入控制字端口注意:注意:(1)8255A的基地址是的基地址是A口而不是控制寄存器。口而不是控制寄存器。(2)所有的可编程接口芯片,应先定义,后使用。)所有的可编程接口芯片,应先定义,后使用。(3)8255A上电复位之初,默认上电复位之初,默认3个口均为方式个口均为方式0输输入。所以在使用入。所以在使用8255A时,一定要先进行初始化工作,确时,一定要先进行初始化工作,确定其工作方式。定其工作方式。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章2PC口按位置口按位置/复位命令字复位命令字8255A的端口的端口C是一个特殊的是一个特殊的8位并行口,在输出状位并行口,在输出状态下,还可指定态下,还可指定C口的某一位(某一个管脚)输出高电平口的某一位(某一个管脚)输出高电平或低电平,称为或低电平,称为C口的按位置口的按位置/复位功能。并且,此功能不复位功能。并且,此功能不受工作方式的限制。而受工作方式的限制。而A、B口不具备按位置口不具备按位置/复位功能。复位功能。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章对对PC口的按位操作口的按位操作命令命令,是通过对,是通过对8255A的的控制字控制字寄存器寄存器写命令代码实现的。写命令代码实现的。若写入的命令字的最高位若写入的命令字的最高位D7=1,则是工作方式命令;,则是工作方式命令;若若D7=0,则是对,则是对PC口按位置位口按位置位/复位命令。复位命令。C口的按位置口的按位置/复位命令字格式的特点:复位命令字格式的特点:8位命令数据,位命令数据,其中其中最高位是特征位,一定要写最高位是特征位,一定要写0,以区别方式命令,以区别方式命令。其。其余各位根据定义,按用户的设计要求写余各位根据定义,按用户的设计要求写1或或0,而字节中的,而字节中的高高3位,与命令内容无关,可以用位,与命令内容无关,可以用“1”或或“0”填充,但填充,但习惯用习惯用“0”填充。如填充。如图图9-3所示。所示。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章【例例9-2】设设8255A已按例已按例9-1的要求初始化,的要求初始化,8255A的基地址仍为的基地址仍为E000H。现要把。现要把C口的口的PC6管脚置成高电平,管脚置成高电平,试写出完成此任务的程序段。试写出完成此任务的程序段。解:根据题意,命令字应为解:根据题意,命令字应为00001101B或或0DH。程序。程序段如下:段如下:MOVDPTR,#0E003H;控制字地址;控制字地址=基地址基地址+3MOVA,#0DH ;C口按位置位、复位命令口按位置位、复位命令MOVXDPTR,A ;送入控制字端口;送入控制字端口单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章9.1. 3. 8255A的工作方式的工作方式08255A有三种工作方式,即方式有三种工作方式,即方式0,1,2。1。方式。方式0及其应用及其应用具有如下特点:具有如下特点:(1)方式)方式0是基本输入是基本输入/输出方式。输出方式。不用联络信号。不用联络信号。采用采用查询方式无条件传送。不能采用中断方式与查询方式无条件传送。不能采用中断方式与CPU交换交换数据。数据。图图9-4为为8255A在工作方式在工作方式0下的功能结构图;下的功能结构图;单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章(2)各端口在输出方式下均有锁存功能,输入时有各端口在输出方式下均有锁存功能,输入时有三态缓冲能力。三态缓冲能力。 (3)在方式)在方式0下彼此独立的两个下彼此独立的两个8位和两个位和两个4位并行位并行口,共口,共24根根I/O线全部由用户支配,都能被指定作为输入线全部由用户支配,都能被指定作为输入或输出用,共有或输出用,共有16种不同的使用组态。种不同的使用组态。在方式在方式0下,下,C口口的高、低的高、低4位可分别或同时定义为输入或输出,位可分别或同时定义为输入或输出,但读、写但读、写时时8位要位要一起行动。一起行动。(4)C口还可按位进行置位或复位。口还可按位进行置位或复位。 方式方式0是是8255A最基本、最常用的一种工作方式。最基本、最常用的一种工作方式。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章【例例9-3】设设8255A的初始化要求为:的初始化要求为:A组、组、B组均为组均为方式方式0,A口为输入,其它口均为输出,口为输入,其它口均为输出,8255A基地址为基地址为E000H。编程实现:(。编程实现:(1)将)将A口的状态读入单片机;口的状态读入单片机;(2)将)将B口的高口的高4位置位置1,低,低4位清位清0;(;(3)C口下半部输口下半部输出出1010,并且要求不影响,并且要求不影响C口上半部输出状态。口上半部输出状态。解:解:8255A的初始化命令字为:的初始化命令字为:10010000B或或90H。参考程序如下:参考程序如下: 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章ORG0000HLJMPSATRTORG0100HSTART:MOVSP,#5FHMOVDPTR,#0E003H;控制口地址;控制口地址MOVA,#90H ;初始化命令;初始化命令MOVXDPTR,A ;先定义,后使用;先定义,后使用MOVDPTR,#0E000H;端口;端口A地址地址MOVXA,DPTR;读入寄存器;读入寄存器A;其它处理工作其它处理工作单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章INCDPTR;8255A端口端口B =基地址基地址+1MOVA,#0F0H ;(;(2)B口的高口的高4位置位置1,低,低4位清位清0MOVXDPTR,A ;送入端口;送入端口B;其它处理工作;其它处理工作单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章MOVDPTR,#0E002H;8255A端口端口C地址地址=基地址基地址+2MOVXA,DPTR ;(;(3)将)将C口的状态读入口的状态读入AANLA,#0F0H;不影响;不影响C口上半部状态口上半部状态ORLA,#0AH;(;(3)C口下半部输出口下半部输出MOVXDPTR,A;送入端口;送入端口C;其它处理工作;其它处理工作END 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章在方式在方式0下,下,A口、口、B口也可以按位输出高口也可以按位输出高/低电平,低电平,但与但与C口按位置位口按位置位/复位命令有本质差别,实现方法也不同。复位命令有本质差别,实现方法也不同。例如,只将例如,只将PB7输出高输出高/低电平,其它位不变的程序段为:低电平,其它位不变的程序段为:MOVDPTR,#0E001H;端口;端口B地址地址MOVXA,DPTRORLA,#80H ;使;使PB7= 1MOVXDPTR ,A;使;使PB7输出高电平输出高电平MOVDPTR,#0E001H;端口端口B地址地址 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章MOVXA,DPTRANLA,#7FH ;使;使PB7输出低电平输出低电平MOVXDPTR ,A 根据根据8255A工作方式工作方式0提供提供I/O的特点,的特点,方式方式0一般用一般用于无联络信号线的查询传送,或无条件传送的场合。于无联络信号线的查询传送,或无条件传送的场合。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章【例例9-4】 某某51机扩展系统电路原理如图机扩展系统电路原理如图9-5所示。所示。(1)试指出)试指出8255A的基地址、端口的基地址、端口A、B、C及控制及控制口的地址。口的地址。(2)图)图 9-6是由图是由图9-5中的中的8255A 控制的控制的44行列扫行列扫描描-I/O编码键盘接口电路,试编写键值识别程序。编码键盘接口电路,试编写键值识别程序。 (3)图)图9-7是由图是由图9-5中的中的8255A 与与8位共阳型位共阳型LED数码管的接口电路图,试编写对其的显示驱动程序。数码管的接口电路图,试编写对其的显示驱动程序。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章解:解:(1)要选中图)要选中图9-5中的中的8255A,而不选,而不选DAC0832,只需只需P2.6为为0,P2.7为为1即可,将与选片无关的即可,将与选片无关的14根地址线根地址线全取全取0和全取和全取1,得到:,得到:1000 0000 0000 0000和和1011 1111 1111 1111所形成的闭区间,即所形成的闭区间,即8000HBFFFH就是就是8255A的地址范围,取的地址范围,取8000H为为8255A的基地址,于是端口的基地址,于是端口A、B、C及控制口的一套地址分别为:及控制口的一套地址分别为:8000H、8001H、8002H、8003H。 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章(2)编写之前,先要确定)编写之前,先要确定8255A的工作方式。为此,的工作方式。为此,需要将键盘电路和显示驱动电路综合起来,才能得到适合需要将键盘电路和显示驱动电路综合起来,才能得到适合图图9-6和图和图9-7两个电路两个电路8255A的输入的输入/输出功能组态。输出功能组态。从图从图9-6可知,可知,8255A的的C口低口低4位,提供列扫描电压,位,提供列扫描电压,应该设置为输出,应该设置为输出,C口高口高4位,监视行状态,应设置为输位,监视行状态,应设置为输入;图入;图9-7中,中,8255A的的A口提供显示段码,口提供显示段码,B口提供显示口提供显示器位扫描电压的,都应设置为输出。器位扫描电压的,都应设置为输出。 由以上分析的结果可知,由以上分析的结果可知,8255A的命令控制字应为:的命令控制字应为:10001000B,即,即88H。单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章键盘扫描原理与键盘扫描原理与4.6.3的行的行列扫描列扫描I/O编码原理相同,编码原理相同,但图但图9-6中行、列的分配正好图与中行、列的分配正好图与4-14相反,但如果将图相反,但如果将图9-6顺时针转顺时针转90,两个图的行、列就没有差别了!,两个图的行、列就没有差别了!键盘识别方法再复述如下:程序周期地运行,在每键盘识别方法再复述如下:程序周期地运行,在每个周期中,依次将个周期中,依次将 “列列”拉低(本例为拉低(本例为PC0PC3),在),在此期间,读取此期间,读取“行行”值(本例为值(本例为PC4PC7),若行值中所),若行值中所有位均为有位均为1,则此时没有按键下;只要行值中有,则此时没有按键下;只要行值中有0值的位,值的位,则与该位对应的键被按下。则与该位对应的键被按下。以下是键盘列扫描以下是键盘列扫描I/O识别的识别的C51源程序清单:源程序清单: 单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计单片机原理及程序设计 第第第第9 9 9 9章章章章本部分结束本部分结束本章习题(建议)本章习题(建议)习题习题9:9-1、9-2
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号