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);
}}}
展开
 我来答
琉琉0214
推荐于2016-03-12 · TA获得超过401个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:150万
展开全部
你得把这个数码管的后四位打开啊,
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};
你算一算你需要的数在第几位,你就给他们调一下顺序就行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2015-06-04 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4905万
展开全部
跟前面原理一样吧
追问
怎么改?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式