【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();
}
相关推荐
wuyk5551 小时前
104.C 语言字节对齐:从底层原理到工程实践的完整指南
c语言·开发语言·stm32·单片机·嵌入式硬件
深圳雨林凯AI7 小时前
图案裂变的“风格归一化“设计思路:主体保得住,画风才拉得齐|雨林凯AI技术笔记
人工智能·笔记
北域码匠7 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
南棱笑笑生7 小时前
20260904实测给飞凌OK3576-C开发板刷入Rockchip原厂的IMG固件【使用飞凌的DTS】切换串口波特率为1.5Mbps
c语言·开发语言·rockchip
指掀涛澜天下惊8 小时前
强化学习进阶篇八 策略梯度算法
深度学习·学习·算法·强化学习
乌萨奇也要立志学C++8 小时前
【洛谷】kmp算法
开发语言·算法
禹凕8 小时前
Dijkstra算法详解与应用
python·算法
冬木家居9 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
YaraMemo9 小时前
元启发式算法框架
人工智能·算法·5g·信息与通信·启发式算法·信号处理
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记