【51单片机独立按键控制数码管自增自减】2023-10-5

缘由.利用51单片机按键控制动态数码管显示数字,用独立按键控制实现"显示数字"(个位)以差值1进行加减_编程语言-CSDN问答

cpp 复制代码
#include "reg52.h"
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//0-9.
sbit k1=P3^0;
sbit k2=P3^1;
void main()
{//缘由https://ask.csdn.net/questions/8006751/54343964
	unsigned char ys=0,sy=0,xd=0,ls=0;
	while(1)
	{
		if(++ys==0)
		{
			P0=P1=255;
			P0=1;
			P1=255-SmZiFu[sy];
		}
		if(k1==0&&++xd==0){while(k1==0);if(sy<9)++sy;}
		if(k2==0&&++xd==0){while(k2==0);if(sy)--sy;}
	}
}
cpp 复制代码
#include "reg52.h"
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//0-9.
sbit k1=P3^0;
sbit k2=P3^1;
void main()
{//缘由https://ask.csdn.net/questions/8006751/54343964
	unsigned char ys=0,sy=0,xd=0,ls=0;
	while(1)
	{
		if(++ys==0)
		{
			P0=P1=255;
			++ls;
			P0=ls;
			if(ls==1)P1=255-SmZiFu[sy/10];
			if(ls==2)P1=255-SmZiFu[sy%10];
			if(ls==2)ls=0;
		}
		if(k1==0&&++xd==0){while(k1==0);if(sy<9)++sy;}
		if(k2==0&&++xd==0){while(k2==0);if(sy)--sy;}
	}
}
cpp 复制代码
#include <REGX52.H>
#include <INTRINS.H>
void Delay(unsigned int xms)
{
	unsigned char data i, j;
	while(xms){
	i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
			xms--;
		}
	}
void smg(unsigned char Location,Number)
{
unsigned char smgWeiShu[]={0xe3,0xe7,0xeb,0xef,0xf3,0xf7,0xfb,0xff};
unsigned char smgNumber[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
	P2=smgWeiShu[Location];
	P0=smgNumber[Number];
	Delay(1);
	P0=0x00;
}
void main()
{
		unsigned int i=0;
	while(1)
	{
		if (P3
...
P3_1==0)
		{
			Delay(20);
			while(P3_1==0);
			Delay(20);
			if(i<9)
			{
				i++;
			}
			smg(0,i);
		}
		else if(P3_0==0)
		{
		Delay(20);
			while(P3_0==0);
					Delay(20);
			if(i>0)
			{
			i--;
			}
					Delay(20);
					smg(0,i);
		}
		else{
		smg(0,i);
		}
	}
}
...
这个代码就可以完成
...
10-06 21:44
但是有缺陷
...
相关推荐
choumin13 分钟前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
下一站春风里1 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot1 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李2 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
李某学编程2 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
深圳市益普科技有限公司3 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法
sbjdhjd4 小时前
AI产业周度动态:从“更强模型”走向“可执行、可治理、可计价”的系统竞争 (2026年10月19日—10月25日)
人工智能·笔记·ai·开源·gemini·信息差·claude code
努力努力再努力wz4 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
程序员清风4 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
划破黑暗的第一缕曙光4 小时前
[C++]:4.模板
c++·template·模板·函数模版·类模版