视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
PC机与单片机的串口通信
2025-09-22 17:50:45 责编:小OO
文档
单片机与PC机串口通信(C51编程)

实训报告

学 院 名 称: 福建船政交通职业学院   

专       业:11计算机控制技术        

题       目:单片机与PC机串口通信    

组       别: 第一组                       

组 员 姓 名:  池清清,黄倩滢,蓝春燕         

学       号: 114103101,114103111,114103116    

指 导 教 师: 朱其祥,黄炳乐, 武光信,陈明 ,任慧             

摘   要

串行口是计算机与外部设备之间进行数据交换的重要介质,所以串行通信在工程中有着广泛的应用。这种通信的实现,主要是靠上位PC机与下位单片机组成的二级系统通过RS232进行通信。此次设计通过计算机输入数据通过串口传送给单片机进而在LED上显示,使学生进一步巩固所学的单片机系统硬件知识,C语言程序设计方法,计算机通信原理,计算机可视化程序设计,综合性很强,学生得到很大的锻炼。

关键词:单片机        PC机          串口通信

1实训要求与任务 

1.1要求

1、掌握串行口的控制与状态寄存器scon

2、掌握特殊功能寄存器pcon

3、掌握串行口的工作方式及其设置

4、掌握串行口的破特率(bond rate)选择

1.2任务

实现PC机发送一个字符给单片机,单片机接受到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到pc机发来的信号后用串口中断方式处理,而单片机回发给pc机时用查询方式。

采用软件仿真的方式完成,用串口调试助手和KEIL   C,或串口调试助手和Proteus分别仿真。

2程序代码 

#include

#define uchar unsigned char

#define uint unsigned int

uchar code SEG7[10]={0x3F,0x60,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar code ACT[4]={0XFE,0xfd,0xfb,0xf7};

uchar code as[]="Receving data:\\0";

uchar a=0x30,b;

void init(void)

{

  TMOD=0X20;

  TH1=0XFD;

  TL1=0XFD;

  SCON=0X50;

  TR1=1;

  ES=1;

  EA=1;

  }

void delay(uint k)

{

  uint data i,j;

for(i=0;i  {

}

void main(void)

{

  uchar i;

  init();

while(1)

{

  P1=SEG7[(a-0x30)/10];

  P2=ACT[1];

  delay(500);

  P1=SEG7[(a-0x30)%10];

  P2=ACT[0];

  delay(500);

  if(RI)

  {

  RI=0;

  i=0;

  while(as[i]!='\\0')

  {

 }

void serial_serve(void) interrupt 4

{

 a=SBUF;

 b=a;

 EA=0;

 }

3程序运行平台

Keil,VSPD XP5 (virtual serial ports driver xp5.1虚拟串口软件),串口调试助手,Proteus。 

4总体设计

开始

发送至串口

PC机设置传输数据

串口通过RS232传送给单片机

单片机通过LED显示数据

5串行通信方案设计

5.1 利用COMPIM组件

把 COMPIM 放在仿真电路图中,当仿真运行起来之后,送到 COMPIM 3 号引脚的串行数据,将会通过 PC 机的 COM1 串行口输出,如果在 PC 机的 COM1 串行口外接一条电缆,可将串行数据送到其它的硬件设备上。

同样道理,其它的硬件设备送到 PC 机的 COM1 的串行数据,也会在 COMPIM 的2号引脚出现,送到仿真电路里面。

由于COMPIM 组件内部,自带 RS-232 和 TTL 的电平转换功能,因此不需要再使用电平转换芯片。

5.2 利用 VSPD 软件

左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入

mode com3 9600,0,8,1   %分别设置com3的波特率、奇偶校验位、数据位、停止位

assign com3  sout %把单片机的串口和COM3绑定到一起。因为所用的单片机是

 %ATC51,只有一个串口,所以用SIN,SOUT,如果单片机有

%几个串口,可以选择S0OIN,S0OUT,S1IN,S1OUT。

Proteus中的COMPIM选择COM1串口,串口调试助手选择COM2串口,这样就可以进行通讯了。

6 Proteus仿真

画好Proteus仿真图后加载Keil生成的.HEX文件,利用虚拟串口助手发送数据进行仿真,截图如下。

    7结论

这次实训,有很多的心得体会,有关于单片机与串口通信方面的,更多的是关于人与人之间关系方面的。

在这短短一周期间,我得到了很多老师与同学的帮助。本组对单片机并不是很熟悉,理论联系不了实际。串口调试与软件安装令我们束手无策了。后来请教我们班的同学,看他边做边给我们讲解。最后调试成功,完成了本程序。

最后说明对这次实训的感受,课堂教学考虑到大多数同学的需求,主要强调“基本”—基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。                                                                                                                                                     下载本文

显示全文
专题