今日学习任务
单片机概念原理介绍、LED灯、蜂鸣器、普通按键、矩阵按键的原理以及使用方法
今日任务完成情况
C51单片机的理论知识
LED灯原理介绍及点亮仿真。
蜂鸣器原理介绍及仿真。
独立按键与矩阵按键
今日开发中遇到的问题汇总
单片机的接口定义以及代码的编写存在一些问题。管脚使用冲突问题
今日未解决问题
单片机学的很浅显,很多基础知识没有掌握
今日开发收获
#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;}
}
}
}
09-28
09-28