设计一个多位LED数码管显示系统,要求6个LED数码管依次显示A、b、C、d、E、F六个字符,试设

单片机
2025-04-24 18:44:54
推荐回答(3个)
回答1:

用仿真实现,采用6位一体的共阴数码管,P0口输出段码,P2口输出位码。仿真图如下:

程序如下

#include

#include

#define uint unsigned int

#define uchar unsigned char

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,//0~9段码

0x77,0x7c,0x39,0x5e,0x79,0x71,};//共阴数码管A~F段码表

uchar buf[]={0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};//显示字母

void delay()//延时子程序

{

uint j;

for(j=300;j>0;j--);

}

void display()//显示子程序

{

uchar i,litbit=0xfe;

for(i=0;i<6;i++)

{

P2=litbit;//输出位码

P0=table[buf[i]];//输出段码

litbit=_crol_(litbit,1);

delay();//延时

}

}

void main()

{

while(1)

{

display();

}

}

回答2:

应该试试

回答3:

还好吧了