版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、要求: 1、掌握8255方式0的硬件及其编程 2、 了解8255方式1、方式2的特点及应用 3、 掌握LED数码管的硬件及其编程(静态显示、 动态显示) 4、掌握简单键盘的硬件及其编程。第第5 5章章 可编程并行接口可编程并行接口8255A8255A存储器RAM存储器ROMAB地址总线DB数据总线CB控制总线I/O接口1设备1I/O接口2设备2一、为什么扩展一、为什么扩展I/OI/O接口接口二、二、I/OI/O接口的功能接口的功能I/OI/O接口电路应满足以下要求:接口电路应满足以下要求:1.1.实现和不同外设的速度匹配实现和不同外设的速度匹配 大多数的外设的速度很慢,无法和大多数的外设的速度
2、很慢,无法和s s量级的计算机量级的计算机速度相比速度相比。 CPU CPU只有在只有在确认确认外设已为数据传送做好准备的前提外设已为数据传送做好准备的前提下才能进行下才能进行I/OI/O操作。操作。 想知道外设是否准备好想知道外设是否准备好,需需I/OI/O接口电路与外设之接口电路与外设之间传送状态信息。间传送状态信息。2. 2. 输出数据锁存输出数据锁存 由于由于CPUCPU工作速度快,工作速度快,数据在数据总线上保留的时数据在数据总线上保留的时间十分短暂,间十分短暂,无法满足慢速外设的数据接收无法满足慢速外设的数据接收。I/OI/O电路电路应具有数据锁存器,以保证接收设备接收。应具有数据
3、锁存器,以保证接收设备接收。3. 3. 输入数据三态缓冲输入数据三态缓冲 输入设备向输入设备向CPU输入数据时,但输入数据时,但数据总线上面可数据总线上面可能能“挂挂”有多个数据源有多个数据源,为不发生冲突,为不发生冲突,只允许当前正只允许当前正在进行数据传送的数据源使用数据总线,其余的应处在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。于隔离状态。常用的外围常用的外围I/OI/O接口芯片有:接口芯片有:(1 1)8255A8255A:可编程的通用并行接口电路(:可编程的通用并行接口电路(3 3个个8 8位位I/OI/O口)。口)。(2 2)8155H8155H:可编程的:可编程的I
4、O/RAMIO/RAM扩展接口电路(扩展接口电路(2 2个个8 8位位I/OI/O口口,1,1个个6 6位位I/OI/O口口, , 256256个个RAMRAM字节单元,字节单元,1 1个个1414位的减法定时器位的减法定时器/ /计数器计数器)。)。 (3 3)74LS74LS系列的系列的TTLTTL电路电路也可以作为也可以作为MCS-51MCS-51的扩展的扩展I/OI/O口,如口,如74LS24474LS244(缓冲器)、(缓冲器)、 74LS27374LS273(锁存器)等。(锁存器)等。三、三、 常用常用 I/OI/O接口电路接口电路数据线5.1.25.1.2、 8255A8255A
5、芯片介绍芯片介绍 8255A 8255A是是IntelIntel公司生产的公司生产的可编程可编程并行并行I/OI/O接口芯片,接口芯片,具有具有3 3个个8 8位的并行位的并行I/OI/O口口,3 3种工作方式种工作方式,可通过编,可通过编程改变其功能,因而程改变其功能,因而使用灵活方便,通用性强使用灵活方便,通用性强。1.1.引脚说明引脚说明4040只引脚,双列直插式封装,引脚功能如下:只引脚,双列直插式封装,引脚功能如下:D7D7D0D0:三态双向数据线,与单片机数据总线连接三态双向数据线,与单片机数据总线连接CSCS* *:片选信号线,低电平有效,表示本芯片被选中片选信号线,低电平有效,
6、表示本芯片被选中RDRD* *:读出信号线,控制读出信号线,控制8255A8255A中数据的读出高中数据的读出高WRWR* *:写入信号线,控制向写入信号线,控制向8255A8255A数据的写入。数据的写入。VccVcc:+5V+5V电源。电源。PA7PA7PA0PA0:A A口输入口输入/ /输出线。输出线。PB7PB7PB0PB0:B B口输入口输入/ /输出线。输出线。PC7PC7PC0PC0:C C口输入口输入/ /输出线。输出线。A1A1、A0A0:地址线,用来选择地址线,用来选择8255A8255A内部的内部的4 4个端口。个端口。2.2.内部结构内部结构(1 1)端口)端口A A
7、、B B、C C功能和结构上有些差异功能和结构上有些差异 PA PA口口:输出锁存和缓冲;输入锁存:输出锁存和缓冲;输入锁存 PB PB口口:输出锁存和缓冲;输入缓冲:输出锁存和缓冲;输入缓冲 PC PC口口:输出锁存;数据输入缓冲:输出锁存;数据输入缓冲 PC PC口可在软件的控制下,口可在软件的控制下,分为两个分为两个4 4位端口位端口,作为,作为PAPA口、口、PBPB口选通方式操作时的状态控制信号。口选通方式操作时的状态控制信号。(2)A(2)A组和组和B B组控制电路组控制电路A A组:组:PAPA口和口和PCPC口的上半部(口的上半部(PC7PC7PC4PC4););B B组:组:
8、PBPB口和口和PCPC口的下半部(口的下半部(PC3PC3PC0PC0), ,可根据可根据“命命 令字令字”对对PCPC口口按位按位“置置1”1”或或“清清0”0”。(3)(3)数据总线缓冲器线线数据总线缓冲器线线 三态双向,作为三态双向,作为8255A8255A与计算机数据线之间接口,与计算机数据线之间接口,传送数据、指令、控制命令及外部状态信息。传送数据、指令、控制命令及外部状态信息。(4)(4)读读/ /写控制逻辑电路线写控制逻辑电路线 该电路接收该电路接收CPUCPU发来的控制信号、发来的控制信号、RESETRESET、地址信、地址信号号A1A1、A0A0等。对端口进行读写。等。对端
9、口进行读写。各端口的工作状态与控制信号的关系各端口的工作状态与控制信号的关系如表如表9-19-1所示。所示。表表9-1 8255A9-1 8255A端口工作状态选择端口工作状态选择A1A1A0A0RDRD* *WRWR* *CSCS* *工作状态工作状态0 00 00 01 10 0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据:总线数据A A口口写端口写端口B
10、 B:总线数据:总线数据B B口口写端口写端口C C:总线数据:总线数据C C口口写控制字:总线数据写控制字:总线数据控制字寄控制字寄存器存器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态5.2.2 5.2.2 工作方式选择控制字及工作方式选择控制字及C C口置位口置位/ /复位控制字复位控制字8255A8255A有三种工作方式:有三种工作方式: (1) (1) 方式方式0 0:基本输入输出;基本输入输出;(2) (2) 方式
11、方式1 1:选通输入输出;选通输入输出;(3) (3) 方式方式2 2:双向传送(仅双向传送(仅A A口有)。口有)。1.1.工作方式选择控制字工作方式选择控制字三种工作方式由方式控制字来决定。三种工作方式由方式控制字来决定。控制字格式如下。控制字格式如下。C C口上半部分(口上半部分(PC7PC7PC4PC4)随)随A A口称为口称为A A组组,C C口下半部分(口下半部分(PC3PC3PC0PC0)随)随B B口称为口称为B B组组。 其中其中A A口口可工作于方式可工作于方式0 0、1 1、和、和2 2,而,而B B口口只能工作在只能工作在方式方式0 0和和1 1。例如:例如:写入工作方
12、式写入工作方式控制字控制字95H95H可将可将8255A8255A编程为:编程为:A A口口方式方式0 0输入输入,B B口口方式方式1 1输出输出,C C口的上半部分(口的上半部分(PC7PC7 PC4PC4)输出,)输出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)输入。)输入。2. C2. C口按位置位口按位置位/ /复位控制字复位控制字可对可对C C口口8 8位中的任一位置位中的任一位置“1”1”或清或清“0”0”。用于。用于位控位控。例如:例如:控制字控制字07H07H写入控制口,置写入控制口,置“1” PC31” PC3; 08H08H写入控制口,清写入控制口,清“0
13、” PC40” PC4。5.3.2 8255A5.3.2 8255A的三种工作方式的三种工作方式1.1.方式方式0 0基本的输入基本的输入/ /输出方式。输出方式。外设的外设的I/OI/O数据可在数据可在8255A8255A的各端口得到锁存和缓冲的各端口得到锁存和缓冲CPUCPU可对可对8255A8255A进行数据的进行数据的无条件传送无条件传送 例如例如: :从口线从口线读入一组开关状态读入一组开关状态,向端口输出数字,向端口输出数字量,量,控制一组指示灯的亮、灭。控制一组指示灯的亮、灭。不需要联络信号不需要联络信号,基本功能为:基本功能为:(1 1)具有两个)具有两个8 8位端口(位端口(
14、A A、B B)和两个)和两个4 4位端口(位端口(C C的上半部分和下半部分)。的上半部分和下半部分)。(2 2)任一个端口都可以设定为输入或输出,各端口)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成的输入、输出可构成1616种组合。种组合。(3 3)数据输出锁存,输入不锁存。)数据输出锁存,输入不锁存。例例 项目项目3:用:用8255A控制控制LED灯左右循环亮灯左右循环亮 1项目要求与目的(1)项目要求:根据开关的状态,用8255的端口PA控制8只LED发光二极管,PB口接两只开关K0和K1,编写程序实现K0闭合,LED灯左循环亮,K1闭合,LED灯右循环亮。(2)项目目的
15、: 了解8255控制方式的设置。 掌握8255的编程方法。 了解8255控制外部设备的常用电路。2项目说明 8255是常用的并行接口芯片,在使用时,只要对8255进行初始化就可使用。本项目PA口作为输出口,PB口作为输入口,工作于方式0。当开关K0闭合,LED灯左循环亮,当开关K1闭合,LED灯右循环亮。3项目电路原理框图 用8255A控制LED灯左右循环亮电路框图如图5-8所示。电路由8086CPU芯片、8255A芯片、8只LED发光二极管和两只开关K0和K1等组成。图5-8 用8255A控制LED灯左右循环亮电路框图 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0接口片内地址
16、接入138译码器地址 1 0 , 0 0 0 0 , 0地址 200H207H I/O接口芯片各端口地址 1 0 , 0 0 0 0 , 1地址 208H20FH 1 0 , 0 0 0 1 , 0 1 0 , 0 0 0 1 , 1A15A10 000000 000000 000000 000000 接入逻辑门电路 地址 地址 210H218H 地址 218H21FH 1 0 , 0 0 1 0 , 0000000 地址 220H228H 1 0 , 0 0 1 0 , 1000000 地址 228H22FH 1 0 , 0 0 1 1 , 0000000 地址 230H238H 1 0 ,
17、 0 0 1 1 , 1000000 地址 238H23FH CS片选 信号范围 AB地址总线A0A19DB数据总线CB控制总线ABCG2BG1AG1Y0Y1Y2Y3Y4Y5Y6Y720根A0A19接口0 地址范围:200H207H接口0CS接口1CS接口2CS接口3CS接口4CS接口5CS接口1地址范围:208H20FH3根A0A2A7A5M/IOA6A4A374LS138译码器 D0D151A9A8接口2地址范围:210H217H接口3地址范围:218H21FH接口4地址范围:220H217HA10A11A12A13A14A15AB地址总线A0A19DB数据总线CB控制总线RDA1A0D0
18、D7WRCSA0A18255PAPBPC200H203H当/CS有效时PA端口地址 200H A1 A0 0 0 0 1PB端口地址 201H 1 0PC端口地址 202H 1 1控制字端口地址 203H ABCG2BG1AG1Y0Y1Y2Y3Y4Y5Y6Y720根A0A19A7A5M/IOA6A4A374LS138译码器 D0D151A9A8A10A11A12A13A14A158086CPU的三种总线与8255详细的连线图用8255A控制LED灯左右循环亮电路框图如图5-8所示。电路由8086CPU芯片、8255A芯片、8只LED发光二极管和两只开关K0和K1等组成。图5-8 用8255A控
19、制LED灯左右循环亮电路框图 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 , 0 0 0 0 , 0 x 0 0PA端口地址 200H 1 0 , 0 0 0 0 , 0 x 0 1PB端口地址 201H 1 0 , 0 0 0 0 , 0 x 1 0PC端口地址 202H 1 0 , 0 0 0 0 , 0 x 1 1控制字端口地址 203H A15A10 000000 000000 000000 000000 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0接口片内地址 接入138译码器地址 A15A10 接入逻辑门电路 地址 CS片选 信号范围 8255
20、接口芯片各端口地址4项目程序设计(1)程序流程图用8255A控制LED灯左右循环亮程序流程图如图5-9所示。图5-9用8255A控制LED灯左右循环亮程序流程图(2)程序清单用8255A控制LED灯左右循环亮程序清单如下所示。CODE SEGMENT ASSUME CS:CODE START: MOV DX , 203H;8255控制口地址 MOV AL ,82H;PA口输出,PB口输入 OUT DX , AL MOV DX , 200H;PA口地址 MOV AH , 0FEH;置LED0亮初始值BG: MOV AL , AH OUT DX , AL ; 点亮LED灯 CALL DELAY ;
21、调延时子程序 MOV DX , 201H ;PB端口地址 IN AL , DX ;读开关的状态 TEST AL , 01H ;PB0=0吗?(K0闭合吗) JNZ OPR ;PB00,转移 ROL AH , 1 ; PB0=0,左移 MOV DX , 200H ;PA口地址 JMP BG OPR: IN AL , DX ;读开关的状态 TEST AL , 02H ;PB1=0吗?(K1闭合吗) JNZ BG ;PB10,转移 ROR AH , 1 ; PB1=0右移 MOV DX , 200H ;PA口地址 JMP BG DELAY PROC NEAR ;延时子程序MOV BL,100 ;4个
22、时钟周期 DELAY2: MOV CX,374 ; 4个时钟周期 DELAY1: NOP ; 1个时钟周期 NOP ; 1个时钟周期 LOOP DELAY1 ; 5个时钟周期 DEC BL ; 2个时钟周期 JNZ DELAY2 ; 4个时钟周期 RET ; 20个时钟周期 DELAY ENDPCODE ENDS END START2. 2. 方式方式1 1 选通输入选通输入/ /输出工作方式。输出工作方式。A A口和口和B B口通常用于口通常用于I/OI/O数数据传送,据传送,C C口用作口用作A A口和口和B B口的联络线,以中断方式传口的联络线,以中断方式传送数据。送数据。 (1) (1
23、) 方式方式1 1输入输入 控制联络信号如图控制联络信号如图9-59-5所示,所示,STBSTB* *与与IBFIBF构成了一构成了一对应答联络信号对应答联络信号,联络信号的功能如下图:联络信号的功能如下图:STBSTB* *:选通输入,是由输入外设送来的输入信号。选通输入,是由输入外设送来的输入信号。IBFIBF:输入缓冲器满,高电平有效。表示数据已送入输入缓冲器满,高电平有效。表示数据已送入 8255A8255A的输入锁存器,它由的输入锁存器,它由STBSTB* *信号的下降沿置信号的下降沿置 位,由信号的上升沿使其复位位,由信号的上升沿使其复位INTRINTR:中断请求信号,高电平有效。
24、由中断请求信号,高电平有效。由8255A8255A输出,输出, 向计算机发中断请求。向计算机发中断请求。INTE AINTE A:A A口中断允许,由口中断允许,由PC4PC4控制,控制, INTE BINTE B:B B口中断允许,由口中断允许,由PC2PC2控制。控制。A A口的方式口的方式1 1输入输入工作方式见图工作方式见图9-69-6。(2 2)方式)方式1 1输出输出 如图如图9-79-7所示。所示。OBFOBF* *与与ACKACK* *构成了一对应答联络构成了一对应答联络信号信号,各信号的功能如下:各信号的功能如下:OBFOBF* *:输出缓冲器满信号,输出缓冲器满信号,825
25、5A8255A给外设的联络信号,给外设的联络信号,外设可以将数据取走。外设可以将数据取走。ACKACK* *:外设的响应信号,外设已将数据取走。外设的响应信号,外设已将数据取走。INTRINTR* *:中断请求信号。表示该数据已被外设取走,中断请求信号。表示该数据已被外设取走, 请求单片机继续输出下一个数据。请求单片机继续输出下一个数据。INTE AINTE A:中断允许,由:中断允许,由PC6PC6控制。控制。INTE BINTE B:中断允许,由:中断允许,由PC2PC2控制控制。B B口的口的方式方式1 1输出输出如图如图9-89-8所示:所示:3.3.方式方式2 2只有只有A A口才能
26、设定为方式口才能设定为方式2 2。图图9-99-9为方式为方式2 2工作示意图。工作示意图。在方式在方式2 2下,下,PA7PA7PA0PA0为双向为双向I/OI/O总线。总线。 当当输入输入时,时,PA7PA7PA0PA0受受STBASTBA* *和和IBFAIBFA控制,其工作控制,其工作过程和方式过程和方式1 1输入时相同;输入时相同; 当当输出输出时,时,PA7PA7PA0PA0受受OBFAOBFA* *、ACKAACKA* *控制,其工作控制,其工作过程和方式过程和方式1 1输出时相同。输出时相同。5.5 显示及显示接口技术 要求: 掌握LED数码管的硬件及其编程(静 态显示、 动态
27、显示) 一、 显示及显示接口技术 单片机应用系统中,使用的显示设备主要有发光二极管LED(Light Emitting Diode)显示器和液晶显示器LCD(Liquid Crystal Display)两种。这两种显示器成本低廉,配置灵活,与单片机接口方便。近年来也开始配置简易形式的CRT接口,可以较方便地进行图形显示。 1 、 发光二极管 发光二极管半导体是用发光材料做成的PN节,只要在发光二极管两端通过正向电流5-20mA就能达到正常发光。LED发光颜色通常有红、绿、黄、白,它的外形和电气符号如图所示。(a) LED外形(b) LED电气符号+ +2、LED数码管 LED数码管显示块是由
28、发光二极管显示字段的显示器件。在单片机应用中通常使用七段LED或8段LED 。这种显示块有共阴极和共阳极两种如图所示。为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或称(或称字型码字型码)。)。提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字正好是一个字节(节(8 8段)段)。各段与字节中各位对应关系如下:。各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表所示。的段码如表所示。显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码显示字符显示字符共阴极共阴极段码段码共阳极
29、共阳极段码段码0 03FH3FHC0HC0Hc c39H39HC6HC6H1 106H06HF9HF9Hd d5EH5EHA1HA1H2 25BH5BHA4HA4HE E79H79H86H86H3 34FH4FHB0HB0HF F71H71H8EH8EH4 466H66H99H99HP P73H73H8CH8CH5 56DH6DH92H92HU U3EH3EHC1HC1H6 67DH7DH82H82HT T31H31HCEHCEH7 707H07HF8HF8Hy y6EH6EH91H91H8 87FH7FH80H80HH H76H76H89H89H9 96FH6FH90H90HL L38H38
30、HC7HC7HA A77FH77FH88H88H“灭灭”00H00HFFHFFHb b7CH7CH83H83H表表1 LED1 LED段码(段码(8 8段)段) 3、单个LED数码管应用 例1:通过8255芯片 PB口驱动一个LED数码管,显示字符”2”。8255PB0PB1PB2PB3PB4PB5PB6PB774LS07共阴极数码管300aabbcdefgcdefgdpdp0VsG驱动器GGND8086CPU解: 2 的共阴极码5BH AB地址总线A0A19DB数据总线CB控制总线RDA1A0D0D7WRCSA2A38255PAPBPC9C00H当/CS有效时ABCG2BG1AG1Y0Y1Y
31、2Y3Y4Y5Y6Y720根A0A1974LS138译码器 D0D158086CPU的三种总线与8255详细的连线图74LS07共阴极数码管300aabbcdefgcdefgdpdp0VsG驱动器GGND X X X X , 0 0 X XPA端口地址 9C00H PB端口地址 9C04H 控制字端口地址 9C0CH 10011100 A7 A6 A5 A4 A3 A2 A1 A0接口片内地址 A15A8 8255接口芯片各端口地址10011100 10011100 10011100 X X X X , 0 1 X X X X X X , 1 0 X X X X X X , 1 1 X XPC
32、端口地址 9C08H 由系统板确定 程序: MOV AL,10000000B ;8255方式控制字,PB口 输出 MOV DX,9C0CH ;8255控制字端口地址 9C0CH OUT DX,AL ; 8255初始化MOV AL,5BH ;2的共阳极码5BH MOV DX,9C04H ;8255 PB口地址 OUT DX,AL ;显示2a bc defghSa bc defghSa bc defghSa bc defghS5V4.7K*8SN7407ADPBGDCEFSN7407X1X2X3X4位选段选abcdefgdp实验室设备共 阴 极数码管AB地址总线A0A19DB数据总线CB控制总线R
33、DA1A0D0D7WRCSA2A38255PAPBPC9C00HABCG2BG1AG1Y0Y1Y2Y3Y4Y5Y6Y720根A0A1974LS138译码器 D0D15单个数码管实验接线图a bc defghSa bc defghSa bc defghSa bc defghS5V4.7K*8SN7407ADPBGDCEFSN7407X1X2X3X4位选段选abcdefgdp实验室设备8086CPU8255PB0PB7PA0 X X X X , 0 0 X XPA端口地址 9C00H PB端口地址 9C04H 控制字端口地址 9C0CH 10011100 A7 A6 A5 A4 A3 A2 A1
34、A0接口片内地址 A15A8 8255接口芯片各端口地址10011100 10011100 10011100 X X X X , 0 1 X X X X X X , 1 0 X X X X X X , 1 1 X XPC端口地址 9C08H 由系统板确定 8255 PB口为输出口,PA口为输出口8255方式控制字:10000000B 80H例2:在前页图LED中显示NUMBER单元中的数据。( NUMBER单元中的数据可任意设定为0F) STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTNUMBER DB 8DTABLE DB 3
35、FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDS ; 0F对应的7段数码管的共阴极 段值CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,9C0CH ;8255控制字端口地址 MOV AL,90H ;方式0, PA口、PC口输出 OUT DX,AL ;初始化8255工作方式 MOV DX,9C00H ;8255 PA端口地址 MOV AL,11111110B ; PA端口输出数据 OUT DX,AL ;将
36、数据11111110B从PB口输出 MOV AL,RESULT ;取出要显示的数 MOV BX,OFFSET DTABLE ADD BX,AX MOV AL,BX ; 偏移和键值作为基地址查询段值表得到相应的段值 MOV DX,9C04H; 8255 PB口 地址OUT DX,AL ;数码管中显示 BB1: MOV AH,1 ;判断PC键盘是否有按键按下 INT 16H JZ BB1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;返回到DOS INT 21HCODE ENDS END START4、多位数码管显示、多位数码管显示 N位LED显示器有N根位选线和8*N根
37、段码线,段码线段码线控制控制显示的字型显示的字型,位选线位选线控制控制该显该显示位的亮或暗。示位的亮或暗。数码管有数码管有静态显示静态显示和和动态显示动态显示两种显两种显示方式。示方式。a bc defghsa bc defghsa bc defghsa bc defghsa bc defghsI/O口段码控制口段码控制I/O口位选控制口位选控制五位LED显示器LED静态显示方式 共阳极或共阴极连接在一起接+5V或地;每位的段码线(a dp)与一个8位并行口相连。 a bc de fghsa bc de fghsa bc de fghsa bc de fghsa bc de fghsI/O(2
38、)GND/+5VI/O(1)I/O(3)I/O(4)I/O(5)AB地址总A0A19DB数据总线CB控制总线RDA1A0D0D7WRCSA2A38255(2)PAPBPCD0D15RDA1A0D0D7WRCSA2A38255(1)PAPBPCD0D7D0D7IO(1)IO(2)IO(3)IO(4)IO(5)IO(6)用两片8255扩展6个外部接口 N位静态显示器要求有N*8根I/O口线,占用I/O资源较多。故在位数较多时往往采用动态显示方式。 LED动态显示方式 将所有位的段码 线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。 图图10-510-5为为8
39、8位位LEDLED动态显示动态显示2003.10.102003.10.10的过程的过程。图(图(a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通被选通 显示,其余位则是熄灭的;显示,其余位则是熄灭的;图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定位稳定的的 同时显示同时显示的字符。的字符。a bc defghSa bc defghSa bc defghSa bc defghSa bc defghSI/O(2)D4I/O(1)D3D2D1D0八位LED动态显示电路只需两个8位I/O口。其中一个控制段选码,另一个控制位选。
40、由于所有位的段选码皆由一个I/O控制,因此,在每个瞬间,八位LED只可能显示相同的字符。要想每位显示不同的字符,必须采用扫描显示方式扫描显示方式。即在每一在每一瞬间只使某一位显示相应字符瞬间只使某一位显示相应字符。 静态显示不同,动态显示技术让不同的数码管分时点亮。即:某一个数码管的字段码从单片机的一个I/O口输出,通过单片机选通该数码管,让这个数码管显示自己的字符几个毫秒,然后将下一个数码管的字段码从单片机的同一个I/O口输出,通过单片机选通下一个数码管,让下一个数码管显示自己的字符几个毫秒机,依次循环。由于人眼响应较慢,最后的效果是每一个数码管都在显示各自的字符。5、LED显示器接口实例
41、例:利用三种总线、8255、键盘及数码管显示单元(见下页图1)实现 4位LED动态显示数据段DISVALUE单元开始存放的4个数。(4个数据可任意设定为0F) 。主机按任意键停止显示返回DOS。完成系统硬件设计及软件编程。 a bc defghSa bc defghSa bc defghSa bc defghS5V4.7K*8SN7407ADPBGDCEFSN7407X1X2X3X4位选段选abcdefgdpABCDEFGDPSN74074个共阴极数码管Y1X15V012345674.7K*4(2片)89ABCDEFSN7407Y2Y3Y4X2X3X45V图 1:键盘及数码管显示单元电路结构图
42、4.7K*882558086CPUSN74074个共阴极数码管Y15V012345674.7K*4(2片)ABCDEFGDP89ABCDEFSN7407Y2Y3Y4X1X2X3X45V图 1:硬件简图4.7K*8 X X X X , 0 0 X XPA端口地址 9C00H PB端口地址 9C04H 控制字端口地址 9C0CH 10011100 A7 A6 A5 A4 A3 A2 A1 A0接口片内地址 A15A8 8255接口芯片各端口地址10011100 10011100 10011100 X X X X , 0 1 X X X X X X , 1 0 X X X X X X , 1 1 X
43、 XPC端口地址 9C08H 由系统板确定 AB地址总线A0A19DB数据总线CB控制总线RDA1A0D0D7WRCSA2A38255PAPBPCIOY0:9C00H当/CS有效时PA端口地址A3 A2 0 0 0 1PB端口地址 1 0PC端口地址 1 1控制字端口地址D0D158086CPU的三种总线与8255详细的连线图8255ABCDEFGDPSN74074个共阴极数码管Y1X15V012345674.7K*4(2片)89ABCDEFSN7407Y2Y3Y4X2X3X45V8255并行接口与外设的硬件连线图4.7K*8PB0PB7PA0PA38255通过82C55的B口输出四个数码管的
44、段选码(高电平有效),由A口PA0,PA1,PA2,PA3控制LED数码管的位选码(低电平有效)。 DB 3FH,06H,5BH,4FH,66H,6DH,7DH, DB 07H,7FH,6FH,77H,7CH,39H,5EH, DB 79H,71H,00H 字形码(段选码):共阴极IOY0 EQU 9C00H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4
45、;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTDISVALUE DB 4,5,6,7DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDATA ENDS ; 0F对应的7段数码管的共阴极数码表CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX MOV DX, MY8255_MODE ;初始化8255工作方式 MOV AL,81H
46、 ;方式0,A口、B口输出,C口低4位输入 OUT DX,AL CC1: CALL DIS QQ1: MOV AH,1 INT 16H JZ CC1 MOV AH,4C INT 21HDIS PROC NEAR ;显示子程序 PUSH AX MOV SI,OFFSET DISVALUE MOV DL,0F7HMOV AL,DLAGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL ;设置X1X4,选通一个数码管 MOV AL,SI ;取出缓冲区中存放的数 AND AX,00FFH MOV BX,OFFSET DTABLE ADD BX,AX MOV AL,BX ;得到
47、要显示数的共阴极码 MOV DX,MY8255_B OUT DX,AL ;写入数码管ADp,并显示对应的数 CALL DALLY INC SI ;取下一个值 POP DX ;等待有无任意键按下;返回DOS结束 MOV AL,DLTEST AL,01H ;判断是否显示完? JZ OUT1 ;显示完,返回ROR AL,1 MOV DL,ALJMP AGAIN ;未显示完,跳回继续OUT1: POP AX RETDIS ENDPDALLY PROC NEAR ;软件延时子程序 PUSH CX MOV CX,00FFHD1: MOV AX,00FFHD2: DEC AXJNZ D2LOOP D1POP
48、 CXRETDALLY ENDPCODE ENDS END START作业(实验):作业(实验): 利用三种总线、8255、键盘及数码管显示单元(见下页图1)实现 4位LED动态显示数据段DISVALUE单元开始存放的4个数。(4个数据可任意设定为0F) 。主机按任意键停止显示返回DOS。完成系统硬件设计及软件编程。ABCDEFGDPSN74074个共阴极数码管Y1X15V012345674.7K*4(2片)89ABCDEFSN7407Y2Y3Y4X2X3X45V图 2:键盘及数码管显示单元电路结构图4.7K*85 5.6.6 键盘及其接口技术键盘及其接口技术要求: 1、掌握键盘的原理 2、掌
49、握键盘与三种总线的接口与编程(实 验)一、一、 键盘接口原理键盘接口原理1. 1. 键盘输入的特点键盘输入的特点键盘:一组按键开关的集合键盘:一组按键开关的集合。 行线电压信号通过键盘开关机械触点的断开、闭合,行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图输出波形如图10-610-6。2. 2. 按键的确认按键的确认 检测检测行线行线电平电平 高电平:高电平:断开;断开;低电平低电平:闭合,:闭合,常用常用软件来消除按键抖动。软件来消除按键抖动。 基本思想基本思想:检测到有键按下,键对应的行线为低,软:检测到有键按下,键对应的行线为低,软件延时件延时10ms10ms后,行线如仍为低
50、,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。3.3.如何消除按键的抖动如何消除按键的抖动 当键松开时当键松开时,行线变高,软件延时,行线变高,软件延时10ms10ms后,行线仍后,行线仍为为高,说明按键已松开。高,说明按键已松开。采取以上措施,采取以上措施,躲开了两个抖动期躲开了两个抖动期t1t1和和t3t3的影响的影响。二、常用键盘的工作原理二、常用键盘的工作原理独立式独立式键盘和键盘和行列式行列式键盘键盘1.1.独立式键盘独立式键盘K1K2K3K4K7K5K8K6 各键相互独立,每个按各键相互独立,每个按键各接一根输入线,通过键各接一根输入线,通过检测输入线的电平状态检测输
51、入线的电平状态可可很容易判断那个键被按下。很容易判断那个键被按下。图图10-810-8为为8255A8255A扩展扩展I/OI/O口口的的独立式独立式按键接口电路。按键接口电路。PA.0PA.1PA.2PA.3PA.4PA.5PA.6PA.72. 行列式行列式(矩阵式矩阵式)键盘键盘 用于按键数目较多的场合,用于按键数目较多的场合,由由行线和列线组成行线和列线组成,按键位于行、列的交叉点上。如图按键位于行、列的交叉点上。如图10-1010-10所示。所示。 按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘,行列式键盘与独立式键盘相比,要相比,要节省很多的节省很多的I/OI/O口线口
52、线。(1)行列式键盘工作原理)行列式键盘工作原理 无键按下,该行线为高电平,无键按下,该行线为高电平,当有键按下时,行当有键按下时,行线电平由列线的电平来决定线电平由列线的电平来决定。 由于行、列线为多键共用,各按键彼此将相互发由于行、列线为多键共用,各按键彼此将相互发生影响,必须生影响,必须将行、列线信号配合起来并作适当的处将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置理,才能确定闭合键的位置。(2 2)按键的识别方法)按键的识别方法a. a. 扫描法扫描法 图图10-1010-10(b b)中)中3 3号键被按下为例,来说明此键号键被按下为例,来说明此键时如何被识别出来的。时如
53、何被识别出来的。识别键盘有无键被按下的方法,分两步进行:识别键盘有无键被按下的方法,分两步进行:第第1 1步:步:识别键盘有无键按下;识别键盘有无键按下;第第2 2步:步:如有键被按下,识别出具体的按键。如有键被按下,识别出具体的按键。 把所有列线置把所有列线置0 0,检查各行线电平是否有变化,如,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。有变化,说明有键按下,如无变化,则无键按下。 即即先把某一列置低电平,其余各列为高电平,检查先把某一列置低电平,其余各列为高电平,检查各行线电平的变化各行线电平的变化,如果某行线电平为低,可确定,如果某行线电平为低,可确定此行此
54、行列交叉点列交叉点处的按键被按下。此方法称为处的按键被按下。此方法称为扫描法扫描法, b. b. 线反转法线反转法 (略)(略)三、三、 键盘的工作方式键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输单片机在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。入,取决于键盘的工作方式。原则:原则:即要保证能及时响应按键操作,又不要过多占即要保证能及时响应按键操作,又不要过多占用用CPUCPU的工作时间。的工作时间。1. 1. 编程扫描方式编程扫描方式 只有当空闲时,才调用键盘扫描子程序,只有当空闲时,才调用键盘扫描子程序,扫描键盘。扫描键盘。2. 2. 定时扫描工作方式定
55、时扫描工作方式 利用定时器,产生利用定时器,产生10ms10ms的定时中断,对的定时中断,对键盘进行扫描。键盘进行扫描。3.3.中断工作方式中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序,如只有在键盘有键按下时,才执行键盘扫描程序,如无键按下,将不理睬键盘。无键按下,将不理睬键盘。四、键盘接口设计实例四、键盘接口设计实例例1 :利用三种总线、8255、键盘及数码管显示单元(见下页图1)完成键盘扫描功能,并把按键数值循环存入数据段KEY开始单元中。同时在4位数码管中从左到右循环显示键值。完成系统硬件设计及软件编程。 82558086CPUSN74074个共阴极数码管Y15V0123456
56、74.7K*4(2片)ABCDEFGDP89ABCDEFSN7407Y2Y3Y4X1X2X3X45V图 1:硬件简图4.7K*8 X X X X , 0 0 X XPA端口地址 9C00H PB端口地址 9C04H 控制字端口地址 9C0CH 10011100 A7 A6 A5 A4 A3 A2 A1 A0接口片内地址 A15A8 8255接口芯片各端口地址10011100 10011100 10011100 X X X X , 0 1 X X X X X X , 1 0 X X X X X X , 1 1 X XPC端口地址 9C08H 由系统板确定 AB地址总线A0A19DB数据总线CB控
57、制总线RDA1A0D0D7WRCSA2A38255PAPBPCIOY0:9C00H当/CS有效时PA端口地址A1 A0 0 0 0 1PB端口地址 1 0PC端口地址 1 1控制字端口地址D0D158086CPU的三种总线与8255详细的连线图8255ABCDEFGDPSN74074个共阴极数码管Y1X15V012345674.7K*4(2片)89ABCDEFSN7407Y2Y3Y4X2X3X45V系统的硬件连线图4.7K*8PA0PA38255利用8255的A口(输出)控制键盘4条列线的状态与数码管的位选码,由C口(输入)PC0,PC1,PC2,PC3检测键盘矩阵4条行线的状态。利用8255
58、的A口(输出)控制数码管的段码。PC0PC3行线号列线号01230231键值=4*行线号+列线号键标号=键值PB0PB7;键盘扫描及数码管显示实验;*根据CHECK配置信息修改下列符号值*IOY0 EQU 9C00H ;片选IOY0对应的端口始地址;*MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(
59、?)STACK1 ENDSDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;键值表,0F对应的7段数码管 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;的段位值KEY DB 4 DUP(00H) KEY4 EQU $DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL,81H ;方式0,A口、B口输出,C口低4位输入 OUT DX,ALBEGIN: CALL DIS ;显示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;扫描按键 JNZ GETKEY1 ;有键按下则跳置GETKEY1 MOV AH,1 ;判断PC键盘是否有按键按下 INT 16H JZ BEGIN ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;返回到DOS INT 21HGETKEY1:CALL DIS ;显示刷新 CALL DALLY CALL DALLY CALL CLEAR ;清屏CALL CCSCAN ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位管理制度范例选集【人事管理篇】十篇
- 单位管理制度呈现大合集【人力资源管理】十篇
- 《行政职业能力测验》2024年公务员考试陕西省渭南市高分冲刺试卷含解析
- 2024年公务员培训总结
- 教育科技行业话务员工作总结
- 硕士研究之路
- 电子通信行业顾问工作总结
- 2024年员工三级安全培训考试题【培优B卷】
- 2023年-2024年项目部安全培训考试题答案研优卷
- 2024年安全教育培训试题附参考答案(典型题)
- 2024年度国有企事业单位标准化房屋租赁服务合同范本3篇
- 《基因突变的机制》课件
- 天安门地区地下空间开发利用策略-洞察分析
- 《基层管理者职业素养与行为规范》考核试题及答案
- 椎间孔镜治疗腰椎间盘突出
- 2024年融媒体中心事业单位考试招考142人500题大全加解析答案
- 2024-2025学年 语文二年级上册统编版期末测试卷(含答案)
- 期末测试题二(含答案)2024-2025学年译林版七年级英语上册
- 大创赛项目书
- 产品质量知识培训课件
- 乳腺旋切手术
评论
0/150
提交评论