您的位置:首页 > 其它

苏嵌学习日志7.16

2018-07-16 21:44 141 查看

姓名:李璐    日期:7.16

今日学习任务 单片机的背景介绍,proteus的使用及原理图部分功能的讲解
今日任务完成情况

今日任务已基本完成

1.原理图功能介绍

2.LED的代码编写及控制,实现流水灯功能

3.蜂鸣器的代码编写及控制

4.矩阵键盘的代码编写及控制

5.多方式控制LED的亮灭

今日开放中出现的问题汇总 今天主要是安装软件及使用过程问题较多,但已解决
今日未解决问题
今日开发收获 今天学习了单片机的部分功能,如何通过代码来控制蜂鸣器、LED、矩阵键盘等。基本能跟的上,但是有的内容还需细细消化理解
自我评价 今天信息量有点大,但基本能跟得上。学会了单片机的基本操作,如控制蜂鸣器的发生、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;
}

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: