After winter is spring 2021-04-09 22:37
浏览 53

C51单片机定时器0和串口同时使用 串口接收发送00 00

#include <REGX52.H>

unsigned int p,j,flag=0,ad=0,flag1=0,h;

void Init()
{
    SM0=0;
    SM1=1;
    REN=1;
    TMOD=0x21;
    TH0=(65536-45872)/256;
    TL0=(65536-45872)%256;
    TH1=0xfd;
    TL1=0xfd;

    TR1=1;
    ET0=1;
    EA=1;
    ES=1;
    PS=1;
    PT0=0;
   
}

void main()
{

    Init();
    while(1)
    {

        if(flag1==1)
        {
            flag1=0;        

        if(p==1)
        {
   
        TR0=1;
        }

        }
    }
}

void SS() interrupt 4
{


        RI=0;
        p=SBUF;
        ES=0;
        SBUF=p;
        while(TI==0);
        TI=0;
        ES=1;

        flag1=1;


}
void sss()interrupt 1
{
    TH0=(65536-45872)/256;
    TH1=(65536-45872)%256;
}

第 1次发送接收01后就变成00 00了

  • 写回答

0条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 有偿找一份verilog语言的cnn代码带讲解
      • ¥15 关于#mysql#的问题:mysql 组内排名,取各组的销售金额前10
      • ¥15 有人用过颜色传感器吗?
      • ¥50 求一个SQL长料切短料的优化排版算法
      • ¥15 python 删除TXT文档中小写字母
      • ¥15 ValueError: not enough values to unpack (expected 2, got 0)
      • ¥15 js怎么禁止修改域名
      • ¥15 Cursor为什么在Windows11打不开
      • ¥30 java调用javacv遇到的问题
      • ¥15 如何使用matlab画出带宽100Khz,时长100ms信号的LFM形式的时频图啊