今日学习任务 | 单片机概念原理介绍及仿真软件的使用 | |
---|---|---|
今日任务完成情况 (详细说明本日任务是否按计划完成,开发的代码量。) |
本日任务按计划完成 1、仿真环境操作流程。 2、单片机仿真原理。 3、LED灯原理介绍及点亮仿真。 4、蜂鸣器原理介绍及仿真。 5、独立按键与矩阵按键。 6、以上学习均结合编程,编写流水灯程序、蜂鸣器发声程序、按键控制程序若干。 |
|
今日开发中遇到的问题汇总 |
|
|
今日开发收获 |
|
|
自我评价
扫描二维码关注公众号,回复:
2302994 查看本文章
(是否规范完成指定任务,需要改进的地方,与他人合作等。) |
对仿真软件有了了解,学会了利用软件平台模拟硬件电路 | |
今日未解决问题 | 无 |
work
#include<reg51.h>
sbit Beep=P2^3;
void delay( int x)
{
int i;
while(x--)
{
for(i=0;i<100;i++);
}
}
void main()
{
int key;
while(1)
{
key=0;
Beep=1;
P3=0xf0;
if(P3!=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;break;
case 0x0d:
key+=5;break;
case 0x0b:
key+=9;break;
case 0x07:
key+=13;break;
}
}
switch(key)
{
case 1:{Beep=0;delay(1);break;}
case 2:{Beep=0;delay(5);break;}
case 3:{Beep=0;delay(10);break;}
case 4:{Beep=0;delay(15);break;}
case 5:{Beep=0;delay(20);break;}
case 6:{Beep=0;delay(25);break;}
case 7:{Beep=0;delay(30);break;}
case 8:{Beep=0;delay(35);break;}
case 9:{Beep=0;delay(40);break;}
case 10:{Beep=0;delay(45);break;}
case 11:{Beep=0;delay(50);break;}
case 12:{Beep=0;delay(55);break;}
case 13:{Beep=0;delay(60);break;}
case 14:{Beep=0;delay(65);break;}
case 15:{Beep=0;delay(70);break;}
case 16:{Beep=0;delay(75);break;}
}
}
}