找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3654|回复: 1
收起左侧

单片机接收计算机发送的串行数据并显示(程序+仿真+设计说明书)

[复制链接]
ID:393984 发表于 2019-1-15 15:58 | 显示全部楼层 |阅读模式

项目功能

单片机接收计算机发送的串行数据,并把接收到的数据送到P3口8位LED显示。

二、实验过程

(一)实验项目的方案分析

1.设计原理

STC12C5A60S2单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。

本实验充分利用了8051芯片的I/O引脚。系统已采用STC12C5A60S2系列单片机为中心器件来设计数码管显示数字,实现从0~9依次显示

本实验在模拟阶段利用单片机模拟PC机发送程序,在设定时器T1为方式2,SCON的设置,为方式1,只发送不接收。单片机在设定过程中只接收不发送。接受PC的信息,来控制数码管


2.器件配置清单

表1器件配置表

名称

型号

数值

数量

面包板

MB-102

165*55*10(mm)

1

单片机

STC12C5A60S2


1

数码管

共阳极


1

公对母连接线

40P彩色杜邦线

21cm

9

电阻

1/4W金属膜直插式

1KΩ

9


(二)实验项目的硬件电路设计

    通过Proteus仿真电路软件搭建电路,电路图如图所示。

图1 硬件设计图


(三)实验项目的程序设计

1、C51程序编写


2、keil软件调试截图

   通过Keil软件进行C51控制程序的编写,通过不断调试修改,最终的调试好的Keil

程序。

图3调试无措的Keil程序

(四)实验项目的虚拟仿真

打开Keil C软件将上面程序输入,调试无误后编译输出".hex"文件,打开Proteus软件,将之前编译好的".hex"文件加入到芯片中,开始运行仿真,如图4所示。

图4虚拟仿真图

(五)实验项目的实际验证电路及验证结果

    将单片机C51程序编译无误后,生成HEX文件,通过STC-ISP下载到单片机中,下载的软件界面如图5所示,搭建的实际电路如图5所示。

图5下载HEX文件到单片机

图6面包板搭建的实际电路

PC向单片机发送数据的截图以及效果图:

功能一:见图7-9所示:


图7发送c0

图8发送c0效果图

图9发送f9

       图10发送f0效果图

(六)总结

一开始我设计的是单片机双向通信,在只剩下调试时,更换用PC控制,在这次实验中在连接实物时,将数码管的线接错了。在设置串口通信的时候要弄清楚串口的设置方式,以及清零的方式。


(1)PC机发送程序(用单片机串口模拟PC机串口发送数据)

  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
  5. void delay(uint t)
  6. {
  7.    uchar i;
  8.   while(t--)
  9.    {
  10.       for(i=0;i<600;i--);
  11.    }
  12. }
  13. void main()
  14. {
  15.   uchar i;
  16.   TH1=0xfd;
  17.   TL1=0xfd;
  18.   SCON=0x40;
  19.   PCON=0x00;
  20.   TR1=1;

  21.   while(1)
  22. {
  23.   for(i=0;i<8;i++)
  24.    {
  25.      SBUF=tab[i];
  26.      while(TI==0);
  27.      TI=0;
  28.      delay(1000);
  29.    }
  30.   }
  31. }
复制代码


(2)单片机接收程序


  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. void main()
  5. {
  6.   uchar temp=0;
  7.   TMOD=0x20;
  8.   TH1=0xfd;
  9.   TL1=0xfd;
  10.   SCON=0x50;
  11.   PCON=0x00;
  12.   TR1=1;
  13.   while(1)
  14.   {
  15.    while(RI==0);
  16.    RI=0;
  17.    temp=SBUF;
  18.    P3=temp;
  19.   }
  20. }
复制代码

0.png

全部资料51hei下载地址:
串口中断.rar (12.74 MB, 下载次数: 48)

评分

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

查看全部评分

回复

使用道具 举报

ID:1 发表于 2019-1-17 04:52 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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