标签:
摘要: 即R1,R2,R3,R4,C1,C2,C3和C4。R1至R4代表四行和C1至C4表示的四列。当一个特定的键被按下时,相应的行和列的键连接的端子短路。例如,如果按下键1行R1和列C1短路等。该计划被称为列扫描方法确定哪个键被按下。在该方法中一个特定的行被保持在较低水平(其它行被保持高)和列检查低。如果一个特定的列低,这意味着该列的相应行保持在较低水平(行)之间连接的关键是被按下。例如行R1最初保持在较低水平和C1列在扫描过程中发现
这篇文章是关于接口的十六进制的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。
AT89S51的电路图显示接口的十六进制数字键盘8051显示below.Like以前的8051个项目,这里使用的是微控制器。该电路将显示压上的7段LED显示的字符/数字。该电路是非常简单,它使用的单片机,??只有两个端口,一个是十六进制键盘和其他的7段LED显示。
十六进制键盘是连接到端口1和7段LED显示器是连接到微控制器的端口0。电阻器R1至R8的电流限制,通过对应的段的LED显示屏。电容器C1,C2和晶体X1完成为微控制器的时钟电路。电阻R9和电容C3,按钮开关S1形成一个防复位机制。
ORG 00H MOV DPTR,#LUT / /移动到DPTR的起始地址LUT MOV A,#11111111B / /加载一个为全1 MOV P0,#00000000B / /初始化P0为输出口 返回:MOV P1,#11111111B / /加载所有的P1 CLR P1.0 / /第1行 JB P1.4,下一个1 / /检查是否列1为低,并跳转到下一个1,如果不低 MOV A,#0D / /加载0D如果列是低的(这意味着被按下键1) ACALL DISPLAY / /调用显示子程序 下一页1:JB P1.5,在NEXT2 / /检查是否第2栏低,所以... MOV A,#1D ACALL DISPLAY NEXT2:JB P1.6,NEXT3的 MOV A,#2D ACALL DISPLAY NEXT3:JB P1.7,上一页下一页4 MOV A,#3D ACALL DISPLAY 上一页下一页4:SETB P1.0 CLR P1.1 JB P1.4,NEXT5的 MOV A,#4D ACALL DISPLAY NEXT5:JB P1.5,NEXT6的 MOV A,#5D ACALL DISPLAY NEXT6:JB P1.6,NEXT7的 MOV A,#6D ACALL DISPLAY NEXT7:JB P1.7,下一页8 MOV A,#7D ACALL DISPLAY 下一页8:SETB P1.1 CLR P1.2 JB P1.4,NEXT9的 MOV A,#8D ACALL DISPLAY NEXT9:JB P1.5,后10页 MOV A,#9D ACALL DISPLAY 后10页:JB P1.6,NEXT11 MOV A,#10D ACALL DISPLAY NEXT11:JB P1.7,NEXT12 MOV A,#11D ACALL DISPLAY NEXT12:SETB P1.2 CLR P1.3 JB P1.4,NEXT13 MOV A,#12D ACALL DISPLAY NEXT13:JB P1.5,NEXT14 MOV A,#13D ACALL DISPLAY NEXT14:JB P1.6,NEXT15 MOV A,#14D ACALL DISPLAY NEXT15:JB P1.7,BACK MOV A,#15D ACALL DISPLAY LJMP BACK 显示:MOVC A,@ A + DPTR / /获取当前的关键数字驱动模式LUT MOV P0,A / /把相应的数字驱动模式P0 RET LUT:DB 01100000B / /查找表从这里开始 DB 11011010B DB 11110010B DB 11101110B DB 01100110B DB 10110110B DB 10111110B DB 00111110B DB 11100000B DB 11111110B DB 11110110B DB 10011100B DB 10011110B DB 11111100B DB 10001110B DB 01111010B END
程序首先初始化端口0写全0和端口1为输入端口,通过写1到它作为一个输出端口。然后,该程序使行1低的结算P1.0和扫描列逐一进行低使用JB instruction.If列C1低,这意味着按下1和累加器加载的零和调用显示子程序。显示子程序的起始地址存储在DPTR和负载的LUT中的内容添加一个到的数据得到的地址点(使用指令MOVC A,@ A + DPTR)。本中的数据将是数字驱动模式的按键,这种模式是把用于显示端口0。通过这种方式,程序扫描,并把每个键在显示屏上,一旦发现被压。
上一篇:音箱维修方法
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |