《灯光控制系统》-项目四 任务3_第1页
《灯光控制系统》-项目四 任务3_第2页
《灯光控制系统》-项目四 任务3_第3页
《灯光控制系统》-项目四 任务3_第4页
《灯光控制系统》-项目四 任务3_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目四通信控制系统设计任务1任务2任务3单片机串行扩展控制系统设计单片机双机通信控制系统设计单片机与PC机通信控制系统设计知识目标:1.会分析RS232C串口通信标准;2.会分析MAX232芯片功能及DB9连接器引脚。技能目标:1.会单片机与PC机之间通信控制硬件和软件设计;2.会串口调试助手和虚拟串口软件应用。素养目标:1.操作规范,符合5S管理要求;2.具备沟通交流,团队协作能力。学习目标设计要求单片机向PC机发送英文大写字母表,时间间隔为1s,并将发送的英文字母表通过虚拟终端显示。0102(1)单片机串口采用正逻辑TTL电平,PC机采用负逻辑RS232C电平,二者不能直接相连;(2)PC机的串口采用DB9连接器进行串行通信,单片机与PC通信仿真时需借助虚拟终端和串行接口组件。任务分析知识导航一、RS232C串口通信RS232C接口是1969年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准。其中RS表示RecommendedStandard,232是该标准的标志号,C表示最后一次修订。1.RS232C接口知识导航一、RS232C串口通信RS232C主要用来定义计算机系统的一些数据终端设备和数据通讯设备之间的电气性能,由于单片机具有一个全双工的串行接口,因此与计算机连接非常方便。RS232C采用串行格式,数据帧的格式为1位起始位、5~8位数据位、1位奇偶校验位、1位停止位,数据帧之间用1表示空闲位。1.RS232C接口知识导航一、RS232C串口通信RS232C上传送的数据采用负逻辑且与地对称,逻辑1:-5V~-15V;逻辑0:+5V~+15V。TTL电平数据表示通常采用二进制,+5V等价于逻辑1,0V等价于逻辑0,这被称作TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。AT89S51单片机串口使用的是TTL电平,PC机串口使用的是RS232C电平,因此单片机与PC机之间不能直接连接。1.RS232C接口知识导航一、RS232C串口通信MAX232芯片是德州仪器公司(TI)推出的电平转换集成电路,它是单电源、双路RS232发送接收器,MAX232内部有一个电源电压变换器,可以把输入的+5V电压变换成RS232需要的±10V电压,因此,可以利用MAX232芯片进行电平转换,实现单片机与PC机的通信。2.MAX232芯片知识导航一、RS232C串口通信如果两个单片机之间的距离较远,也可以在每个单片机电路上增加MAX232电平转换电路。将单片机发送端的TTL电平转换为RS232电平,接收端再将RS232电平转换为TTL电平。RS232的通信距离在15m之内,利用MAX232还可以实现程序在线下载。1.RS232C接口知识导航知识检测:1.AT89S51单片机串口采用的是正逻辑的

电平,PC机串口采用的是负逻辑的

电平。2.芯片MAX232的基本功能是实现

,另外利用MAX232还可以实现程序

。1.AT89S51单片机串口采用的是正逻辑的

TTL电平,PC机串口采用的是负逻辑的

RS232C电平。2.芯片MAX232的基本功能是实现电平转换

,另外利用MAX232还可以实现程序在线下载

。知识导航RS232C标准总线为25根,可采用标准的DB25和DB9的D形插头。目前计算机只保留了2个DB9插头,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。二、串行通信仿真组件1.DB9连接器DB9连接器知识导航二、串行通信仿真组件1.DB9连接器引脚名称功能引脚名称功能1DCD载波检测6DSR数据准备完成2RXD接收数据7RTS请求发送3TXD发送数据8CTS发送清除4DTR数据终端准备完成9RI振铃提示5GND信号地线备注:左上角为1,右下角为9知识导航PC机串行通信端口采用DB9封装的COM接口,对PC机而言其2脚为数据输出引脚,3脚为数据输入端,在串行通信中仅连接发送数据(2)、接收数据(3)和信号地(5)3个引脚即可。二、串行通信仿真组件1.DB9连接器知识导航仿真软件Proteus内置的虚拟终端可进行单片机与PC机串口通信调试,用户可以点击Proteus软件左侧的工具栏的仪表按钮

