<menu id="mqgc0"></menu>
  • <menu id="mqgc0"></menu><menu id="mqgc0"></menu><input id="mqgc0"><u id="mqgc0"></u></input>
    <input id="mqgc0"><u id="mqgc0"></u></input>
  • <optgroup id="mqgc0"></optgroup>
  • <input id="mqgc0"><tt id="mqgc0"></tt></input>
  • 针对单片机初学者的实例,4×4矩阵键盘的工作原理和编程的详细说明

    电脑杂谈  发布时间:2020-11-13 07:04:15  来源:网络整理

    3*4矩阵键盘扫描原理_3*4矩阵键盘扫描原理

    矩阵键盘的工作原理和单片机编程学习实例的详细说明(三); =:=== ::: = :: =:==:======: := ::: = shu 4X4矩阵键盘本文介绍如何在ME3OOB 5l / Ava微控制器学习和开发系统上使用数字管显示4x4矩阵键盘的键值。 ,硬件工作原理简介本实验采用了ME3OOB数字显示电路和44矩阵键盘电路。简要介绍了电路的这两部分的工作原理:1.44矩阵键盘的工作原理矩阵键盘也称为行列式键盘,它是由列组成的键盘。使用子例程并为每一行和每一列执行中断处理程序时。单片机将自动将返回地址(即PC值)和其他相关信息压入当前SP指示的堆栈地址中。当SP中断处理程序返回到指令RETI时,微控制器将返回地址和其他存储在堆栈中的相关信息发送到PC。并且栈指针SP被相应地修改。程序返回子程序调用之前的下一条指令,或进入中断处理程序以继续执行。设置SP的初始值时,应考虑以下因素:子例程和中断处理程序的最大嵌套级别数;可能需要压入堆栈的最大寄存器数量:程序是否需要使用工作寄存器的1?3数据减慢;在中间区域,在基本数据存储器和不用作工作寄存器,位标志寄存器和堆栈的高交集上设置了一个密钥。

    3*4矩阵键盘扫描原理_3*4矩阵键盘扫描原理

    因此,键盘上的键数为44。这种行列式键盘结构可以有效地改善MCU系统的ME300B矩阵键盘的电路图。将国庆日线路连接到P1.4至P117。列线连接到P1.0至P1.3。 2.数字管动态扫描显示电路位于ME300B开发系统中。 8位数字显像管用于动态扫描显示。它将所有数字段相应地连接在一起。并连接P14r_crr。 zh_cn,一个“一zv_factory?。一个一P1l ......... jLjL一jL一-o5o一人一” r_o一jL魏一jL rs一-。 _oDP10 P11 P12 P13 —可以将128字节的数据存储器用作数据缓冲区4.特殊功能寄存器的操作模式已在前面进行了讨论,特殊功能寄存器以直接寻址模式操作。一些特殊功能存储器也可以通过位寻址来操作,这在《 2006年单片机的基本结构和工作原理》二)的表2中使用。基本数据存储器的这些区域中,这些可寻址位在微控制器中具有特定的符号,并使用该符号对其进行寻址。例如,程序状态字PSW可以是逐位CY.AC,F0,RS1 ,RS0,OV,F1,P。

    3*4矩阵键盘扫描原理_3*4矩阵键盘扫描原理

    是进位标志,辅助进位标志,用户标志0,寄存器和奇偶校验标志。这些标志位可通过位清除指令,位置1指令和位条件传输指令直接操作。本文介绍程序运行时与AT89S52微控制器的存储器操作相关的结构,操作模式和四个特殊功能。注册PC,DPTR,A,SP。初学者应注意:片上程序存储器中特殊地址单元(0000H,0003H?002DH)的功能以及编程时的注意事项;片上数据存储器的结构,高128字节的扩展数据存储区和特殊功能寄存器区域的寻址模式的差异,基本数据存储器四个分区的用法和操作模式的差异区。并且四个特殊功能寄存器PC,DPTR,A,SP的功能在存储器中运行。了解MCU到AT89S51的P0端口。现场输出由端口P0控制。每个数字电子管的共阳极由AT89S51的P2端口Q20-Q27控制,以实现8位数字电子管的位输出控制。这样。对于一组数字电子管动态扫描显示,需要由两组信号控制:一组是由现场输出端口输出的字形代码,用于控制显示的字形。它称为段代码;另一组是位输出端口输出的控制信号,用于选择要工作的数字管的编号,称为位代码。

    3*4矩阵键盘扫描原理_3*4矩阵键盘扫描原理

    由于每个数字电子管的分段线是并联连接的,因此每个数字电子管的分段代码输出是相同的。因此。同时,如果每个数码管的位选择线都处于选通状态。 8位数码管将显示相同的字符。如果每个数码管都可以显示与此位相对应的字符,则必须采用扫描显示模式。即,在某个时刻,仅某个比特的比特选择线处于导通状态,而其他比特的比特选择线处于截止状态。同时。可以通过调整延迟程序的延迟长度来完成由段线的不同数字显示的时间间隔。如果显示时间间隔较长,则数字电子管显示屏的时间间隔也可以确定数字电子管显示屏的亮度。如果显示时间间隔短,显示时数码管的亮度会变亮。显示时,数码管的亮度将变暗。如果显示时间间隔太长,显示时数码管将闪烁。因此,自大者指出的时间变得很糟糕。 。 ,-,-,-,-,-,-ooo数码管的光,ooo管不会一一闪烁。在ME300B MCU开发系统中使用数字管显示信息时。为了使JP2 2、3短路。参见图3。可以组合结果以获取当前按钮的功能代码。使用以上方法,我们得到16个按键的功能代码。举例说明如何获得按钮的功能。代码:功能代码。从端口P1的高四位输出低电平。那就是P1。 4-P1。

    3*4矩阵键盘扫描原理_3*4矩阵键盘扫描原理

    7是输出端口。低四位输出高电平。也就是说,P1.0-P1.3是输入端口。端口P1的低四位的状态为“ 1101”,其值为“ 0DH”。然后从端口P1的高四位输出高电平。即,P1。 4-P1。 7个是输入端口。低四位输出低电平。即,P10至P13是输出端口。将P1的高四位的状态读取为“ 1110”。它的价值是。 E0H“。对两次读取的P0端口状态值执行逻辑或运算,以获取键的功能代码。输出相应的位以显示字符的字体代码。同时,只有选通的位显示字符,然后其他数字熄灭,如果循环继续进行,数字管可以显示要显示的字符,尽管这些字符出现的时间不同,但同时只显示一位,其他数字都熄灭。由于数字管的余辉特性以及人眼中视觉持续存在的现象,只要每个数字管的显示间隔足够短,赋予人眼的视觉印象就将是连续且稳定的显示。 2.演示程序编程方法1,44矩阵键盘编程方法:1.首先读取键盘的状态,获取按键的功能代码,然后首先从端口P1的高四位输出低电平,然后输出从低四位放到高电平。从P1输出低电平,高四位输出高电平。从端口P1的高四位读取键盘状态。以“ .EDH”读取两次。以相同的方式,可以获得其他15个键的功能代码。

    1.2。根据按键的功能代码,查找表以获取按键的顺序代码。根据图2中的键排列顺序,将通过上述方法获得的16个键的特征码排列到特征码与序列码之间的对应关系表中,然后使用当前读取的特征码查找表。 。表格中的功能代码时。它的位置是相应的序列代码。学习MCU 1.3。矩阵键盘键值搜索程序的特定编程该演示程序的主要功能是:1.识别键盘是否按下了键,如果没有按下,则返回。 2.如果按了某个键,则找出特定的键值(顺序代码)。矩阵键盘键值搜索程序的键值存储在30H单元KEY中。扫描:;如果没有键盘按键,请按以下子程序MOVP1,#OFOH:将列线设置为O,将行设置为1 MOVA,P1:读取P1 ANLA,#OFOH:取出MOVB的高四位,A:暂时存储到0B MOVP1,白线FH:将列线设置为1,将行线设置为O MOVA,P1:读取P1 ANLA,白线FH:取出ORLA的低四位,B:重新组合逻辑运算符的逻辑OR高四位和低四位CJNEA,#0FFH,KEY_IN1; 0FFH为无按键操作RET KEY_IN1 ::标识特定键值子程序MOVB,A:暂时将键特征代码存储在B MOVDPTR中。静态KEYTABLE MOVR3。 #OFFH KEY_IN2:INCR3:在序列代码中添加1个MOVA。

    R3 MOVCA,@ A + DPTR:查找表CJNEA,B,KEY。 IN3;比较(如果相同),找到按钮的功能代码。 MOVA,R3:找到功能代码后,取序列代码MOV30H,A:将其存储在单元30H中RET KEY_IN3:CJNEA,#OOH,KEY_IN2:结束,继续检查RET; 00H是结束码:特征码与序列码之间的对应关系表f,_ = 4BLE:DB0EEH,0EDH,0EBH,0E7H,0DEH:O,1,2,3,4,序列码DB0DDH,0DBH,0D7H, 0BEH,0BDH; 5、6、7、8.9。顺序码DB0BBH,0B7H,07EH,07DH,07BH,077H:A,B,C,D,E,F顺序码DB00H:结束码2,根据要使用的特定数字显像管的8位数字显像管显示程序的编程方法用于确定初始扫描值和扫描方向的位置。根据所用数码管的数量确定扫描位数。准备要显示的数据并将其放入相应的人机界面中。数字管显示子程序:从右到左依次点亮8个数字管。显示:MOVR1,#07FH:扫描发送到R1 MOVR2,#08H的初始值; ta扫描数字发送到R2 MOVRO,#30H:开始填充显示单元DISP1:MOVA,@ RO:显示内容发送到A MOVDPTR,#TABLE:获取标题MOVCA,@ A + DPTR:查找表格以获取显示数据MOVP0,A:显示单位数据MOVP2,R1:开始显示当前位置MOVA,R1:准备显示下一个RRA MOVR1。

    A INCR0:取下一个单元的地址LCALLDELAY2MS:延迟2MS DJNZR2,DISP1:重复下一个显示RET:显示完成,由于键值显示只需要一个数字管而返回,可以优化上述显示程序,获取以下显示程序。 KEYPLAER:MOVA,30H:键值数据发送到A MOVDPTR,_ABLE:获取段代码表地址MOVCA,@ A + DPTR:检查与段代码MOVP0对应的显示数据,A:将段代码发送到P0 CLRP2。 7:第一个数字管显示CALLDELAY2MS SETBP2。 7 RET表:DB0COH,0F9H,0A4H,0BOH,99H,92H,82H,0F8H DB80H 90小时88小时。 83H。 OC6H。 OA1H。 86小时8EH:O-F第三,演示程序的功能当您按下任一矩阵键盘声音时。相应的键值将显示在数字管上。 ME300B开发系统的实际演示图片。有关编程的详细信息,请参阅ME300B CD中数字管显示键值的演示程序。


    本文来自电脑杂谈,转载请注明本文网址:
    http://www.pienmashup.com/a/bofangqi/article-332926-1.html

      相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...
      重庆彩票