单片机+数码管
利用8个数码管显示座位号+字母+学号后六位
首先参考图

参考程序


可以了解到此程序实现了数码管显示OFF
我们可以改的简单一点如下
#include "reg51.h" //引入块
unsigned char a_code[]{0x3f,0x71,0x00}; //共阴级数码管字段编码,我们选取重要的几个
unsigned char a_disp[]{16,0,1,1};//四位数码管的显示缓冲区,在不改编图中程序主体的情况下确定显示区域
接下来我们加多一点8个灯

实现的效果如图,程序如下
#incldue "reg51.h"//引入块
unsigned char a_coddde[]={0x5b,0x76,0x5b,0x55b,0x3f,0x3f,0x6d,0x6d};//共阴级数码管字段编码,我们选取重要的几个
unsigned char a_disp[]={0,1,2,3,4,5,6,7,8};//四位数码管的显示缓冲区,在不改编图中程序主体的情况下确定显示区域
sbit WX1=P2^0;//定义数码管的位置和端口
sbit WX2=P2^1;
sbit WX3=P2^2;
sbit WX4=P2^3;
sbit WX5=P2^4;
sbit WX6=P2^5;
sbit WX7=P2^6;
sbit WX8=P2^7;
void delay(unsigned int xms);//延时子函数声明
//主函数
void main(void)
{
while(1)
{
WX1=0;//点亮第一个数码管
P0=a_code[a_disp[0]];//送第一个显示数字至P0
delay(2);
WX1=1;
WX2=0;
P0=a_code[a_disp[1]];
delay(2);
WX2=1;
WX3=0;
P0=a_code[a_disp[2]];
delay(2);
WX3=1;
WX4=0;
P0=a_code[a_disp[3]];
delay(2);
WX4=1;
WX5=0;
P0=a_code[a_disp[4]];
delay(2);
WX5=1;
WX6=0;
P0=a_code[a_disp[5]];
delay(2);
WX6=1;
WX7=0;
P0=a_code[a_disp[6]];
delay(2);
WX7=1;
WX8=0;
P0=a_code[a_disp[7]];
delay(2);
WX8=1;
}
}
//下面是延时子函数
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms,i>0,i--)
for(j=102;j--);
}
下面分享一下:共阳极、共阴极数码管编码表
共阳极:
位选为高电平(即1)选中数码管,
各段选为低电平(即0接地时)选中各数码段。
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
0x8c, //P
0xc1,//U
0x91,//Y
0x7c,//L
0x00,//全亮
0xff //熄灭
共阴极: 位选为低电平(即0)选中数码管,
各段选为高电平(即1接+5V时)选中各数码段。
0x3F, //"0"
0x06, //"1"
0x5B, //"2"
0x4F, //"3"
0x66, //"4"
0x6D, //"5"
0x7D, //"6"
0x07, //"7"
0x7F, //"8"
0x6F, //"9"
0x77, //"A"
0x7C, //"B"
0x39, //"C"
0x5E, //"D"
0x79, //"E"
0x71, //"F"
0x76, //"H"
0x38, //"L"
0x37, //"n"
0x3E, //"u"
0x73, //"P"
0x5C, //"o"
0x40, //"-"
0x00 //熄灭
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY