找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4392|回复: 0
收起左侧

proteus仿真51单片机的串口通信 附源码

[复制链接]
ID:311805 发表于 2018-4-19 17:11 | 显示全部楼层 |阅读模式
proteus仿真51串口实两个单片机串口通信,一个发( {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};),一个收(收到的数据点亮LED)

发送端与接收端源程序及仿真文件见附件
0.png 0.png

单片机源程序如下:
  1. #include<reg51.h>
  2. //--声明全局函数--//
  3. void UsartConfiguration();
  4. void Delay10ms(unsigned int c);   //误差 0us

  5. /*******************************************************************************
  6. * 函 数 名         : main
  7. * 函数功能                   : 主函数
  8. * 输    入         : 无
  9. * 输    出         : 无
  10. *******************************************************************************/

  11. void main()
  12. {
  13. //        unsigned char i;
  14.         UsartConfiguration();
  15.         while(1)
  16.         {
  17.                          if(RI)
  18.                          {
  19.                                  P0=SBUF;  //接收的数据点亮led (跑马灯)
  20.                                  RI=0;
  21.                          }         
  22.                
  23.                         
  24.         }
  25. }
  26. /*******************************************************************************
  27. * 函 数 名         :UsartConfiguration()
  28. * 函数功能                   :设置串口
  29. * 输    入         : 无
  30. * 输    出         : 无
  31. *******************************************************************************/

  32. void UsartConfiguration()
  33. {
  34.         SCON=0X50;                        //设置为工作方式1
  35.         TMOD=0X20;                        //设置计数器工作方式2
  36.         PCON=0X00;                        //波特率不加倍
  37.         TH1=0XFD;                    //计数器初始值设置,注意波特率是9600的
  38.         TL1=0XFD;
  39. //        ES=1;                                                //打开接收中断
  40. //        EA=1;                                                //打开总中断
  41.         TR1=1;                                            //打开计数器
  42. }

  43. /*******************************************************************************
  44. * 函 数 名         : Delay10ms
  45. * 函数功能                   : 延时函数,延时10ms
  46. * 输    入         : 无
  47. * 输    出         : 无
  48. *******************************************************************************/

  49. void Delay10ms(unsigned int c)   //误差 0us
  50. {
  51. ……………………

  52. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
串口.rar (17.63 KB, 下载次数: 88)


回复

使用道具 举报

无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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