中VIRTUALTERMINAL(虚拟终端)。二、串行通信仿真组件2.虚拟终端RXD—数据接收引脚、TXD—数据发送引脚、RTS—请求发送信号、CTS—清除传送,是对RTS的响应信号。知识导航使用时其RXD端接单片机的TXD引脚,单片机所发送的字符可以在虚拟终端中显示出来。需要注意的是不能将虚拟终端连接MAX232的T1OUT引脚,否则显示乱码,另外单片机的晶振应设置为11.0592MHz,且虚拟终端的波特率要与程序中的设置相同,双击虚拟终端进入编辑元件界面。二、串行通信仿真组件2.虚拟终端知识导航BaudRate—波特率;DataBits—数据位数;Parity—奇偶校验位;StopBits—停止位数;SendXON/OFF—发送第9位允许/禁止。二、串行通信仿真组件2.虚拟终端知识导航仿真软件Proteus内置串行接口组件(COMPIM),它是标准的RS232端口,其功能相当于DB9连接器,当由CPU或UART软件生成的数字信号出现在PC物理COM端口时,它能缓冲所接收的数据,并将它们以数字信号的形式发送给Proteus仿真电路,双击串行接口组件进入编辑元件界面。二、串行通信仿真组件3.串行接口组件串行接口组件知识导航PhysicalPort—实际端口;PhysicalBaudRate—实际波特率;PhysicalDataBits—实际数据位数;PhysicalParity—实际奇偶校验位;VirtualBaudRate—虚拟波特率;VirtualDataBits—虚拟数据位数;VirtualParity—虚拟奇偶校验位。二、串行通信仿真组件3.串行接口组件知识导航知识检测:1.仿真软件Proteus软件中虚拟终端的关键字是

,串行接口组件的关键字是

。2.虚拟终端的编辑时BaudRate为设置

,Parity为设置

。3.串行接口组件中的RXD引脚功能为

,TXD引脚功能为

。知识导航知识检测:1.仿真软件Proteus软件中虚拟终端的关键字是

VIRTUALTERMINAL,串行接口组件的关键字是COMPIM。2.虚拟终端的编辑时BaudRate为设置

9600,Parity为设置

NONE。3.串行接口组件中的RXD引脚功能为

接收数据

,TXD引脚功能为

发送数据

。任务实施一、硬件电路任务实施二、软件程序#include<reg51.h>#defineucharunsignedcharucharc; //全局变量定义/******延时函数******/voiddelay(){略

}/******初始化函数******/voidinit() //函数定义{ SCON=0x40; //设置串行口工作方式 TMOD=0x20; //设置定时器工作方式 PCON=0x00; //设置电源控制寄存器 TH1=0xfd; //装初值 TL1=0xfd; TR1=1; //启动定时器}任务实施二、软件程序/******数据发送函数******/voidsend(ucharc) //函数定义

{

SBUF=c; //数据发送 while(TI==0); //查询发送标志 TI=0; //清除发送标志}任务实施二、软件程序/******主函数******/voidmain(){ init(); //调用初始化函数

while(1)

{

for(c=0;c<26;c++) //循环控制

{

send(c+'A'); //调用发送数据函数

delay(); //调用延时函数

} }}任务实施三、系统调试进行Proteus软件和Keil软件联调,观察虚拟终端显示内容,并回答以下问题。1.硬件电路中虚拟终端的功能为

,MAX232的功能为

,串行接口组件的功能为

。2.若将硬件电路中单片机的晶振参数改为12MHz,则虚拟终端显示内容为

,若将虚拟终端中的波特率改变,则虚拟终端显示内容为

,若将串行接口组件中的参数改变,则虚拟终端显示内容为

。3.程序中若将调用发送语句改为send(c+A);,则虚拟终端显示内容为

,定义发送字符为全局变量的原因是

。4.程序中若采用中断模式编程则中断函数体语句为

,数据发送语句改为

。任务实施三、系统调试进行Proteus软件和Keil软件联调,观察虚拟终端显示内容,并回答以下问题。1.硬件电路中虚拟终端的功能为

运行结果显示

,MAX232的功能为

电平转换

,串行接口组件的功能为

通信连接

。2.若将硬件电路中单片机的晶振参数改为12MHz,则虚拟终端显示内容为

其他字符

,若将虚拟终端中的波特率改变,则虚拟终端显示内容为空格和问号,若将串行接口组件中的参数改变,则虚拟终端显示内容为英文大写字母

。3.程序中若将调用发送语句改为send(c+A);,则虚拟终端显示内容为黑屏,定义发送字符为全局变量的原因是其在多个函数中应用

。4.程序中若采用中断模式编程则中断函数体语句为TI=0;,数据发送语句改为SBUF=c+’A’;。拓展知识一、虚拟串口软件虚拟串口软件VSPD(VirtualSerialPortDriver)是由著名的软件公司Eltima制作一款很实用的软件,可以虚拟计算机串口连接。拓展知识一、虚拟串口软件添加串口时首先编辑右侧“端口一”和“端口二”中的选项,然后点击右侧的“添加端口”即可添加一组连接好的串口组,并在左侧的窗口中显示添加的结果。由于计算机中COM1和COM2一般都被物理串口占用,所以选择从COM3和COM4开始作为虚拟串口。拓展知识一、虚拟串口软件如果需要删除某一组串口时,首先在左侧窗口选中要删除的串口组中的任意一个,这样才能激活右侧的“删除端口”按钮,确认无误后点击“删除端口”按钮即可。另外还可以点击软件右侧“重置端口”按钮将所有虚拟串口都删除。拓展知识知识检测:1.VSPD(VirtualSerialPortDriver)软件的中文名称是

