首页 > 其他分享 >07_数码管

07_数码管

时间:2023-11-09 17:46:52浏览次数:19  
标签:P2 case 07 -- 位选 break 数码管

数码管

image-20231104144211817

image-20231104145103034

image-20231104145903757

就算有多个数码管被点亮也显示相同的数字

数码管原理图

image-20231105120031887

译码器原理图

image-20231105120049456

高低位表示

image-20231105122459576

数码管LED3显示3

#include <REGX52.H>

void main()
{
	//高低位顺序: C B A
	P2_4=0; //C
	P2_3=1; //B
	P2_2=0; //A
	
	P0=0x4F; //显示3
	while(1)
	{
		
	}
}

运行效果image-20231105171015263

指定第几个LED显示数字几

image-20231105172556854

#include <REGX52.H>

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};

void Nixie(unsigned char Location,Number)
{
	switch(Location)
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;break;
		case 2:P2_4=1;P2_3=1;P2_2=0;break;
		case 3:P2_4=1;P2_3=0;P2_2=1;break;
		case 4:P2_4=1;P2_3=0;P2_2=0;break;
		case 5:P2_4=0;P2_3=1;P2_2=1;break;
		case 6:P2_4=0;P2_3=1;P2_2=0;break;
		case 7:P2_4=0;P2_3=0;P2_2=1;break;
		case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
	P0=NixieTable[Number];
}

void main()
{
    //第三个LED显示5
	Nixie(3, 5);
	while(1)
	{
		
	}
}

运行效果

IMG_20231105_172630

多位数码管显示不同数字

#include <REGX52.H>

unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};

void Delay(unsigned int xms)	//@12.000MHz
{
	unsigned char data i, j;
	
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}

void Nixie(unsigned char Location,Number)
{
	switch(Location)
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;break;
		case 2:P2_4=1;P2_3=1;P2_2=0;break;
		case 3:P2_4=1;P2_3=0;P2_2=1;break;
		case 4:P2_4=1;P2_3=0;P2_2=0;break;
		case 5:P2_4=0;P2_3=1;P2_2=1;break;
		case 6:P2_4=0;P2_3=1;P2_2=0;break;
		case 7:P2_4=0;P2_3=0;P2_2=1;break;
		case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
	P0=NixieTable[Number];
	Delay(1); //稳定显示,不然会暗
	P0=0x00; //消影
}

void main()
{
	while(1)
	{
		Nixie(1, 1);
		Nixie(2, 2);
		Nixie(3, 3);
	}
}

注意: 需要进行消影操作, 否则会显示错乱

未消影: 位选-->段选-->位选-->段选-->位选-->段选

上一次的段选结果会直接到下一位置导致显示错乱

消影: 位选-->段选-->清0-->位选-->段选-->清0-->位选-->段选

运行效果

IMG_20231105_174655

数码管驱动方式

image-20231106122302922

标签:P2,case,07,--,位选,break,数码管
From: https://www.cnblogs.com/mzx233/p/17822389.html

相关文章

  • 全志T507-H技术帖 | 去掉IO扩展芯片后保留扩展引脚功能的实现方法
    飞凌嵌入式推出的OKT507-C作为一款广受欢迎的开发板拥有丰富的功能接口,而实际上OKT507-C开发板的CPU引脚资源是比较紧缺的,那么它究竟是如何提供如此丰富的接口资源的呢?答案就是IO扩展芯片——TCA6424A。这是一个24位I2C和系统管理总线(SMBus),输入输出(I/O)扩展器有中断输出......
  • STM32F407 LUA 串口代码传输进行功能热更新
    STM32F407LUA串口代码传输进行功能热更新1.首先放上LUA资源LUA2.整体思路创建keil工程--->移植lua--->补充相应功能3.移植LuaStep1正常解压即可只有这个文件有用Step2在这个文件夹里搜索,删掉这两个文件(这两个文件在stm32中不使用)剩余的文件按照添加BSP的流......
  • t507 设备树背光pwm设置解析
    //lcd_backlight=<20>;//当前背光强度lcd_if=<3>;lcd_x=<1280>;lcd_y=<800>;lcd_width=<150>;......
  • 07-双指针、滑动窗口
    7.双指针、滑动窗口7.1含有全部字符的最短字符串1.题目https://leetcode.cn/problems/minimum-window-substring/给定两个字符串s和t。返回s中包含t的所有字符的最短子字符串。如果s中不存在符合条件的子字符串,则返回空字符串""。如果s中存在多个符合条件的......
  • OGG-00730报错处理
    问题概述在ogg的迁移过程中,启动抽取进程后,出现如下报错:ERROROGG-00730Nominimumsupplementalloggingisenabled.Thismaycauseextractprocesstohandlekeyupdateincorrectlyifkeycolumnisnotinfirstrowpiece.问题原因根据报错提示,当前数据库不是最细log......
  • Spring Kafka: UnknownHostException: 34bcfcc207e0
    参考:https://stackoverflow.com/questions/69527813/spring-kafka-unknownhostexception-34bcfcc207e0我遇到的问题和@AdánEscobar是一样的。在SpringBoot整合kafka的时候日志报了SpringKafka:UnknownHostException:34bcfcc207e0,34bcfcc207e0经过排查是容器的ID。解决......
  • 【洛谷 P4414】[COCI2006-2007#2] ABC 题解(排序)
    [COCI2006-2007#2]ABC题面翻译【题目描述】三个整数分别为。这三个数字不会按照这样的顺序给你,但它们始终满足条件:。为了看起来更加简洁明了,我们希望你可以按照给定的顺序重新排列它们。【输入格式】第一行包含三个正整数,不一定是按这个顺序。这三个数字都小于或等于。第二行包......
  • 2007-多媒体教学的基础知识
    一、什么是多媒体教学?   多媒体教学是指在教学过程中,根据教学目标和教学对象的特点,通过教学设计,合理选择和运用现代教学媒体,并与传统教学手段有机组合,共同参与教学全过程,以多种媒体信息作用于学生,形成合理的教学过程结构,达到最优化的教学效果。   多媒体教学在八十年代已......
  • 每日总结11.07
    今天大数据上课做了实验,熟悉了常用的Linux操作和Hadoop操作,1.熟悉常用的Linux操作1)cd命令:切换目录2)ls命令:查看文件与目录3)mkdir命令:新建目录4)rmdir命令:删除空的目录5)cp命令:复制文件或目录6)mv命令:移动文件与目录,或更名7)rm命令:移除文件或目录8)cat命令:查看文件内容9)tac命令......
  • 11.07鲜花
    吾辈档子强!现在太忙了,谁还每天写鲜花啊。把谷禁了,现在只能用校内OJ(喜了然后没啥活了,顶多整点学校放的歌了,然后现在放的起床铃还挺好听的,但是我找不到歌。......