第7章51单片机人机交互课件

上传人:仙*** 文档编号:241661083 上传时间:2024-07-14 格式:PPT 页数:67 大小:2.50MB
返回 下载 相关 举报
第7章51单片机人机交互课件_第1页
第1页 / 共67页
第7章51单片机人机交互课件_第2页
第2页 / 共67页
第7章51单片机人机交互课件_第3页
第3页 / 共67页
点击查看更多>>
资源描述
第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.17.1外部显示元件设计外部显示元件设计 7.2 7.2 键盘输入设计键盘输入设计 7.3 7.3 外接打印机接口设计外接打印机接口设计 第第7 7章章 5151单片机人机交互单片机人机交互 第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互在一个单片机应用系统中人机交互功能是必不可少的,键盘在一个单片机应用系统中人机交互功能是必不可少的,键盘和显示器件是一个系统中不可缺少的输入输出设备。和显示器件是一个系统中不可缺少的输入输出设备。在系统工作的过程中,用户需要对系统相应控制操作,键盘在系统工作的过程中,用户需要对系统相应控制操作,键盘是重要的输入控制信息的设备,对系统各种状态进行控制。是重要的输入控制信息的设备,对系统各种状态进行控制。通过显示设备显示系统各种状态信息和控制指令的执行结果,通过显示设备显示系统各种状态信息和控制指令的执行结果,显示采集信号的值、显示采集信号的值、A/DA/D转换结果和向用户显示报警信息等功能。转换结果和向用户显示报警信息等功能。可以实时的了解系统运行状态,以便做出及时的处理。可以实时的了解系统运行状态,以便做出及时的处理。一些单片机应用系统中还需要打印各种状态信息或定时生成一些单片机应用系统中还需要打印各种状态信息或定时生成一些数据报表,特别是在各种便携式设备中,通过单片机控制的一些数据报表,特别是在各种便携式设备中,通过单片机控制的微型打印机得到了更多的应用。微型打印机得到了更多的应用。第第7 7章章 5151单片机人机交互单片机人机交互 第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.1.1 LED数码管一、LED工作原理常用的七段LED显示器是由7条发光二极管组成显示字段,有的还带有一个小数点dp。发光二极管组成的一个阵列,并封装于标准的外壳中,为了适应不同的驱动电路,引线有共阳极和共阴极两种结构。所以共有八段。分别用ag及dp表示。如图7-1(a)所示。7.17.1外部显示元件设计外部显示元件设计 (a)(b)(c)图7-1 七段LED数码管显示器 第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 对于公共端加电压的操作称为位选,对各段加电对于公共端加电压的操作称为位选,对各段加电压操作称为段选。所有段的段选组合在一起称为字形压操作称为段选。所有段的段选组合在一起称为字形码,可以用一个字节数字位码,可以用一个字节数字位D0D0D7D7作为段选信号作为段选信号S0S0S7S7来控制段来控制段a af f和和dpdp。表表7-1 7-1 十六进制数七段十六进制数七段LEDLED字形码字形码 显示字符显示字符共阳极字符共阳极字符共阴极字符共阴极字符显示字符显示字符共阳极字符共阳极字符共阴极字符共阴极字符0 0C0HC0H3FH3FHA A88H88H77H77H1 1F9HF9H06H06HB B83H83H7CH7CH2 2A4HA4H5BH5BHC CC6HC6H39H39H3 3B0HB0H4FH4FHD DA1HA1H5EH5EH4 499H99H66H66HE E86H86H79H79H5 592H92H6DH6DHF F8EH8EH71H71H6 682H82H7DH7DHP P8CH8CH73H73H7 7F8HF8H07H07HH H89H89H76H76H8 880H80H7FH7FHL LC7HC7H38H38H990H6FH“灭灭”FFH00H第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互二、二、LEDLED的驱动接口的驱动接口 LEDLED工工作作时时需需要要一一定定的的工工作作电电流流,才才能能正正常常发发光光。单单个个LEDLED实实际际上上是是一一个个压压降降为为1.51.52.5V2.5V的的发发光光二二极极管管,流流过过LEDLED的的电电流流大大小小决决定定了了它它的的发发光光强强度度。图图7-2 7-2 为为单单个个LEDLED的的驱驱动动接接口口电电路路。LEDLED最高电流计算公式为(最高电流计算公式为(7-17-1)所示)所示:(7-1)(7-1)式中:式中:V VF F-LED-LED的正向压降;的正向压降;V VCSCS-LED-LED驱动器的压降;驱动器的压降;R R-LED-LED的限流电阻;的限流电阻;V VCCCC-电源电压;电源电压;I IF F-LED-LED的工作电流。的工作电流。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 图图7-2 7-2 中中的的74067406是是一一个个集集电电极极开开路路的的反反相相器器,用用于于驱驱动动LEDLED。当当单单片片机机的的I/OI/O端端口口PXXPXX为为高高电电平平时时,反反相相器器输输出出低低电电平平,LEDLED发发光光;当当单单片片机机的的I/OI/O端端口口为为低低电电平平时时,反相器输出高电平,没有电流流过反相器输出高电平,没有电流流过LEDLED,LEDLED熄灭。熄灭。图7-2 单个LED的驱动接口电路 限流电阻计算如公式(限流电阻计算如公式(7-27-2)所示)所示 (7-27-2)第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互三、三、LED数码管的工作方式数码管的工作方式 LEDLED数码管显示器常用的工作方式又可分为数码管显示器常用的工作方式又可分为:静态方式显示和动态方式显示两种。静态方式显示和动态方式显示两种。在设计过程中可以根据系统总体资源分配情况,在设计过程中可以根据系统总体资源分配情况,选择合适的方式。选择合适的方式。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互1.1.静态显示方式静态显示方式 静态显示方式是指显示器显示某一个字符时,发静态显示方式是指显示器显示某一个字符时,发光二极管的位选始终被选中。光二极管的位选始终被选中。静态显示主要的优点是显示稳定,在发光二极管静态显示主要的优点是显示稳定,在发光二极管的导通电流一定情况下,显示器的亮度大。的导通电流一定情况下,显示器的亮度大。该显示方式下,每一个该显示方式下,每一个LEDLED数码管显示器都需要一数码管显示器都需要一个个8 8位的输出口进行控制位的输出口进行控制,占用硬件较多,一般仅用占用硬件较多,一般仅用于显示器位数较少的场合。于显示器位数较少的场合。由于单片机本身提供的由于单片机本身提供的I/OI/O口有限口有限,实际使用中实际使用中,通通过扩展相应锁存器和译码器来解决输出口数量不足过扩展相应锁存器和译码器来解决输出口数量不足的问题。的问题。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互2.动态显示方式动态显示方式 动态显示方式是指一位一位地轮流点亮每位显示器动态显示方式是指一位一位地轮流点亮每位显示器,即即每个数码管的位选被轮流选中每个数码管的位选被轮流选中,多个数码管公用一组段多个数码管公用一组段选。选。显示时,段选控制相应字符段选码,位选控制该显示显示时,段选控制相应字符段选码,位选控制该显示位的电平。并保持延时一段时间,以造成视觉暂留效果。位的电平。并保持延时一段时间,以造成视觉暂留效果。刷新周期一般约为刷新周期一般约为50ms50ms。显示的亮度同驱动电流大小、点亮时间和关断时间有显示的亮度同驱动电流大小、点亮时间和关断时间有关,调整它们可控制关,调整它们可控制LEDLED显示亮度并实现稳定显示。显示亮度并实现稳定显示。动态显示器因硬件成本低,多位数显示时常采用。动态显示器因硬件成本低,多位数显示时常采用。软件复杂,并要占用单片机较多的时间去定时刷新,软件复杂,并要占用单片机较多的时间去定时刷新,因此多用在功能简单的系统中。因此多用在功能简单的系统中。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互四、四、LED与单片机连接的典型应用电路设计与单片机连接的典型应用电路设计1.LED驱动芯片介绍驱动芯片介绍 LED驱动芯片常采用驱动芯片常采用74LS47芯片,图芯片,图7-3 给给出了该芯片的引脚图。出了该芯片的引脚图。图图 7-3 74LS47的引脚图的引脚图第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互表表7-2 74LS47 BCD-7段译码器输入段译码器输入/输出端信号对照表输出端信号对照表输入端电平输入端电平 输出端电平输出端电平显显 示示字字 型型LT RBI RBO D C B ALT RBI RBO D C B A a b c d e f ga b c d e f g1 1 1 0 0 0 01 1 1 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 1 0 0 1 1 0 0 0 11 1 0 0 0 1 1 0 0 1 1 1 11 0 0 1 1 1 1 1 11 1 0 0 1 01 1 0 0 1 0 0 0 1 0 0 1 00 0 1 0 0 1 0 2 21 1 0 0 1 11 1 0 0 1 1 0 0 0 0 1 1 00 0 0 0 1 1 0 3 31 1 0 1 0 01 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 4 41 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 00 1 0 0 1 0 0 5 51 1 0 1 1 01 1 0 1 1 0 1 1 0 0 0 0 01 1 0 0 0 0 0 6 61 1 0 1 1 11 1 0 1 1 1 0 0 0 1 1 1 10 0 0 1 1 1 1 7 71 1 1 0 0 01 1 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 8 81 1 1 0 0 01 1 1 0 0 0 0 0 0 1 1 0 00 0 0 1 1 0 0 9 9第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互2.LED 典型应用电路设计典型应用电路设计 LED静态显示电路设计静态显示电路设计第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互LED静态显示流程图静态显示流程图 第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 LED动态显示电路设计动态显示电路设计第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互LED动态显示流程图动态显示流程图 第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互五、五、LED控制的单片机程序设计控制的单片机程序设计1.图图7-4 LED静态显示电路的应用汇编语言编程如下静态显示电路的应用汇编语言编程如下:ORG 0000HLJMP MAINORG 0010H;-第一片第一片74LS74工作工作-MAIN:SETB P1.4 CLR P1.5 ;第二、三片第二、三片74LS74锁存数据锁存数据CLR P1.6NOPCLR P1.0 ;第一位显示第一位显示0CLR P1.1CLR P1.2CLR P1.3第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互;-第二片第二片74LS74工作工作-CLR P1.4 SETB P1.5 ;第一、三片第一、三片74LS74锁存数据锁存数据CLR P1.6NOPSETB P1.0 ;第一位显示第一位显示1CLR P1.1CLR P1.2CLR P1.3;-第三片第三片74LS74工作工作-CLR P1.4 CLR P1.5 ;第一、二片第一、二片74LS74锁存数据锁存数据SETB P1.6NOPCLR P1.0 ;第一位显示第一位显示2SETB P1.1CLR P1.2CLR P1.3END第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互2.图图7-5动态显示电路采用动态显示电路采用C语言编程如下:语言编程如下:#include#include#define uchar unsigned char#define uint unsigned intsbit LED1=P31;sbit LED2=P32;sbit LED3=P33;/-延时-void delay(uint x)uint a,b;for(a=x;a0;a-)for(b=5;b0;b-);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-LED所显示的数字所显示的数字-uchar code table18=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71,0X00;/-主函数主函数-void main()while(1)/-第一个第一个LED显示显示0-LED1=0;LED2=1;LED3=1;P0=table0;delay(10);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-第二个第二个LED显示显示1-LED1=1;LED2=0;LED3=1;P0=table1;delay(10);/-第三个第三个LED显示显示2-LED1=1;LED2=1;LED3=0;P0=table2;delay(10);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.1.2 16x27.1.2 16x2字符型液晶显示器编程字符型液晶显示器编程一、一、LCDLCD概述概述 液晶显示模块具有体积小、功耗低、显示内容液晶显示模块具有体积小、功耗低、显示内容丰富等特点,现在字符型液晶显示模块已经是单丰富等特点,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。片机应用设计中最常用的信息显示器件了。16021602系列在国内应用比较广泛,该系列的液晶系列在国内应用比较广泛,该系列的液晶显示器是高性价比的显示器是高性价比的LCDLCD段式液晶显示器。本书段式液晶显示器。本书以以16021602为例进行为例进行LCDLCD模块应用的介绍。模块应用的介绍。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互二、二、16021602的管脚和指令介绍的管脚和指令介绍 16021602字符型液晶显示模块是专门用于显示字母、字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块,如图数字、符号等的点阵型液晶显示模块,如图7-87-8所示。该显示模块为所示。该显示模块为5757点阵、点阵、1616字字22行,具行,具有简单而功能较强的指令集,可实现字符的移动、有简单而功能较强的指令集,可实现字符的移动、闪烁等显示功能。闪烁等显示功能。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互1.引脚功能:引脚功能:VssVss:逻辑负电源输入引脚,接地。:逻辑负电源输入引脚,接地。VddVdd:逻辑正电源输入引脚,接:逻辑正电源输入引脚,接+5V+5V电源。电源。VLVL:LCDLCD驱动电源输入引脚,可调驱动电源输入引脚,可调LCDLCD显示对比度。显示对比度。RSRS:数据:数据/指令寄存器选择引脚,指令寄存器选择引脚,RSRS为高电平时,数据为高电平时,数据D0-D7D0-D7与数据寄存器通信;与数据寄存器通信;RSRS为低电平时,数据为低电平时,数据D0-D7D0-D7与指令寄存器通信。与指令寄存器通信。R/WR/W:读:读/写引脚,高电平时读数据,低电平时写数据。写引脚,高电平时读数据,低电平时写数据。E E:读写使能引脚,高电平有效,下降沿锁定数据。:读写使能引脚,高电平有效,下降沿锁定数据。D0-D7D0-D7:8 8位数据引脚。位数据引脚。BLABLA:背光电源输入引脚,接:背光电源输入引脚,接+5V+5V电源。电源。BLKBLK:背光电源输入引脚,接地。:背光电源输入引脚,接地。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互2.指令描述指令描述 清显示指令:清显示指令:清除所有的显示数据。返回指令:返回指令:光标返回至原始状态。输入方式设置指令:输入方式设置指令:设置光标移动方向及整体显示移动。显示开关控制指令:显示开关控制指令:控制画面、光标及闪烁的开与关。光标或整体显示移位位置指令:光标或整体显示移位位置指令:光标左移、右移、跟随。功能设置指令:功能设置指令:设置接口数据位数以及显示模式。设置设置CGRAM地址指令:地址指令:设置对CGRAM读/写操作的地址。设置设置DDRAM 地址指令:地址指令:设置对DDRAM读/写操作的地址。读忙标志位及地址指令:读忙标志位及地址指令:读取(BF)位忙信号位。写数据指令:写数据指令:写数据到CGRAM或DDRAM。读数据指令:读数据指令:从CGRAM或DDRAM读出8位数据。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互三、工作时序读时序:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互写时序:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互四、1602与单片机接口电路第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互五、1602程序设计LCD1602流程图:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互汇编程序如下:ORG 0000H SJMPL0ORG 0030HL0:MOVSP,#0FH RWBITP1.2 RSBITP1.1 E BIT P1.3 MOV P2,#0FFH;#;#显示器部分操作程序#;#1 XSQ-初始化#;#2 SWAIT1-显示一字符#;#3 SWAIT2向LCD发一命令#;#4 XSSJ2-显示一字节两位十进制数#;#5 CSART-造字符(年月日时分)#;#第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互XSQ:MOV P2,#38H ;8位口,2行显示,5X7点阵 CLRRS CLR RWXSQ1:SETBE ANLP2,#38H NOP CLR E MOV A,#06H ;读写后自动加1 LCALL SWAIT2MOVA,#14H ;光标平移 LCALLSWAIT2 MOV A,#0EH ;显示光标 LCALLSWAIT2 MOV A,#01H ;清显示器 LCALLSWAIT2 RET第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互SWAIT1:NOP LCALLSWAIT CLRRW;显示器输出一字符 SETBRS;RS=1,R/W=0,E=MOV P2,A SETBE CLRE RET;-SWAIT2:NOP LCALLSWAIT CLRRW ;向显示器输出一命令 CLR RS ;RS=0,R/W=0,E=MOV P2,A SETB E CLR E RET第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互SWAIT:MOV P2,#0FFH SETB CSWAI:CLR RS ;等待显示器 SETB RW ;RS=0,R/W=1,E=SETB E MOV C,P2.7 CLR E JC SWAI CLR RW RET XSSJ2:MOV A,47H ;47H中为要显示的数据 ANL A,#0F0H SWAP A ORL A,#30H LCALL SWAIT1 MOV A,47H ANL A,#0FH ORL A,#30H LCALL SWAIT1RET第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互CHART:MOV R0,#13H ;置CGRAM地址初始值00H MOV R4,#08HCH0:MOV R3,#09H SETB7AHCH1:MOV A,R0 MOVC A,A+PC JNB7AH,CH2 LCALLSWAIT2 SJMPCH3CH2:LCALLSWAIT1CH3:INCR0 CLR7AH DJNZ R3,CH1 DJNZ R4,CH0 RET第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 DB 40H,08H,0FH,12H,0FH,0AH,1FH,02H,00H ;00H置字符年点阵 DB 00H,0FH,09H,0FH,09H,0FH,09H,13H,00H ;01H置字符月点阵 DB 00H,0FH,09H,09H,0FH,09H,09H,0FH,00H ;02H置字符日点阵 DB 00H,00H,04H,04H,1FH,0EH,0EH,11H,00H ;03H置字符点阵 DB 00H,01H,07H,19H,1BH,1DH,03H,01H,00H ;04H置字符时点阵 DB 00H,0AH,11H,1EH,0AH,0AH,16H,02H,00H ;05H置字符分点阵 DB 00H,18H,19H,07H,09H,08H,09H,06H,00H ;06H置字符点阵 DB 00H,04H,05H,1EH,0EH,15H,0CH,04H,00H ;07H置字符水点阵第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互采用C51语言编程程序如下:#include#define uchar unsigned char#define uint unsigned int/-sbit rs=P11;/管脚定义sbit rw=P12;sbit lcden=P13;/-确定输入内容-uchar table1=FD;uchar table2=153144046;第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-延时-void delay(uint x)uint a,b;for(a=x;a0;a-)for(b=10;b0;b-);void delay1(uint x)uint a,b;for(a=x;a0;a-)for(b=100;b0;b-);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-写地址-void write_com(uchar com)P2=com;/向P2口写地址rs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;/-写数据-void write_date(uchar date)P2=date;/向P2口写数据rs=1;lcden=0;delay(10);/延时lcden=1;delay(10);/延时 lcden=0;第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-初始化-void init()write_com(0 x38);/准备向38H地址中写数据delay(20);/延时write_com(0 x0f);/准备向0FH地址中写数据delay(20);/延时write_com(0 x06);delay(20);write_com(0 x01);delay(20);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/-主函数-void main()uchar a;init();rw=0;write_com(0 x80+17);/第一行送地址delay(20);for(a=0;a2;a+)write_date(table1a);/取table1 表中的数据delay(20);write_com(0 xc0+17);/第二行送地址delay(50);for(a=0;a9;a+)第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互write_date(table2a);/取table2 表中的数据delay(50);for(a=0;a16;a+)write_com(0 x18);/数据平移delay1(200);while(1);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.2 键盘输入设计 在单片机组成的控制系统中,用得最多的是非编码系统。键盘中每个按键都是一个常开电路,如下图所示。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 当键K断开时,P1.1输入为高电平,按下闭合时P1.1输入为低电平。通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号波形如下图所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,因而在闭合及断开的瞬间均伴随着一连串的抖动。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.2.1 键盘接口类型一、独立式键盘 独立式键盘的各个按键之间彼此是独立的,每一个按键连接一根I/O口线。当键盘按键数量比较多时,需要的I/O口线也较多,因此独立式键盘只适合于按键较少的应用场合。独立式键盘可以工作在查询方式和中断扫描方式。查询方式是通过读I/O口状态可判断是否有键按下和哪一个键被按下。中断扫描方式只要有键按下就会发出中断请求,CPU响应中断,查询各按键对应I/O状态。需要额外的硬件电路来实现中断请求。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互二、矩阵式键盘 矩阵式键盘是一种扫描式键盘,由行线、列线及位于行列交叉点上的按键等部分组成。按键数等于矩阵行数与列数的乘积。1.扫描法 扫描法是先使列(行)线全输出低电平,然后判断行(列)线状态,来判断有无键按下及键的位置。扫描法对键的识别采用逐行(列)扫描的方法获得键的位置。2.线反转法 线反转法的第一步也是把列线置低电平,行线置高电平然后读行状态;第二步与第一步相反把行线置低电平,列线置高电平然后读列线状态来判断有无键按下及键的位置。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互三、其他形式的键盘1.I/O端口组合复用(一)第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互2.I/O端口组合复用(二)第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互3.改进型I/O端口复用第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.2.2键盘的防抖技术一、硬件消抖 通过硬件电路消除按键过程中抖动的影响是一种广为采用的措施。利用积分电路对于干扰脉冲的吸收作用,只要选择好时间常数,就能在按键抖动信号通过此滤波电路时,消除抖动影响。滤波消除抖动电路图如下。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互二、软件消抖 如果按键较多,采用硬件消抖,会提高成本,增加电路的复杂性,因此常采用软件的方法进行消抖。软件消抖可以减少开发系统的成本简化键盘的电路设计,即检测出键闭合后,执行一个延时程序510ms的延时,再确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,然后判断是否是按下同一个键。如果仍然是按下同一个键,则说明是键盘真的按下,根据系统设计执行相应的处理程序,从而消除了抖动的影响。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.2.3 键盘扫描方式编程第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.2.4 键盘中断方式编程第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.3 外接打印机接口设计7.3.1打印机接口信号并行方法的电路:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互串行方法的电路:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.3.2字符和编码 代码00H无效,代码01H0FH为命令,10HFFH代码中,101F为用户自定义代码。20H7FH为标准ASC代码。即拉丁字母大写和小写字母、数字和符号。全部ASCII代码如表所示。0123456789ABCDEF2 2!“#$%&()*+,-./3 30123456789:;?4 4ABCDEFGHIJKLMNO5 5PQRSTUVWXYZ6 6abcdefghijkImno7 7Pqrstuvwxyz|低低半半字字节节高高半半字字节节第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.3.3 打印命令 TPP-16B命令代码及功能如表7-5所示。代代码命命 令令 功功 能能01010202050506060707080809090A0A0B0B0C0C0D0D0E0E0F0F打印打印10101F1F代代码字符,供自定字符,供自定义字符字符时检查用用在字符串中空出在字符串中空出2 25 5个空字符,相当列表个空字符,相当列表TABTAB用用户自定自定义字符的点字符的点阵式式样输入命令入命令打印沿打印沿纸长方向多条曲方向多条曲线(直(直线)命令)命令进入入/退出程序清退出程序清单打印格式打印格式更更换(定(定义)每行字符点行数()每行字符点行数(1 1255255)回回车换行(同行(同ODHODH)在字符串中空出在字符串中空出11111212个空字位个空字位回回车换行行在字符串中,重复打印在字符串中,重复打印0E0E前一个代前一个代码字符字符n n个,个,n16n16打印位点打印位点阵图(896896点点阵)第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互TPP-16B命令代码的命令格式和功能表如下。命令命令通式通式说明明空空n n字位字位cc(cc cc)cc(cc cc)CC=02CC=02、0303、0404、0505、0B0B或或0C0C命令代命令代码即空位数即空位数重复代重复代码XX 0E YYXX 0E YYXX-XX-被重复代被重复代码YY-YY-重复个数重复个数可定可定义字符定字符定义06 XX B1 B2 B3 B4 B5 B6 0D06 XX B1 B2 B3 B4 B5 B6 0DXX-XX-被重复代被重复代码(codecode)B1B1B6B6定定义字型字型PATTENPATTEN0D-0D-命令命令结束束码TERMINATORTERMINATOR字字库校校认0101打印打印n n条曲条曲线07 XX Y1Y2 Y3 07 XX Y1Y2 Y3 YnYn 0D 0DXX-XX-打印曲打印曲线数数CURVESCURVESXX=nXX=n点点阵图形打印形打印0F XX B1 B2 B3 0F XX B1 B2 B3 BnBn 0D 0DXX-XX-点点阵图宽widthwidthXX=n n96XX=n n96清清单格式格式0808前次前次进入,后此入,后此则退出退出更更换字符点行数字符点行数09 XX09 XXxx-xx-每行字符的点行数每行字符的点行数Lines NoLines Noxx:0 xx:0255255回回车换行行0A0A-回回车换行行/命令命令结束束0D0D-第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互 TPP-16B打印机接受下述代码串5个字节后,打印结果如何?从例3可知,02H即空2个字节,05H即空5 个字节,可见02H05H、0BH和0CH此六个代码分别为6种不同数目空位命令。此命令对于打印表格,账单等十分方便,减少了输送代码的代码数量。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互打印6个空子位后是“$32.00”字串的打印命令为:03 03 24 33 32 2E 30 30 0D空6位$3 2.0 0 回车打印一行点数,输入打印机的代码字节为:99 0E 10 0D99为“”代码,0E为重复代码打印命令,10H为重复次数16。当然,如不使用0E命令,与此等效的代码串为16个字节的99H。重复代码打印命令的格式:XX 0E YYXX-被重复的代码0E-重复打印命令字节YY-重复个数第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.3.4 外接打印机接口电路设计 TPP系列并行口打印机与计算机通过机后的20芯扁平电缆及插件连接。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互TPP系列并行口打印机信号时序:第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互TPP连接的并行接口电路第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互7.3.5 外接打印机驱动程序设计 以C51语言编程如下:#include#include#define uchar unsigned char#define COM8155 XBYTE0 x7ff0#define PA8155 XBYTE0 x7ff1#define PC8155 XBYTE0 x7ff3sbit BUSY=P33;uchar code tbhead40=0 x1c,0 x26,0 x20,0 x20,0 x20,0 x20,0 xc4,0 xea,0 x20,0 x20,/打印中文年0 xd4,0 xc2,0 xb7,0 xdd,0 xb5,0 xe7,0 xbb,0 xb0,0 xb7,0 xdl,第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互/月份电话费0X0a,0 xb5,0 xa5,0 xce,0 xbb,0 x20,0 x20,0 xb3,0 xa4,0 xcd,0 xbe,/换行单位长途0 x20,0 x20,0 x20,0 x20,0 xca,0 xd0,0 xbb,0 xb0,0 x0a;/市话uchar t11=40;uchar code tbl5=0 xb0,0 xa6,0 x20,0 x20,0 x20;/3处空格uchar tl2=5;uchar code tb22=0 x20,0 x20;/空格uchar idata bcd18;uchar t13;void prt(uchar d)PA8155=d;PC8155=0X00;PC8155=0X01;while(BUSY);第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互void numb(uchar n)/打印B数据prt(0 x30+(bcdn&0 xf04);/BCD高半B转ASCII码打印prt(0 x30+(bcdn&0 x0f);/BCD低半B转ASCII码打印void main(void)COM8155=0 x0f;/命令字:口A、口C输出EA=1;EX1=1;while(1);void intl(void)interrupt 2 using 1 /打印机中断uchar i,j,line,k=0;EA=0;/关CPU中断for(i=0;it11;i+)/*打印表头prt(tbheadi);t13=0;line=0;第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互do prt(t13+0 x81);/产生一、二、三的代码:0 x81,0 x82,0 x83 for(i=0;itl2;i+)prt(tbli);/处串打印 for(i=0;i2;i+)j=2;do numb(k+);/打印整数部分2B while(-j);/.prt(0 x2e);numb(k+);/打印小数部分1B for(j-0;j2;j+)prt(tb2j);/打印2个空格 /prt(0 x0a);/换行 t13+;第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互while(+line)0 x03!=0);/打印三行EA=1;/开CPU中断 EX1=0;/关打印机中断 本程序使单片机通过对8155的 A、C端口输出相关命令和数据,实现对打印机的控制。通过中断方式,打印一段时间电话费清单。可以打印出中文年,月份电话费,市话,并可以控制空格的长度等相关格式控制。第4章 MCS-51单片机系统功能的扩展第第7 7章章 5151单片机人机交互单片机人机交互本章小结本章小结 单片机应用系统中与人进行交流是必要的。在应用系统工作的工程中,操作者需要向单片机系统发出适应各种功能的指挥命令,以协调控制单片机及执行设备实现相应的动作完成系统功能。同时单片机系统也需将单片机应用系统的运行状态、参数、采样值、转换结果、运算结果、超限报警信息等进行传递,以供操作者了解和掌握应用系统数据做出判断决策。本章针对单片机应用系统常用的人机交互设备:LED数码管显示、LCD液晶显示器、微型打印机的工作原理讨论基础上,介绍了与单片机连接的电路和编程方法。对键盘输入结构、形式、消抖措施及程序编制做了详细介绍。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!