//最新修改的还是不行啊。。。。。
//强烈请教啊。。。。
#include<iom16v.h>
#define xtal 8
#define uchar unsigned char
#define uint unsigned int
unsigned char const table1[]={0x09,0x0c,0x06,0x03};//正转
unsigned char const table2[]={0x03,0x06,0x0c,0x09};//反转
//延时函数
void delay_1ms(void)
{
unsigned int i;
for(i=1;i<(unsigned int)(xtal*143-2);i++)
;
}
void delay(unsigned int n)
{
unsigned int j;
for(j=0;j<n;j++)
delay_1ms();
}
/*void delay(unsigned int n)
{ uchar i,j;
for(i=0;i<n;i++)
{
for(j=0;j<1141;j++);
}
}*/
void main()
{
uchar i,j,n;
DDRA=0Xff;
PORTA=0X00;
while(1)
{
j=0;
for(i=0;i<4096;i++)//正转1圈共4096个脉冲
{
PORTA=0x00;
PORTA=table1[j];
j++;
if(j>=4) j=0;
delay(20);
}
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
j=0;
for(i=0;i<4096;i++)//反转1圈共4096个脉冲
{
PORTA=0x00;
PORTA=table2[j];
j++;
if(j>=4) j=0;
delay(20);
}
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
}
} |