L芯片机技术·SCM技术键根据接口原理可分为编码键盘和非编码键盘两种。全编码键盘由专用芯片实现,可以识别按键并输出相应的代码。通常,它还具有防抖动功能和多个保护电路,例如按键和Shift键。这种键盘易于使用,并且硬件开销很大。通常,很少使用小型嵌入式应用程序系统。由于非编码键盘的经济实用性,因此它们大多用于单片机系统中。关键词:键盘级扫描键盘是单片机应用系统中最常用的输入之一。它由根据某些规则的几个键组成。每个键实际上是一个开关元素。根据其结构,它可以有两个触点,也可以没有触点。类。接触开关按钮包括i开关,弹片式发送到XO到X3,然后从YO到Y3读取键盘状态,以确定哪个键是“按下”。键盘扫描方法有两种,低级扫描和高级扫描,如下所述。低电平扫描是将通用端子tom连接到VCC。当没有按键时,Y3、Y2、Y1、YO端子可以保持高电平。在发送到X3、X2、X1、XO的扫描信号中,只有一个为低电平,其余三个为高电平。整个工作可以分为四个阶段。在第一阶段,主要目的是确定是否已按下按钮3、按钮2、按钮1和按钮0。首先,将1110B信号发送到X3、X2、X1、X0,即只有X0为低电平,其他所有列为高电平。
立即读取1 1 1 1 {未按任何键3键盘扫描对应的MCU 0语言程序设计按扫描值可跟踪Y3、Y2、Y1、Y0的状态。如果Y3、Y2、Yl和Y0为ll10,则表示按键-10被按下,如图2所示。如果Y3、Y2、Y1、Y0为1101,则意味着按下按钮1。如果Y3、Y2、Y1、YO为1011,则表示按键2被按下。如果Y3、Y2、Y1、YO为0111,则表示按钮3被按下。如果Y3、Y2、Yl和Y0为111,则意味着未按下按钮3、,按钮2、,按钮1和按钮0,并进入了第一阶段和第二阶段。第二到第四阶段的操作与第一阶段相似,总结如下表所示。低级动作键盘动作分析表X3X2XlXO Y3Y2Y1 Y0动作按钮1 l 1 O l 1 l o Key0 l 1 0 1 Key 1 l O 1 1 Key2 0 1 1 1 Kev 3 1 1 1 0 1 1 1 1 0 Key4 1 l O l键5 1 O l 1键6 0 1 1 1键7 1 1 O lll 1 0 Kev 8 1 l O 1 Key 9 1 O ll KeyA O 1 ll KeyB 1 0 1 1 1 1 1 l 0键C 1 1 O 1 KeyD l O 1 1 KeyE 0 1 l 1 KeyF 54·电子技术与软件工程描述了无效的JP C(),/键盘输入函数{unsigned char t:l / t =返回数据Key = 0x0f; ///如果fKeyl = OxO0,则行全为0 //不等待按钮按下{delay(20); //再次延迟去抖if(Key!= OxOf)//再次判断是否存在fKey = 0xeg H1110 1111从第一列开始被按下t = Key&0x0f; //读取按钮状态并保留线路switch(t1 // switch-case loop {case 0x0e:{} break; easy 0x0d:{} break; case OxOb:{} brea k; case Ox07:{} brea k;默认值:break;} Key = 0xdf; H1101 1111从第二列扫描t = -Key&0x0f; //读取按钮状态并保留线路开关(t1 / switch-case循环{CaSe 0x0e:{)brea k; case 0x0d:{} brea k; case 0x0b:{} break; ease 0x07:{} break;默认值:brea k;} Key = 0xbf i // 1011 1111从第三列开始扫描t = Key&0x0f; //读取按钮状态并保留行switch(t)// switch-case循环{case 0x0e:{} break; case 0x0d:{} break; case 0x0b: {} break; cas e 0x07:{} brea k;默认值:brea k;} Key- = 0x7〜// 01l1 IIii从第四列扫描t- = Key&0x0〜//读取密钥状态并保留e行值switch(t)//开关。 case loop {case 0x0e:{} brea k;情况0x0d:{}断点k; ca se0x0b:{}断点k;情况0x07:{}断点k;默认值:break;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-354066-1.html
干掉他
当下中国需要有一次强击的胆魄