当前位置: 首页 > article >正文

【51单片机4位数码管左右移位显示0-9不用数组】2022-4-19

缘由51单片机,89c52的-嵌入式-CSDN问答

实现所有功能 

#include "REG52.h"
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113,118,128,255,64,0};//0-9A-FH.消隐-全显
unsigned char Js=0,miao=0,fen=0,shi=0,y=6,t=23,ls=0;//中断计时
void smxs(unsigned char mz,unsigned char w,unsigned char d)
{
	unsigned char Xd=0;
	P0=255;
	P0=(255-(d==1?SmZiFu[mz]:(SmZiFu[mz]|0x80)));//小数点闪烁
	P2=w;
	while(++Xd);
}
void main()
{
	unsigned char Xd=0,xz=255,cs=4,ss=20,s1=0,s2=0,s3=2,s4=3;
	unsigned int wei=47474;unsigned long yw = 123; P0=P1=P2=P3=Js=0;
	ZhongDuanSheZhi();
	
	while(1)
	{
		if(!s2||s2==5||s2==6)
		{
			smxs(yw/1000,1,1);smxs(yw/100%10,2,1);smxs(yw/10%10,4,1);smxs(yw%10,8,1);
		}
		else P0=P2=0;
		if(Js==20)
		{
			if(!s1){
			yw=yw%1000*10+cs;
			if(++cs>9)cs=0;else;
			if(yw==123){cs=9;++s1;}else;
			}else if(s2<6)smxs(++s2,1,1);else;
			if(s2==6){
			yw=yw/10+cs*1000;
			if(--cs==255)cs=9;else;
			if(yw==123){cs=4;--s1;s2=0;TR0=0;}else;
			}
			Js=0;
		}
	}
}
void ZhongDuan() interrupt 1
{
	++Js;
	TH0=0X4C;//0X4C 50 0XDC 10
	TL0=0X00;
}


http://www.kler.cn/a/388645.html

相关文章:

  • 前端神经网络入门(三):深度学习与机器学习的关系、区别及核心理论支撑 - 以Brain.js示例
  • 深入解析 OpenHarmony 构建系统-4-OHOSLoader类
  • FatLab:我的编程课程系列
  • 知识库管理系统:企业数字化转型的加速器
  • 【STM32】基于SPI协议读写SD,详解!
  • 如何在Python中实现一个简单的搜索引擎:从零开始的指南
  • 【ETL:概念、流程与应用】
  • Stable Diffusion Web UI - ControlNet 边缘特征提取 CANNY
  • Linux grep 使用正则表达式说明
  • SpringBoot中的注解详解(一)
  • 昇思大模型平台打卡体验活动:项目1基于MindSpore实现BERT对话情绪识别
  • 架构篇(04理解架构的演进)
  • 【C++】—掌握STL string类:string的模拟实现
  • 函数式编程Stream流(通俗易懂!!!)
  • 计算机学生自我提升方法——善用搜索引擎
  • 工程认证视角下的Spring Boot计算机课程管理系统
  • 【Windows 11 开发实例教程】
  • BFS 解决拓扑排序
  • 排序算法.
  • CSS 色彩魔法:打造绚丽网页风格
  • 深度学习——权重初始化、评估指标、梯度消失和梯度爆炸
  • 基于STM32的图像处理监控系统
  • 【Unity/QFramework】QFramework学习笔记
  • Nginx配置文件详解及常用功能配置、应用场景
  • 反射API中的`getMethod`和`invoke`反射在测试中的应用?
  • Python 爬虫数据清洗与存储:基础教程