📄 最后调通的程序.c
字号:
#include "reg51.h"
sbit DIR=P3^3;
sbit SET=P3^2;
sbit DIRA = P3^4;
sbit DIRB = P3^5;
//unsigned char xifen=8;
//unsigned sign=0;
//unsigned char PDIR[32]={0x0f,0x3f,0x6e,0x8c,0xbb,0xc8,0xe6,0xf3,0xf0,0xf3,0xe6,0xc8,0xbb,0x8c,0x6e,0x3f,0x0f,0x3f,0x6e,
//0x8c,0xbb,0xe8,0xe6,0xf3,0xf0,0xf3,0xe6,0xc8,0xbb,0x8c,0x6e,0x3f};
//unsigned char PDAC[32]={0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10};
unsigned char PDAC[8]={0x0f,0xbb,0xf0,0xbb,0x0f,0xbb,0xf0,0xbb};
//unsigned char PDIR[8]={0x30,0x30,0x20,0x20,0x00,0x00,0x10,0x10};
//unsigned char temp;
void main()
{ SET = 1;
DIR = 1;
//static
//int i=0;
// int tenp_count;
IT0=1;
//IT1=1;
EA=1;
EX0=1;
// P1=0xaa;
for(;;)
{;}
/*while(1)
for(tenp_count=0;tenp_count<=8000;tenp_count++)
}
{ if(i>=8) i-=8;
P3=0x30;
P1=0xbb;
i=i+(8/8);
}
temp=P3&0x83;
switch(temp)
{ case 1:
xifen=8;
break;
case 2:
xifen=4;
break;
case 3:
xifen=2;
break;
case 128:
xifen=1;
break;
} */
}
static int i=0;
void Int0() interrupt 0
{
//static int i=0;
// int tenp_count=0;
// if (DIR==1)
// {
// if(sign==1) //上一时刻为反转
//{
//i=i-8/xifen;
//sign=0;
/* for(;tenp_count<=300;tenp_count++)
{
if(i>=32) i-=32;
P3=PDIR[i];
P1=PDAC[i];
i=i+(8/xifen);
}*/
//}
/* else
{
if(sign==0) //上一时刻为正转
{
i=i-2*xifen;
sign=1;
}
if(i<=0) i+=32;
P3=PDIR[i];
P1=PDAC[i];
i=i-xifen;
}
//}
// if(sign==0) */
EA=0;
if(i>=8) i-=8;
if (DIR == 1)
{
switch(i)
{
case 0: DIRA = 1; DIRB = 1; break;
case 1: DIRA = 1; DIRB = 1; break;
case 2: DIRA = 0; DIRB = 1; break;
case 3: DIRA = 0; DIRB = 1; break;
case 4: DIRA = 0; DIRB = 0; break;
case 5: DIRA = 0; DIRB = 0; break;
case 6: DIRA = 1; DIRB = 0; break;
case 7: DIRA = 1; DIRB = 0; break;
default: break;
}
P1=PDAC[i];
}
if (DIR == 0)
{
switch(i)
{
case 0: DIRA = 1; DIRB = 0; break;
case 1: DIRA = 1; DIRB = 0; break;
case 2: DIRA = 0; DIRB = 0; break;
case 3: DIRA = 0; DIRB = 0; break;
case 4: DIRA = 0; DIRB = 1; break;
case 5: DIRA = 0; DIRB = 1; break;
case 6: DIRA = 1; DIRB = 1; break;
case 7: DIRA = 1; DIRB = 1; break;
default: break;
}
P1=PDAC[7-i];
}
i=i+(8/8);
EA=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -