学习日志 姓名 艾志奇 班级 通卓161
#include <reg51.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
#define LED P0
int key=0,i=0;
int input(int a)
{
while (1)
{
P0=0Xff;
if(key>0&&key<10)
{
switch(i)
{
case 0:a=key-1;break;
case 1:a=a+key*10;break;
case 2:a=a+key*100;break;
default:break;
}
i++;
}
else
{
if(0!=key||key>=10)
{
break;
}
}
key = 0;
P3 = 0xf0;//判断哪一列被按下
if(P3 != 0xf0)
{
switch(P3)
{
case 0xe0: key = 0; break;
case 0xd0: key = 1; break;
case 0xb0: key = 2; break;
case 0x70: key = 3; break;
}
P3 = 0x0f;//判断哪一行被按下
switch(P3)
{
case 0x0e: key += 1; break;
case 0x0d: key += 5; break;
case 0x0b: key += 9; break;
case 0x07: key += 13; break;
}
}
}
return a;
}
void change(int a,int *s)
{
int k;
for(k=0;k<8;k++)
{
s[k]=a%2;
a=a/2;
if(a==0)
{
break;
}
}
}
void light(int a,int *s)
{
if(a>=0&&a<=255)
{
while(1)
{
LED1=s[0];
LED2=s[1];
LED3=s[2];
LED4=s[3];
LED5=s[4];
LED6=s[5];
LED7=s[6];
LED8=s[7];
}
}
else
{
while(1)
{
LED=0X00;
}
}
}
void main()
{
int a=0;
int b[8]={0};
a=input(a);
change(a,b);
light(a,b);
}