单片机串口的问题 求大神帮忙

2019-07-15 19:53发布

#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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
天会晴。
1楼-- · 2019-07-16 01:17
来个大神帮帮我
天会晴。
2楼-- · 2019-07-16 02:47
 精彩回答 2  元偷偷看……
天会晴。
3楼-- · 2019-07-16 04:41
那边一次只会发送一个代码过来  就是控制步进电机启动 停止 转向

一周热门 更多>