51单片机学习二 led流水灯与按键控制

单片机芯片型号 STC89C516

需求
在这里插入图片描述
需要的知识

1.关于延时函数

void Delay100ms()		//晶振频率12mhz的100s延时函数
{
   
	unsigned char i, j;

	i = 195;
	j = 138;
	do
	{
   
		while (--j);
	} while (--i);
}

可以延时上个语句对应时间,使用辅助程序可以生成

2.关于c51语言位运算中的移位
符号 为 “>>”, “<<”

a<<m,a和m必须是整型表达式,要求m>=0,将整型数a按二进制位向左移动m位,高位移出后,将低位补0。
a>>m,a和m必须是整型表达式,要求m>=0。,将整型数a按二进制位向右移动m位,低位移出后,将高位补0

a=0x45=01010100B,
b=0x3b=00111011B,
则a<<2=01010000B=0x50,b>>2=00001110B=0x0e。

3.关于按键消除震动
通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开,因而在闭合和断开的瞬间均伴随着一连串的抖动。抖动时间一般为零点几秒至数秒。
按键抖动会引起按键被误读多次。为了确保 CPU 对按键的一次闭合仅作一次处理,必须进行消抖。
按键消抖有两种方式,一种是硬件消抖,另一种是软件消抖。为了使电路更加简单,通常采用软件消抖。一般来说一个简单的按键消抖就是先读取按键的状态, 如果得到按键按下之后, 延时 10ms, 再次读取按键的状态,如果按键还是按下状态,那么说明按键已经按下。
单片机常用的软

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值