找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1738|回复: 1
打印 上一主题 下一主题
收起左侧

关于单片机串口收发字符串问题,串口没有任何反应

[复制链接]
回帖奖励 10 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
编译没有问题,但上位机没有显示,泪目了,,,,

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit rxd=P3^0;
sbit txd=P3^1;
uint rec=0,flag=0;
uchar Fes[]="11111";
void ckinit();
void Fes_display(uint rrec);
void dispString(uchar *fes);
void Fes_search(uint mo,uint dd);
void send_byte(uchar by);
void send_string(uchar *p);

void main()
{
   ckinit();
   while (1)
   {
           if(flag==1)
        {        
                Fes_display(rec);
                send_string(Fes);
                flag=0;
           }
        }
}

void ckinit()
{
   TMOD = 0x20;
   TR1 = 1;
   SM0 = 0;
   SM1 = 1;
   REN = 1;
   EA = 1;
   ES = 1;
}

void ser() interrupt 4
{
  uint temp=0;
  if(RI)
  {
   RI = 0;
   temp = SBUF;
   rec=temp;
     flag=1;
  }
}

void Fes_display(uint rrec)
{
        uint mmo,ddd;
        mmo=rrec/100;
        ddd=rrec%100;
        Fes_search(mmo,ddd);
}
/*void PutString(uchar *TXStr)  
{               
    ES=0;     
     while(*TXStr!=0)
    {                     
        SBUF=*TXStr;
        while(TI==0);
        TI=0;   
        TXStr++;
    }
     ES=1;
}   
*/
void dispString(uchar *fes)
{
        uint y=0;
        while(*fes!=0)
        {                     
                Fes[y]=*fes;
                fes++;
                y++;
        }
}

void Fes_search(uint mo,uint dd)
{
        
        if ( mo == 1 && dd == 1 ){dispString("Ôaμ©");}
        else        if ( mo == 2 && dd == 14 ){dispString("Çéè˽ú");}
        else        if ( mo == 3 && dd == 8 ){dispString("¸¾Å®½ú");}               
        else        if ( mo == 3 && dd == 12 ){dispString("Ö2ê÷½ú");}                                             
        else        if ( mo == 4 && dd == 1 ){dispString("óTè˽ú");}//4               
        else        if ( mo == 4 && dd == 8 ){dispString("¸′»î½ú");}                                             
        else        if ( mo == 5 && dd == 1 ){dispString("àí¶ˉ½ú");}//5               
        else        if ( mo == 5 && dd == 4 ){dispString("ÎåËÄÇàÄê½ú");}                                             
        else        if ( mo == 6 && dd == 1 ){dispString("¶ùíˉ½ú");}//6
        else        if ( mo == 8 && dd == 1 ){dispString("½¨¾ü½ú");}//8
        else        if ( mo == 9 && dd == 10 ){dispString("½ìê|½ú");}//9
        else        if ( mo == 10 && dd == 1 ){dispString("1úÇì½ú");}//10
        else        if ( mo == 12 && dd == 24 ){dispString("ƽ°2ò1");}
        else        if ( mo == 12 && dd == 25 ){dispString("ê¥μ®½ú");}
}


void send_byte(uchar by)
{
    SBUF = by;
        SBUF = 1;
    while(!TI);
    TI = 0;      
}

void send_string(uchar *p)
{
        ES=0;
    while(*p!= '\0')
        {
                send_byte(*p);
                p++;
    }
    ES=1;
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:637571 发表于 2020-12-6 23:54 | 只看该作者
嘶哥们是不是漏了波特率
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表