|
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a;
void init()
{
TMOD=0X20; //设置定时器1为方式2
TH1=0xfd ;
TL1=0xfd ; //装初值
TR1=1; //启动定时器1
REN=1; // 使能接收
SM0=0;
SM1=1; //设置串口为工作方式1
EA=1; // 打开总中断开关
ES=1; // 打开串口中断开关
}
void main()
{
init();
while(1);
}
void ser() interrupt 4
{
ES=0;
RI=0; //将接受中断标志位清0;
a=SBUF; //将接受到的数据赋值给a
switch(a)
{
case 65: P1=0Xa5; break; // 发送的是A 前进指令
case 66: P1=0X55; break; // 发送的是B 右转指令
case 67: P1=0Xaa; break; // 发送的是C 左转指令
case 68: P1=0X5a; break; // 发送的是D 后退指令
case 97: P1=0X00; break; //发送的是a 停止指令
case 98: P1=0X00; break; //发送的是b 停止指令
case 99: P1=0X00; break; //发送的是c 停止指令
case 100: P1=0X00; break; //发送的是d 停止指令
//P2口是我的电机驱动的控制端
default: break;
}
ES=1;
}
|
|