#include
#include
unsigned char receiveData;
unsigned char code TAB[8]=
{ //定义表格一定要使用code,这样会做到程序存储区中
0x7F, //表格第1步数据0b01111111
0x3F, //表格第2步数据0b00111111
0xBF, //表格第3步数据0b10111111
0x9F, //表格第4步数据0b10011111
0xDF, //表格第5步数据0b11011111
0xCF, //表格第6步数据0b11001111
0xEF, //表格第7步数据0b11101111
0x6F, //表格第8步数据0b01101111
};
void UAR_Rec(void) interrupt 4 //
{
{
receiveData=SBUF;
RI=0;
SBUF=receiveData;
while(!TI);
}
if(TI) TI=0;
}
void mian(void)
{
unsigned int a=0; //定义一个int型变量,做延时用
unsigned char b=7; //定义一个char型变量,显示内容用
TMOD&=0X0F;
TMOD|=0X20;
TH1=0XFA;
TL1=0XFA;
TR1=1;
SCON=0X50;
ES=1;
EA=1;
while(1)
{
if(receiveData==1) //接受到 1 执行下面的代码,可是我
{
for(a=0;a<500;a++); //延时
if(++b>7) b=0; //b做加1操作,并限制在0-7以内
P1=TAB[b]; //将TAB[b]的值送入P1口输出
}
}
}
附上代码,串口发送时数据也不返回数据,步进电机也不转???是什么原因,求大神帮忙!!!