打印

绝对新手请教:双机UART通信的基本问题

[复制链接]
1412|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lastnew|  楼主 | 2007-9-13 18:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位同志好:
    现在想弄个双机通信的东西玩玩,学学uart口的通信,写了下面这个简单的程序,估计入不了法眼,兄弟我不怕丢人,请大家看看为什么用keil调试的时候进不了中断?

/*mcu是AT89C51*/

#include <reg51.h>

#define  uchar unsigned char

uchar needR;

void uart_sent(uchar);
void uart_Rev();
void uartINI_sent();
void uart_onPower();

void main(void)
{
    uart_onPower();

    while(1)
    {
        /*    需要调用发送子程序的应用
          发送void uart_Rev(uchar)    */
    };
}

void uart_onPower()
{
    SM0=0;               //串口工作方式1
    SM1=1;
    REN=1;

    TMOD&=0x0f;            //再装入8位定时器
    TMOD|=0x20;
    TH1=0xf9;                //定时常数
    TL1=0xf9;
    
    ES=1;               //开串行中断,关定时器1中断
    ET1=0;
        
    TI=0;
    RI=0;
}
void uartINI_sent()
{
    EA=0;
    TR1=1;
    ES=0;
    EA=1;    

}
void uart_sent(uchar needS)
{
    uartINI_sent();
    SBUF=needS;
    TI=0;
    TR1=0;
    ES=1;
}
void uart_Rev() interrupt 4
{
    while(!RI);
    needR=SBUF;
    RI=0;
    TR1=0;
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

352

帖子

0

粉丝