黄金会员
主题
回帖0
积分9758
阅读权限40
注册时间2013-8-28
最后登录1970-1-1
在线时间 小时
|
各位高手:你们好!
请教一个问题。最近学习c语言搞一个数码管显示,想把数码管位选数组内容一组一组的向左移动。以下是编写的程序,编译通过。软件仿真不行,求教。在这里先谢谢了!
/*********
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchra code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar LED_W[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void Delay(uint i) //延时子程序
{
uint x,j;
for(j=0;j<i;j++)
for(x=0;x<148;x++)
};
void Change_W(void) //移位子程序
{
uchar i,tenp;
tenp = LED_W[0];
for(i=0;i<7;i++);
{
LED_W[i] = LED_W[i+1];
}
LED_W[7] = tenp;
}
void main() //主程序
{
uchar i, j;
while(1)
{
for(j=0;j<40;j++);
{
for(i=0;i<8;i++);
{
P0 = 0;
P2 = LED_W[i];
P0 = table[i];
Delay(2);
}
}
Change_W();
}
} |
|