惠州学院单片机魏暁慧老师输入输出接口课件_第1页
惠州学院单片机魏暁慧老师输入输出接口课件_第2页
惠州学院单片机魏暁慧老师输入输出接口课件_第3页
惠州学院单片机魏暁慧老师输入输出接口课件_第4页
惠州学院单片机魏暁慧老师输入输出接口课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、惠州学院单片机魏暁慧老师输入输出接口MCS-51MCS-51单片机内部结构单片机内部结构内部结构框图如下:内部结构框图如下:单片机结构框图单片机结构框图 频率基准源 内部总线内部总线 中断 中断 控制 并行I/O口 串行输入/输出 8051振荡器及定4 K /8K字节程序存储器ROM128 /256字节数据存储器 RAM2 个16位定/8051CPU64K字节总线扩展控制可编程I/O口4 8 位可编程串行口惠州学院单片机魏暁慧老师输入输出接口MCS-51单片机外部引脚单片机外部引脚封装形式,封装形式,见右图:见右图:01p .71p .SSV1XTAL2XTALRD73p/.WR63p/.1T

2、53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p .72p .CCV00p .70p .PSENPROGALE /EAVpp /182018191716151413121110921284039322930318051惠州学院单片机魏暁慧老师输入输出接口 MCS-51 MCS-51单片机内存配置单片机内存配置MCS-51单片机的内存结构单片机的内存结构H00000 00 08 80 0H HRAM内内部部0 00 0F FF FH H能寄存器特殊功0 0F FF FF FF FH H)(外部外部K64RAM 数据存储器数据存储器H0000

3、0 00 07 7F FH H0 0F FF FF FF FH H0 0F FF FF FH H1EAROM 外外部部0EAROM 内内部部H0000 程序存储器程序存储器1000H1000H惠州学院单片机魏暁慧老师输入输出接口 对单片机的控制,其实就是对对单片机的控制,其实就是对I/O口的控制,口的控制,无论单片机对外界进行何种控制,或接受无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过外部的何种控制,都是通过I/O口进行的。口进行的。51单片机总共有单片机总共有P0、P1、P2、P3四个四个8位位双向输入输出端口,每个端口都有锁存器、双向输入输出端口,每个端口都有锁存器、输出驱

4、动器和输入缓冲器。输出驱动器和输入缓冲器。4个个I/O端口都端口都能作输入输出口用,其中能作输入输出口用,其中P0和和P2通常用于通常用于对外部存储器的访问。对外部存储器的访问。第五章第五章 输入输出接口输入输出接口P0P3惠州学院单片机魏暁慧老师输入输出接口5.1 MCS-515.1 MCS-51单片机的并行端口结构与操作单片机的并行端口结构与操作5151系列单片机有系列单片机有4 4个个I/OI/O端口,每个端口都是端口,每个端口都是8 8位准双向口,共占位准双向口,共占3232根引脚。每个端口都包括一个根引脚。每个端口都包括一个锁存器锁存器( (即专用寄存器即专用寄存器P0P0P3)P3

5、)、一个输出驱动器和、一个输出驱动器和输入缓冲器。通常把输入缓冲器。通常把4 4个端口笼统地表示为个端口笼统地表示为P0P0P3P3。惠州学院单片机魏暁慧老师输入输出接口下图为P0口的某位P0.n(n=07)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口口引脚引脚一、一、P0P0口的结构口的结构惠州学院单片机魏暁慧老师输入输出接口1、P0口作为普通I/O口

6、输出时输出时惠州学院单片机魏暁慧老师输入输出接口 输入时输入时-分分读引脚读引脚或或读锁存器读锁存器读引脚:读引脚:由传送指令由传送指令(MOVMOV)实现;实现;下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把下面一个缓冲器用于读端口引脚数据,当执行一条由端口输入的指令时,读脉冲把该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。该三态缓冲器打开,这样端口引脚上的数据经过缓冲器读入到内部总线。惠州学院单片机魏暁慧老师输入输出接口 输入时输入时-分读引脚或读锁存器分读引脚或读锁存器读锁存器:读锁存器:有些指令有些指令 如:如:ANL P0ANL P0,A

7、A称为称为“读读- -改改- -写写” ” 指令,需要读锁存器。上面指令,需要读锁存器。上面一个缓冲器用于读端口锁存器数据。一个缓冲器用于读端口锁存器数据。惠州学院单片机魏暁慧老师输入输出接口* * *原因:如果此时该端口的负载恰是一个原因:如果此时该端口的负载恰是一个晶体管基极,且原端口输出值为晶体管基极,且原端口输出值为1 1,那么,那么导通了的导通了的PNPN结会把端口引脚高电平拉低;结会把端口引脚高电平拉低;若此时直接读端口引脚信号,将会把原输若此时直接读端口引脚信号,将会把原输出的出的“1”1”电平误读为电平误读为“0”0”电平。现采用电平。现采用读输出锁存器代替读引脚,图中,上面的

8、读输出锁存器代替读引脚,图中,上面的三态缓冲器就为读锁存器三态缓冲器就为读锁存器Q Q端信号而设,端信号而设,读输出锁存器可避免上述可能发生的错误。读输出锁存器可避免上述可能发生的错误。* * *惠州学院单片机魏暁慧老师输入输出接口 P0口必须接上拉电阻; 在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口; 三态输入缓冲器的作用: (ANL P0,A)P0iQ19013VCCGNDOUTPUT惠州学院单片机魏暁慧老师输入输出接口D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口

9、口引脚引脚准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。 惠州学院单片机魏暁慧老师输入输出接口 CPU CPU发出控制电平发出控制电平“1”1”,打开,打开“与与”门,又使多路开关门,又使多路开关MUXMUX把把CPUCPU的地址的地址/ /数数据总线与据总线与T2T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个栅极反相接通,输出地址或数据。由图上可以看出,上下两个FETFET处处

10、于反相,构成了推拉式的输出电路,其负载能力大大增强。于反相,构成了推拉式的输出电路,其负载能力大大增强。2 2、P0P0作为作为地址地址/ /数据总线数据总线惠州学院单片机魏暁慧老师输入输出接口 P0 P0引脚输出地址引脚输出地址/ /输入数据输入数据 输入信号是从引脚通过输入缓冲器进入内部总线。输入信号是从引脚通过输入缓冲器进入内部总线。 此时,此时,CPUCPU自动使自动使MUXMUX向下,并向向下,并向P0P0口写口写“1”1”,“读引脚读引脚”控制信号有效,控制信号有效,下面的缓冲器打开,外部数据读入内部总线。下面的缓冲器打开,外部数据读入内部总线。2 2、P0P0作为作为地址地址/

11、/数据总线数据总线-真正的双向口惠州学院单片机魏暁慧老师输入输出接口二、二、P2P2的内部结构的内部结构1.P21.P2口作为普通口作为普通I/OI/O口口D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚CPUCPU发出控制电平发出控制电平“0” 0” ,使多路开关,使多路开关MUXMUX倒向锁存倒向锁存器器输出输出Q Q端,构成一个准双向口。其功能与端,构成一个准双向口。其功能与P1P1相同。相同。惠州学院单片机魏暁慧老师输入输出接口 2.P2 2.P2口作为地址总线口作为地址总线 在系统扩展片外程序存储器扩展数据

12、存储器且容量超过在系统扩展片外程序存储器扩展数据存储器且容量超过256B 256B ( (用用MOVX DPTRMOVX DPTR指令指令) )时,时,CPUCPU发出控制电平发出控制电平“1”1”,使多路,使多路开关开关MUXMUX倒内部地址线。此时,倒内部地址线。此时,P2P2输出高输出高8 8位地址。位地址。D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚惠州学院单片机魏暁慧老师输入输出接口 5.2 P15.2 P1口、口、P3P3口的内部结构口的内部结构 P1口的一位的结构 它由一个输出锁存器、两个三态输入缓

13、冲器和输出驱动电路组成-准双向口。D QD QCLK QCLK QP1.nP1.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚VCCRT TP1口引脚惠州学院单片机魏暁慧老师输入输出接口P3的内部结构D QD QCLK QCLK QP3.nP3.n读读锁存器锁存器内部总线内部总线写锁存器写锁存器读读引脚引脚VCCRT TP3口引脚第二第二输入功能输入功能第二第二输出功能输出功能一、作为通用I/O口与P1口类似-准双向口(W=1)W惠州学院单片机魏暁慧老师输入输出接口P3的内部结构D QD QCLK QCLK QP3.nP3.n读读锁存器锁存器内部总线内部总线写锁存器写锁存器读读

14、引脚引脚VCCRT TP3口引脚第二第二输入功能输入功能第二第二输出功能输出功能二、第二功能(Q=1Q=1)此时引脚部分输入(Q=1Q=1、W=1) ,部分输出(Q=1、W输出) 。W惠州学院单片机魏暁慧老师输入输出接口第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制惠州学院单片机魏暁慧老师输入输出接口 综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会

15、有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。 当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。惠州学院单片机魏暁慧老师输入输出接口 P1、P2 和和P3 口为准双向口口为准双向口, 在内部差别不大在内部差别不大, 但使但使用功能有所不同。用功能有所不同。 P1口是用户专用口是用户专用 8 位准双向位准双向I/O口口, 具有通用具有通用输入输入/输出功能输出功能, 每一位都能独立地设定为输入或输每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时出。当有输出方式变为输入方式时, 该位的锁存器该位的锁存

16、器必须写入必须写入“1”, 然后才能进入输入操作。然后才能进入输入操作。 P2口是口是 8 位准双向位准双向I/O口。外接口。外接I/O设备时设备时, 可可作为扩展系统的地址总线作为扩展系统的地址总线, 输出高输出高8位地址位地址, 与与P0 口口一起组成一起组成 16 位地址总线。位地址总线。 对于对于 8031 而言而言, P2 口口一般只作为地址总线使用一般只作为地址总线使用, 而不作为而不作为I/O线直接与外线直接与外部设备相连。部设备相连。 惠州学院单片机魏暁慧老师输入输出接口小结:小结:1、P0口:地址低口:地址低8位与数据线分时使用端口,位与数据线分时使用端口,2、P1口:按位可

17、编址的输入输出端口,口:按位可编址的输入输出端口,3、P2口:地址高口:地址高8位输出口位输出口4、P3口:双功能口。若不用第二功能,也可作通用口:双功能口。若不用第二功能,也可作通用I / O 口。口。5、按三总线划分:、按三总线划分: 地址线:地址线:P0低八位地址,低八位地址,P2高八地址;高八地址;数据线:数据线:P0输入输出输入输出8位数据;位数据;控制线:控制线:P3口的口的8位加上位加上/PSEN、ALE共同完成共同完成 控制总线。控制总线。惠州学院单片机魏暁慧老师输入输出接口归纳四个并行口使用的注意事项如下:归纳四个并行口使用的注意事项如下:1 1、如果单片机内部有程序存贮器,

18、不如果单片机内部有程序存贮器,不需要扩展外部存贮器和需要扩展外部存贮器和I/OI/O接口,单接口,单片机的四个口均可作片机的四个口均可作I/OI/O口使用。口使用。2 2、四个口在作输入口使用时,均应先四个口在作输入口使用时,均应先对其写对其写“1”1”,以避免误读。,以避免误读。3 3、P0P0口作口作I/OI/O口使用时应外接口使用时应外接10K10K的上拉电阻,其它口则的上拉电阻,其它口则可不必。可不必。4 4、P2P2可某几根线作地址使用时,剩下的线不能作可某几根线作地址使用时,剩下的线不能作I/OI/O口口线使用。线使用。5 5、P3P3口的某些口线作第二功能时,剩下的口线可以单独口

19、的某些口线作第二功能时,剩下的口线可以单独作作I/OI/O口线使用。口线使用。惠州学院单片机魏暁慧老师输入输出接口5.2 5.2 编程举例编程举例 例例5-1.设计一电路,监视某开关设计一电路,监视某开关K,用发光二,用发光二极管极管LED显示开关状态,如果开关合上,显示开关状态,如果开关合上,LED 亮、亮、 开关打开,开关打开,LED熄灭。熄灭。 分析:设计电路如图分析:设计电路如图5. 2如示。如示。 开关接在开关接在P1.1口线,口线,LED接接P1.0口线,当开口线,当开关断开时,关断开时,P1.1为为+5V,对应数字量为,对应数字量为“1”,开开 关合上时关合上时P1.1电平为电平

20、为0V,对应数字量为,对应数字量为“0”,这样就可以用这样就可以用JB指令对开关状态进行检测指令对开关状态进行检测 。惠州学院单片机魏暁慧老师输入输出接口 LED正偏时才能发亮,按电路接法,正偏时才能发亮,按电路接法,当当P1.0输出输出“1”,LED正偏而发亮,当正偏而发亮,当P1.0 输出输出“0” ,LED 的两端电压为的两端电压为 0 而熄灭。而熄灭。 LEDLED+5V5VVccVcc-EAEARSTRST10uF 10uF 1K1KP1.0P1.089S5189S51P1.1P1.11K1K30P30P30P30PXTAL1XTAL1XTAL2XTAL2GNDGND89C5189C

21、51+5V5VVccVcc-EAEARSTRST10uF 10uF 1K1KP1.0P1.089S5189S51+5V+5VP1.1P1.11K1K30P30P30P30PXTAL1XTAL1XTAL2XTAL2GNDGND89C5189C51K K惠州学院单片机魏暁慧老师输入输出接口编程如下:编程如下: CLR P1.0 ;使发光二极管灭;使发光二极管灭AGA:SETB P1.1 ;先对;先对P1口写入口写入“1” JB P1.1,LIG ;开关开,转;开关开,转LIG SETB P1.0 ;开关合上,二极管亮;开关合上,二极管亮 SJMP AGALIG: CLR P1.0 ;开关开,二极管

22、灭;开关开,二极管灭 SJMP AGA惠州学院单片机魏暁慧老师输入输出接口+5V+5VP1.0P1.0LEDLED 在上述电路图中二极管亮度不够,按下在上述电路图中二极管亮度不够,按下面两种电路接法,增加了驱动能力,二极管面两种电路接法,增加了驱动能力,二极管更亮些。更亮些。接成灌电流形式:接成灌电流形式:P1.0P1.0+5V+5VLEDLED1加驱动电路:加驱动电路:惠州学院单片机魏暁慧老师输入输出接口用汇编语言编程用汇编语言编程 ORG 0000H MOV P1,#0FFH ;高四位的高四位的LED全灭,全灭, 低四位输入线送低四位输入线送“1”, ABC: MOV A,P1 ;读读P1

23、口引脚开关状态,并送入口引脚开关状态,并送入A SWAP A ;低四位开关状态换到高四位低四位开关状态换到高四位 ANL A,#0F0H ;保留高四位保留高四位 MOV P1,A ;从从P1口输出口输出 ORL P1,#0FH ;高四位不变,低四位送高四位不变,低四位送“1”, 准备下一轮读开关准备下一轮读开关 SJMP ABC ;循环执行,方便反复调整开循环执行,方便反复调整开关关 状态观察执行结果状态观察执行结果惠州学院单片机魏暁慧老师输入输出接口 例例3.3.用用P1.0P1.0输出输出1KHz1KHz和和500Hz500Hz的音频信号的音频信号驱动扬声器,作报警信号,要求驱动扬声器,作

24、报警信号,要求1KHz1KHz信号响信号响100ms 100ms ,500Hz500Hz信号响信号响200ms200ms,交替进行,交替进行,P1.7P1.7接一开关进行控制,当开关合上响报警信号,接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。当开关断开告警信号停止,编出程序。 分析:分析:500Hz500Hz信号周期为信号周期为2ms2ms,信号电平为,信号电平为每每1ms1ms变反变反1 1次。次。1KHz1KHz的信号周期为的信号周期为1ms1ms,信号,信号电平电平 每每500S500S变反变反1 1次,编一个延时次,编一个延时500S500S子程子程序,延

25、时序,延时1ms1ms只需调用只需调用2 2次。用次。用R2R2控制音响时间控制音响时间长短,长短,A A作音响频率的交换控制的标志。作音响频率的交换控制的标志。A=FFA=FF时产生时产生1KHz1KHz信号,信号,A=0A=0时产生时产生500Hz500Hz信号。信号。 惠州学院单片机魏暁慧老师输入输出接口P1.0 波波 形形 图图 1ms 1ms100个个T (变反变反200次即次即200ms)。500S500S100个个T (变反变反200次即次即100ms)。TT惠州学院单片机魏暁慧老师输入输出接口 ORG 0000H CLR A ;A作作1KHz,500Hz 转换控制转换控制BEG

26、: JB P1.7, ;检测;检测P1.7的开关状态的开关状态 MOV R2, #200 ;开关闭合报警,;开关闭合报警,R2控制音响时间控制音响时间DV:CPL P1.0 CJNE A, #0FFH, N1 ;AFFH,延时,延时500S ACALL D500 ;A=FFH ; 延时延时1ms P1.0变反变反N1:ACALL D500 DJNZ R2,DV CPL A SJMP BEGD500:MOV R7, #250 ;延时;延时500 S子程序子程序 DJNZ R7, RET END惠州学院单片机魏暁慧老师输入输出接口5.3 5.3 用并行口设计用并行口设计LEDLED数码显示器数码显

27、示器 和键盘电路和键盘电路 键盘和显示器是单片机应用系统中常用的键盘和显示器是单片机应用系统中常用的输入输出装置。输入输出装置。LEDLED数码显示器是常用的显示器数码显示器是常用的显示器之一,下面介绍用单片机并行口设计之一,下面介绍用单片机并行口设计LEDLED数码显数码显示电路和键盘电路的方法。示电路和键盘电路的方法。 惠州学院单片机魏暁慧老师输入输出接口 5.3.1 5.3.1用并行口设计用并行口设计LEDLED显示电路显示电路1. LED1. LED显示器及其原理显示器及其原理 LEDLED有着显示亮度高,响应速度快的特点,有着显示亮度高,响应速度快的特点,最常用的是七段式最常用的是七

28、段式LEDLED显示器,又称数码管。显示器,又称数码管。 七段七段LEDLED显示器内部由七个条形发光二极管和一显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见合成字符。常见LEDLED的管脚排列见图的管脚排列见图5.4(a)5.4(a)。其。其中中COMCOM为公共点,根据内部发光二极管的接线为公共点,根据内部发光二极管的接线 形式,可分成共阴极型图形式,可分成共阴极型图(5.4(b)(5.4(b)和共阳极型和共阳极型图图(5.4(c)(5.4(c)。 惠州学院单片机魏暁慧老师输入输出接口a ab bc cd d

29、e ef fg gdpdp(a)(b)(c)cdedp12345678910a bfgcomcomabcefabcdefgdpcomcom图图5.45.4惠州学院单片机魏暁慧老师输入输出接口0 0 1 1 1 1 1 1 3fh x g f e d c b a a ab bc cd de ef fg gdpdpcdedp12345678910a bfgcomcomabcefcomg LED数码管的数码管的ga七个发光二极管因加正电压而发亮,因加七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组

30、合称之为字形码合称之为字形码(段码段码),如显示,如显示”0”,字形码为字形码为3fh.惠州学院单片机魏暁慧老师输入输出接口a ab bc cd de ef fg gdpdp12345678910a bfgcomcomabcefgx g f e d c b a 0 0 0 0 0 1 1 0 06h 显示显示”1”,字形码为字形码为06h.惠州学院单片机魏暁慧老师输入输出接口显示显示”2”,字形码为字形码为5bh.(b)dpcoma ab bc cd de ef fg gdpdpcde12345678910comcomabcefgx g f e d c b a 0 1 0 1 1 0 1 1

31、5bh 惠州学院单片机魏暁慧老师输入输出接口 显然共阳极和共阴极的字形码是不同的显然共阳极和共阴极的字形码是不同的 ,其字形码见表其字形码见表5.25.2。LEDLED数码管每段需数码管每段需101020ma20ma的驱动电流,可用的驱动电流,可用TTLTTL或或CMOSCMOS器件驱动。器件驱动。 字形码的控制输出可采用硬件译码方式,字形码的控制输出可采用硬件译码方式,如采用如采用BCD 7BCD 7段译码段译码/ /驱动器驱动器74LS4874LS48、74LS4974LS49、CD4511(CD4511(共阴极共阴极) )或或74LS4674LS46、74LS4774LS47、CD451

32、3CD4513( (其阳极其阳极) )也可用软件查表方式输出。也可用软件查表方式输出。 惠州学院单片机魏暁慧老师输入输出接口显示字符段段 符符 号号十六进制代码dpgfedcba共阴共阳0123456789ABCDEFHP0000000000000000010011111011110111111000111011111011111010001010111111111011011011011110001101111111110100101111100111100100111011011111101011013FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H

33、71H76HF3HC0F9A4B0999282F880908883C6A18684FFBF惠州学院单片机魏暁慧老师输入输出接口惠州学院单片机魏暁慧老师输入输出接口为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或称(或称字型码字型码)。)。提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字正好是一个字节(节(8 8段)段)。各段与字节中各位对应关系如下:。各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表的段码如表10-110-1所示。所示。惠州学院单片机魏暁慧老师输入输出接口显

34、示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码0 03FH3FHC0HC0Hc c39H39HC6HC6H1 106H06HF9HF9Hd d5EH5EHA1HA1H2 25BH5BHA4HA4HE E79H79H86H86H3 34FH4FHB0HB0HF F71H71H8EH8EH4 466H66H99H99HP P73H73H8CH8CH5 56DH6DH92H92HU U3EH3EHC1HC1H6 67DH7DH82H82HT T31H31HCEHCEH7 707H07HF8HF8Hy y6EH6EH91H91H8 87F

35、H7FH80H80HH H76H76H89H89H9 96FH6FH90H90HL L38H38HC7HC7HA A77FH77FH88H88H“灭灭”00H00HFFHFFHb b7CH7CH83H83H表表10-1 LED10-1 LED段码(段码(8 8段)段)惠州学院单片机魏暁慧老师输入输出接口表表10-110-1只列出了部分段码,只列出了部分段码,可根据实际情况选用可根据实际情况选用。另外,另外,段码是相对的段码是相对的,它由各字段在字节中所处的,它由各字段在字节中所处的位决定。例如表位决定。例如表10-110-1中中8 8段段LEDLED段码是按格式段码是按格式:而形成的,而形成的

36、, “0”0”的段码为的段码为3FH3FH(共阴)。(共阴)。反之,如反之,如 将格式改为下列格式:将格式改为下列格式:则则 “0”0”的段码为的段码为7EH7EH(共阴)(共阴)。字型及段码由设计者自行设定,字型及段码由设计者自行设定,习惯上还是以习惯上还是以“a”a” 段对应段码的最低位。段对应段码的最低位。惠州学院单片机魏暁慧老师输入输出接口N N个个LEDLED显示块有显示块有N N位位选线位位选线和和8 8N N根段码线根段码线。 LEDLED显示器工作原理显示器工作原理图图10-210-2是是4 4位位 LEDLED显示器的结构原理图。显示器的结构原理图。惠州学院单片机魏暁慧老师输

37、入输出接口段码线段码线控制控制显示的字型显示的字型,位选线位选线控制控制该显示位的亮或暗。该显示位的亮或暗。静态显示静态显示和和动态显示动态显示两种显示方式。两种显示方式。1. 1. 静态显示方式静态显示方式各位的公共端连接在一起(接地或各位的公共端连接在一起(接地或+5V+5V)。)。 每位的段码线(每位的段码线(a adpdp)分别)分别与一个与一个8 8位的锁存器位的锁存器输出相连。输出相连。 显示字符一确定,相应锁存器的段码输出将维持显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。不变,直到送入另一个段码为止。显示的亮度高显示的亮度高。 图图10-3:10-3:

38、 4 4位静态位静态LEDLED显示器电路。该电路各位显示器电路。该电路各位可独立显示。可独立显示。惠州学院单片机魏暁慧老师输入输出接口2. 2. 动态显示方式动态显示方式 所有位的段码线所有位的段码线相应段并在一起,由一个相应段并在一起,由一个8 8位位I/OI/O口控制口控制,形成,形成段码线的多路复用,段码线的多路复用,各位的各位的公共端公共端分别由分别由相应的相应的I/OI/O线控制,形成各位的线控制,形成各位的分时选通。分时选通。惠州学院单片机魏暁慧老师输入输出接口图图10-410-4:4 4位位8 8段段LEDLED动态显示电路。其中段码线占用一动态显示电路。其中段码线占用一个个8

39、 8位位I/OI/O口,而位选线占用一个口,而位选线占用一个4 4位位I/OI/O口。口。惠州学院单片机魏暁慧老师输入输出接口图图10-510-5为为8 8位位LEDLED动态显示动态显示2003.10.102003.10.10的过程的过程。图(图(a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通被选通 显示,其余位则是熄灭的;显示,其余位则是熄灭的;图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定的位稳定的 同时显示的字符。同时显示的字符。惠州学院单片机魏暁慧老师输入输出接口 例如图例如图5.5是接有五个共阴极数码管的

40、动态是接有五个共阴极数码管的动态显示接口电路,用显示接口电路,用74LS373接成直通的方式作接成直通的方式作驱动驱动 电路,阴极用非门电路,阴极用非门74LS04反相门驱动,反相门驱动,字形选择由字形选择由P1口提供,位选择由口提供,位选择由P3口控制。口控制。 当当P3.0P3.4轮流输出轮流输出1时,五个数码管时,五个数码管轮流显示。轮流显示。P1.7接开关,当开关打向位置接开关,当开关打向位置“1”时,时, 显示显示“12345”字样,当开关打向字样,当开关打向“2”时,显示时,显示“HELLO”字样,程序清单如下:字样,程序清单如下:惠州学院单片机魏暁慧老师输入输出接口11111+5

41、VVcc/EARSTP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0P3.1P3.2P3.3P3.4XTAL1XTAL2GND89C51Q0Q6/OED0D6G373ag图5-5 接五个共阴极数码管的动态显示接口12惠州学院单片机魏暁慧老师输入输出接口惠州学院单片机魏暁慧老师输入输出接口 用汇编语言编程用汇编语言编程 ORG 0000H MOV P3,#0 ;清显示;清显示TEST:SETB P1.7 JB P1.7,DIR1 ;检测开关;检测开关 MOV DPTR,#TAB 1 ; 开关置于开关置于1,12345字形表头地字形表头地址址 SJMP DIRDIR1: M

42、OV DPTR,#TAB2 ; 开关置于开关置于2,“HELLO”字形表头字形表头DIR: MOV R0,#0 ;R0存字形表偏移量存字形表偏移量 MOV R1,#01 ;R1置数码表位选代码置数码表位选代码NEXT:MOV A,R0 MOVC A,A+DPTR ; 查字形码表查字形码表1 MOV P1,A ;送;送P1口输出口输出 惠州学院单片机魏暁慧老师输入输出接口 MOV A,R1 MOV P3,A ;输出位选码;输出位选码 ACALL DAY ;延时;延时 INC R0 ;指向下一位字形;指向下一位字形 RL A ;指向下一位;指向下一位 MOV R1,A CJNE R1,#20H,N

43、EXT ;五个五个 数码管显示完数码管显示完? SJMP TESTDAY:MOV R6,#20 ; 延时延时20ms子程序子程序DL2: MOV R7,#7DHDL1: NOP NOP惠州学院单片机魏暁慧老师输入输出接口 DJNZ R7,DL1 DJNZ R6,DL2 RETTAB1:db 06H,5BH,4FH,66H,6DH ; “15”的字形码TAB2:db 78H,79H,38H,38H,3FH ; “HELLO”的字形码 END惠州学院单片机魏暁慧老师输入输出接口 键盘接口原理键盘接口原理1. 1. 键盘输入的特点键盘输入的特点键盘:一组按键开关的集合键盘:一组按键开关的集合。 行线

44、电压信号通过键盘开关机械触点的断开、闭合,行线电压信号通过键盘开关机械触点的断开、闭合,输出波形如图输出波形如图10-610-6。惠州学院单片机魏暁慧老师输入输出接口2. 2. 按键的确认按键的确认 检测行线电平,便可确认按键按下与否。检测行线电平,便可确认按键按下与否。 高电平:高电平:断开;断开;低电平低电平:闭合,:闭合,常用常用软件来消除按键抖动。软件来消除按键抖动。 基本思想基本思想:检测到有键按下,键对应的行线为低,软:检测到有键按下,键对应的行线为低,软件延时件延时10ms10ms后,行线如仍为低,则确认该行有键按下。后,行线如仍为低,则确认该行有键按下。3.3.如何消除按键的抖

45、动如何消除按键的抖动 当键松开时当键松开时,行线变高,软件延时,行线变高,软件延时10ms10ms后,行线仍后,行线仍为为高,说明按键已松开。高,说明按键已松开。采取以上措施,采取以上措施,躲开了两个抖动期躲开了两个抖动期t1t1和和t3t3的影响的影响。惠州学院单片机魏暁慧老师输入输出接口键盘接口的工作原理键盘接口的工作原理独立式独立式按键接口和按键接口和行列式行列式键盘接口。键盘接口。1.1.独立式键盘接口独立式键盘接口 各键相互独立,每个按键各接一根输入线,通过检各键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可很容易判断那个键被按下。测输入线的电平状态可很容易判断那个键被

46、按下。此种接口此种接口适于键数较少或操作速度较高适于键数较少或操作速度较高的场合。的场合。图图10-710-7(a a)为)为中断方式的独立式中断方式的独立式键盘工作电路键盘工作电路图图10-710-7(b b)为)为查询方式的独立式查询方式的独立式键盘工作电路键盘工作电路。惠州学院单片机魏暁慧老师输入输出接口惠州学院单片机魏暁慧老师输入输出接口图图10-810-8为为8255A8255A扩展扩展I/OI/O口口的的独立式独立式按键接口电路。按键接口电路。惠州学院单片机魏暁慧老师输入输出接口图图10-910-9用用三态缓冲器三态缓冲器扩展的扩展的I/OI/O口的按键接口电口的按键接口电路路。惠

47、州学院单片机魏暁慧老师输入输出接口 对图对图10-910-9独立式键盘编程,软件消抖,查询方式检独立式键盘编程,软件消抖,查询方式检测键的状态。仅有一键按下时才有效才处理。测键的状态。仅有一键按下时才有效才处理。KEYIN:MOV DPTR,#0BFFFHKEYIN:MOV DPTR,#0BFFFH;键盘端口地址;键盘端口地址BFFFHBFFFHMOVX A,DPTRMOVX A,DPTR;读键盘状态;读键盘状态ANL A,#1FHANL A,#1FH;屏蔽高三位;屏蔽高三位MOV R3,AMOV R3,A;保存键盘状态值;保存键盘状态值LCALL DELAY10LCALL DELAY10;延

48、时;延时10ms10ms去键盘抖动去键盘抖动MOVX A,DPTRMOVX A,DPTR;再读键盘状态;再读键盘状态ANL A,#1FHANL A,#1FH;屏蔽高三位;屏蔽高三位 CJNE A,R3,RETURN CJNE A,R3,RETURN ;两次不同,抖动引起转;两次不同,抖动引起转RETURNRETURNCJNE A,#1EH,KEY2 CJNE A,#1EH,KEY2 ;相等,有键按下,不等转;相等,有键按下,不等转KEY2KEY2惠州学院单片机魏暁慧老师输入输出接口LJMP KEY1LJMP KEY1; ;是是K1K1键按下,转键按下,转K1K1键处理键处理 ;子程序;子程序P

49、KEY1PKEY1KEY2: CJNE A,#1DH,KEY3 ;S2KEY2: CJNE A,#1DH,KEY3 ;S2键未按下,转键未按下,转KEY3KEY3LJMP KEY2LJMP KEY2 ;S2 ;S2键按下,转键按下,转PKEY2PKEY2处理处理KEY3:KEY3: CJNE A,#1BH,KEY4CJNE A,#1BH,KEY4 ;S3;S3未按下,转未按下,转KEY4KEY4LJMP KEY3 ;S3LJMP KEY3 ;S3按下,转按下,转PKEY3PKEY3处理处理KEY4: CJNE A,#17H,KEY5 ;S4KEY4: CJNE A,#17H,KEY5 ;S4键

50、未按下,转键未按下,转KEY5KEY5LJMP KEY4 ;S4LJMP KEY4 ;S4按下,转按下,转PKEY4PKEY4处理处理KEY5:KEY5: CJNE A,#0FH,PASS ;S5CJNE A,#0FH,PASS ;S5未按下,转未按下,转RETURNRETURNLJMP KEY5 ;S5LJMP KEY5 ;S5按下,转按下,转PKEY5PKEY5处理处理RETURN:RET ;RETURN:RET ;重键或无键按下,从子程序返回重键或无键按下,从子程序返回识别和编程简单,识别和编程简单,用在按键数较少的场合。用在按键数较少的场合。惠州学院单片机魏暁慧老师输入输出接口2. 行

51、列式行列式(矩阵式矩阵式)键盘接口键盘接口 用于按键数目较多的场合,用于按键数目较多的场合,由由行线和列线组成行线和列线组成,按键位于行、列的交叉点上。如图按键位于行、列的交叉点上。如图10-1010-10所示。所示。 按键数目较多的场合按键数目较多的场合,行列式键盘与独立式键盘,行列式键盘与独立式键盘相比,要节省很多的相比,要节省很多的I/OI/O口线。口线。惠州学院单片机魏暁慧老师输入输出接口(1)行列式键盘工作原理)行列式键盘工作原理 无键按下,该行线为高电平,无键按下,该行线为高电平,当有键按下时,当有键按下时,行线电平有列线的电平来决定行线电平有列线的电平来决定。 由于行、列线为多键

52、共用,各按键彼此将相互发由于行、列线为多键共用,各按键彼此将相互发生影响,必须生影响,必须将行、列线信号配合起来并作适当的处将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置理,才能确定闭合键的位置。(2 2)按键的识别方法)按键的识别方法a. a. 扫描法扫描法 图图10-1010-10(b b)中)中3 3号键被按下为例,来说明此键号键被按下为例,来说明此键时如何被识别出来的。时如何被识别出来的。惠州学院单片机魏暁慧老师输入输出接口识别键盘有无键被按下的方法,分两步进行:识别键盘有无键被按下的方法,分两步进行:第第1 1步:步:识别键盘有无键按下;识别键盘有无键按下;第第2 2步:

53、步:如有键被按下,识别出具体的按键。如有键被按下,识别出具体的按键。 把所有列线置把所有列线置0 0,检查各行线电平是否有变化,如,检查各行线电平是否有变化,如有变化,说明有键按下,如无变化,则无键按下。有变化,说明有键按下,如无变化,则无键按下。 上述方法称为上述方法称为扫描法扫描法,即,即先把某一列置低电平,先把某一列置低电平,其余各列为高电平,检查各行线电平的变化其余各列为高电平,检查各行线电平的变化,如果某,如果某行线电平为低,可确定行线电平为低,可确定此行列交叉点此行列交叉点处的按键被按处的按键被按下。下。 b. b. 线反转法线反转法 只需两步便能获得此按键所在的行列值,线反转只需

54、两步便能获得此按键所在的行列值,线反转法的原理如图法的原理如图10-1110-11。惠州学院单片机魏暁慧老师输入输出接口惠州学院单片机魏暁慧老师输入输出接口第第1 1步:步:列线输出为全低电平,则行线中电平由高变低列线输出为全低电平,则行线中电平由高变低的所在行为按键所在行。的所在行为按键所在行。第第2 2步:步:行线输出为全低电平,则列线中电平由高变低行线输出为全低电平,则列线中电平由高变低所在列为按键所在列。所在列为按键所在列。 结合上述两步,可确定按键所在行和列。结合上述两步,可确定按键所在行和列。(3 3)键盘的编码)键盘的编码 根据实际需要灵活编码。根据实际需要灵活编码。10.2.3

