| 
黄金会员 主题
回帖0
积分9756
阅读权限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();
 }
 }
 | 
 |