51单片机:中断实现按键按一下数码管从00加到99循环(C语言)

题目要求:

在51单片机上通过C语言编写代码,使用中断,按键按一下数码管上面的数字从00开始加1,实现00——99的循环

准备工作:

  • keil建立工程
  • proteus仿真验证

代码如下:

/*
*功能:用中断实现开关每按一次,数码管数字加一,
*实现00-99的循环
*/
#include<reg52.h>
sbit SEG1 = P1^0;    //定义显示十位数码管
sbit SEG2 = P2^0;    //定义显示个位数码管
sbit key = P3^2;     //定义按键
int sum = 0;
int i,j;
unsigned char code DSY_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //共阳极数码管void main()
{IE = 0x81;      //使用外部中断0IT0 = 1;while(1);
}void EX0_INT(void) interrupt 0
{sum++;i = sum/10;      //十位数字j = sum%10;      //个位数字if(sum == 100){sum = 0;}P1 =  DSY_CODE[i];//数码管显示十位数字P2 =  DSY_CODE[j];//数码管显示个位数字
}

(写的不是很规范,仅供参考)

仿真结果:



51单片机:中断实现按键按一下数码管从00加到99循环(C语言)相关推荐

  1. 51单片机中断--一个按键控制一个led的亮与灭

    #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit LED1=P2^0; sbi ...

  2. 51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零

    51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零 题目要求: 利用外部中断实现按键按一下数码管数字加1,实现00-99的循环,另一个按键实现清零,不管数码管数字是多 ...

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

    //按键动作的前沿和后沿会都有大约10ms的抖动,人在按下按键到松开至少需要50ms以上(待考证).此代码实现的功能为给按键计数,并给按键消抖 //欢迎邮箱交流:bglei@foxmail.com 作 ...

  4. 51单片机 玩转按键加减切换+数码管+Proteus仿真

    51单片机 玩转按键加减切换+数码管+Proteus仿真 实例代码 /* 实验说明:实验接线:1,动态数码管模块-->单片机管脚2,独立按键模块-->单片机管脚 K1-->P10K2 ...

  5. c语言编写51单片机中断程序,执行过程是怎样的?

    Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序: #include<reg52.h>   void main(void)   {    EA=1;      //开放总中断 ...

  6. 用51单片机中断控制LED灯亮灭

    用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...

  7. c语言T1中断程序编写步骤,用51单片机中断编写的4x4键盘程序

    当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章 用51单片机中断编写的4x4键盘程序 作者:未知   来源:山涧一溪流   点击数:-  更新时间:2014年06 ...

  8. 51单片机中断与计时器

    文章目录 1.配置下图中各寄存器 1. 定时器/计数器控制寄存器TCON 2.定时器.计数器模式控制寄存器TMOD 3.TH0及TL0 2.中断设置 二.中断程序 51单片机中断与计时器 # 一.定时 ...

  9. 51单片机中断interrupt……using……

    51单片机中断细节的一些问题. interrupt0:外部中断0 interrupt1:定时器中断0 interrupt2:外部中断 interrupt3:定时器中断1 interrupt4:串口 u ...

最新文章

  1. 物联网电子标签助力无人便利店
  2. mysql peferences_MySQL初次实践
  3. (C#) 调用执行批处理文件
  4. 7.1 pdo 宝塔面板php_CentOS 7.6下宝塔面板 PHP7.2安装sqlsrv扩展
  5. 最近很火的百度MIP之 zblog改造
  6. 【jzoj】2018.2.3NOIP普及组——D组模拟赛
  7. android super this区别
  8. 使用STS临时访问凭证访问OSS
  9. 叩丁狼java培训:LinkedList的原理介绍
  10. vue随笔之二类型判断一
  11. python opencv 截取矩形区域_python+OpenCV 鼠标交互图片切割矩形区域
  12. 高铁、地铁这些轨道列车的动力来源是什么?
  13. 程序员必看!掌门一对一java开发
  14. 【微机原理】8088/8086CPU引脚
  15. iis服务器部署项目,IIS环境下部署项目的详细教程
  16. nas安装emby_Emby+KODI--完美的NAS多媒体方案
  17. C语言和R语言变量命名规则的比较
  18. 富文本编辑器粘贴复制Word
  19. 全局钩子+正则表达式=后台自动获取扫描枪数据
  20. 松松软文:媒介编辑管理系统上线

热门文章

  1. 智能家居APP开发模板介绍
  2. HTTP-请求报文与应答报文
  3. Redhat Linux红帽安装Java,以jdk1.8.0_171-linux-x64.zip为例
  4. Matlab编程:如何将不同类型的数据写入Excel表格
  5. 参加会议(面向对象)
  6. 2022年中南大学考研计算机复试分数线多久出来?
  7. Ubuntu server 14.04 双网卡上网设置
  8. NPC中点箝位三电平 SVPWM控制 T型三电平 羊角波调制
  9. bzoj1189 [HNOI2007]紧急疏散evacuate(二分答案+bfs+最大流判是否满流)
  10. 【ChatPDF】让 ChatGPT 帮你读 PDF 文档