学习日志

学习日志姓名:孙双      日期:2018/7/16
今日学习任务

1.什么是单片机

2.近年来推出的51产品

2.80C51的引脚封装

3.LED灯的各种实现

4.蜂鸣器的相关实现

5.独立按键和矩阵按键

 

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

1.点亮LED灯

2.调节哪一个LED灯亮

3.跑马灯程序

4.依次点亮跑马灯(前面不灭)

5.按响蜂鸣器

6.按键控制LED

 

 

今日开发中出现的问题汇总

1.最小系统的组成

电源,晶振,复位电路

2.LED程序的各种实现方法

3.矩阵按键的判定:

先确定行:11110000,在确定列:00001111;

 

今日未解决问题

每个按键控制蜂鸣器控制一种声音

 

 

今日开发收获

通过今天的学习了解了单片机的相关知识,学会了光与LED灯的各种实现方法,学会了按响蜂鸣器,还学会用按键控制LED,更是学会了键盘的使用。

 

自我评价

 

(是否按开发规范完成

 

既定任务,需要改进的地方,与他人合作效果等)

今天可以按时完成程序。
其他 

  每个按键控制蜂鸣器控制一种声音

  #include<reg51.h>

      sbit Beep=P2^3;

      
      void delay(x)
      { 
       
      int i;

      while(x--)
      {
      for(i=0;i<100;i++);
      }
      }

    

int key;

int main()
{
    while (1)
    {
        key = 0;
        
        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;
            }
        }

        switch (key)
        {
            case 1:
                 Beep=0;
                 delay(2);
                 Beep=1;
                 delay(1);
                break;
            case 2:
                 Beep=0;
                 delay(10);
                 Beep=1;
                 delay(1);
                break;
            case 3:
             Beep=0;
                 delay(50);
                 Beep=1;
                 delay(1);;
                break;
            case 4:
                 Beep=0;
                 delay(100);
                 Beep=1;
                 delay(1);
                break;
        }
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值