找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机串口通信代码功能是否实现?

[复制链接]
跳转到指定楼层
楼主
请问大佬们我的代码有没有错误,有没有实现这些功能

  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 (13.79 KB, 下载次数: 37)

1234.png

12345.png (120.3 KB, 下载次数: 39)

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

使用道具 举报

沙发
ID:883242 发表于 2023-5-12 00:15 | 只看该作者
好像是我回复的帖子的续亼,TB8做了奇校验,RB8哪里去了?难道我要全写出来你才会吗?没有项目需求书谁知道RB8校验失败应该如何处理?
回复

使用道具 举报

板凳
ID:1073848 发表于 2023-5-12 10:26 | 只看该作者
Hephaestus 发表于 2023-5-12 00:15
好像是我回复的帖子的续亼,TB8做了奇校验,RB8哪里去了?难道我要全写出来你才会吗?没有项目需求书谁知道 ...

请问这个RB8不是有在后面吗,还是说要盖在哪里,微机课的任务好像也没有项目需求书啊...
回复

使用道具 举报

地板
ID:1073848 发表于 2023-5-12 14:15 | 只看该作者
Hephaestus 发表于 2023-5-12 00:15
好像是我回复的帖子的续亼,TB8做了奇校验,RB8哪里去了?难道我要全写出来你才会吗?没有项目需求书谁知道 ...

请问你的意思是不是改成if(TB8!=P)就可以了
回复

使用道具 举报

5#
ID:1073848 发表于 2023-5-12 15:38 | 只看该作者
Hephaestus 发表于 2023-5-12 00:15
好像是我回复的帖子的续亼,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.     }

复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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