55、 10.2.3 键盘的工作方式键盘的工作方式 单片机在忙于各项工作任务时,如何兼顾键盘的输单片机在忙于各项工作任务时,如何兼顾键盘的输入,取决于键盘的工作方式。入,取决于键盘的工作方式。惠州学院单片机魏暁慧老师输入输出接口 下图中,用下图中,用8XX518XX51的并行口的并行口P1P1接接4 44 4矩阵键盘,矩阵键盘, 以以P1.0P1.0P1.3P1.3作输出线,以作输出线,以P1.4P1.4P1.7P1.7作输入线,键盘作输入线,键盘扫描程序的流程如图扫描程序的流程如图5.75.7所示。所示。5a惠州学院单片机魏暁慧老师输入输出接口 EE DE BE 7E ED DD BD 7D EB

56、 DB BB 7B E7 D7 B7 77 惠州学院单片机魏暁慧老师输入输出接口Y返回键编码返回键编码读读P1.3P1.4值值置行扫描初值置行扫描初值扫描位从扫描位从P1口输出口输出P1口的高四位和低四位口的高四位和低四位相或得键编码相或得键编码扫到最后一行扫到最后一行?NN(有键按下)有键按下)N开始开始P1.0P1.3输出输出0延时去抖动延时去抖动P1.4P1.7全为全为1?P1.4P1.7全为全为1?YY(无键按下无键按下)惠州学院单片机魏暁慧老师输入输出接口 对键盘的程序流程图对键盘的程序流程图5.7说明如下:说明如下: 当当P1.0P1.3输出输出0时,如无键按下,时,如无键按下,P

