找回密码
 立即注册

QQ登录

只需一步,快速开始

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

06 单片机串口通信类单片机系统(proteus仿真+keil5)

[复制链接]
跳转到指定楼层
楼主
单片机仿真实习任务:
06 单片机串口通信类单片机系统

6-1
  1. /********************************************************************
  2. 主机
  3. *********************************************************************/
  4. #include <reg52.h>
  5. #define uchar unsigned char
  6. #define uint  unsigned  int        

  7. uint z,x,c,v, date;        //定义数据类型

  8. sbit P2_0=P2^0;
  9. sbit P2_1=P2^1;
  10. sbit P2_2=P2^2;
  11. sbit P2_3=P2^3;
  12. /******************************************************************

  13. 延时函数

  14. ******************************************************************/
  15. void delay(uchar t)
  16. {
  17.   uchar i,j;
  18.    for(i=0;i<t;i++)
  19.    {
  20.       for(j=13;j>0;j--);
  21.       { ;
  22.       }
  23.    }
  24. }
  25. /*************************************************************************
  26.                      串口初始化,波特率9600,方式1
  27. **************************************************************************/
  28. void Init_Com(void)
  29. {
  30. TMOD = 0x20;  //16位定时计数器
  31. PCON = 0x00;  //电源控制寄存器
  32. SCON = 0x50;  //串口寄存器
  33. TH1 = 0xFd;
  34. TL1 = 0xFd;
  35. TR1 = 1;
  36. }

  37. /*************************************************************************
  38.                                 主函数        
  39. **************************************************************************/
  40. void main()
  41. {
  42.    Init_Com();//串口初始化

  43.   P1=0X0A;
  44.         while(1)
  45.    {
  46.    if(P2_0==0)P1=0XAA;
  47.    if(P2_1==0)P1=0X55;
  48.    if(P2_2==0)P1=0X0F;
  49.    if(P2_3==0)P1=0XF0;
  50.    SBUF=P1;
  51.    while(!TI)
  52.                    P1=0X00;
  53.    TI=0;
  54.    }
  55. }
复制代码

6-2
  1. /********************************************************************
  2. 从机
  3. *********************************************************************/
  4. #include <reg52.h>
  5. #define uchar unsigned char
  6. #define uint  unsigned  int        

  7. uint z,x,c,v, date; //定义数据类型
  8. /******************************************************************

  9. 延时函数

  10. ******************************************************************/
  11. void delay(uchar t)
  12. {
  13.   uchar i,j;
  14.    for(i=0;i<t;i++)
  15.    {
  16.             for(j=13;j>0;j--);
  17.          { ;
  18.          }
  19.    }
  20. }

  21. /*************************************************************************
  22.                      串口初始化,波特率9600,方式1
  23. **************************************************************************/
  24. void Init_Com(void)
  25. {
  26. TMOD = 0x20;
  27. PCON = 0x00;
  28. SCON = 0x50;
  29. TH1 = 0xFd;
  30. TL1 = 0xFd;
  31. TR1 = 1;
  32. }

  33. /*************************************************************************
  34.                                 主函数        
  35. **************************************************************************/
  36. void main()
  37. {
  38.    Init_Com();//串口初始化

  39.    while(1)
  40.    {   
  41.    while(!RI);
  42.    P1=~SBUF;
  43.    RI=0;                  
  44.    
  45.    }
  46. }
复制代码




06 Single-chip microcomputer serial communication type single-chip microcomputer.rar

159.09 KB, 下载次数: 32, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:666819 发表于 2019-12-17 23:06 | 只看该作者
我运行过了,没有问题。谢谢楼主
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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