这个实验的代码,写到一半不会了。
//P1按键,P3显示按动次数,add,sub,clear
#include<reg51.h>
sbit s1=P1^0;
sbit s2=P1^1;
sbit s3=P1^2;
unsigned char key_scan;
void delay()
{
int i;
for(i=0;i<3000;i++);
}
void main()
{
key_scan=0;
switch(key_scan)
{
case 1:counter++;break;
case 2:counter--;break;
case 3:clear();break
}
}
void key_scan()
{
P1=0xff;
if((P1&0x0f)!=0x0f)
{
delay10 ms();
if(s1==0)
key_scan=1;
if(s2==0)
key_scan=2;
if(s3==0)
key_scan=3
}