【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();
}
相关推荐
数模竞赛Paid answer6 小时前
2026年中青杯数学建模A题数学建模论文智能评估系统与多智能体优化方法求解全过程论文及程序
算法·数学建模·中青杯
银-豆豆6 小时前
数据结构与算法-动态规划、回溯与贪心
算法·动态规划
tianxuanjg6 小时前
0.005mm 高精度 CNC 加工:机器人薄壁复杂零件变形控制与全维度品控方案
经验分享·机器人·无人机·制造·材质
想吃火锅10058 小时前
【leetcode】200. 岛屿数量
算法·leetcode·职场和发展
Nil2088 小时前
leetcode 54螺旋矩阵
算法·leetcode·矩阵
PC2005-cloud9 小时前
DeepSeek Harness 创建 skill 指南:结构、安装、使用
笔记·学习
依然鸣9 小时前
PTA团体程序设计天梯赛L1真题讲解L1-077-080
开发语言·c++·算法·深度优先·pat考试·图论
库玛西11 小时前
现代 C++ 智能指针全景指南:从 RAII 思想到工业级实践
c语言·开发语言·c++·笔记·面试
AC赳赳老秦11 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
caimouse11 小时前
ReactOS 图形系统分析(19):颜色转换对象 — XLATEOBJ(xlateobj.c/h)
c语言·开发语言