久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2432|回復(fù): 1
收起左側(cè)

STC15W4K32S4串口234調(diào)用發(fā)送失敗,請教大神

[復(fù)制鏈接]
ID:170589 發(fā)表于 2018-4-3 21:41 | 顯示全部樓層 |閱讀模式
10黑幣

程序如下:想按下一個按鍵同時調(diào)用4個串口發(fā)送一個數(shù)據(jù),但是只有串口1發(fā)送正常,串口234都不工作,波特率4800,都是用stc官方軟件計算的波特率程序初始化,請問各位大神我的程序有什么問題??????
#include<STC15.H>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
        uchar good;
//*********************************************************************************************************************************************************                               
                                sbit key1=P2^0;
                                sbit key2=P2^1;
                                sbit key3=P2^2;
                                sbit key4=P2^3;
                                sbit key5=P2^4;
                                sbit key6=P2^5;
                                sbit key7=P2^6;
                                sbit key8=P2^7;
                                sbit key9=P1^0;
                                sbit key10=P1^1;
                                sbit key11=P1^2;
                                sbit key12=P3^5;
                                sbit key13=P1^4;
                                sbit key14=P1^5;
                                sbit key15=P1^6;
                                sbit key16=P1^7;
                                sbit key17=P3^6;
                                sbit key18=P3^7;
//*********************************************************************************************************************************************************
//*********************************************************************************************************************************************************
void Uart1Init(void)                //4800bps@11.0592MHz//2¨ìØÂêéèÖÃ′®¿ú3õê¼»ˉ
{


        SCON = 0x50;                //8???,?????
        AUXR |= 0x40;                //???1???Fosc,?1T
        AUXR &= 0xFE;                //??1?????1???????
        TMOD &= 0x0F;                //?????1?16???????
        TL1 = 0xC0;                //??????
        TH1 = 0xFD;                //??????
        ET1 = 0;                //?????1??
        TR1 = 1;                //?????1
        ES=1;    //Æô¶ˉ′®¿úÖD¶Ï
}
void Uart2Init(void)                //4800bps@11.0592MHz
{

        S2CON = 0x50;                //8???,?????
        AUXR |= 0x04;                //???2???Fosc,?1T
        T2L = 0xC0;                //??????
        T2H = 0xFD;                //??????
        AUXR |= 0x10;                //?????2
        ES=1;
}
void Uart3Init(void)                //9600bps@11.0592MHz
{
        S3CON = 0x10;                //8???,?????
        S3CON |= 0x40;                //??3?????3???????
        T4T3M |= 0x02;                //???3???Fosc,?1T
        T3L = 0xC0;                //??????
        T3H = 0xFD;                //??????
        T4T3M |= 0x08;                //?????3
        ES=1;
}
void Uart4Init(void)                //4800bps@11.0592MHz
{
       

        S4CON = 0x10;                //8???,?????
        S4CON |= 0x40;                //??4?????4???????
        T4T3M |= 0x20;                //???4???Fosc,?1T
        T4L = 0xC0;                //??????
        T4H = 0xFD;                //??????
        T4T3M |= 0x80;                //?????4
        ES=1;
}
//*********************************************************************************************************************************************************
//*********************************************************************************************************************************************************
void Delay1000ms()                //@11.0592MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 43;
        j = 6;
        k = 203;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}
