今日学习任务 | 1.讲解昨天的按键输入十进制数,用LED灯显示 2.数码管共阴共阳的区别 3.通过锁存器控制数码管 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) |
1.用数码管显示一个0到9得数 2.将0到5显示在6个数码管上 3.配合锁存器使用数码管 |
今日开发中出现的问题汇总 | 基础还是比较薄弱 |
今日未解决问题 |
用数码管实现简单的加减乘除问题 |
今日开发收获 | 通过今天的学习,了解数码管有共阴共阳两种接法,明白了七段数码管先进行位选,在进行段选。学会了数码管的基本操作。还结合键盘进行制作一个简单的计算器。 |
自我评价 (是否按开发规范完成 既定任务,需要改进的地方,与他人合作效果等) |
程序编写的程序还是有些问题 |
其他 | #include<reg51.h> unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int x) { int i; while(x--) { for(i=0;i<15;i++); } } if(P1!=0Xf0) case 0xe0:key+=0;break; case 0xd0:key+=1;break; case 0xb0:key+=2;break; case 0x70:key+=3;break; } P1=0x0f; switch(P1) { case 0x0d:key+=5;break; case 0x0b:key+=9;break; case 0x07:key+=13;break; case 1: num2=num2+num1;break; case 2: num2=num2-num1;break; case 3: num2=num1*num2;break; case 4: num2=num2/num1;break; return num2; void display(int n) P2=0xfe; P0=table[n]; } else if(n>=10&&n<=99) P0=table[n/10]; delay(50); P2=~(1<<1); P0=table[n%10]; delay(50); } } int main() KeyScan(); { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: num1=num1*10+key; if(num1/10==0||flag2!=0) { s++; } break; case 10: num1=num1*10+0; if(num1/10==0||flag2!=0) { break; case 11:flag=1;flag1=1;break; //+ if(0!=flag) { display(num1); num2=num1; num1=0; flag2++; } |
第九天实训
猜你喜欢
转载自blog.csdn.net/weixin_42653222/article/details/81106318
今日推荐
周排行