发布时间 : 星期三 文章基于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页