数码管的显示

静态数码管显示

数码管有两种一种的负电压促发,一种是正电压促发,上图是单数码管的引脚

上图是数码管模组的引脚,采用了引脚复用技术

咱们这个单片机由8个单数码管,所以要用上38译码器,如下图

74138使能端,单片机上电直接就默认接通了

74HC245的作用是稳定输入输出,数据缓冲作用,DIR表示方向默认给了正电压,就是左边流向右边,后面是电阻,COM表示线路公共

静态代码如下

c 复制代码
#include <REGX52.H>


unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //亮数字几

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()
{
	Nixie(6,3);	
	while(1)
	{
		
	}
}

0X3F = 0011 1111b,从dp,g,f,e,d,c,b,a

动态数码管显示

有较强重影,主要是因为选模块和选数码管的代码不同步,然后数据就会串

所以需要delay函数来延迟

c 复制代码
#include <REGX52.H>


unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

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);		
	}
}
相关推荐
神仙别闹2 小时前
基于单片机的六足机器人控制系统设计
单片机·嵌入式硬件·机器人
MilesShi4 小时前
从 scheduler_tick 到上下文切换:深入解析 Linux 内核的 TIF_NEED_RESCHED 标志设置流程
linux·运维·单片机
阿让啊6 小时前
C语言strtol 函数使用方法
c语言·数据结构·c++·单片机·嵌入式硬件
DebugKitty9 小时前
硬件开发1-51单片机4-DS18B20
单片机·嵌入式硬件·51单片机·ds18b20
Hello_Embed9 小时前
STM32HAL 快速入门(十九):UART 编程(二)—— 中断方式实现收发及局限分析
笔记·stm32·单片机·嵌入式硬件·学习
沐欣工作室_lvyiyi9 小时前
基于单片机的可燃性气体泄漏智能报警系统
stm32·单片机·嵌入式硬件·毕业设计
殷忆枫10 小时前
基于STM32物联网冻保鲜运输智能控制系统
stm32·嵌入式硬件·物联网
武文斌7710 小时前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
hardStudy_h12 小时前
GPIO介绍
单片机·嵌入式硬件
xyx-3v12 小时前
STM32的USART的数据寄存器只有一个吗?
stm32·单片机·嵌入式硬件