单片机串口的问题 求大神帮忙
时间:10-02
整理:3721RD
点击:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define T 10000
sbit CLK1=P2^0;
sbit CWB1=P2^1;
sbit CLK2=P2^2;
sbit CWB2=P2^3;
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
/* 定时器0服务子程序 */
void time0() interrupt 1 // 用定时器0中断来产生CLK1时钟
{
TH0 = -T/256;
TL0 = -T%256;
CLK1 = ~CLK1;
}
/* 定时器1服务子程序 */
void tim1() interrupt 3 // 用定时器1中断来产生CLK2时钟
{
TH1 = -T/256;
TL1 = -T%256;
CLK2= ~CLK2;
}
/*串口接收中断函数*/
void Com_Int(void) interrupt 4
{
unsigned char a;
if(RI==1)
{
a=SBUF;
RI=0;
}
}
/*串口初始化*/
void init_uart(void)
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
PCON=0x00;
TR1=1;
ES=1;
}
/* 主程序 */
void main()
{
EA=1;
ET0=1;
init_uart();
while(1)
{
if(K1==0||a=0x01)
{
TH0 = -T/256;
TL0 = -T%256;
TR0=1;
}
else if(K2==0||a=0x02)
{
TR0=0;
}
else if(K3==0||a=0x03)
{
CWB1=0;
}
else if(K4==0||a=0x04)
{
CWB1=1;
}
}
}
这个程序是这样的,我想要实现VB跟单片机的通信,我负责写单片机这边的接收程序,VB那边发送一个代码,比如10H,然后我这边检测到这个后就产生脉冲,脉冲是用来驱动步进电机的。我还想单片机板子上用按键也能控制产生脉冲。求大神帮我看看啊
我QQ 88902746
#define uchar unsigned char
#define uint unsigned int
#define T 10000
sbit CLK1=P2^0;
sbit CWB1=P2^1;
sbit CLK2=P2^2;
sbit CWB2=P2^3;
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
/* 定时器0服务子程序 */
void time0() interrupt 1 // 用定时器0中断来产生CLK1时钟
{
TH0 = -T/256;
TL0 = -T%256;
CLK1 = ~CLK1;
}
/* 定时器1服务子程序 */
void tim1() interrupt 3 // 用定时器1中断来产生CLK2时钟
{
TH1 = -T/256;
TL1 = -T%256;
CLK2= ~CLK2;
}
/*串口接收中断函数*/
void Com_Int(void) interrupt 4
{
unsigned char a;
if(RI==1)
{
a=SBUF;
RI=0;
}
}
/*串口初始化*/
void init_uart(void)
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
PCON=0x00;
TR1=1;
ES=1;
}
/* 主程序 */
void main()
{
EA=1;
ET0=1;
init_uart();
while(1)
{
if(K1==0||a=0x01)
{
TH0 = -T/256;
TL0 = -T%256;
TR0=1;
}
else if(K2==0||a=0x02)
{
TR0=0;
}
else if(K3==0||a=0x03)
{
CWB1=0;
}
else if(K4==0||a=0x04)
{
CWB1=1;
}
}
}
这个程序是这样的,我想要实现VB跟单片机的通信,我负责写单片机这边的接收程序,VB那边发送一个代码,比如10H,然后我这边检测到这个后就产生脉冲,脉冲是用来驱动步进电机的。我还想单片机板子上用按键也能控制产生脉冲。求大神帮我看看啊
我QQ 88902746
来个大神帮帮我
那边一次只会发送一个代码过来 就是控制步进电机启动 停止 转向
那边一次只会发送一个代码过来 就是控制步进电机启动 停止 转向