標(biāo)題: 51單片機(jī)串口通信代碼功能是否實(shí)現(xiàn)? [打印本頁]

作者: YUKIAd0w    時(shí)間: 2023-5-11 23:57
標(biāo)題: 51單片機(jī)串口通信代碼功能是否實(shí)現(xiàn)?
請(qǐng)問大佬們我的代碼有沒有錯(cuò)誤,有沒有實(shí)現(xiàn)這些功能

  1. #include <reg51.h>
  2. sbit led=P3^7;
  3. void main()
  4. {
  5.         SCON=0xd0;//工作三
  6.         PCON=0x80;//加倍
  7.         
  8.         TH1=0xFD;//9600波特率
  9.         TL1=0xFD;
  10.         
  11.         TR1=1;
  12.         ES=1;
  13.         EA=1;
  14.         TB8=!P;
  15.         
  16.         TMOD=0x20;
  17.          
  18.         P2=0xff;
  19.         
  20.         while(1)
  21.         {        
  22.                                         SBUF=P1;
  23.                 while(!TI);
  24.                 TI=0;
  25.                 while(!RI);
  26.                 RI=0;
  27.                                                         if(RB8!=P)//奇校驗(yàn)
  28.                                                         {P0=SBUF;
  29.                                                                 led=0;}
  30.         }
  31. }
復(fù)制代碼

1234.png (13.79 KB, 下載次數(shù): 56)

1234.png

12345.png (120.3 KB, 下載次數(shù): 63)

12345.png

作者: Hephaestus    時(shí)間: 2023-5-12 00:15
好像是我回復(fù)的帖子的續(xù)亼,TB8做了奇校驗(yàn),RB8哪里去了?難道我要全寫出來你才會(huì)嗎?沒有項(xiàng)目需求書誰知道RB8校驗(yàn)失敗應(yīng)該如何處理?
作者: YUKIAd0w    時(shí)間: 2023-5-12 10:26
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復(fù)的帖子的續(xù)亼,TB8做了奇校驗(yàn),RB8哪里去了?難道我要全寫出來你才會(huì)嗎?沒有項(xiàng)目需求書誰知道 ...

請(qǐng)問這個(gè)RB8不是有在后面嗎,還是說要蓋在哪里,微機(jī)課的任務(wù)好像也沒有項(xiàng)目需求書啊...
作者: YUKIAd0w    時(shí)間: 2023-5-12 14:15
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復(fù)的帖子的續(xù)亼,TB8做了奇校驗(yàn),RB8哪里去了?難道我要全寫出來你才會(huì)嗎?沒有項(xiàng)目需求書誰知道 ...

請(qǐng)問你的意思是不是改成if(TB8!=P)就可以了
作者: YUKIAd0w    時(shí)間: 2023-5-12 15:38
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復(fù)的帖子的續(xù)亼,TB8做了奇校驗(yàn),RB8哪里去了?難道我要全寫出來你才會(huì)嗎?沒有項(xiàng)目需求書誰知道 ...
  1.     #include <reg51.h>
  2.     sbit led=P3^7;
  3.     void init()
  4.     {
  5.                                     SCON=0xd0;
  6.             PCON=0x80;
  7.             
  8.             TH1=0xFD;
  9.             TL1=0xFD;
  10.             
  11.             TR1=1;
  12.             ES=1;
  13.             EA=1;
  14.             
  15.             TMOD=0x20;
  16.             P1=0xff;
  17.                                     led=0;
  18.            
  19.     }

  20.     void fs()
  21.     {                                                               
  22.             ACC=P1;
  23.             TB8=!P;
  24.             SBUF=ACC;
  25.              while(!TI);
  26.       TI=0;

  27.     }


  28.     void main()
  29.     {
  30.             init();
  31.             while(1)
  32.             {        
  33.                                                     fs();      
  34.             }
  35.     }

  36.     void  js() interrupt 4
  37.     {
  38.                     if(TI)
  39.                                     TI=0;
  40.                     else
  41.                     {
  42.                             RI=0;
  43.                             ACC=SBUF;
  44.                   
  45.                             if(RB8!=P)P0=SBUF;
  46.                             else
  47.                             {
  48.                                     led=!led;return ;
  49.                             }
  50.                     }
  51.     }

復(fù)制代碼





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1