51单片机按键计数数码管显示

阅读: 评论:0

51单片机按键计数数码管显示

51单片机按键计数数码管显示

文章目录

    • 概要
    • 代码
    • 仿真

概要

51单片机只用一个数码管,开始显示值为0,按一次显示值加一次,用十六进制0~F循环计数。

按键使用外部中断工作方式,数码管为共阴极数码管公共端接地(共阳极数码管公共端接电源,然后取反输出Nixie =~ NixieTable[i];)

代码

#include <REGX52.H>
#include <intrins.h>
#define u8 unsigned char  //定义字符类型
#define u16 unsigned int
#define Nixie  P2   //定义IO口P2	
u8 i= 0;
unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void Delay(u16 xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}
void init()//初始化,即打开各中断开关
{IT0=1;//外部中断0为跳变沿触发方式EA=1;//开总中断EX0=1;//打开外部中断0
}
void main()
{init();	  //初始化while(1){Nixie = NixieTable[i];}
}
void int0() interrupt 0  //外部中断0的执行程序。
{ 				  			i = i+1;i &=0x0f;Delay(50);//延时
}

仿真

本文发布于:2024-02-02 07:25:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170682990242258.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单片机   按键   数码管
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23