十六进制键盘接口8051
这篇文章是关于接口的十六进制的8051微控制器的键盘。8051接口六角扳手垫一个明确的认识是非常必要的,而设计嵌入式系统需要的字符或数字输入或两个项目。例如项目,如数字密码锁,数字计算器等详细的接口之前,让我们来看看在十六进制键盘。
十六进制键盘。
六角键垫基本上是在一个4×4矩阵的形式排列的16个键的集合。内六角扳手垫通常有键代表数字0到9和字母A到F的一个典型的六角扳手垫在下面的图所示的简化框图。

十六进制键盘
的十六进制的小键盘上有8个通信线路,即R1,R2,R3,R4,C1,C2,C3和C4。R1至R4代表四行和C1至C4表示的四列。当一个特定的键被按下时,相应的行和列的键连接的端子短路。例如,如果按下键1行R1和列C1短路等。该计划被称为列扫描方法确定哪个键被按下。在该方法中一个特定的行被保持在较低水平(其它行被保持高)和列检查低。如果一个特定的列低,这意味着该列的相应行保持在较低水平(行)之间连接的关键是被按下。例如行R1最初保持在较低水平和C1列在扫描过程中发现低,这意味着按下键1。
十六进制数字键盘8051的接口。
AT89S51的电路图显示接口的十六进制数字键盘8051显示below.Like以前的8051个项目,这里使用的是微控制器。该电路将显示压上的7段LED显示的字符/数字。该电路是非常简单,它使用的单片机,??只有两个端口,一个是十六进制键盘和其他的7段LED显示。
十六进制键盘接口8051
十六进制键盘是连接到端口1和7段LED显示器是连接到微控制器的端口0。电阻器R1至R8的电流限制,通过对应的段的LED显示屏。电容器C1,C2和晶体X1完成为微控制器的时钟电路。电阻R9和电容C3,按钮开关S1形成一个防复位机制。
计划。
ORG 00HMOV DPTR,#LUT / /移动到DPTR的起始地址LUTMOV A,#11111111B / /加载一个为全1MOV P0,#00000000B / /初始化P0为输出口返回:MOV P1,#11111111B / /加载所有的P1CLR P1.0 / /第1行JB P1.4,下一个1 / /检查是否列1为低,并跳转到下一个1,如果不低MOV A,#0D / /加载0D如果列是低的(这意味着被按下键1)ACALL DISPLAY / /调用显示子程序下一页1:JB P1.5,在NEXT2 / /检查是否第2栏低,所以...MOV A,#1DACALL DISPLAYNEXT2:JB P1.6,NEXT3的MOV A,#2DACALL DISPLAYNEXT3:JB P1.7,上一页下一页4MOV A,#3DACALL DISPLAY上一页下一页4:SETB P1.0CLR P1.1JB P1.4,NEXT5的MOV A,#4DACALL DISPLAYNEXT5:JB P1.5,NEXT6的MOV A,#5DACALL DISPLAYNEXT6:JB P1.6,NEXT7的MOV A,#6DACALL DISPLAYNEXT7:JB P1.7,下一页8MOV A,#7DACALL DISPLAY下一页8:SETB P1.1CLR P1.2JB P1.4,NEXT9的MOV A,#8DACALL DISPLAYNEXT9:JB P1.5,后10页MOV A,#9DACALL DISPLAY后10页:JB P1.6,NEXT11MOV A,#10DACALL DISPLAYNEXT11:JB P1.7,NEXT12MOV A,#11DACALL DISPLAYNEXT12:SETB P1.2CLR P1.3JB P1.4,NEXT13MOV A,#12DACALL DISPLAYNEXT13:JB P1.5,NEXT14MOV A,#13DACALL DISPLAYNEXT14:JB P1.6,NEXT15MOV A,#14DACALL DISPLAYNEXT15:JB P1.7,BACKMOV A,#15DACALL DISPLAYLJMP BACK显示:MOVC A,@ A + DPTR / /获取当前的关键数字驱动模式LUTMOV P0,A / /把相应的数字驱动模式P0RETLUT:DB 01100000B / /查找表从这里开始DB 11011010BDB 11110010BDB 11101110BDB 01100110BDB 10110110BDB 10111110BDB 00111110BDB 11100000BDB 11111110BDB 11110110BDB 10011100BDB 10011110BDB 11111100BDB 10001110BDB 01111010BEND
关于程序。
程序首先初始化端口0写全0和端口1为输入端口,通过写1到它作为一个输出端口。然后,该程序使行1低的结算P1.0和扫描列逐一进行低使用JB instruction.If列C1低,这意味着按下1和累加器加载的零和调用显示子程序。显示子程序的起始地址存储在DPTR和负载的LUT中的内容添加一个到的数据得到的地址点(使用指令MOVC A,@ A + DPTR)。本中的数据将是数字驱动模式的按键,这种模式是把用于显示端口0。通过这种方式,程序扫描,并把每个键在显示屏上,一旦发现被压。
注释。
- 5V DC电源必须有充分的调节和过滤。
- 列扫描识别的按键是不是唯一的方法。您可以使用也行扫描。行扫描特定的列保持在低水平(其它列保持高的)和行测试使用一个合适的分支指令。如果一个特定的行观察到低,那么这意味着,该行和相应的列(列保持低)之间连接的键被按下。例如,如果柱C1最初保持在较低水平,行R1在扫描过程中观察到低,这意味着被按下键1。
- 在测试过程中使用的膜类型为十六进制键盘。按钮开关的类型和圆顶开关类型也可以工作。我没有检查其他类型。
- 使用的显示器是一种常见的阴极7段LED显示型数ELK5613A的。这仅仅是信息和任何通用的共阴极7段LED显示器将在这里工作。

评论