找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1552|回復: 4
收起左側

51單片機串口通信代碼功能是否實現?

[復制鏈接]
ID:1073848 發(fā)表于 2023-5-11 23:57 | 顯示全部樓層 |閱讀模式
請問大佬們我的代碼有沒有錯誤,有沒有實現這些功能

  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)//奇校驗
  28.                                                         {P0=SBUF;
  29.                                                                 led=0;}
  30.         }
  31. }
復制代碼
1234.png
12345.png
回復

使用道具 舉報

ID:883242 發(fā)表于 2023-5-12 00:15 | 顯示全部樓層
好像是我回復的帖子的續(xù)亼,TB8做了奇校驗,RB8哪里去了?難道我要全寫出來你才會嗎?沒有項目需求書誰知道RB8校驗失敗應該如何處理?
回復

使用道具 舉報

ID:1073848 發(fā)表于 2023-5-12 10:26 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復的帖子的續(xù)亼,TB8做了奇校驗,RB8哪里去了?難道我要全寫出來你才會嗎?沒有項目需求書誰知道 ...

請問這個RB8不是有在后面嗎,還是說要蓋在哪里,微機課的任務好像也沒有項目需求書啊...
回復

使用道具 舉報

ID:1073848 發(fā)表于 2023-5-12 14:15 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復的帖子的續(xù)亼,TB8做了奇校驗,RB8哪里去了?難道我要全寫出來你才會嗎?沒有項目需求書誰知道 ...

請問你的意思是不是改成if(TB8!=P)就可以了
回復

使用道具 舉報

ID:1073848 發(fā)表于 2023-5-12 15:38 | 顯示全部樓層
Hephaestus 發(fā)表于 2023-5-12 00:15
好像是我回復的帖子的續(xù)亼,TB8做了奇校驗,RB8哪里去了?難道我要全寫出來你才會嗎?沒有項目需求書誰知道 ...
  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.     }

復制代碼
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表