当前位置:    首页  虚拟仿真实验平台
串行口通讯实验
发布部门:  发布时间: 2017-07-25  浏览次数: 517

实验项目名称:

串行口通讯实验

项目介绍:

课程性质及背景:

本课程是测控技术与仪器专业的主干专业课,是一门实践性、应用性较强的课程。通过介绍智能仪器的特点、技术标准、发展概况、基本构成和先进控制技术,使学生掌握智能仪器的分析、设计、控制及选型等工作所需基本知识和技术。

实验课程特点及必要性:

实验教学是本课程的重要环节,是课堂教学的加强与提高,要充分重视学生综合能力的培养,利用实验结果和数据,分析系统的性质,提高学生的设计能力和解决实际问题能力。

项目目的:

1)掌握单片机串行口工作方式的程序设计,及简易三线式通讯的方法;

2)了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议;

3)学习串口通讯的中断方式的程序编写方法。

面向理论课程:

智能仪器仪表设计

面向专业:

测控技术与仪器、车辆

仪器硬件设备及软件环境:

1)Proteus仿真软件1套;

2)Keil C51编程软件1套;

3)PC机1台;

实验项目功能及效果:

实验内容或任务:

利用Proteus环境,以单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。发送方通过串行口发送控制信号给接收方并控制其LED,绘制相应电路原理图,并编写相应通信程序。

实验效果:

1)打开Proteus绘制电路图

2)打开Keil C51建立工程,参数设置

3)编辑源程序

4)运行和调试程序

串行口通讯实验C源程序

#include <regx52.h>

#define uchar unsigned char

#define uint unsigned int

sbit LED1=P0^0;   

sbit LED2=P0^5;  

//延时

void DelayMS(uint ms)

{

uchar i;

while(ms--) for(i=0;i<120;i++);

}

//主程序

void main()

{

SCON=0x50;  //串口模式1,允许接收

TMOD=0x20;  //T1工作模式2

PCON=0x00;  //波特率不倍增

TH1=0xfd;  //波特率9600

TL1=0xfd;

RI=0;

TR1=1;

LED1=LED2=1;

while(1)

{

if(RI) //如收到则LED闪烁

{

RI=0;

switch(SBUF) //根据所收到的不同命令字符完成不同动作

{

case 'A': LED1=~LED1;LED2=1;break; //LED1闪烁

case 'B': LED2=~LED2;LED1=1;break; //LED2闪烁

case 'C': LED1=~LED1;LED2=LED1;  //双闪烁

}

}

else

LED1=LED2=1;        //关闭LED

DelayMS(100);

}

}


备注

要求学生有C语言编程能力



联系方式 网站地图 留言板
李立伟设计
地址:郑州市东风路5号郑州轻工业学院机电工程学院    邮编:450002    电话:0371-63556785