当前位置: 代码迷 >> 单片机 >> stc89c52联接单片机
  详细解决方案

stc89c52联接单片机

热度:25   发布时间:2016-04-28 15:24:53.0
stc89c52连接单片机
有哪位大神能帮忙写一个关于stc89c52和单片机之间通信的代码呀?现在对这个是一片忙然。要能实现pc机向单片机发请求数据命令,读取单片机数据
单片机 PC 通信

------解决方案--------------------
这个是RS232的。
#include <reg52.h>
#include "delay.h"
void main (void)
{
    //串口初始化
    SCON  = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收  
    TMOD 
------解决方案--------------------
= 0x20;       // TMOD: timer 1, mode 2, 8-bit 重装
    TH1   = 0xFD;       // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
    TR1   = 1;          // TR1:  timer 1 打开  

    while (1)                       
    {
        SBUF = 'c';     //发送字符c
        while(!TI);
        TI = 0;
        
        DelayMs(240);   //延时循环发送
        DelayMs(240);
        DelayMs(240);
        DelayMs(240);
    }
}


延时函数
#include "delay.h"

/*------------------------------------------------
 uS延时函数,含有输入参数 unsigned char t,无返回值
 unsigned char 是定义无符号字符变量,其值的范围是
 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
 长度如下 T=tx2+5 uS 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}

void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延时1mS
     DelayUs2x(245);
 DelayUs2x(245);
 }
}

写的时候把它们放在一起就可以了。pc机上通过超级终端和单片机进行数据传送。