57、1.4P1.7的输入值均为的输入值均为“1”,如果其中有一个不,如果其中有一个不是是 “1”,说明有键按下,再使,说明有键按下,再使P1.0P1.3逐个输逐个输出零出零(行扫描行扫描),检查,检查P1.4P1.7的输入值有的输入值有 无零,无零,从而查出是哪行哪列的键按下。在判按键时,按从而查出是哪行哪列的键按下。在判按键时,按键有抖动,可采用延时后再重读以跳键有抖动,可采用延时后再重读以跳 过抖动时段过抖动时段(也可用也可用R-S触发器闩锁电路硬件消抖,但这样电触发器闩锁电路硬件消抖,但这样电路复杂,在矩阵键盘中不采用路复杂,在矩阵键盘中不采用)。惠州学院单片机魏暁慧老师输入输出接口程序清单

58、如下:程序清单如下:ORG 0000H TEST: MOV P1,#0F0H ; P1.0P1.3输出输出0, P1.4P1.7 输出输出1,作输入位作输入位 MOV A,P1 ;读键盘,检测有无键按下;读键盘,检测有无键按下ANL A,#0F0H ; 屏蔽屏蔽P1.0P1.3, 检测检测P1.4P1.是否全为是否全为1 CJNE A, #0F0H,HAVE ; P1.4P1.7不全为不全为1, 有键按下有键按下SJMP TEST ;P1.4P1.7全为全为1, 无键按下,重检测键盘无键按下,重检测键盘HAVE: MOV A,#0FE ;有键按下,逐行扫描键盘,;有键按下,逐行扫描键盘, 置扫

