微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > pc机与单片机通讯

pc机与单片机通讯

时间:10-02 整理:3721RD 点击:
#include <reg52.h>     //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int
/* 变量定义 -----------------------------------------------*/
sbit relay=P0^1;   //定义P0^1位为继电器relay的控制位
uchar num,count;
uint xms,xmsh,xmsl;
/* 函数申明 -----------------------------------------------*/
void delay(uint xms);
void main()
{
TMOD=0x20;     //用定时器设置串口波特率     9600
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;          //串口初始化
SM0=0;
SM1=1;
EA=1;           //开启总中断
ES=1;
    relay=0;
    while(1)
{
        if(num==1)    //判断是否有串口数据的传送
     {
        RI=0;
  relay=1;     //打开继电器
        xmsh=xms;
        xmsl=xmsh*100;
     delay(xmsl);
     relay=0;  //关闭继电器
        num=0;
  }
  
}
}
void delay(uint xms)
{
    uint i,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
   
}
void ser() interrupt 4
{

  RI=0 ;

xms=SBUF;
  num=1 ;
}
每次从pc发来的时间延时都不对,继电器不能正常延时

不知道怎么样,但还是看看

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

网站地图

Top