姓名: 王晨晨 日期: 7.17
今日学习任务
键盘输入一个数字, 比如123, 按一下确认 ,用LED显示它的二进制, 不一定是三位数 ,一位数两位数都行
仿真软件的使用
今日任务完成情况
完成不好
今日开发中出现的问题汇总
代码实现的功能不够完善
今日正确显示未解决问题
如何使LED正确显示
今日开发收获
按键控制LED灯
自我评价
基础差,学习效率低,有点吃力,加油吧。
代码:
#include<reg51.h>
#define LED P0
int main()
{
int flag = 0,j;
int a,key;
LED = 0xff;
key = 0;
P3 = 0xf0;
while(1)
{
key = 0;
P3 = 0xf0;
if((P3 != 0xf0)&&(flag == 0))
{
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;while(P3 != 0x0f) P3 = 0x0f;break;
case 0x0d: key += 5;while(P3 != 0x0f) P3 = 0x0f; break;
case 0x0b: key += 9;while(P3 != 0x0f) P3 = 0x0f; break;
case 0x07: key += 13;while(P3 != 0x0f) P3 = 0x0f; break;
}
flag = 1;
a = key*10;
P3 = 0xf0;
LED = 0xff;
}
j = 20000;
while(j--);
if((P3 != 0xf0)&&(flag == 1))
{
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;while(P3 != 0x0f); break;
case 0x0d: key += 5;while(P3 != 0x0f); break;
case 0x0b: key += 9;while(P3 != 0x0f); break;
case 0x07: key += 13;while(P3 != 0x0f); break;
}
flag = 0;
LED = ~(0x00+a+key);
P3 = 0xf0;
}
}
return 0;
}