one//////

今日学习任务

单片机I/O接口,仿真软件的学习

今日任务完成情况

流水灯的实现,利用蜂鸣器发出不同的声音,

用按键控制灯的亮与不亮

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

仿真软件中的接口定义错误

今日未解决问题

今日开发收获

学会了单片机的I/O接口与外部设备的连接方式

自我评价   

以前一部分没有听懂的学会了

其他

#include <reg51.h>

#define LED   P0

sbit Beep = P2^3;

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

sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit LED4 = P0^3;

int key;

int main()
{
    while (1)
    {
        key = 0;
        LED = 0xff;
        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(1);
                  Beep = 1;
                  delay(2);
                 
                break;

            case 2:
            
       Beep = 0;
       delay(3);
       Beep = 1;
       delay(4);
     
                break;

            case 3:
       Beep = 0;
       delay(5);
       Beep = 1;
       delay(45);
                break;

            case 4:
       Beep = 0;
       delay(7);
       Beep = 1;
       delay(10);
                break;

                    case 5:
                  Beep = 0;
                  delay(11);
                  Beep = 1;
                  delay(78);
                break;

                    case 6:
                  Beep = 0;
                  delay(56);
                  Beep = 1;
                  delay(108);
                break;

                    case 7:
                  Beep = 0;
                  delay(16);
                  Beep = 1;
                  delay(678);
                break;

                    case 8:
                  Beep = 0;
                  delay(23);
                  Beep = 1;
                  delay(118);
                break;

                    case 9:
                  Beep = 0;
                  delay(56);
                  Beep = 1;
                  delay(1078);
                break;

                    case 10:
                  Beep = 0;
                  delay(45);
                  Beep = 1;
                  delay(567);
                break;

                    case 11:
                  Beep = 0;
                  delay(234);
                  Beep = 1;
                  delay(45);
                break;

                    case 12:
                  Beep = 0;
                  delay(234);
                  Beep = 1;
                  delay(456);
                break;

                    case 13:
                  Beep = 0;
                  delay(1345);
                  Beep = 1;
                  delay(23);
                break;

                    case 14:
                  Beep = 0;
                  delay(93);
                  Beep = 1;
                  delay(3452);
                break;

                    case 15:
                  Beep = 0;
                  delay(2341);
                  Beep = 1;
                  delay(2341);
                break;

                    case 16:
                  Beep = 0;
                  delay(50);
                  Beep = 1;
                  delay(500);
                break;
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42646977/article/details/81071737
one