59、描初值置扫描初值惠州学院单片机魏暁慧老师输入输出接口 NEXT: MOV B,A ;扫描码暂存于;扫描码暂存于BMOV P1,A ;输出扫描码;输出扫描码READ: MOV A,P1 ;读键盘;读键盘ANL A,#0F0H ; 屏蔽屏蔽P1.0P1.3, 检测检测P1.4P1.是否全为是否全为1CJNE A,0F0H,YES ;P1.4P1.7不全为不全为1, 该行有键按下该行有键按下MOV A,B ;被扫行无键按下,准备查下一行;被扫行无键按下,准备查下一行RL A ;置下一行扫描码;置下一行扫描码CJNE A,#0EFH,NEXT ;未扫到到最后一行循环;未扫到到最后一行循环YES: AC

60、ALL DAY ;延时去抖动;延时去抖动惠州学院单片机魏暁慧老师输入输出接口AREAD: MOV A,P1 ;再读键盘;再读键盘ANL A,#0F0H ; 屏蔽屏蔽P1.0P1.3,保留,保留P1.4 P1.7(列码列码)MOV R2,A ;暂存列码;暂存列码MOV A, B ANL A,#0FH ;取行扫描码;取行扫描码ORL A,R2 ;行码、列码合并为键编码;行码、列码合并为键编码YES1: MOV B,A ;键编码存于;键编码存于BLJMP SAM38 ;转键分析处理程序(见例;转键分析处理程序(见例3-8)惠州学院单片机魏暁慧老师输入输出接口 例如图例如图5-6中的中的“a”键,的编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论