標(biāo)題:
求助:這個單片機串口程序改一下
[打印本頁]
作者:
ZHANG@123456789
時間:
2018-5-4 16:33
標(biāo)題:
求助:這個單片機串口程序改一下
我想:發(fā)送1步進(jìn)電機正轉(zhuǎn)0停止。(其他功能可以不看)
現(xiàn)在:發(fā)送1步進(jìn)電機正轉(zhuǎn)在發(fā)1停止。
#include <REG52.H>
#define uint unsigned int
#define uchar unsigned char
uchar state=0;
uchar both=0;
uint t;
uchar count= 0;
unsigned char receiveData='0';
sbit k1=P3^7;
sbit pul1=P1^0;
sbit dir1=P1^1;
sbit en1=P1^2;
sbit pul2=P2^0;
sbit dir2=P2^1;
sbit en2=P2^2;
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
key0()interrupt 0
{
IE0=1;
TF0=0;
IE1=0;
{pul1=0;
delay(1);
pul1=0;
delay(1);
}
}
key1()interrupt 1
{
count++;
if(count==1)count=0;
{
TF0=1;
IE1=0;
{
dir1=0;
pul1=1;
delay(1);
pul1=0;
delay(1);
}
}
}
key2()interrupt 2
{
IE1=1;
{
for(t=0;t<400;t++)
{
dir2=1;
pul2=1;
delay(1);
pul2=0;
delay(1);
}
delay(500);
for(t=0;t<400;t++)
{
dir2=0;
pul2=1;
delay(1);
pul2=0;
delay(1);
}
}
IE1=0;
}
void motor1_zz()
{
dir1=1;
pul1=1;
delay(1);
pul1=0;
delay(1);
}
void main()
{
SCON=0X50;
TMOD=0x26;
PCON=0X80;
TH1=0XFA;
TL1=0XFA;
//ES=1;
//EA=1;
TR1=1;
IP=0x10;
IT0=1;
IT1=1;
TH0=TL0=0xff;
ET0=1;
TR0=1;
TF0=0;
IE=0X97;
while(1)
{
while(both==0)
{
if(receiveData=='1')
{
state=1;
receiveData='0';
break;
}
P1=0x0f;
}
while(state==1)
{
if(receiveData=='1')
{
state=1;
receiveData='0';
break;
}
motor1_zz();
}
}}
void Usart() interrupt 4
{
IE0=0;
receiveData=SBUF
while(!RI);
RI = 0;
}
作者:
wulin
時間:
2018-5-4 17:38
receiveData=SBUF 少了分號
作者:
ZHANG@123456789
時間:
2018-5-8 11:58
wulin 發(fā)表于 2018-5-4 17:38
receiveData=SBUF 少了分號
加了,這個可能是復(fù)制的時候掉了。
作者:
ZHANG@123456789
時間:
2018-5-8 12:02
我想按一次就可以執(zhí)行了。在按一次可以不用停止的。又是個循環(huán)的這種。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1