微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机串口的问题 求大神帮忙

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

时间: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

来个大神帮帮我

那边一次只会发送一个代码过来  就是控制步进电机启动 停止 转向

那边一次只会发送一个代码过来  就是控制步进电机启动 停止 转向

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top