51单片机 还要怎样改才能显示学号后四位?(2102)
#include<absacc.h>#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#def...
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define PA8255 XBYTE[0xBCFF]
#define PB8255 XBYTE[0xBDFF]
#define PC8255 XBYTE[0xBEFF]
#define COM8255 XBYTE[0xBFFF]
uchar code LEDbit[]=
{0xef,0xdf,0xbf,0x7f};
uchar code LEDcode[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void Delay_E(uint DelayCount)
{while(DelayCount--);
}
void main(void)
{uchar i;
COM8255=0x89;
while(1)
{for(i=1;i<5;i++)
{PA8255=0xff;
PB8255=LEDcode[i];
PA8255=LEDbit[i-1];
Delay_E(500);
}}} 展开
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define PA8255 XBYTE[0xBCFF]
#define PB8255 XBYTE[0xBDFF]
#define PC8255 XBYTE[0xBEFF]
#define COM8255 XBYTE[0xBFFF]
uchar code LEDbit[]=
{0xef,0xdf,0xbf,0x7f};
uchar code LEDcode[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void Delay_E(uint DelayCount)
{while(DelayCount--);
}
void main(void)
{uchar i;
COM8255=0x89;
while(1)
{for(i=1;i<5;i++)
{PA8255=0xff;
PB8255=LEDcode[i];
PA8255=LEDbit[i-1];
Delay_E(500);
}}} 展开
展开全部
你得把这个数码管的后四位打开啊,
while(1)
{for(i=1;i<5;i++)
{PA8255=0xff;
PB8255=LEDcode[i];
PA8255=LEDbit[i-1];
Delay_E(500);
}}}
你这个程序中只给了它前四位的循环,把i<5改成i<9就好了吧,你试试
while(1)
{for(i=1;i<5;i++)
{PA8255=0xff;
PB8255=LEDcode[i];
PA8255=LEDbit[i-1];
Delay_E(500);
}}}
你这个程序中只给了它前四位的循环,把i<5改成i<9就好了吧,你试试
追问
和这个没有关系,只要显示四位我就关了四位,是要用一个4位的数码显示管 没换而已
追答
啊,那你的意思是想要显示你需要的数字吧?这个的改它数码管的数组,
uchar code LEDcode[]=
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
你算一算你需要的数在第几位,你就给他们调一下顺序就行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟前面原理一样吧
追问
怎么改?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询