当前位置: 代码迷 >> 单片机 >> 单片机c程序 请指点 多谢
  详细解决方案

单片机c程序 请指点 多谢

热度:114   发布时间:2016-04-28 15:57:12.0
单片机c程序 请指点 谢谢
#include <reg52.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char

uchar i;
uchar j;
uchar aa; 


uchar code t[]=
{
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90
};

void delay(uint z);

void main()
{
aa=0;
TMOD=0X01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;


while(1)
{
i=0xfe;
for(j=0;j<7;j++)
{
P1=i;
i=_crol_(i,1);
delay(500);
}

for(j=0;j<7;j++)
{
P1=i;
i=_cror_(i,1);
delay(500);
}

for(j=0;j<8;j++)
{
P1=i;
i<<1;
delay(500);
}

i=0x7f;

for(j=0;j<8;j++)
{
P1=i;
i>>1;
delay(500);
}
}
}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;

if(aa==20)
{
aa=0;
P2=0xf0;
for(i=0;i<10;i++)
{
P0=t[i];
delay(500);
aa++;
}
}
}

void delay(uint z)
{
while(z--)
for(i=0;i<110;i++);
}


------解决方案--------------------
你所谓的指点是什么意思?是你不懂还是什么?
------解决方案--------------------
哥们
你的主函数了呢?
另外 写中断函数的时候最好加上寄存器组使用哪一组
------解决方案--------------------
你的程序中那么多for用来做什么的?
  相关解决方案