//按键动作的前沿和后沿会都有大约10ms的抖动,人在按下按键到松开至少需要50ms以上(待考证)。此代码实现的功能为给按键计数,并给按键消抖
//欢迎邮箱交流:bglei@foxmail.com   作者:CHNfisher
#include<reg52.h>
sbit k4=P3^4;unsigned char cnt=0;
unsigned char code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,  //code表示存储在flash区,给RAM节省内存。只读不能写(改)0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};    //共阴极数码管显示0~F的值bit kbuff=1; //按键状态暂存区
bit backup=1;//上一个按键状态
bit ksta=1;  //确定按键是1或0void main()
{EA=1; //中断使能ET0=1;//中断开关TMOD=0x01; //定时方式1TH0=0xF8;  //F8CD表示2ms进一次中断,计算方法见《...数码管...》TL0=0xCD;TR0=1;     //定时器0开关P1=smgduan[0];P3=0xFF; //后三位选择数码管的位(第8位),倒数第4位给双向I/O口按键写“1”,后续读取k4的值while(1){if(ksta!=backup){if(backup==0){cnt++;if(cnt>=16){cnt=0;}P1=smgduan[cnt];}backup=ksta;}}
}void InterruptTimer0() interrupt 1
{static unsigned char kkbuff=0xFF;TH0=0xF8;TL0=0xCD;kkbuff=(kkbuff<<1)|k4;if(kkbuff==0x00){ksta=0;}else if(kkbuff==0xFF){ksta=1;}else{}
}

51单片机:独立按键控制数码管计数

51单片机:独立按键控制数码管计数相关推荐

  1. 51单片机-独立按键控制LED

    1.   51单片机独立按键的位置: 独立按键的定义:独立按键相当于一种电子开关,按下时开关接通,松开时开关断开,实现原理是通过轻触按键内部的金属弹片受力弹动来实现接通和断开: 在整个51开发板的左下 ...

  2. 51单片机独立按键联动数码管LED蜂鸣器

    目录: LED工作原理.电路及源码 蜂鸣器工作原理.电路及源码 数码管工作原理.电路及源码 独立按键工作原理.电路及源码 总结 LED原理,电路及源码 LED原理 LED就是发光二级管,有单向导电性, ...

  3. 51单片机:独立按键控制LED灯

    1. 独立按键控制LED灯状态 亮灭实验完成后,就可以控制LED状态,首先我们知道由于机械结构的弹性作用,按键开关在闭合时不会一瞬间稳定的接通,在断开时,也不会一下子断开.所以就得需要程序消抖,也就是 ...

  4. 51单片机独立按键控制合集

    实验一:当按键按下led灯亮,松开按键led灯熄灭: 实验二:当按键按下led灯常亮,再次按下按键led灯熄灭: 实验三:按键控制led以二进制形式显示: 实验四:按键控制led按位左移或右移: 实验 ...

  5. 51单片机 独立按键控制LED 实现的三人表决器

    有图可以看出,当(K1,K2,K3,K4)按下时(P31,P30P32,P33)短接到地,从高电位被拉到地在数字电路中高电位被看作(1)底电位被看作(0) 可以看出当P2为0时LED上才有电位差,才会 ...

  6. 51单片机独立按键控制LED状态

    1.前言 1.1功能介绍 代码1:按下K1,D1亮,松开D1灭:代码2:按下K1不亮,直到松手才亮,再按一下无变化,直到松手才变化: 1.2按键的抖动 对于机械开关,当机械触点断开.闭合时,由于机械触 ...

  7. 用51单片机实现按键控制LED灯亮灭

    用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...

  8. 蓝桥杯51单片机之独立按键控制数码管【单片机开发初学者必学会】

    文章目录 一.写在前面 二.无中断控制数码管 三.外部中断控制数码管 一.写在前面 关于数码管的控制与显示,在文章51单片机之数码管从点亮到动态时钟的实现[单片机开发初学者通俗易懂]已经有详细介绍了, ...

  9. 51单片机怎么显示当前时间_(进阶篇)51单片机之按键控制蜂鸣器、数码管、按键值移位显示...

    一.实操演示- 按键控制蜂鸣器 1.图文详细 独立按键硬件电路 蜂鸣器硬件电路 2.连接方式: J20的第3号引脚连接到J7引脚,即P15连接J7. J29的第7.8号引脚连接到JP1的第1.2号引脚 ...

最新文章

  1. python初学工资-python工资高还是java?
  2. Algorithm之RS:RS常用的一些库
  3. 如何使用Dev C++调试(debug)c程序
  4. JS----JavaScript中的作用域和作用域链
  5. leetcode剑指 Offer 63. 股票的最大利润(动态规划)
  6. 移动设备测试 6 free mobile device emulators for testing your site
  7. Android studio 2.3版本出现的问题: Please select at least one of the signature versions to use
  8. FLEX4 在组件中自定义ToolTip样式
  9. Google的21道面试问题
  10. 虚拟机linux启动是来宾账户,配置Openstack Nova以自动启动在主机重新引导之前运行的guest虚拟机...
  11. 1、http网络编程——URL、CURL、CURLcode和curl_slist
  12. Ubuntu上安装ns2-2.34
  13. MySQL8.0 - 新特性 - 临时表改进 1
  14. 计算机网络 ping中ttl,ping命令TTL什么意思 ping值ttl多少算正常
  15. 列车停站方案_浅谈地铁列车停站方案.doc
  16. 《Linux那些事儿之我是USB》我是U盘(15)冬天来了,春天还会远吗?(一)
  17. windows10下使用minGW64 编译krita源码报错
  18. 美团外卖API接入(二)
  19. 骑士amp;魔法 java_程序员穿越异世界,骑士与魔法!
  20. Deep Learning for Visual Tracking: A Comprehensive Survey(单目标跟踪目前最好的综述类文章)

热门文章

  1. 人工智能能否超过人类智能
  2. 浅谈通过信息手段提高执行力
  3. PS-HDR图像编辑与应用
  4. 第1期:大数据为什么会这么火
  5. 点亮LED灯--制作流水灯
  6. FL Studio21水果体验尝鲜版音乐宿主程序FL2023
  7. 如何将json转换为数组
  8. 王凤书肝病专家:转氨酶偏高怎么降下来?
  9. 求助:SQL Error: 17008, SQLState: 08003
  10. java 联合查询取值_mybatisPlus多表联合查询