【51单片机利用外部中断编写程序用两个按键控制数码管显示从0到9,S1控制加计数0—9,S2控制减计数9—0。】

缘由https://ask.csdn.net/questions/7935097

cpp 复制代码
#include "reg52.h"
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//共阴0-9.
unsigned char j=0,jj=0;
void smjia()
{
	unsigned char ys0=0,ys1=0;
	while(j<10)if(++ys0==0)
	{
		P0=SmZiFu[j];
		if(++ys1==0)++j;
	}
}
void smjian()
{
	unsigned char ys0=0,ys1=0;
	while(j)if(++ys0==0)
	{
		P0=SmZiFu[j-1];
		if(++ys1==0)--j;
	}
}
void main()
{//缘由https://ask.csdn.net/questions/7935097
	unsigned char ys0=0,ys1=0;
	EA=IT0=EX0=IT1=EX1=1;//下降沿触发,外部中断优先设置
	P1=0;
	while(1)
	{
	}
}
void WaiBuZhongDuan0() interrupt 0//外部中断引脚P3.2,INT0
{
   j=0;smjia();//调用函数可以移到主函数判断状态即可
}
void WaiBuZhongDuan1() interrupt 2//外部中断引脚P3.3,INT1
{
   j=10;smjian();
}
相关推荐
晓蛋4 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
一隅论数智4 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
倒头就睡的小比特4 天前
算法竞赛C++常用的STL
c++·算法
上海广测检测科技有限公司4 天前
智能平板出口巴西合规详解:Anatel射频、Inmetro电源/电池与LGPD数据合规叠加
经验分享
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿4 天前
重载、重写(覆盖)、重定义区别
c语言
猎头南楼4 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
phltxy4 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
FLJwu4 天前
存储与固件量产实战01:运动相机TF卡量产翻车实录!V30≠4K可用,90%OEM踩中的隐形售后坑
经验分享·数码相机·相机