文档详情

第三讲 MCS-51单片机的并行IO口.ppt

发布:2017-07-26约字共91页下载文档
文本预览下载声明
4.4.1 键盘类型 单片机控制系统所用的键盘有编码键盘和非编码键盘两种。 1、编码键盘除了键开关外,还有专门的硬件电路,用于识别闭合键并产生键代码。不仅如此,编码键盘一般还有去键抖动电路和防串键保护电路等。这种键盘的优点是所需软件简短,但硬件电路较复杂,价格较昂贵。目前在单片机控制系统中使用不多。 2、非编码键盘仅由键开关组成,其它工作如键识别、键代码的产生、去抖动等,不是由硬件完成而是由软件完成的。为了简化硬件电路,降低成本,目前单片机控制系统中大多数采用非编码键盘。 非编码键盘的键开关可以排列成线性形式或矩阵形式,因此非编码键盘有线性非编码键盘和矩阵非编码键盘两种。 4.4.2 线性非编码键盘与单片机的接口 线性非编码键盘的键开关排成一行或一列的形式,它与单片机的接口电路如图所示: K1 K2 K3 K4 P1.1 P1.0 P1.2 P1.3 89C51 +5V 线性非编码键盘的工作原理:当键未被按下时,与此键相连的I/O线获得高电平;当键被按下时,与此键相连的I/O线获得低电平,单片机只要读取I/O口状态,就可以获取按键信息,识别有无键按下和哪个键被按下。 键处理程序如下: MOV P1,#0FFH UP1: MOV A,P1 ;读I/O口状态 ANL A,#0FH ;屏蔽无用位 CJNE A,#0FH,NEXT1 ;有闭合键? SJMP UP1 NEXT1: LCALL D10ms ;延时10ms去抖动 MOV A,P1 ;再读I/O口状态 ANL A,#0FH CJNE A,#0FH,NEXT2 ;有闭合键? SJMP UP1 NEXT2:JB P1.0,NEXT3 ;K1按下? LCALL K1 ;K1键处理程序 NEXT3: JB P1.1,NEXT4 ;K2按下? LCALL K2 ;K2键处理程序 NEXT4: JB P1.2,NEXT5 ;K3按下? LCALL K3 ;K3键处理程序 NEXT5: JB P1.3,UP1 ;K4按下? LCALL K4 ;K4键处理程序 LJMP UP1 例 例 某单片机控制系统,P1口接有8发光二极管,P3.0、P3.1、P3.2、P3.3接有4个开关K1、K2、K3、K4,试画出接口电路,并编程使得当K1按下时8个发光二极管全亮;当K2按下时8个发光二极管闪亮;当K3按下时8个发光二极管由上向下点亮;当K4按下时8个发光二极管全灭。 K1 K2 K3 K4 P3.1 P3.0 P3.2 P3.3 89C51 +5V P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 程 序 MOV B,#01H MOV P3,#0FFH MOV P1,#00H UP1: MOV A,P3 ANL A,#0FH CJNE A,#0FH,NEXT1 SJMP UP1 NEXT1: LCALL D10ms MOV A,P3
显示全部
相似文档