7月16日学习日志 张蓉婷

                                                      学习日志   7月16日     张蓉婷

今日学习任务

1.什么是单片机

2.近年来推出的51产品

2.80C51的引脚封装

3.仿真环境操作流程。

4.单片机仿真原理。

5.LED灯原理介绍及点亮仿真。

6.蜂鸣器原理介绍及仿真。

7.独立按键与矩阵按键。

8.以上学习均结合编程,编写流水灯程序、蜂鸣器发声程序、按键控制程序若干。

 

 

今日任务完成情况

 

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

1.点亮LED灯

2.调节哪一个LED灯亮

3.跑马灯程序

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

5.按响蜂鸣器

6.按键控制LED

 

 

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

1.最小系统的组成:电源,晶振,复位电路

2.流水灯可以用移位实现

3.矩阵按键的判定:先确定行再确定列;

 

今日未解决问题

 

 

今日开发收获

今天学习了单片机的基础内容,虽然大二刚学过单片机,但是学习的都是理论知识,并不能完全理解,以致于单片机学的很差。。。通过今天的学习,我发现书本上的那些程序我能够有一些的理解,很开心,希望在以后的学习里收获更多。

 

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

  #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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值