学习日志 | 姓名:艾志奇 日期:2018/7/16 |
今日学习任务 |
1.什么是单片机 2.蜂鸣器的相关实现 3.独立按键和矩阵按键
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) |
1.点亮LED灯 2.跑马灯程序 3.依次点亮跑马灯 4.按响蜂鸣器 5.按键控制LED
|
今日开发中出现的问题汇总 |
1.最小系统的组成 电源,晶振,复位电路 2.矩阵按键的判定
|
今日未解决问题 |
没有
|
今日开发收获 |
通过今天的学习了解了单片机的相关知识,学会了按响蜂鸣器,还学会用按键控制LED
|
自我评价
(是否按开发规范完成
既定任务,需要改进的地方,与他人合作效果等) |
按时完成程序。 |
#include <reg51.h>
#define LED P0
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit LED4 = P0^3;
int key;
sbit Beep=P2^3;
void delay(int time0)
{
int i;
while(time0--)
{
for(i=time0;i>0;i--);
}
}
int main()
{
while (1)
{
key = 0;
LED = 0xff;
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;
}
}
if(0==key)
{
Beep=1;
}
else
{
Beep=0;
delay(key*20);
Beep=~Beep;
delay(key);
}
}
return 0;
}