📅  最后修改于: 2021-01-01 02:57:40             🧑  作者: Mango
键盘是一种模拟开关设备,通常以矩阵结构提供。它在许多嵌入式系统应用程序中用于允许用户执行必要的任务。
考虑将键盘与微控制器接口的框图表示为:
矩阵键盘由以矩阵格式按行和列连接的开关布置组成。行和列与微控制器连接,使得开关的行连接至一个引脚,并且开关的列连接至微控制器的另一引脚。
考虑使用基于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;
}
}