【单片机实验】按键实验(一,二,三)

这篇博客详细介绍了单片机的按键实验,包括如何使用按键控制LED移位、显示按键状态以及分组控制LED。实验重点涉及while循环、按键的高低电平检测、引脚值对应、移位操作和共阳极/共阴极的理解。通过这些实验,作者感受到单片机学习的挑战性,并鼓励读者努力学习。
摘要由CSDN通过智能技术生成

按键实验
目的:通过按键控制其他元器件
实验一
K1~K4控制LED移位
这里写图片描述

    目的:按下独立按键K1~K4,可分别上下控制连接在P0,P2端口的LED移位显示。
#include<reg51.h>//使用芯片的库函数
#include<intrins.h>/*intrins.h,函数,C51单片机编程中,使用到空指令_nop_();字符循环移位指令_crol_等时使用。*/
#define uint unsigned int//define宏定义
#define uchar unsigned char

void DelayMS(uint x)//延时函数,不同的芯片由于频率不同而不同
{
    uchar i;
    while (x--)
        for (i = 0;i < 120;i++);
}

void Move_LED()//LED灯移动功能
//P1,按键引脚;P0:左流水灯;P2:右流水灯;
{
    if ((P1 & 0x10) == 0) P0 = _crol_(P0, 1);
    //左边流水灯向上移动
    else if ((P1 & 0x20) == 0) P0 = _cror_(P0, 1);
    //左边流水灯向下移动
    else if ((P1 & 0x40) == 0) P2 = _crol_(P2, 1);
    //右边流水灯向上移动
    else if ((P1 & 0x80) &#
  • 5
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值