学习日志07.16

学习日历 姓名:赵智明                                         日期:2018.07.16
今日学习任务

学习使用proteus仿真系统和Keil uVision4编辑系统,学习关于51单片机各

种功能的应用,如蜂鸣器,LED灯矩阵键盘等.

今日任务完成情况

复习了关于51单片机的知识,研究后也能看懂今天的几段代码,不过还是

比较勉强,还是需要多加练习。

今日开发中出现的问题汇总 蜂鸣器弄了好久都没弄好
今日未解决问题
今日开发收获 对51单片机的编程更熟悉了,对于位运算和进制转换也更熟悉了。
自我评价 因为不太能跟得上,所以表现并不好,希望以后可以不补足。
其他

#include <reg51.h>

#define LED   P0
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit LED4 = P0^3;
sbit Beep = P2^3;

int key;
void delay( int x)
{
   int i;
   while(x--)
   {
     for(i=0;i<100;i++);
   }
}
int main()
{
	while (1)
	{
		key = 0;
		LED = 0xff;
		Beep = 1;
		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(key!=0)
		{		    
		   Beep=0;
		   delay(5*key);
		   Beep=1;
		   break;       
		}
	}

	return 0;
}

猜你喜欢

转载自blog.csdn.net/shadowzonec/article/details/81071578