|
这是一段花样流水灯的代码,想要灯从两边往中间亮,一直循环,但现在最中间的两盏灯不亮,请问如何解决?
单片机源程序如下:
#include <reg52.h>
void DelayMs(unsigned int n);
/*------------------*/
void main (void)
{
unsigned char temp =0x7E;
unsigned int temph , templ;
while(1)
{ P1=temp;
DelayMs(2000);
{ temph=temp & 0xf0,templ=temp & 0x0f;
temph=(temph >> 1)|0x80,
templ=(templ << 1)|0x01;
temp=temph|templ;}
if(temp==0xff)
temp=0x7E; }
}
/*---------------------*/
void DelayMs(unsigned int n)
{
unsigned int i,j;
for(i=0;i<n;i++)
{ for(j=110;j>0;j--); }
}
|
-
1.jpg
(354.3 KB, 下载次数: 44)
-
2.jpg
(494.48 KB, 下载次数: 34)
|