📜  嵌入式系统键盘编程

📅  最后修改于: 2021-01-01 02:57:40             🧑  作者: Mango

使用8051微控制器进行键盘编程

键盘是一种模拟开关设备,通常以矩阵结构提供。它在许多嵌入式系统应用程序中用于允许用户执行必要的任务。

考虑将键盘与微控制器接口的框图表示为:

矩阵键盘由以矩阵格式按行和列连接的开关布置组成。行和列与微控制器连接,使得开关的行连接至一个引脚,并且开关的列连接至微控制器的另一引脚。

考虑使用基于Proteus的Simulation的键盘与8051微控制器的接口是:-

考虑通过按下开关来切换LED的程序是:-

#include
sbit p=P3^0;
sbit q=P3^1;
sbit r=P3^2;
sbit s=P3^3;
void delay();
void main()
{
while(1)
{
p=0;
q=1;
r=1;
s=1;
delay();
p=1;
q=0;
r=1;
s=1;
void delay()
{
unsigned char i;
TMOD=0x20;         //set timer mode//
for(i=0;i<2;i++)     //double the time delay//
{
TL1=0x19;         //set time delay//
TH1=0x00;
TR1=1;         //timer on//
While(TF1==0);     //check flag bit//
TF1=0;
}
TR1=0;         //timer off//
}

考虑通过按键盘上的键“ 1”来打开LED的程序是:

 #include
sbit a1=P2^0;
sbit b1=P3^0;
sbit LED=P0^1;
void main()
{
a1=0;
if(b1==0)
{
LED=0xff;
}
}

考虑通过按键盘上的相应键在七段显示器上显示数字0、1、2、3、4、5的程序是:-

#include
sbit  r1=P2^0;
sbit  c1=P3^0;
sbit  r2=P2^0;
sbit  c2=P3^0;
sbit a=P0^1;
void main()
{
r1=0; a=1;
if(c1==0)
{
a=0xFC;
}
if(c2==0)
{
a=0x60;
}
if(r1==0)
{
a=0xDA;
}
if(r2==0)
{
a=0xF2;
}
}