收藏 分销(赏)

第7章 单片机并行IO扩展.ppt

上传人:xrp****65 文档编号:13332024 上传时间:2026-03-02 格式:PPT 页数:78 大小:1.79MB 下载积分:10 金币
下载 相关 举报
第7章 单片机并行IO扩展.ppt_第1页
第1页 / 共78页
第7章 单片机并行IO扩展.ppt_第2页
第2页 / 共78页


点击查看更多>>
资源描述
,课程:单片机技术 教材:单片机基础,第,7,章 单片机并行,I/O,扩展,教学基本要求,:,(,1,)、了解单片机,I/O,扩展的原因;,(,2,)、熟悉单片机,I/O,的控制方式及编址技术;,(,3,)、熟悉单片机,I/O,的,直接应用及简单扩展的方法;,(,4,)、掌握,8255,芯片的应用方法;,(,5,)、掌握单片机键盘接口技术;,(,6,)、掌握单片机,LED,显示器接口技术;,教学重点,:,(,1,)、,8255,与,MCS-51,单片机的接口方法;,(,2,)、单片机独立式键盘接口技术;,(,3,)、单片机,LED,显示器动态扫描接口技术;,教学难点,:,(,1,)、键盘扫描子程序、,LED,显示子程序的设计。,7.1,单片机,I/O,扩展基础知识,7.1.1 I/O,接口电路的功能,1,、速度协调;,2,、输出数据锁存;,3,、数据总线隔离;,4,、数据转换;,5,、增强驱动能力,7.1.2,关于接口电路的更多说明,1,、接口与接口电路,(,a,)接口:是研究单片机与外设之间的连接问题。,(,b,)接口电路,:,是指,单片机与外设之间接口界面的硬件电路。,2,、口或端口,指接口电路中,已被编址并能进行读,/,写操作的寄存器,简称口。,一个接口电路往往对应着多个口地址,使用端口其实质是对寄存器进行读写操作。它通常包含以下部分:,1,)数据寄存器,用于保存输入,/,输出数据;,2,)状态寄存器,用于保存外设的状态信息;,3,)命令寄存器,用于保存来自,CPU,有关数据传送的控制命令。,以上各寄存器均为可读,/,写的编址寄存器,具有确定的地址,,CPU,可对其进行读,/,写操作,3,、,I/O,接口的特点,4,、并行接口与串行接口,7.1.3,I/O,编址技术,单片机系统中存在两个需要编址的子系统:,一个是存储器,主要是对存储单元进行编址,已在第,6,章讲解;,另一个是接口电路中的寄存器(可编址端口),主要是对可编址端口进行编址,也称,I/O,编址。,常用,I/O,编址方式:独立编址方式和统一编址方式,。,(,a,)独立编址方式,所谓独立编址,就是把,I/O,和存储器分开进行编址。,优点:,I/O,和存储器地址空间相互独立。,缺点:除存储器读,/,写指令外,还要设置一套,I/O,指令及控制信号。,(,b,),统一编址方式,所谓统一编址,就是把系统中的,I/O,和存储器统一进行编址。,优点:无需专门,I/O,指令,,I/O,地址范围不受限制。,缺点:使存储器地址空间缩小,地址译码复杂。,MCS-51,单片机采用统一编址方式。,因此接口电路中,I/O,地址与存储单元地址长度相同(,16,位二进制数)。,7.1.4,单片机,I/O,控制方式,在单片机系统中,实现数据的输入,/,输出传送,通常使用无条件传送方式、查询方式和中断方式三种。,(,1,),无条件传送方式,即,同步程序传送,单片机不需测试外设状态,,随时可以与外设进行数据传送操作。,如开关、,LED,等,外部设备,。,无条件传送,的接口电路如图所示,:,(,2,),查询方式,也称,有条件传送方式,,即,数据传送是有条件的,单片机,在,传送数据,之前,,需测试外设的状态(查询),它是一种软硬件结合的数据传送方式,。,查询流程框图如图所示,:,(,3,),中断方式,也称程序,中断方式,,它与,查询方式,的主要区别在于如何知道设备是否为数据传送作好了准备,,查询方式,是单片机的主动形式,而中断方式则是单片机等待通知(中断请求)的被动形式。,中断方式数据传送示意图,:,单片机,I/O,口直接应用举例,(,1,)数据的无条件传送,例:从,P1.3,P1.0,输入开关状态,再从,P1.7,P1.4,输出去驱动发光二极管,使其显示开关的状态。,解:,电路原理图如图所示,:,程序流程框图,:,程序清单:,ORG 0000H,MAIN,:,MOV A,,,#OFH,;,熄灭发光二极管,MOV P1,,,A,;,MOV A,,,P1,;,输入开关状态,CPL A,;,状态取反,ANL A,,,#0FH,;,屏蔽,A,的高半字节,SWAP A,;,A,的高低半字节交换,MOV P1,,,A,;,开关状态输出,END,(,2,)中断方式的数据传送,例:从,P1.3,P1.0,输入开关状态,再从,P1.7,P1.4,输出去驱动发光二极管,使其显示开关的状态。,解:由外电路产生外部中断请求,0,,脉冲,边沿触发,电路原理图如图所示,:,程序流程框图,:,程序清单:,ORG 0000H,START,:,LJMP MAIN,;,ORG 0003H,LJMP EXTR,;,ORG 0030H,MAIN,:,SETB IT0,;,脉冲边沿触发,SETB EX0,;,外部中断,0,允许,SETB EA,;,总中断允许,HERE,:,LJMP HERE,;,等待中断,ORG 1000H,EXTR,:,MOV A,,,#OFH,;,熄灭发光二极管,MOV P1,,,A,;,MOV A,,,P1,;,输入开关状态,CPL A,;,状态取反,ANL A,,,#0FH,;,屏蔽,A,的高半字节,SWAP A,;,A,的高低半字节交换,MOV P1,,,A,;,开关状态输出,RETI,;,中断返回,END,补充内容,单片机简单,I/O,扩展,利用中、小规模集成电路芯片实现的单片机,I/O,扩展。,1,、,简单输入口扩展,简单输入口扩展,只用于解决数据输入的缓冲问题,因此,,简单输入接口,的,扩展,就是,扩展数据缓冲器,。,典型芯片:,74LS244,,,245,2,、,简单输,出,口扩展,简单输,出,口扩展,主要用于进行数据保存,因此,,简单输,出,口,的,扩展,就是,扩展,数据,锁存器,。,典型芯片:,74LS377,、,273,、,373,例:采用,74LS244,作为扩展输入、,74LS273,作为扩展输出的简单,I/O,口扩展。,解:,简单,I/O,口扩展电路如图所示,:,(,1,)芯片及连线说明,74LS244,为,8,缓冲线驱动器,为低电平有效的使能端。,74LS273,为,8D,触发器,为低电平有效的清除端。当,=0,时,输出全为,0,且与其它输入端无关;,CP,端是时钟信号,当,CP,由低电平向高电平跳变时刻,,D,端输入数据传送到,Q,输出端。,P0,口作为双向,8,位数据线,既能够从,74LS244,输入数据,又能够从,74LS273,输出数据。,输入控制信号由,P2.0,和,/RD,相“或”后形成。当二者都为,0,时,,74LS244,的控制端有效,选通,74LS244,,,外部的信息输入到,P0,数据,总线上。当与,74LS244,相连的按键都没有按下时,输入全为,1,,若按下某键,则所在线输入为,0,。,输出控制信号由,P2.0,和,/WR,相“或”后形成。当二者都为,0,后,,74LS273,的控制端有效,选通,74LS273,,,P0,上的数据锁存到,273,的输出端,控制发光二极管,LED,,,当某线输出为,0,时,相应,LED,亮。,(,2,),I/O,口地址确定,因为,74LS244,和,74LS273,都是在,P2.0,为,0,时被选通的,所以二者的口地址都为,FEFFH,。,(,3,),程序设计,CONT,:,MOV DPTR,,,#0FEFFH,;,数据指针指向口地址,MOVX A,,,DPTR,;,检测按键,向,74LS244,读入数据,MOVX DPTR,,,A,;,向,74LS273,输出数据,驱动,LED,LJMP CONT,;,循环,返回,返回,返回,返回,返回,返回,返回,1A1,2,1A2,4,1A3,6,1A4,8,2A1,11,2A2,13,2A3,15,2A4,17,1Y1,18,1Y2,16,1Y3,14,1Y4,12,2Y1,9,2Y2,7,2Y3,5,2Y4,3,1G,1,2G,19,74LS244,A0,2,A1,3,A2,4,A3,5,A4,6,A5,7,A6,8,A7,9,B0,18,B1,17,B2,16,B3,15,B4,14,B5,13,B6,12,B7,11,E,19,DIR,1,74LS245,返回,返回,D1,3,Q1,2,D2,4,Q2,5,D3,7,Q3,6,D4,8,Q4,9,D5,13,Q5,12,D6,14,Q6,15,D7,17,Q7,16,D8,18,Q8,19,CLK,11,CLR,1,74LS273,返回,7.2,可编程并行接口芯片,8255,所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。,7.2.1 8255,硬件逻辑结构,1,、封装及引脚定义;,2,、内部结构;,7.2.2 8255,工作方式,8255,有三种工作方式:方式,0,、方式,1,、方式,2,。,1,、方式,0,(基本输入,/,输出方式):,A,口、,B,口及,C,口高,4,位、低,4,位都可以设置输入或输出,不需要选通信号。单片机可以对,8255,进行,I/O,数据的无条件传送,外设的,I/O,数据在,8255,的各端口能得到锁存和缓冲。,2,、方式,1,(选通输入,/,输出方式):,A,口和,B,口都可以独立的设置为方式,1,,在这种方式下,,8255,的,A,口和,B,口通常用于传送和它们相连外设的,I/O,数据,,C,口作为,A,口和,B,口的握手联络线,以实现中断方式传送,I/O,数据。,C,口作为联络线的各位分配是在设计,8255,时规定的,分配表如表所示。,C,口各位,方式,1,方式,2,输入方式,输出方式,双向方式,PC0,INTR,B,INTR,B,由,B,口方式决定,PC1,IBF,B,由,B,口方式决定,PC2,SET,B,由,B,口方式决定,PC3,INTR,A,INTR,B,INTR,A,PC4,I/O,PC5,IBF,A,I/O,IBF,A,PC6,I/O,PC7,I/O,表,8255C,口联络信号分配表,3,、方式,2,(双向数据传送方式):方式,2,是在方式,1,的基础上加上双向传送功能,但只有,A,口才能选择这种工作方式,这时,A,口既能输入数据又能输出数据。,如果把,A,口置于方式,2,下,则,B,口只能工作于方式,0,。,分配表如表所示。,7.2.3 8255,的编程内容,8255,的编程内容主要是两条控制命令,即工作方式命令和,C,口位置位,/,复位命令。,1,、工作方式命令,2,、,C,口位置位,/,复位命令,3,、初始化编程,例:设,8255,控制字寄存器的地址为,00F3H,,试编程使,A,口为方式,0,输出,,B,口为方式,0,输入,,PC4,PC7,为输出,,PC0,PC3,为输入。,MOV DPTR,#00F3H,MOV A,#83H,MOVX DPTR,A,例:设,8255,控制字寄存器地址为,00F3H,,要求将,PC1,置,1,,,PC3,清,0,。,MOV DPTR,#00F3H,MOV A,#03H,MOVX DPTR,A,MOV A,#06H,MOVX DPTR,A,7.2.4 8255,接口应用,1,、,8255,与单片机的接口电路设计,数据线:,8255,的,8,根数据线,D0,D7,直接和,P0,口一一对应相连。,控制线:,8255,的复位线,RESET,与单片机的复位端相连,在图中未,画出。,地址线:,8255,的,/CS,和,A1,、,A0,分别由,P0.7,和,P0.1,、,P0.0,经地址锁,存器,74LS373,后提供。,8255,的,I/O,口线:,可以根据用户需要连接外部设备。,图中,,A,口作输出,接,8,个发光二极管,LED,;,B,口作输入,,接,8,个按键开关;,C,口未用。,2,、,8255,的可编址端口的地址确定,假设没有连接的地址线状态为,0,A15A14A13A12A11A10A9A8,A7A6A5A4A3A2A1A0,P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0,P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0,8255 A1A0,A,口:,000,B,口:,001,C,口:,010,控制口:,011,根据上述接法,,8255,的,A,、,B,、,C,以及控制口的地址分别为,0000H,、,0001H,、,0002H,和,0003H,。,3,、,8255,的编程应用,例:如果在,8255,的,B,口接有,8,个按键,,A,口接有,8,个发光二极,管,即类似于图中按键和二极管的连接,则下面的程序能够完,成按下某一按键,相应的发光二极管发光的功能。,MOV DPTR,,,#0003H,;指向,8255,的控制口,MOV A,,,#83H,MOVX DPTR,A,;向控制口写控制字,,A,口输出,,B,口输入,MOV DPTR,,,#0001H,;指向,8255,的,B,口,LOOP,:,MOVX A,DPTR,;检测按键,将按键状态,读入,A,累加器,MOV DPTR,,,#0000H,;指向,8255,的,A,口,MOVX DPTR,A,;驱动,LED,发光,LJMP LOOP,END,7.3,键盘接口技术,补充内容,单片机键盘和键盘接口概述,(,1,)键盘的功能:,键盘是单片机应用系统最常见的一种输入设备,,用户通过键盘可以向,CPU,输入数据、地址和命令。,(,2,),键盘的分类:,(,a,),键盘按照接口原理可分为,编码键盘与非编码键盘两类。这两类键盘的主要区别是识别键符及给出相应键码的方法。,编码键盘主要是用硬件来实现对键的识别;,非编码键盘主要是由软件来实现键盘的定义与识别。,(,b,),键盘按照其结构可分为,独立式键盘与矩阵式键盘两类。,独立式键盘主要用于按键较少的场合;,矩阵式键盘主要用于按键较多的场合,也称行列式键盘。,(,3,),MCS-51,单片机键盘接口方法及接口芯片:,(,a,),利用单片机芯片本身的并行口;,(,b,),利用单片机芯片本身的串行口;,(,c,),利用通用接口芯片(,8255,、,8155,等);,(,d,),利用专用接口芯片,8279,。,(,4,),单片机键盘接口电路应完成的操作功能:,(,a,),判定是否有闭合键;,(,b,),确定闭合键的位置;,(,c,),形成闭合键的键码;,(,d,),排除多键、串键及去抖动。,以上操作功能通常是以软硬件结合的方式来完成的。,(,5,),单片机键盘按键的结构及特点:,(,a,),单片机键盘按键的结构;,单片机的键盘通常是由多个按键组成的,按键通常有两类:,1,)触点式开关按键:如机械式开关、导电橡胶式开关等;,2,)无触点式开关按键:如电气式按键,磁感应按键等;,前者造价低,后者寿命长。单片机应用系统中最常见的是机械触点式开关按键。,(,b,),机械触点式开关按键,的功能及特点;,1,),机械触点式开关按键的功能:,把开关按键机械上的通断关系转换成为电气上的逻辑关系。也就是说,它能提供标准的,TTL,逻辑电平,以便与通用数字系统的逻辑电平相兼容。,2,),机械触点式开关按键的特点:,机械触点式开关按键的理想波形:,见图,机械触点式开关按键的实际波形:,见图,机械开关特点:闭合时,不会马上稳定地接通。,断开时,也不会一下子断开。,即在闭合,断开的瞬间,均伴随有一连串的抖动,抖动时间的长短由按键机械特性决定,一般为,5,10ms,,,按键闭合稳定期长短由操作人员按键动作决定,一般为十分之几秒到几秒。,(,6,),按键的确认,:,键的闭合与否,反应在口线的电平上,即口线的电平是呈现高电平还是低电平状态。因此,可以通过口线电平高、低状态的检测,来确认按键是否按下。,但如果在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,确保,CPU,对一次按键动作只确认一次按键,,必须采取去抖动措施。,(,7,),消除按键抖动的措施,:,具体措施可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。,(,a,),硬件措施,:,由两个与非门构成一个,RS,触发器,当按键未按下时,,OUT1,输出为,“,1,”,,,OUT2,输出为,“,0,”,。当按键按下时,则,OUT1,输出为,“,0,”,,,OUT2,输出为,“,1,”,。,即使在按键过程中产生抖动(在与非门输入端输入一串,O,或,1,),只要按键不返回原始状态,经双稳态电路之后,其输出为正规的矩形方波(即已消失抖动影响)。,(,b,),软件措施:,在第一次检测到有键按下时,执行一段延时,10ms,的子程序,之后,再次检测该键的电平状态,如果该键电平仍保持闭合状态电平,则确认为真正有键按下。否则,认为无键按下;,同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。,(,8,),按,键的编码,根据键盘结构的不同,采用不同的编码方式。,(,9,),编制键盘程序,一个完善的键盘控制程序应具备以下功能:,(,a,),检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响;,(,b,),有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序;,(,c,),准确输出按键编码值(或键号),以满足跳转指令要求。,返回,补充内容:,独立式,键盘,接口,技术,(,1,)独立式键盘结构,独立式键盘的按键,相互独立,每个按键接一根,I/O,口,线,一根,I/O,口,线上的按键工作状态不会影响其它,I/O,口,线的工作状态。因此,通过检测,I/O,口,线的电平状态,即可判断,键盘上,哪个键被按下,。,(,2,)独立式键盘的程序设计,一般把键盘扫描程序设计成子程序,以便其它各程序调用。程序设计通常采用查询法。假设键盘扫描子程序的名称为,KEY,,,则键盘扫描子程序,KEY,应,具有以下功能:,(,a,),判定有无按键动作;,(,b,),去抖动;,(,c,),确认是否真正有闭合键;,(,d,),计算并保存闭合键键码(键号);,(,e,),判定闭合键是否释放;,(,f,),恢复闭合键键码(键号)。,以上图为例,说明独立式键盘的程序设计过程:,假设四个按键名称依次是,KEYA,、,KEYB,、,KEYC,、,KEYD,;,显示子程序的名称为,DIR,,,执行一次时间约,6ms,。,(,3,)键盘扫描子程序,KEY,流程框图:,(,4,)键盘扫描子程序,KEY,程序清单:,键盘扫描子程序,KEY,:,出口:键值在内部,RAM 20H,单元中,KEY,:,LCALL KEYCHULI,;,调,P1,口数据处理子程序,JZ EXIT,;,没有键按下,转返回,LCALL DIR,;,调显示子程序去抖动,LCALL DIR,;,LCALL KEYCHULI,;,调,P1,口数据处理子程序,JZ EXIT,;,没有键按下,转返回,MOV B,,,20H,;,保存取反后的键值,KEYSF,:,LCALL KEYCHULI,;调,P1,口数据处理子程序,JZ KEY1,;键,释放,,,转恢复键值,LCALL DIR,;,调显示子程序延时,LJMP KEYSF,;,等待键释放,KEY1,:,MOV 20H,,,B,;,键值送,20H,保存,EXIT:RET,;,子程序返回,P1,口数据处理子程序,KEYCHULI,:,出口:,A,,,20H,KEYCHULI,:,PUSH PSW,;,保护现场,CLR RS1,;,改变当前寄存器组为组,1,SETB RS0,;,MOV P1,,,#0FFH,;,先向,P1,口写,1,MOV A,;,P1,;,读,P1,口数据,CPL A,;,P1,口数据取反,ANL A,,,#0FH,;,屏蔽,P1,口高,4,位,MOV 20H,,,A,;,保存取反后的键值,CLR RS1,;,恢复当前寄存器组为组,0,CLR RS0,;,POP PSW,;,恢复现场,RET,;,子程序返回,(,5,)系统监控程序流程框图:,假设四个按键,KEYA,、,KEYB,、,KEYC,、,KEYD,的功能程序名分别是,KEYAA,、,KEYBB,、,KEYCC,、,KEYDD,,则,流程框图如图所示,:,(,6,),系统监控程序:,ORG 0000H,MAIN,:,MOV SP,,,#60H,;,堆栈初始化,LOOP,:,LCALL DIR,;,调显示子程序,LCALL KEY,;,调键扫描子程序,JB 20H.0 KEYAA,;是,KEYA,键,转,KEYAA,执行,JB 20H.1 KEYBB,;是,KEYB,键,转,KEYBB,执行,JB 20H.2 KEYCC,;是,KEYC,键,转,KEYCC,执行,JB 20H.3 KEYDD,;是,KEYD,键,转,KEYDD,执行,LCALL DIR,;,LJMP LOOP,;,重复执行,KEYAA,:,;,KEYA,键,功能程序,LJMP LOOP,;,KEYBB,:,;,KEYB,键功能程序,LJMP LOOP,;,KEYCC,:,;,KEYC,键功能程序,LJMP LOOP,;,KEYDD,:,;,KEYD,键功能程序,LJMP LOOP,;,END,ORG 0000H,MAIN,:,MOV SP,,,#60H,;,堆栈初始化,LOOP,:,LCALL DIR,;,调显示子程序,LCALL KEY,;,调键扫描子程序,MOV A,,,20H,;,键值送,A,KEY0,:,CJNE A,,,#01H,,,KEY1,;,不是,KEYA,键,转,KEY1,LJMP KEYAA,;,是,KEYA,键,转,KEYAA,执行,KEY1,:,CJNE A,,,#02H,,,KEY2,;,不是,KEYB,键,转,KEY2,LJMP KEYBB,;是,KEYB,键,转,KEYBB,执行,KEY2,:,CJNE A,,,#04H,,,KEY3,;,不是,KEYC,键,转,KEY3,LJMP KEYCC,;是,KEYC,键,转,KEYCC,执行,KEY3,:,CJNE A,,,#08H,,,KEY4,;,不是,KEYD,键,转,KEY4,LJMP KEYDD,;是,KEYD,键,转,KEYDD,执行,KEY4,:,LCALL DIR,;,LJMP LOOP,;,重复执行,KEYAA,:,;,KEYA,键,功能程序,LJMP LOOP,;,KEYBB,:,;,KEYB,键功能程序,LJMP LOOP,;,KEYCC,:,;,KEYC,键功能程序,LJMP LOOP,;,KEYDD,:,;,KEYD,键功能程序,LJMP LOOP,;,END,返回,7.4,LED,显示器接口技术,单片机应用系统中的显示器通常有,LED,显示器,、,LCD,显示器及,CRT,显示器三种类型。,7.4.1,LED,显示器概述,LED,(,Light,Emiting,Diode,),是发光二极管的缩写,,LED,显示器是由发光二极管构成的,俗称数码管。,(,1,),LED,显示原理,:,LED,显示器由七个发光二极管组成,称七段,LED,显示器,,排列形状,如图所示,。此外,显示器中还有一个圆点发光二极管(,dp,),,用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字,(,0,9,),,字母,(,a,f,、,A,F,),及其它符号。,另外,在使用,数码管时必须增加,限流电阻,,以保护数码管。,LED,显示器中的发光二极管共有两种连接方法:,(,a,),共阳极接法,:,各发光二极管的阳极连接在一起,接到数码管的位控端(公共端),再接,+5V,;,各发光二极管的阴极分别连接到数码管的段控端(,a,g,、,dp,)。,(,b,),共阴极接法,:,各发光二极管的阴极连接在一起,接到数码管的位控端(公共端),再接地,;,各发光二极管的阳极分别连接到数码管的段控端(,a,g,、,dp,)。,为了显示数字或符号,要为,LED,显示器,提供代码,由于这些代码是为显示字形的,因此称之为字形代码。,七段发光二极管,再加上一个小数点位,共计段。因此,提供给,LED,显示器的字形代码正好为一个字节。各代码位的对应关系如下:,代码位,D7,D6,D5,D4,D3,D2,D1,D0,显示段,dp,g,f,e,d,c,b,a,用,LED,显示器显示十六进制数字形代码,如表所示,:,显示字符,字型,共 阳 极,共 阴 极,dp,g,f,e,d,c,b,a,字型码,dp,G,f,e,d,c,b,a,字型码,0,0,1,1,0,0,0,0,0,0,C0H,0,0,1,1,1,1,1,1,3FH,1,1,1,1,1,1,1,0,0,1,F9H,0,0,0,0,0,1,1,0,06H,2,2,1,0,1,0,0,1,0,0,A4H,0,1,0,1,1,0,1,1,5BH,3,3,1,0,1,1,0,0,0,0,B0H,0,1,0,0,1,1,1,1,4FH,4,4,1,0,0,1,1,0,0,1,99H,0,1,1,0,0,1,1,0,66H,5,5,1,0,0,1,0,0,1,0,92H,0,1,1,0,1,1,0,1,6DH,6,6,1,0,0,0,0,0,1,0,82H,0,1,1,1,1,1,0,1,7DH,7,7,1,1,1,1,1,0,0,0,F8H,0,0,0,0,0,1,1,1,07H,8,8,1,0,0,0,0,0,0,0,80H,0,1,1,1,1,1,1,1,7FH,9,9,1,0,0,1,0,0,0,0,90H,0,1,1,0,1,1,1,1,6FH,A,A,1,0,0,0,1,0,0,0,88H,0,1,1,1,0,1,1,1,77H,B,B,1,0,0,0,0,0,1,1,83H,0,1,1,1,1,1,0,0,7CH,C,C,1,1,0,0,0,1,1,0,C6H,0,0,1,1,1,0,0,1,39H,显示字符,字型,共 阳 极,共 阴 极,dp,g,f,e,d,c,b,a,字型码,dp,G,f,e,d,c,b,a,字型码,D,D,1,0,1,0,0,0,0,1,A1H,0,1,0,1,1,1,1,0,5EH,E,E,1,0,0,0,0,1,1,0,86H,0,1,1,1,1,0,0,1,79H,F,F,1,0,0,0,1,1,1,0,8EH,0,1,1,1,0,0,0,1,71H,H,H,1,0,0,0,1,0,0,1,89H,0,1,1,1,0,1,1,0,76H,L,L,1,1,0,0,0,1,1,1,C7H,0,0,1,1,1,0,0,0,38H,P,P,1,0,0,0,1,1,0,0,8CH,0,1,1,1,0,0,1,1,73H,R,R,1,1,0,0,1,1,1,0,CEH,0,0,1,1,0,0,0,1,31H,U,U,1,1,0,0,0,0,0,1,C1H,0,0,1,1,1,1,1,0,3EH,Y,Y,1,0,0,1,0,0,0,1,91H,0,1,1,0,1,1,1,0,6EH,1,0,1,1,1,1,1,1,BFH,0,1,0,0,0,0,0,0,40H,.,.,0,1,1,1,1,1,1,1,7FH,1,0,0,0,0,0,0,0,80H,熄灭,灭,1,1,1,1,1,1,1,1,FFH,0,0,0,0,0,0,0,0,00H,(,2,),LED,显示器接口方法,:,(,a,),以硬件为主的接口方法,必须,使用地址,译码器,、,锁存器或,I/O,接口电路,还需专用的译码驱动器,通过译码器把一位十六进制数(四位二进制)译码为相应的字形代码,然后由驱动器提供足够的功率去驱动,LED,。,(,b,),以软件为主的接口方法,主要以,软件,查表来代替硬件译码,也需简单的硬件电路配合,。,(,3,),LED,显示器的显示方式,:,(,a,),LED,静态显示方式,LED,显示器各位,数码管,的,位控线(公共端),连接在一起并接地,(,共阴极,),或,+5V,(,共阳极,),;,各位,数码管,的段选线(,a,dp,),分别与一位的锁存器输出相连,。,LED,静态显示方式中,显示器,的,各位相互独立,而且各位的显示字符一经确定,相应锁存器输出将维持不变,直到显示另一个字符为止,其亮度较高。,缺点,:占有较多,I/O,口线及较多锁存器。,(,b,),LED,动,态显示方式,将,LED,显示器各位,数码管的,所有段,控端(,a,dp,),相应地并联在一起,由一个,位,I/O,口控制,形成段选线多路复用,而各位,数码管,的共阳极或共阴极要分别由相应的,I/O,口线控制,实现各位的分时选通,。,由于各位,数码管的,段选线并联,段选码的输出对各位,数码管的,来说都是相同的。因此,同一时刻,如果各位的位选线都处于选通状态的话,,6,位,LED,将显示相同的字符。,若需要各位,数码管,显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位,数码管,的位选线处于选通状态,而其它各位,数码管,的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的字型码。这样,在同一时刻,,6,位,LED,中只有选通的那一位,数码管,显示出字符,而其它各位,数码管,则是熄灭的,如此循环下去,就可以使各位,数码管,显示出将要显示的字符。,特点:硬件电路简化,但由于,LED,导通时间太短,亮度不足,应增加驱动器,已,提高驱动能力,而且显示位数控制在位以内,。,7.4.3 8255,作,LED,显示器,接口,(,a,),8255,与,6,位,LED,显示器的接口电路,(,共阴极,),假设,LED,显示器,的数码管为,共阴极,连接,采用动态显示。,8255,的,P,C,口为输出口(位控口),以,PC5,PC0,作位控线,由于位控线的驱动电流较大,,8,段全亮时约在,40,60mA,,,因此,,PC,口输出加,74LS06,(,位,驱动,器,)进行反相(共阴极)驱动,,以,提供驱动能力,然后再接各,LED,显示器,数码管,的位控端。,8255,的,P,口也为输出口(段控口),以输出位字形代码(段控线),段控线的负载电流约为,8mA,,,为提高显示亮度,通常加,74LS244,(,位,驱动,器,)进行,同,相段控输出驱动。,(,b,),LED,显示器动态显示过程,8255,从,PA,口输出字形代码,字形代码通过,LED,数码管的,dg,a,端加到,6,个,LED,上;,8255,从,PC,口输出位控代码,位控代码通过,LED,数码管的位控端(,LED,数码管的公共极)加到,6,个,LED,上。,如果要使其中一只,LED,数码管发亮,则使其位控,CX,有效即可;,如果要使其中一只,LED,数码管熄灭,则使其位控,CX,无效即可。,1,)输出字形代码,使,LED0,的,位控,C0,有效,,LED0,数码管发亮;,2,)接着使,LED0,的位控,C0,无效,则,LED0,数码管熄灭;然后输出字形代码,使,LED1,的位控,C1,有效,则,LED1,数码管发亮;,3,)依此送出字形代码,同时使,C2,C5,有效,即可使,6,位,LED,显示器完成一次显示。,4,)反复循环执行上述各步骤,即可使,6,位,LED,显示器一直显示下去。,(,c,),6,位,LED,显示器的显示缓冲区,为了存放显示的数字或字符,通常在内部,RAM,中设置显示缓冲区,其单元个数与,LED,显示器数码管的位数相同。,假设,显示,缓冲区,6,个,显示,缓冲,单元地址依次,为,79H,7EH,,,则显示,缓冲,单元,与,LED,显示器,数码管,对应关系,如下:,假设动态扫描,从右向左进行,则缓冲区首地址,应为,79H,。,(,d,),6,位,LED,显示器显示子程序流程框图,:,在编写,LED,显示器显示程序时,通常将其编为子程序形式,以便于其它程序调用。,在,LED,显示子程序中,调用了延时子程序,使,LED,稳定点亮。,LED5,LED4,LED3,LED2,LED1,LED0,7EH,7DH,7CH,7BH,7AH,79H,在,LED,显示子程序的开始部分,需要进行现场保护,在子程序返回之前同样需要现场恢复;另外,还需要对,8255,进行初始化,以便,8255,能够稳定、可靠的工作。,在,LED,显示子程序中,通过查表的方法获得显示信息的字形代码,因此,必须在程序中建立显示信息的字形代码表。,在调用,LED,显示子程序之前,必须将要显示的信息送入内部,RAM,中设置的显示缓冲区中。,(,e,),6,位,LED,显示器显示子程序,假设,6,位,LED,显示器显示子程序,的,名称为,DIR,,,8255,初始化子程序的名称为,CSH8255,,,延时子程序的名称为,DL,。,假设,8255 PA,口(段控口)地址,0101H,,,PC,口(位控口)地址,0103H,;,假设显示信息字形代码(段控码)表名称为,DSEG,。,DIR,:,PUSH DPH,;,现场保护,PUSH DPL,;,PUSH ACC,;,PUSH PSW,;,SETB RS0,;,改变当前通用寄存器组组号,CLR RS1,;,LCALL CSH8255,;,初始化,8255,MOV R0,,,#79H,;,建立,显示,缓冲区首址,MOV R3,,,#01H,;,从右数第一位,LED,开,始,扫描,MOV A,,,R3,;,位控码初值,送,A,LD0,:,MOV DPTR,,,#0103H,;,位控口地址,MOVX DPTR,,,A,;,输出位控码,MOV DPTR,#DEEG,;,表格首地址,MOV A,,,R0,;,从显示缓冲区取出显示数据,MOVC A,,,A+DPTR,;查表取字形代码(段控码),MOV DPTR,#0101H,;,位段控口地址,MOVX DPTR,,,A,;,输出段控码,LCALL DL,;,延,时,INC R0,;,转向下一缓冲单元,MOV A,,,R3,;,JB ACC.5,,,LD1,;,是否显示到最高位,RL A,;,不到,向显示器高位移位,MOV R3,,,A,;,修改后的位控码送,R3,保存,LJMP LD0,;,继续扫描,LD1,:,CLR RS0,;,恢复当前通用寄存器组组号,CLR RS1,;,POP PSW,;,POP ACC,;,恢复现场,POP DPL,;,POP DPH,;,RET,DSEG,:,DB 3FH,,,06H,,,5BH,,,4FH,,,66H,,,6DH,,,7DH,;,0,6,07H,,,7FH,,,6FH,,,77H,,,7CH,,,39H,,,5EH,;,7,9,79H,,,71H,,,00H,,,0F3H,;,A,F,,,灭,,P.,思考题:,1,)利用,DJNZ,指令,修改显示子程序,DIR,?,返回,返回,返回,返回,返回,返回,返回,返回,返回,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服