惠州学院单片机魏暁慧老师输入输出接口课件

上传人:新** 文档编号:567492580 上传时间:2024-07-20 格式:PPT 页数:84 大小:1.88MB
返回 下载 相关 举报
惠州学院单片机魏暁慧老师输入输出接口课件_第1页
第1页 / 共84页
惠州学院单片机魏暁慧老师输入输出接口课件_第2页
第2页 / 共84页
惠州学院单片机魏暁慧老师输入输出接口课件_第3页
第3页 / 共84页
惠州学院单片机魏暁慧老师输入输出接口课件_第4页
第4页 / 共84页
惠州学院单片机魏暁慧老师输入输出接口课件_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《惠州学院单片机魏暁慧老师输入输出接口课件》由会员分享,可在线阅读,更多相关《惠州学院单片机魏暁慧老师输入输出接口课件(84页珍藏版)》请在金锄头文库上搜索。

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

2、的内存结构单片机的内存结构)(外部外部K64RAM 数据存储器数据存储器 程序存储器程序存储器3惠州学院单片机魏暁慧老师输入输出接口对单片机的控制,其实就是对对单片机的控制,其实就是对I/O口的控制,口的控制,无论单片机对外界进行何种控制,或接受无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过外部的何种控制,都是通过I/O口进行的。口进行的。51单片机总共有单片机总共有P0、P1、P2、P3四个四个8位位双向输入输出端口,每个端口都有锁存器、双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。输出驱动器和输入缓冲器。4个个I/O端口都能端口都能作输入输出口用,其中作输入输

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

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

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

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

7、而设,端信号而设,读输出锁存器可避免上述可能发生的错误。读输出锁存器可避免上述可能发生的错误。*10惠州学院单片机魏暁慧老师输入输出接口P0口必须接上拉电阻;在读信号之前数据之前,先要向相应的锁存器做写1操作的I/O口称为准双向口;三态输入缓冲器的作用:(ANL P0,A)11惠州学院单片机魏暁慧老师输入输出接口D QCLK QMUXP0.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚地址地址/ /数据数据控制控制VCCT1T2P0P0口引口引脚脚准双向口: 从图中可以看出,在读入端口数据时,由于输出驱动FET并接在引脚上,如果T2导通,就会将输入的高电平拉成低电平,产生误读。

8、所以在端口进行输入操作前,应先向端口锁存器写“1”,使T2截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。 12惠州学院单片机魏暁慧老师输入输出接口 CPU CPU发出控制电平发出控制电平“1”“1”,打开,打开“与与”门,又使多路开关门,又使多路开关MUXMUX把把CPUCPU的地址的地址/ /数数据总线与据总线与T2T2栅极反相接通,输出地址或数据。由图上可以看出,上下两个栅极反相接通,输出地址或数据。由图上可以看出,上下两个FETFET处处于反相,构成了推拉式的输出电路,其负载能力大大增强。于反相,构成了推拉式的输出电路,其负载能力大大增强。2 2、P0P0作为作为地址地址

9、/ /数据总线数据总线13惠州学院单片机魏暁慧老师输入输出接口 P0 P0引脚输出地址引脚输出地址/ /输入数据输入数据 输入信号是从引脚通过输入缓冲器进入内部总线。输入信号是从引脚通过输入缓冲器进入内部总线。 此时,此时,CPUCPU自动使自动使MUXMUX向下,并向向下,并向P0P0口写口写“1”“1”,“读引脚读引脚”控制信号有效,控制信号有效,下面的缓冲器打开,外部数据读入内部总线。下面的缓冲器打开,外部数据读入内部总线。2 2、P0P0作为作为地址地址/ /数据总线数据总线-真正的双向口14惠州学院单片机魏暁慧老师输入输出接口二、二、P2P2的内部结构的内部结构1.P21.P2口作为

10、普通口作为普通I/OI/O口口D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚CPUCPU发出控制电平发出控制电平“0” “0” ,使多路开关,使多路开关MUXMUX倒向锁存倒向锁存器器输出输出Q Q端,构成一个准双向口。其功能与端,构成一个准双向口。其功能与P1P1相同。相同。15惠州学院单片机魏暁慧老师输入输出接口 2.P22.P2口作为地址总线口作为地址总线 在系统扩展片外程序存储器扩展数据存储器且容量超过在系统扩展片外程序存储器扩展数据存储器且容量超过256B 256B ( (用用MOVX DPTRMOVX

11、DPTR指令指令) )时,时,CPUCPU发出控制电平发出控制电平“1”“1”,使多路,使多路开关开关MUXMUX倒内部地址线。此时,倒内部地址线。此时,P2P2输出高输出高8 8位地址。位地址。D QCLK QMUXP2.n读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址控制控制VCCRTP2口引脚16惠州学院单片机魏暁慧老师输入输出接口 5.2 P15.2 P1口、口、P3P3口的内部结构口的内部结构 P1口的一位的结构 它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成-准双向口。D QD QCLK QCLK QP1.nP1.n读读锁存器锁存器内部总线内部总线写

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

13、(Q=1Q=1)此时引脚部分输入(Q=1Q=1、W=1) ,部分输出(Q=1、W输出) 。W19惠州学院单片机魏暁慧老师输入输出接口P3P3P3P3第二功能各引脚功能定义: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外部读控制20惠州学院单片机魏暁慧老师输入输出接口综上所述:当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输

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

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

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

17、片机的四个口均可作I/OI/O口使用。口使用。2 2、四个口在作输入口使用时,均应先四个口在作输入口使用时,均应先对其写对其写“1”“1”,以避免误读。,以避免误读。3 3、P0P0口作口作I/OI/O口使用时应外接口使用时应外接10K10K的上拉电阻,其它口则的上拉电阻,其它口则可不必。可不必。4 4、P2P2可某几根线作地址使用时,剩下的线不能作可某几根线作地址使用时,剩下的线不能作I/OI/O口口线使用。线使用。5 5、P3P3口的某些口线作第二功能时,剩下的口线可以单独口的某些口线作第二功能时,剩下的口线可以单独作作I/OI/O口线使用。口线使用。24惠州学院单片机魏暁慧老师输入输出接

18、口5.2 5.2 编程举例编程举例 例例5-1.设计一电路,监视某开关设计一电路,监视某开关K,用发光二,用发光二极管极管LED显示开关状态,如果开关合上,显示开关状态,如果开关合上,LED亮、亮、开关打开,开关打开,LED熄灭。熄灭。分析:设计电路如图分析:设计电路如图5.2如示。如示。开关接在开关接在P1.1口线,口线,LED接接P1.0口线,当开口线,当开关断开时,关断开时,P1.1为为+5V,对应数字量为,对应数字量为“1”,开开关合上时关合上时P1.1电平为电平为0V,对应数字量为,对应数字量为“0”,这样就可以用,这样就可以用JB指令对开关状态进行检测指令对开关状态进行检测。25惠

19、州学院单片机魏暁慧老师输入输出接口 LED正偏时才能发亮,按电路接法,正偏时才能发亮,按电路接法,当当P1.0输出输出“1”,LED正偏而发亮,当正偏而发亮,当P1.0 输出输出“0” ,LED 的两端电压为的两端电压为 0 而熄灭。而熄灭。 LEDLED+5V5VVccVcc-EAEARSTRST10uF 10uF 1K1KP1.0P1.089S5189S51P1.1P1.11K1K30P30P30P30PXTAL1XTAL1XTAL2XTAL2GNDGND89C5189C51+5V5VVccVcc-EAEARSTRST10uF 10uF 1K1KP1.0P1.089S5189S51+5V+

20、5VP1.1P1.11K1K30P30P30P30PXTAL1XTAL1XTAL2XTAL2GNDGND89C5189C51K K26惠州学院单片机魏暁慧老师输入输出接口编程如下:编程如下: CLRP1.0;使发光二极管灭;使发光二极管灭AGA:SETBP1.1;先对;先对P1口写入口写入“1”JBP1.1,LIG;开关开,转;开关开,转LIGSETBP1.0;开关合上,二极管亮;开关合上,二极管亮SJMPAGALIG:CLRP1.0;开关开,二极管灭;开关开,二极管灭SJMPAGA27惠州学院单片机魏暁慧老师输入输出接口+5V+5VP1.0P1.0LEDLED在上述电路图中二极管亮度不够,按

21、下在上述电路图中二极管亮度不够,按下面两种电路接法,增加了驱动能力,二极管面两种电路接法,增加了驱动能力,二极管更亮些。更亮些。接成灌电流形式:接成灌电流形式:P1.0P1.0+5V+5VLEDLED1加驱动电路:加驱动电路:28惠州学院单片机魏暁慧老师输入输出接口用汇编语言编程用汇编语言编程ORG0000HMOVP1,#0FFH;高四位的高四位的LED全灭,全灭,低四位输入线送低四位输入线送“1”,ABC:MOVA,P1;读读P1口引脚开关状态,并送入口引脚开关状态,并送入ASWAPA;低四位开关状态换到高四位低四位开关状态换到高四位ANLA,#0F0H;保留高四位保留高四位MOVP1,A;

22、从从P1口输出口输出ORLP1,#0FH;高四位不变,低四位送高四位不变,低四位送“1”,准备下一轮读开关准备下一轮读开关SJMPABC;循环执行,方便反复调整开循环执行,方便反复调整开关关状态观察执行结果状态观察执行结果29惠州学院单片机魏暁慧老师输入输出接口 例例3.3.用用P1.0P1.0输出输出1KHz1KHz和和500Hz500Hz的音频信号的音频信号驱动扬声器,作报警信号,要求驱动扬声器,作报警信号,要求1KHz1KHz信号响信号响100ms 100ms ,500Hz500Hz信号响信号响200ms200ms,交替进行,交替进行,P1.7P1.7接一开关进行控制,当开关合上响报警信

23、号,接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。当开关断开告警信号停止,编出程序。 分析:分析:500Hz500Hz信号周期为信号周期为2ms2ms,信号电平为,信号电平为每每1ms1ms变反变反1 1次。次。1KHz1KHz的信号周期为的信号周期为1ms1ms,信号电,信号电平平 每每500S500S变反变反1 1次,编一个延时次,编一个延时500S500S子程序,子程序,延时延时1ms1ms只需调用只需调用2 2次。用次。用R2R2控制音响时间长短,控制音响时间长短,A A作音响频率的交换控制的标志。作音响频率的交换控制的标志。A=FFA=FF时产生时产生1K

24、Hz1KHz信号,信号,A=0A=0时产生时产生500Hz500Hz信号。信号。 30惠州学院单片机魏暁慧老师输入输出接口P1.0 波波 形形 图图 1ms 1ms100个个T (变反变反200次即次即200ms)。500S500S100个个T (变反变反200次即次即100ms)。TT31惠州学院单片机魏暁慧老师输入输出接口 ORG0000HCLRA;A作作1KHz,500Hz转换控制转换控制BEG:JBP1.7,;检测;检测P1.7的开关状态的开关状态MOVR2,#200;开关闭合报警,;开关闭合报警,R2控制音响时间控制音响时间DV:CPLP1.0CJNEA,#0FFH,N1;AFFH,

25、延时,延时500SACALLD500;A=FFH;延时延时1msP1.0变反变反N1:ACALLD500DJNZR2,DVCPLASJMPBEGD500:MOVR7,#250;延时;延时500S子程序子程序DJNZR7,RETEND32惠州学院单片机魏暁慧老师输入输出接口5.3 5.3 用并行口设计用并行口设计LEDLED数码显示器数码显示器 和键盘电路和键盘电路 键盘和显示器是单片机应用系统中常用的键盘和显示器是单片机应用系统中常用的输入输出装置。输入输出装置。LEDLED数码显示器是常用的显示器数码显示器是常用的显示器之一,下面介绍用单片机并行口设计之一,下面介绍用单片机并行口设计LEDL

26、ED数码显数码显示电路和键盘电路的方法。示电路和键盘电路的方法。33惠州学院单片机魏暁慧老师输入输出接口 5.3.1 5.3.1用并行口设计用并行口设计LEDLED显示电路显示电路1. LED1. LED显示器及其原理显示器及其原理 LEDLED有着显示亮度高,响应速度快的特点,有着显示亮度高,响应速度快的特点,最常用的是七段式最常用的是七段式LEDLED显示器,又称数码管。显示器,又称数码管。 七段七段LEDLED显示器内部由七个条形发光二极管和一显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组个小圆点发光二极管组成,根据各管的亮暗组合成字符。常见合成字符。常见LE

27、DLED的管脚排列见图的管脚排列见图5.4(a)5.4(a)。其。其中中COMCOM为公共点,根据内部发光二极管的接线为公共点,根据内部发光二极管的接线 形式,可分成共阴极型图形式,可分成共阴极型图(5.4(b)(5.4(b)和共阳极型和共阳极型图图(5.4(c)(5.4(c)。34惠州学院单片机魏暁慧老师输入输出接口a ab bc cd de ef fg gdpdp(a)(b)(c)cdedp12345678910a bfgcomcomabcefabcdefgdpcomcom图图5.45.435惠州学院单片机魏暁慧老师输入输出接口0 0 1 1 1 1 1 1 3fh xgfedcbaa a

28、b bc cd de ef fg gdpdpcdedp12345678910a bfgcomcomabcefcomg LED数码管的数码管的ga七个发光二极管因加正电压而发亮,因加零七个发光二极管因加正电压而发亮,因加零电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合电压而不能发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码称之为字形码(段码段码),如显示,如显示”0”,字形码为字形码为3fh.36惠州学院单片机魏暁慧老师输入输出接口a ab bc cd de ef fg gdpdp12345678910a bfgcomcomabcefgxgfedcba0 0 0 0 0

29、 1 1 0 06h 显示显示”1”,字形码为字形码为06h.37惠州学院单片机魏暁慧老师输入输出接口显示显示”2”,字形码为字形码为5bh.(b)dpcoma ab bc cd de ef fg gdpdpcde12345678910comcomabcefgxgfedcba0 1 0 1 1 0 1 1 5bh 38惠州学院单片机魏暁慧老师输入输出接口 显然共阳极和共阴极的字形码是不同的显然共阳极和共阴极的字形码是不同的 ,其字形码见表其字形码见表5.25.2。LEDLED数码管每段需数码管每段需101020ma20ma的驱动电流,可用的驱动电流,可用TTLTTL或或CMOSCMOS器件驱动

30、。器件驱动。 字形码的控制输出可采用硬件译码方式,字形码的控制输出可采用硬件译码方式,如采用如采用BCD 7BCD 7段译码段译码/ /驱动器驱动器74LS4874LS48、74LS4974LS49、CD4511(CD4511(共阴极共阴极) )或或74LS4674LS46、74LS4774LS47、CD4513CD4513( (其阳极其阳极) )也可用软件查表方式输出。也可用软件查表方式输出。 39惠州学院单片机魏暁慧老师输入输出接口显示字符段段 符符 号号十六进制代码dpgfedcba共阴共阳0123456789ABCDEFHP0000000000000000010011111011110

31、111111000111011111011111010001010111111111011011011011110001101111111110100101111100111100100111011011111101011013FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0F9A4B0999282F880908883C6A18684FFBF40惠州学院单片机魏暁慧老师输入输出接口41惠州学院单片机魏暁慧老师输入输出接口为使为使LEDLED显示不同的符号或数字显示不同的符号或数字,要为,要为LEDLED提供提供段码段码(或称(或称字

32、型码字型码)。)。提供给提供给LEDLED显示器的段码显示器的段码(字型码字型码)正好是一个字正好是一个字节(节(8 8段)段)。各段与字节中各位对应关系如下:。各段与字节中各位对应关系如下:按上述格式,按上述格式,8 8段段LEDLED的段码如表的段码如表10-110-1所示。所示。42惠州学院单片机魏暁慧老师输入输出接口显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码显示字符显示字符共阴极共阴极段码段码共阳极共阳极段码段码0 03FH3FHC0HC0Hc c39H39HC6HC6H1 106H06HF9HF9Hd d5EH5EHA1HA1H2 25BH5BHA4HA4HE E79H

33、79H86H86H3 34FH4FHB0HB0HF F71H71H8EH8EH4 466H66H99H99HP P73H73H8CH8CH5 56DH6DH92H92HU U3EH3EHC1HC1H6 67DH7DH82H82HT T31H31HCEHCEH7 707H07HF8HF8Hy y6EH6EH91H91H8 87FH7FH80H80HH H76H76H89H89H9 96FH6FH90H90HL L38H38HC7HC7HA A77FH77FH88H88H“灭灭”00H00HFFHFFHb b7CH7CH83H83H表表10-1 LED10-1 LED段码(段码(8 8段)段)43

34、惠州学院单片机魏暁慧老师输入输出接口表表10-110-1只列出了部分段码,只列出了部分段码,可根据实际情况选用可根据实际情况选用。另外,另外,段码是相对的段码是相对的,它由各字段在字节中所处的,它由各字段在字节中所处的位决定。例如表位决定。例如表10-110-1中中8 8段段LEDLED段码是按格式段码是按格式:而形成的,而形成的, “0”“0”的段码为的段码为3FH3FH(共阴)。(共阴)。反之,如反之,如 将格式改为下列格式:将格式改为下列格式:则则 “0”“0”的段码为的段码为7EH7EH(共阴)(共阴)。字型及段码由设计者自行设定,字型及段码由设计者自行设定,习惯上还是以习惯上还是以“

35、a”“a” 段对应段码的最低位。段对应段码的最低位。44惠州学院单片机魏暁慧老师输入输出接口N N个个LEDLED显示块有显示块有N N位位选线位位选线和和8N8N根段码线根段码线。 LEDLED显示器工作原理显示器工作原理图图10-210-2是是4 4位位 LED LED显示器的结构原理图。显示器的结构原理图。45惠州学院单片机魏暁慧老师输入输出接口段码线段码线控制控制显示的字型显示的字型,位选线位选线控制控制该显示位的亮或暗。该显示位的亮或暗。静态显示静态显示和和动态显示动态显示两种显示方式。两种显示方式。1. 1. 静态显示方式静态显示方式各位的公共端连接在一起(接地或各位的公共端连接在

36、一起(接地或+5V+5V)。)。 每位的段码线(每位的段码线(a adpdp)分别)分别与一个与一个8 8位的锁存器位的锁存器输出相连。输出相连。 显示字符一确定,相应锁存器的段码输出将维持显示字符一确定,相应锁存器的段码输出将维持不变,直到送入另一个段码为止。不变,直到送入另一个段码为止。显示的亮度高显示的亮度高。 图图10-3:10-3: 4 4位静态位静态LEDLED显示器电路。该电路各位显示器电路。该电路各位可独立显示。可独立显示。46惠州学院单片机魏暁慧老师输入输出接口2. 2. 动态显示方式动态显示方式 所有位的段码线所有位的段码线相应段并在一起,由一个相应段并在一起,由一个8 8

37、位位I/OI/O口控制口控制,形成,形成段码线的多路复用,段码线的多路复用,各位的各位的公共端公共端分别由分别由相应的相应的I/OI/O线控制,形成各位的线控制,形成各位的分时选通。分时选通。47惠州学院单片机魏暁慧老师输入输出接口图图10-410-4:4 4位位8 8段段LEDLED动态显示电路。其中段码线占用一动态显示电路。其中段码线占用一个个8 8位位I/OI/O口,而位选线占用一个口,而位选线占用一个4 4位位I/OI/O口。口。48惠州学院单片机魏暁慧老师输入输出接口图图10-510-5为为8 8位位LEDLED动态显示动态显示2003.10.102003.10.10的过程的过程。图

38、(图(a)a)是显示过程,是显示过程,某一时刻,只有一位某一时刻,只有一位LEDLED被选通被选通 显示,其余位则是熄灭的;显示,其余位则是熄灭的;图(图(b)b)是实际显示结果,是实际显示结果,人眼看到的是人眼看到的是8 8位稳定的位稳定的 同时显示的字符。同时显示的字符。49惠州学院单片机魏暁慧老师输入输出接口 例如图例如图5.5是接有五个共阴极数码管的动态是接有五个共阴极数码管的动态显示接口电路,用显示接口电路,用74LS373接成直通的方式作接成直通的方式作驱动驱动电路,阴极用非门电路,阴极用非门74LS04反相门驱动,字反相门驱动,字形选择由形选择由P1口提供,位选择由口提供,位选择

39、由P3口控制。口控制。当当P3.0P3.4轮流输出轮流输出1时,五个数码管时,五个数码管轮流显示。轮流显示。P1.7接开关,当开关打向位置接开关,当开关打向位置“1”时,时,显示显示“12345”字样,当开关打向字样,当开关打向“2”时,显示时,显示“HELLO”字样,程序清单如下:字样,程序清单如下:50惠州学院单片机魏暁慧老师输入输出接口1251惠州学院单片机魏暁慧老师输入输出接口52惠州学院单片机魏暁慧老师输入输出接口用汇编语言编程用汇编语言编程ORG0000HMOVP3,#0;清显示;清显示TEST:SETBP1.7JBP1.7,DIR1;检测开关;检测开关MOVDPTR,#TAB1;

40、开关置于开关置于1,12345字形表头地址字形表头地址SJMPDIRDIR1:MOVDPTR,#TAB2;开关置于开关置于2,“HELLO”字形表头字形表头DIR:MOVR0,#0;R0存字形表偏移量存字形表偏移量MOVR1,#01;R1置数码表位选代码置数码表位选代码NEXT:MOVA,R0MOVCA,A+DPTR;查字形码表查字形码表1MOVP1,A;送;送P1口输出口输出53惠州学院单片机魏暁慧老师输入输出接口MOVA,R1MOVP3,A;输出位选码;输出位选码ACALLDAY;延时;延时INCR0;指向下一位字形;指向下一位字形RLA;指向下一位;指向下一位MOVR1,ACJNER1,

41、#20H,NEXT;五个五个数码管显示完数码管显示完?SJMPTESTDAY:MOVR6,#20;延时延时20ms子程序子程序DL2:MOVR7,#7DHDL1:NOPNOP54惠州学院单片机魏暁慧老师输入输出接口DJNZR7,DL1DJNZR6,DL2RETTAB1:db06H,5BH,4FH,66H,6DH;“15”的字形码TAB2:db78H,79H,38H,38H,3FH;“HELLO”的字形码END55惠州学院单片机魏暁慧老师输入输出接口 键盘接口原理键盘接口原理1. 1. 键盘输入的特点键盘输入的特点键盘:一组按键开关的集合键盘:一组按键开关的集合。 行线电压信号通过键盘开关机械触

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

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

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

45、学院单片机魏暁慧老师输入输出接口 对图对图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;延时

46、;延时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 ;相等,有键按下,不等转;相等,有键按下,不等转KEY2KEY262惠州学院单片机魏暁慧老师输入输出接口LJMP KEY1LJMP KEY1; ;是是K1K1键按下,转键按下,转K1K1键处理键处理 ;子程序;子程序

47、PKEY1PKEY1KEY2: 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

48、键未按下,转键未按下,转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 ;重键或无键按下,从子程序返回重键或无键按下,从子程序返回识别和编程简单,识别和编程简单,用在按键数较少的场合。用在按键数较少的场合。63惠州学院单片机魏暁慧老师输入输出接口2

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

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

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

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

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

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

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

56、魏暁慧老师输入输出接口程序清单如下:程序清单如下:ORG0000HTEST:MOVP1,#0F0H;P1.0P1.3输出输出0,P1.4P1.7输出输出1,作输入位作输入位MOVA,P1;读键盘,检测有无键按下;读键盘,检测有无键按下ANLA,#0F0H;屏蔽屏蔽P1.0P1.3,检测检测P1.4P1.是否全为是否全为1CJNEA,#0F0H,HAVE;P1.4P1.7不全为不全为1,有键按下有键按下SJMPTEST;P1.4P1.7全为全为1,无键按下,重检测键盘无键按下,重检测键盘HAVE:MOVA,#0FE;有键按下,逐行扫描键盘,;有键按下,逐行扫描键盘,置扫描初值置扫描初值73惠州学

57、院单片机魏暁慧老师输入输出接口 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: ACALL DAY ;延时

58、去抖动;延时去抖动74惠州学院单片机魏暁慧老师输入输出接口AREAD:MOVA,P1;再读键盘;再读键盘ANLA,#0F0H;屏蔽屏蔽P1.0P1.3,保留,保留P1.4P1.7(列码列码)MOVR2,A;暂存列码;暂存列码MOVA,BANLA,#0FH;取行扫描码;取行扫描码ORLA,R2;行码、列码合并为键编码;行码、列码合并为键编码YES1:MOVB,A;键编码存于;键编码存于BLJMPSAM38;转键分析处理程序(见例;转键分析处理程序(见例3-8)75惠州学院单片机魏暁慧老师输入输出接口 例如图例如图5-6中的中的“a”键,的编码为同样可得键,的编码为同样可得“5”键编码为键编码为B

59、BH,由此可将每个按键的编码,由此可将每个按键的编码排出来,通过查表程序转不同的按键处排出来,通过查表程序转不同的按键处理程序。理程序。此程序部分请读者自行编出。该程序同样可用此程序部分请读者自行编出。该程序同样可用汇编语言编出。汇编语言编出。76惠州学院单片机魏暁慧老师输入输出接口 例题:分析图分析图1所示所示LED显示电路,回答下列问题显示电路,回答下列问题 (1)该该LED显示驱动电显示驱动电路采用路采用(动态、静态动态、静态)显示显示方式,所用方式,所用LED数码管为数码管为(共阴、共阳共阴、共阳)数码管。数码管。其笔段码锁存器为其笔段码锁存器为;采用;采用软件软件(软件、硬件软件、硬

60、件)译码方式。译码方式。位码锁存器为位码锁存器为P1.2P1.0,位,位驱动器为驱动器为PNP三极管三极管;在复位;在复位期间期间LED管管(亮、不亮)。(亮、不亮)。77惠州学院单片机魏暁慧老师输入输出接口例题:例题:44矩阵键盘电路如图所示,试编写一程序段,判别按键是否被矩阵键盘电路如图所示,试编写一程序段,判别按键是否被按下按下(注意:仅需判别有无按键被按下,不用判别哪一键被按下),当有,当有按键被按下时按键被按下时LED发光。发光。 78惠州学院单片机魏暁慧老师输入输出接口参考程序如下:参考程序如下:EXIT:MOVP2,#0FHMOVA,P2ANLA,#0FHCJNEA,#0FH,N

61、EXTSETBP0.0SJMPEXITNEXT:CLRP0.079惠州学院单片机魏暁慧老师输入输出接口小小 结结 1. 1. 四个并行口均可作为输入输出接口使用,但又有四个并行口均可作为输入输出接口使用,但又有各自的特点。因各自的特点。因POPO口是数据线和低八位的口是数据线和低八位的 地址线,因地址线,因此不用它作输入此不用它作输入/ /输出接口,而是用它传输数据和低八输出接口,而是用它传输数据和低八位的地址信息,除非在不位的地址信息,除非在不 接其他外围芯片的情况下才接其他外围芯片的情况下才作作I/OI/O接口使用,此时由于内部漏极开路,需外接上拉接口使用,此时由于内部漏极开路,需外接上拉

62、电阻。四个口的使用特点是本章的重点。电阻。四个口的使用特点是本章的重点。 并行接口是单片机用得最多的部分,可直接接外并行接口是单片机用得最多的部分,可直接接外部设备部设备( (要注意电平的匹配要注意电平的匹配) )。本章以最简单。本章以最简单 的实验室的实验室最容易实现的外部设备最容易实现的外部设备开关和发光二极管为例说明开关和发光二极管为例说明并行口的应用设计,其他外设并行口的应用设计,其他外设 的测控原理与其一样。的测控原理与其一样。80惠州学院单片机魏暁慧老师输入输出接口3. 3. 在应用设计中应理解,计算机内由数字电路在应用设计中应理解,计算机内由数字电路组成只存在两种组成只存在两种T

63、TLTTL电平,高电平电平,高电平3.53.55V5V和低和低 电平电平0V0V,对应着的数字为,对应着的数字为“1”“1”和和“0”“0”。外设的状态要通过电路转换成高、低电平,计算外设的状态要通过电路转换成高、低电平,计算机才能识别机才能识别( (如开关电路如开关电路) )。计算机输出数据计算机输出数据“1”“1”即输出即输出3.5V3.5V5V5V,输出数据,输出数据“0”“0”即输出即输出0V0V,根据外设需要的电平要求,根据外设需要的电平要求 输输出出“1”“1”或或“0”“0”数据,这就是程序控制外设的数据,这就是程序控制外设的本质。本质。 2. 2. 当并行口作为输入口使用时,应

64、对所用的口线写当并行口作为输入口使用时,应对所用的口线写“1”“1”,使其内部的驱动场效应管截止,使其内部的驱动场效应管截止 ,防止误读。写,防止误读。写“1”“1”以后不影响读引脚指令,因为读入的信息是经缓冲以后不影响读引脚指令,因为读入的信息是经缓冲器器2(2(见图见图5.1)5.1)进入进入C PUC PU的,而不是读的锁存器。的,而不是读的锁存器。81惠州学院单片机魏暁慧老师输入输出接口82惠州学院单片机魏暁慧老师输入输出接口83惠州学院单片机魏暁慧老师输入输出接口布置作业:1.设内部设内部RAM的的ONE地址单元存放着一个地址单元存放着一个8位无符号二进制数,要求将其转化为压缩位无符号二进制数,要求将其转化为压缩的的BCD码,将百位放在码,将百位放在HUND地址单元,地址单元,十位和个位放在十位和个位放在TEN地址单元。地址单元。2.P.1035.184惠州学院单片机魏暁慧老师输入输出接口

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号