//*************************************************************°′¼ü1*****************************************************************************************
//*********************************************************************************************************************************************************
void trans1()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x01;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans2()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x01;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans3()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x01;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans4()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x01;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*************************************************************°′¼ü2********************************************************************************************
//*********************************************************************************************************************************************************
void trans12()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x02;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans22()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x02;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans32()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x02;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans42()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x02;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//***************************************************************°′¼ü3******************************************************************************************
//*********************************************************************************************************************************************************
void trans13()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x03;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans23()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x03;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans33()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x03;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans43()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x03;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*****************************************************************°′¼ü4****************************************************************************************
//*********************************************************************************************************************************************************
void trans14()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x04;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans24()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x04;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans34()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x04;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans44()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x04;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*****************************************************************°′¼ü5****************************************************************************************
//*********************************************************************************************************************************************************
void trans15()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x05;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans25()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x05;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans35()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x05;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans45()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x05;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//********************************************************************°′¼ü6*************************************************************************************
//*********************************************************************************************************************************************************
void trans16()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x06;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans26()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x06;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans36()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x06;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans46()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x06;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*********************************************************************°′¼ü7************************************************************************************
//*********************************************************************************************************************************************************
void trans17()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x07;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans27()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x07;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans37()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x07;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans47()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x07;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*********************************************************************°′¼ü8************************************************************************************
//*********************************************************************************************************************************************************
void trans18()//′®¿ú1·¢Ëíoˉêy
{
        SBUF=0x08;                //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!TI);                //μè′y·¢Ëííê3é
  TI=0;                     //ÇåáãTI·¢Ëííê3é±ê¼Ç
}
void trans28()//′®¿ú¶t·¢Ëíoˉêy
{
  Delay1000ms();                //@11.0592MHz       
        S2BUF=0x08;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S2CON&0x02));        //μè′y·¢Ëííê3é
  S2CON=S2CON & 0xfd;   //ÇåáãS2TI        
}
void trans38()//′®¿úèy·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S3BUF=0x08;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S3CON&0x02));        //μè′y·¢Ëííê3é
  S3CON=S3CON & 0xfd;   //ÇåáãS3TI        
}
void trans48()//′®¿úËÄ·¢Ëíoˉêy
{
        Delay1000ms()        ;        //@11.0592MHz
        S4BUF=0x08;                                    //½«òa·¢ËíμÄêy¾Y·Åèë′®¿úêy¾Y»o3åÇø
        while(!(S4CON&0x02));        //μè′y·¢Ëííê3é
  S4CON=S4CON & 0xfd;   //ÇåáãS4TI        
}
//*********************************************************************************************************************************************************
//*********************************************************************************************************************************************************
void IO_Init(void)//éèÖÃÎa׼˫Ïò¿ú
{       
        //½«P30 P31 éèÖÃÎa׼˫Ïò¿ú£¬′®¿ú1
        P3M1 &=~( (1<<0) | (1<<1) );  
        P3M0 &=~( (1<<0) | (1<<1) );   
        //½«P10 P11 éèÖÃÎa׼˫Ïò¿ú£¬′®¿ú2
        P1M1 &=~( (1<<0) | (1<<1) );  
        P1M0 &=~( (1<<0) | (1<<1) );  
        //½«P00 P01 éèÖÃÎa׼˫Ïò¿ú£¬′®¿ú3
        P0M1 &=~( (1<<0) | (1<<1) );  
        P0M0 &=~( (1<<0) | (1<<1) );   
        //½«P02 P03 éèÖÃÎa׼˫Ïò¿ú£¬′®¿ú4
        P0M1 &=~( (1<<2) | (1<<3) );  
        P0M0 &=~( (1<<2) | (1<<3) );  

                                P0M0=0x00;
                                P0M1=0x00;
                                P1M0=0x00;
                                P1M1=0x00;
                                P2M0=0x00;      
                                P2M1=0x00;
                                P3M0=0x00;
                                P3M1=0x00;
                                P4M0=0x00;
                                P4M1=0x00;
                                P5M0=0x00;
                                P5M1=0x00;
                                P6M0=0x00;
                                P6M1=0x00;
                                P7M0=0x00;
                                P7M1=0x00;


}
//*********************************************************************************************************************************************************
//*********************************************************************************************************************************************************
void main()        //Ö÷3ìDò
{
        IO_Init();
while(1)
{
        if(key12==0)      
         {
                     Uart1Init();
                 trans1();
                                  Uart2Init();
                 trans2();
                                  Uart3Init();
                 trans3();
                                  Uart4Init();
                 trans4();
         }
                if(key2==0)      
         {
                     Uart1Init();
                 trans12();
                                  Uart2Init();
                 trans22();
                                  Uart3Init();
                 trans32();
                                  Uart4Init();
                 trans42();
         }
                if(key3==0)      
         {
                     Uart1Init();
                 trans13();
                                  Uart2Init();
                 trans23();
                                  Uart3Init();
                 trans33();
                                  Uart4Init();
                 trans43();
         }
                        if(key4==0)      
         {
                     Uart1Init();
                 trans14();
                                  Uart2Init();
                 trans24();
                                  Uart3Init();
                 trans34();
                                  Uart4Init();
                 trans44();
         }
                        if(key5==0)      
         {
                     Uart1Init();
                 trans15();
                                  Uart2Init();
                 trans25();
                                  Uart3Init();
                 trans35();
                                  Uart4Init();
                 trans45();
         }
                         if(key6==0)      
         {
                     Uart1Init();
                 trans16();
                                  Uart2Init();
                 trans26();
                                  Uart3Init();
                 trans36();
                                  Uart4Init();
                 trans46();
         }
                        if(key7==0)      
         {
                     Uart1Init();
                 trans17();
                                  Uart2Init();
                 trans27();
                                  Uart3Init();
                 trans37();
                                  Uart4Init();
                 trans47();
         }
                        if(key8==0)      
         {
                     Uart1Init();
                 trans18();
                                  Uart2Init();
                 trans28();
                                  Uart3Init();
                 trans38();
                                  Uart4Init();
                 trans48();
         }
}
                 

                         
                                

                         
         }


回復(fù)

使用道具 舉報

ID:251640 發(fā)表于 2018-4-4 13:24 | 顯示全部樓層
各個串口只初始化一次,判斷按鍵標(biāo)志位后發(fā)送數(shù)據(jù)即可.
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天看片天天干 | 欧美精品一二三区 | 午夜影院毛片 | 国产真实乱对白精彩久久小说 | av片免费 | 亚洲电影成人 | 日韩一 | 欧美日韩精品一区 | 国产精品亚洲第一 | 天天草草草 | 美日韩精品| 欧美一区二区三区久久精品 | 自拍视频精品 | 久久天天| 国产一区二区欧美 | 欧美videosex性极品hd | 久久三区 | 日本成人免费网站 | 久久新视频 | 羞羞视频免费在线 | 国产九九九 | 欧美一级久久 | 亚洲欧美国产精品一区二区 | 日日夜夜精品免费视频 | 久久av一区二区三区 | 国产精品久久久久久婷婷天堂 | 日韩精品免费视频 | 亚洲久久一区 | 日韩欧美在线不卡 | 日本精品视频 | 亚洲精品在线观看视频 | 久久国产精品久久久久久 | 日韩电影免费在线观看中文字幕 | 国产高清视频在线观看 | 欧美精品久久一区 | 国产福利精品一区 | 久久一久久 | 99久久日韩精品免费热麻豆美女 | 精品国产欧美日韩不卡在线观看 | 中文天堂在线一区 | 国产视频一区在线 |