基于51单片16路矩阵键盘抢答器 联系客服

发布时间 : 星期三 文章基于51单片16路矩阵键盘抢答器更新完毕开始阅读86de4f97bb4cf7ec4bfed044

temp=temp & 0x0f; if (temp!=0x0f) {

delay(5); temp=P3;

temp=temp & 0x0f; if (temp!=0x0f) {

temp=P3;

temp=temp & 0x0f; switch(temp) {

case 0x0e:

{delay(5);num1=16;l2=0;xianshi();} break; case 0x0d:

{delay(5);num1=15;l2=0;xianshi();} break; case 0x0b:

{delay(5);num1=14;l2=0;xianshi();} break; case 0x07:

{delay(5);num1=13;l2=0;xianshi();} break; }

temp=P3;

P0=table[key]; } } } }

void xianshi() {

TR0=0; num=0; sp=1; delay(100); sp=0; while(1) {

for(a=0;a<4;a++) {

delay(5); P2=table0[a];

P0=table[display[a]]; }

display[0]=num/10; display[1]=num;

第26页

display[2]=num1/10; display[3]=num1;

if(k4==0) {

num=num2; num1=0; TR0=1; l1=1; l2=1; return; } } }

void main() {

l1=1; l2=1; sp=0; x=0;

num=num2=30; while(1) {

if(x==1) {

delay(5);

TR0=1; while(1) {

keyboad(); if(k4==0) { l1=1; l2=1;

delay(5); num=num2; TR0=1; } } }

else {

for(a=0;a<4;a++) {

delay(5); P2=table0[a];

第27页

P0=table[display[a]]; }

display[0]=num/10; display[1]=num;

display[2]=num1/10; display[3]=num1; init(); } } }

void time0() interrupt 1 {

TH0=(65536-10000)/256; TL0=(65536-10000)%6; count++; if(k4==0) { num=num2; TR0=1; num1=0; return; }

for(a=0;a<4;a++) { delay(10); P2=table0[a];

P0=table[display[a]]; }

display[0]=num/10; display[1]=num; display[2]=num1/10; display[3]=num1;

if(count==100) {

count=0; num--;

if(num<6) { l1=~l1; sp=1;

delay(100); sp=0;

if(num==0) {

l1=0;

sp=1;delay(200);sp=0; delay(100);

第28页

} }

}

sp=1;delay(200);sp=0; delay(100);

sp=1;delay(200);sp=0; }

if(num==0) {

while(1) {

xianshi(); if(k4==0) {

l1=1; l2=1;

num=num2; TR0=1; return; } } }

x2++;

if(x2==4) {

x2=0; }

P3=table2[x2];

第29页