,其功能是虚拟计算机的

。2.计算机中通用串口是

,一般虚拟串口从

开始。1.VSPD(VirtualSerialPortDriver)软件的中文名称是虚拟串口

,其功能是虚拟计算机的串口连接

。2.计算机中通用串口是

COM1和COM2,一般虚拟串口从COM3开始。拓展知识二、串口调试助手串口调试助手是一个强大稳定的串口调试工具,支持常用的波特率及自定义波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。拓展知识二、串口调试助手打开串口调试助手后,左侧从上到下依次是串口设置、接收设置和发送设置三个选项卡,其中串口设置包括端口、波特率、数据位、校验位、停止位和流控选项,接收设置包括ASCII或HEX、自动换行、显示发送、显示时间选项,发送设置包括ASCII或HEX、自动重发周期选项。右侧上方窗口为接收区、下方为发送区,点击右侧打开按钮即可打开串口,打开串口后该按钮变为发送按钮。拓展知识二、串口调试助手串口调试助手中的参数采用默认设置,分别打开串口COM3和COM4,假设串口COM3向串口COM4中发送字母“ABCD”,串口COM4向串口COM3中发送数字“1234”。拓展知识知识检测:1.串口调试助手软件中的参数设置内容包括

3种,工具栏中

的功能是

2.串口COM3若要以十六进制数发送0x30,则发送设置应选择

,串口COM4若接收的数据以ASCII显示的结果是

。1.串口调试助手软件中的参数设置内容包括串口设置

、接收设置和发送设置

3种,工具栏中

的功能是

清除

2.串口COM3若要以十六进制数发送0x30,则发送设置应选择

HEX,串口COM4若接收的数据以ASCII显示的结果是

0。技能训练设计PC机与单片机通信控制系统,利用虚拟串口将单片机和PC机进行串口连接,实现在串口调试助手发送窗口输入15个数字,单片机接收PC机发送的数字串,并通过数码管显示,设计要求如下:(1)利用Proteus软件设计硬件电路,利用虚拟串口将单片机和PC机进行串口连接,补全如图所示参考硬件电路;(2)利用Keil软件设计软件程序,补全下列参考软件程序;(3)进行PC机与单片机通信控制系统软硬件联调,利用串口调试助手发送数字,观察数码管工作情况。技能训练技能训练#include<reg51.h>#defineucharunsignedcharuchara[15],i,c; //全局变量、数组定义ucharled[]={0xc0,0xf9,0xa4,0xb0,

//数码管字型表0x99,0x92,0x82,0xf8,0x80,0x90};/******延时函数******/voiddelay(){略

}技能训练/******初始化函数******/voidinit() //函数定义{ SCON=0x50; //设置串行口工作方式 TMOD=0x20; //设置定时器工作方式 PCON=0x00; //设置电源控制寄存器 TH1=0xfd; //装初值 TL1=0xfd; IE=0X90; //启动定时器

TR1=1;

//启动定时器}技能训练/******主函数******/voidmain(){

ucharj; //变量定义 init(); //调用初始化函数 P0=0xff; //数码管不亮

while(1) { for(j=0;j<i;j++) //循环控制

{ P0=led[a[j]]; //数码管显示 delay(); //调用延时函数

}

}}技能训练/******接收中断函数******/voidser()interrupt4

//函数定义{

RI=0; //清除接收标志 c=SBUF; //数据接收 if(c>='0'&&c<='9') //数据判断 {

a[i]=c-'0'; //数据转换存储 i++; //计数器加1 if(i==15) //计数器终值判断 i=0; //计数器清零 } }技能训练三、系统调试设计完成后回答以下问题:(1)电路中COMPIM的端口设置为

,其波特率设置为

。(2)串口调试助手的端口设置为

,其波特率设置为

,若其与COMPIM参数设置不一致则数码管

。(3)程序中判断PC机发送的字符为数字的语句为

,若在串口调试助手发送窗口中输入非数字则数码管

。技能训练三、系统调试设计完成后回答以下问题:(1)电路中COMPIM的端口设置为COM4,其波特率设置为9600。(2)串口调试助手的端口设置为COM3,其波特率设置为

9600,若其与COMPIM参数设置不一致则数码管

不正确

。(3)程序中判断PC机发送的字符为数字的语句为

if(c>=‘0’&&c<=‘9’),若在串口调试助手发送窗口中输入非数字则数码管不显示

。思考练习设计单片机与PC机通信综合控制系统,设计要求如下:(1)利用虚拟串口将单片机和PC机串口连接,在串口调试助手发送窗口输入字母A~F中任意一个,单片机接收PC机发送的字母,并通过数码管显示,当按下按键后,串口调试助手接收窗口显示“YES!”。(2)补全单片机与PC机通信综合控制系统如图所示的硬件电路;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论