找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机串口通信Proteus仿真程序

[复制链接]
跳转到指定楼层
楼主
使用串口通信。具体功能描述如下:采用USART,波特率为9600,一个单片机发送数字,一个单片机接收,并把接收的数字用数码管显示。


单片机源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int        //宏定义
  4. bit tt;
  5. uchar aa;
  6. void display(uchar aa);
  7. void delay(uint c);
  8. void init();
  9. sbit Ledshi = P2^0;   //十位数码管使能端
  10. sbit Ledge = P2^1;    //个位数码管使能端
  11. uchar ma[]=
  12. {
  13.   0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f
  14. };                    //编码0~9

  15. void main()
  16. {
  17.   init();
  18.   while(1)
  19.    {
  20.      while(tt)
  21.            {
  22.             display(aa);
  23.             delay(20);
  24.            }
  25.    }
  26. }

  27. void init()
  28. {
  29.   PCON &= 0x7F;        //波特率不加倍
  30.   TMOD=0x20;           //定时器1工作方式2
  31.   TH1=0xfd;
  32.   TL1=0xfd;            //给定时器定初值,设置波特率为9600
  33.   TR1=1;               //开启定时器1工作
  34.   SCON=0x50;           //允许串行口接收数据,设置串行口工作方式1
  35.   EA=1;
  36.   ES=1;                //打开串行口中断
  37.   ET1=0;               //禁止定时器1中断
  38. }

  39. void display(uchar aa) //显示函数
  40. {
  41.   uchar shi,ge;
  42.   shi=aa/10;           //取十位
  43.   ge=aa%10;            //取个位

  44.   P0=ma[shi];          //送十位值
  45.   P2=0xbf;             //选择段选位置
  46.   delay(5);
  47.   P0=0;                //数码管消影
  48.   P2=0xff;

  49.   P0=ma[ge];           //送个位值
  50.   P2=0x7f;             //选择段选位置
  51.   delay(5);
  52.   P0=0;                //数码管消影
  53.   P2=0xff;
  54. }

  55. void delay(uint c)           //延时函数
  56. {
  57.   uchar i,j;
  58.   for(i=0;i<c;i++)
  59.   for(j=0;j<110;j++);
  60. }

  61. void receive() interrupt 4
  62. {
  63.   aa=SBUF;
  64.   tt = 1;              //接受一次后打开显示
  65.   ES = 0;              //关闭串行中断
  66.   RI = 0;              //清除串行接受标志位
  67. }
复制代码

所有资料51hei提供下载:
51单片机串口通信.zip (18.6 KB, 下载次数: 154)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:662773 发表于 2019-12-31 00:04 来自手机 | 只看该作者
tt这个变量什么意思?
回复

使用道具 举报

板凳
ID:708474 发表于 2020-5-31 18:47 | 只看该作者
少东西,下完后只有一个单片机的程序,缺少另一个发送的
回复

使用道具 举报

地板
ID:237239 发表于 2020-6-4 00:10 | 只看该作者
大学的练习?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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