首页 > 其他分享 >04-数码管动态显示

04-数码管动态显示

时间:2022-12-23 11:14:05浏览次数:39  
标签:P2 动态显示 04 void unsigned char 数码管 0x1f

# include "reg52.h"

void delay(unsigned char i)
{
	while(i--);
}

void showseg();

void maindelay(unsigned char t)
{
	while(t--)
	{
		showseg();
	}
}

unsigned char yu = 1;
	
unsigned char code table[] = 
{
	0xc0,//0
	0xf9,//1
	0xa4,//2
	0xb0,//3
	0x99,//4
	0x92,//5
	0x82,//6
	0xf8,//7
	0x80,//8
	0x90,//9
	0x88,//A
	0x83,//B
	0xc6,//C
	0xa1,//D
	0x86,//E
	0x8e,//F
	0xbf,//-
	0x7f//.
};


void HC138(unsigned char n)
{
	switch(n)
	{
        case 4:
			P2 = (P2 & 0x1f) | 0x80;
        	break;
		
        case 5:
			P2 = (P2 & 0x1f) | 0xa0;
        	break;
		
		case 6:
			P2 = (P2 & 0x1f) | 0xc0;
        	break;
		
		case 7:
			P2 = (P2 & 0x1f) | 0xe0;
        	break;
	}
}

void show(unsigned char pos,unsigned char dat)
{
	HC138(7);//数码管的内容
	P0 = table[dat];
	HC138(6);//数码管的位置
	P0 = 0x01 << pos;
}


void showseg()
{
	show(0,2);//2018
	delay(500);
	show(1,0);
	delay(500);
	show(2,1);
	delay(500);
	show(3,8);
	delay(500);
	
	show(4,16);//--
	delay(500);
	show(5,16);
	delay(500);
	
	show(6,yu/10);//月份
	delay(500);
	show(7,yu%10);
	delay(500);
	
}


void main()
{
	while(1)
	{
		showseg();
		yu++;
		if(yu > 12)
			yu = 1;
		
		maindelay(1000);
		
	}
}

 

标签:P2,动态显示,04,void,unsigned,char,数码管,0x1f
From: https://www.cnblogs.com/Unclesundada/p/17000250.html

相关文章

  • typesc04_ts中的类型2
    ts复杂类型:object:任意的js对象array:任意js数组tuple:元组,ts新增类型,固定长度的数组enum:枚举,ts中新增的类型 /*ts复杂类型:object:任意的js对象array:任......
  • 004k8s pods volumes和pod的对应关系查询
    一、背景如二、描述所示pods频繁地重启,导致听云的探针收集规则文件占用大量的空间,需要查询"063915dd-c5b8-4137-9e9c-119488992b56"对应的是哪个pod听云data下存储的......
  • Node.js(笔记04) - 时钟示例 - fs 和 path 模块结合应用
    案例需求将素材目录​./files​ 中的index.html 页面,拆分成三个文件,分别是:index.cssindex.jsindex.html并且将拆分出来的3个文件,存放到​./files/clock​ 目录中;这个i......
  • Win10和WSL Ubuntu 22.04.1 SSH远程连接
    openssh-server配置安装ssh服务器在Ubuntu20.04.1LTS子系统安装openssh-server。在Ubuntu子系统中,执行一下命令:sudoaptinstallopenssh-server编辑远程登录配置信息......
  • 【PTA】1049 Counting Ones
    Thetaskissimple:givenanypositiveintegerN,youaresupposedtocountthetotalnumberof1'sinthedecimalformoftheintegersfrom1toN.Forexampl......
  • AnswerOpenCV(0416)一周佳作欣赏
    2017年4月16日一周AnswerOpenCV佳作赏析1、HelloHowtosmoothedgeoftextinbinaryimage,basedonthreshold.Somethinglikeanti-aliasingbyopenCv?example......
  • 03-数码管静态显示
     #include"reg52.h"voiddelay(unsignedchari){ while(i--);}unsignedcharcodetable[]={ 0xc0,//0 0xf9,//1 0xa4,//2 0xb0,//3 0x99,//4 0x92,......
  • 为Ubuntu 20.04 设置静态IP简明教程(转)
    原文:https://cloud.tencent.com/developer/article/1933335作者:zhaoolee最近需要折腾K8S,而折腾K8S的第一步就是为每台主机设置静态IP,本文以Ubuntu20.04为例,提供一种为L......
  • JavaSE-day04-基本概念-数据类型&标识符&键盘录入
    Java基本概念本章包含数据类型,标识符以及键盘录入!数据类型数据类型的分类1.基本数据类型Java中基本数据类型分为4类8种。1.整数:byte,short,int,long细节:整数的......
  • Ubuntu16.04 TLS 提高工作效率的办公软件
    Ubuntu装机软件安装,搜狗输入法安装截屏工具,Shutter安装Markdown阅读器,Typora安装VirtualBox,sudoaptinstallvirtualbox安装Ubuntu通信协议,sudoaptinstallopenss......