学习日志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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值