PC机与单片机的串口通信
关键词:单片机PC机串口通信
1
1.1
1、掌握串行口的控制与状态寄存器scon
2、掌握特殊功能寄存器pcon
3、掌握串行口的工作方式及其设置
4、掌握串行口的破特率(bond rate)选择
1.2
实现PC机发送一个字符给单片机,单片机接受到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到pc机发来的信号后用串口中断方式处理,而单片机回发给pc机时用查询方式。
mode com3 9600,0,8,1%分别设置com3的波特率、奇偶校验位、数据位、停止位
assign com3 <sin> sout%把单片机的串口和COM3绑定到一起。因为所用的单片机是
%AT89C51,只有一个串口,所以用SIN,SOUT,如果单片机有
%几个串口,可以选择S0OIN,S0OUT,S1IN,S1OUT。
delay(500);
P1=SEG7[(a-0x30)%10];
P2=ACT[0];
delay(500);
if(RI)
{
RI=0;
i=0;
while(as[i]!='\0')
{
SBUF=as[i];
while(!TI)
{
;
}
TI=0;
i++;
}
SBUF=b;
while(!TI)
{
;
}
TI=0;
EA=1;
最后说明对这次实训的感受,课堂教学考虑到大多数同学的需求,主要强调“基本”—基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。
ES=1;
EA=1;
}
void delay(uint k)
{
uint data i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
{;}
}
}
void main(void)
{
uchar i;
init();
while(1)
{
P1=SEG7[(a-0x30)/10];
P2=ACT[1];
同样道理,其它的硬件设备送到PC机的COM1的串行数据,也会在COMPIM的2号引脚出现,送到仿真电路里面。
由于COMPIM组件内部,自带RS-232和TTL的电平转换功能,因此不需要再使用电平转换芯片。
5.2利用VSPD软件
左边栏最上面的是电脑自带的物理串口。点右边的add pair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入
Proteus中的COMPIM选择COM1串口,串口调试助手选择COM2串口,这仿真图后加载Keil生成的.HEX文件,利用虚拟串口助手发送数据进行仿真,截图如下。
这次实训,有很多的心得体会,有关于单片机与串口通信方面的,更多的是关于人与人之间关系方面的。
在这短短一周期间,我得到了很多老师与同学的帮助。本组对单片机并不是很熟悉,理论联系不了实际。串口调试与软件安装令我们束手无策了。后来请教我们班的同学,看他边做边给我们讲解。最后调试成功,完成了本程序。
采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和Proteus分别仿真。
2程序代码
#include <reg51.h>
#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;
单片机与PC机串口通信(C51编程)
实训报告
学院名称:福建船政交通职业学院
专 业:11计算机控制技术
题目:单片机与PC机串口通信
组别:第一组
组员姓名:池清清,黄倩滢,蓝春燕
学号:114103101,114103111,114103116
指导教师:朱其祥,黄炳乐,武光信,陈明,任慧
摘 要
串行口是计算机与外部设备之间进行数据交换的重要介质,所以串行通信在工程中有着广泛的应用。这种通信的实现,主要是靠上位PC机与下位单片机组成的二级系统通过RS232进行通信。此次设计通过计算机输入数据通过串口传送给单片机进而在LED上显示,使学生进一步巩固所学的单片机系统硬件知识,C语言程序设计方法,计算机通信原理,计算机可视化程序设计,综合性很强,学生得到很大的锻炼。
}
}
}
void serial_serve(void) interrupt 4
{
a=SBUF;
b=a;
EA=0;
}
3
Keil,VSPD XP5 (virtual serial ports driver xp5.1虚拟串口软件),串口调试助手,Proteus。
4
5
5.1利用COMPIM组件
把COMPIM放在仿真电路图中,当仿真运行起来之后,送到COMPIM 3号引脚的串行数据,将会通过PC机的COM1串行口输出,如果在PC机的COM1串行口外接一条电缆,可将串行数据送到其它的硬件设备上。