基于MATLAB的计算机串口通信的研究_张道明
- 格式:pdf
- 大小:463.68 KB
- 文档页数:3
基于Matlab的红外串行通信研究李俊华【摘要】介绍一种基于Matlab的红外通信电路的研究设计.简要介绍了Matlab 进行数据处理方面的优点,然后分析Matlab进行串口传输的原理和方法.设计出基于AT89S51的红外发送和接收电路.并将Matlab产生的数据作为数据源进行红外传输.这种方法有利于结合Matlab的数据处理和数据传输的优点,有一定的实用性.%The research and design of a Matlab-based infrared communication circuit are introduced.The Matlab advantages for data processing are presented briefly.The principles of Matlab-based serial transmission is analyzed.IR transceiving circuit based on AT89S51 is designed.The data generated by Matlab is taken as a data source to perform the IR transmission.This approach is conducive to combination of Matlab-based data processing and data transmission advantage.Therefore, it has a certain practicality.【期刊名称】《现代电子技术》【年(卷),期】2011(034)003【总页数】3页(P59-60,64)【关键词】Matlab;红外;串行通信;AT89S51单片机【作者】李俊华【作者单位】闽江学院现代教育技术中心,福建福州,350108【正文语种】中文【中图分类】TN929.1-340 引言Matlab是一种开放型程序设计语言,拥有集计算、可视化、编程和仿真于一体的开发环境。
文章标题:探索Matlab中的串口通信系统设计在当前的现代通信系统中,串口通信系统设计已经成为一项至关重要的任务。
在Matlab中,借助各种工具和函数,我们可以设计出高效、稳定和灵活的串口通信系统。
本文将从简单到复杂、由浅入深地探讨Matlab中的串口通信系统设计,为读者提供全面的了解和深入的思考。
1. 串口通信系统概述在进行Matlab中的串口通信系统设计之前,我们首先需要了解串口通信系统的基本概念和原理。
串口通信是通过串行接口进行数据传输的一种通信方式,它在各种领域中都有着广泛的应用,包括嵌入式系统、通信设备、工业控制等。
Matlab作为强大的工程计算软件,为我们提供了丰富的工具和函数来进行串口通信系统设计,包括串口对象、串口配置、数据读写等功能。
2. Matlab中的串口通信基本操作在Matlab中,我们可以通过串口对象来进行串口通信的基本操作。
我们需要创建一个串口对象,并进行相应的配置,包括波特率、数据位、停止位、校验位等参数。
我们可以使用该串口对象来进行数据的读写操作,可以发送数据到外部设备,也可以接收来自外部设备的数据。
通过Matlab中丰富的串口函数,我们可以轻松实现串口通信系统的基本功能。
3. Matlab中的串口通信系统设计在实际的工程应用中,我们通常需要设计更加复杂和灵活的串口通信系统。
在Matlab中,我们可以借助信号处理工具箱、通信工具箱等功能来进行串口通信系统的设计。
通过信号处理工具箱,我们可以实现对串口数据的解调、调制、滤波等操作,从而提高通信系统的稳定性和性能。
而通信工具箱中的各种算法和工具则可以帮助我们实现更加复杂的通信协议和数据处理。
4. 个人观点和总结在我看来,Matlab是一款非常适合进行串口通信系统设计的软件,它不仅提供了丰富的工具和函数,还具备强大的计算能力和灵活的编程环境。
通过Matlab,我们可以实现从简单到复杂的串口通信系统设计,为各种应用场景提供定制化的解决方案。
基于Matlab环境的串行数据通信
张立材
【期刊名称】《《微计算机信息》》
【年(卷),期】2004(20)3
【摘要】介绍基于Matlab环境的微机与单片机串行数据通信方法。
该方法利用Matlab的Instrument Control工具箱的serial类对象实现串行数据通信,实验系统在Matlab环境下实现数据采集。
【总页数】2页(P100-101)
【作者】张立材
【作者单位】710055 陕西西安市雁塔路13号西安建筑科技大学信控学院
【正文语种】中文
【中图分类】TP919
【相关文献】
1.基于串行数据通信的数控机床故障诊断与维修 [J], 施吉祥;陈建松;张远明
2.基于Matlab和AVR单片机的串行数据通信设计 [J], 伊磊;聂欢欢;刘任平
3.MATLAB环境下的串行数据通信系统设计 [J], 罗胜恩;罗小武;孙战军
4.MATLAB环境下的串行数据通信系统设计 [J], 罗胜恩;罗小武;孙战军
5.基于ⅡC总线的串行数据通信 [J], 吴海洲
因版权原因,仅展示原文概要,查看原文内容请购买。
matlab之串口通信matlab之串口通信串口通信,一般是指RS232、RS422之间的通信。
matlab中有专门的serial函数来创建串口对象。
设串口ID号为COM1,则创建方法为:复制内容到剪贴板代码:>>scom= serial('com1');创建完串口对象后,一般需要设置串口对象的属性,否则,串口不会相互通信。
复制内容到剪贴板代码:>> get(scom)ByteOrder = littleEndianBytesAvailable = 0BytesAvailableFcn =BytesAvailableFcnCount = 48BytesAvailableFcnMode = terminatorBytesToOutput = 0ErrorFcn =InputBufferSize = 512Name= Serial-COM1ObjectVisibility = onOutputBufferSize = 512OutputEmptyFcn =RecordDetail = compactRecordMode = overwriteRecordName = record.txtRecordStatus = offStatus = closedTag=Timeout = 10TimerFcn =TimerPeriod = 1TransferStatus = idleType= serialUserData = []ValuesReceived = 0ValuesSent = 0SERIAL specific properties:BaudRate= 9600BreakInterruptFcn =DataBits = 8DataTerminalReady = onFlowControl = noneParity = nonePinStatus = [1x1 struct]PinStatusFcn =Port= COM1ReadAsyncMode = continuousRequestToSend = offStopBits = 1Terminator = LF这些属性中,要使串口真正通信,一般要设置这几个属性:BaudRate:波特率;Parity:奇偶校验类型;DataBits:数据位,一般为8,不用设置;StopBits:停止位,一般为1,不用设置;TimerFcn :定时回调函数;TimerPeriod:定时周期;BytesAvailableFcn:字节计数回调函数BytesAvailableFcnCount:字节计数BytesAvailableFcnMode:一般设置为字节模式,即byte串口通信时,数据一般按帧传送,有的数据量比较大,会将帧打包后发送。
478其中:引脚X1、X2接外部晶振输入端,可直接以32. 768kHz的晶体源驱动;Vbat接后备电源/电容,该引脚不用时接地;SDA为串行数据输入输出端;SCL为串行时钟输入端;IRQ/Fout为中断/频率输出端,可用作中断/频率输出;Vdd和GND为电源和接地端。
3. ISL1208内部结构及其工作原理ISL1208内部结构框图如图2。
由图可知,ISL1208主要包括:I2C接口控制单元、实时时钟控制逻辑、时钟分频器、电源管理单元和寄存器单元。
其中寄存器单元被分成四段:实时时钟、控制与状态、报警寄存器和用户SRAM;这四段寄存器各自含有不同的功能:实时时钟和报警寄存器用于写入/读出时间值和报警值,其写入形式为BCD码;控制与状态寄存器可完成对其他寄存器读写控制、报警与频率输出控制、模拟与数字微调控制等功能,其存储映射图如表1。
控制与状态寄存器(Control and Status)控制与状态寄存器包括状态寄存器、中断与报警寄存器、模拟微调与数字微调寄存器。
状态寄存器(SR):用来控制RTC失效、电池模式、报警触发、时钟计数器写保护、晶体振荡器使能以及状态位的自动复位或者提供相应的状态信息。
在时钟上电时,需将写RTC使能位WRTC置“1”,以便启动时钟计数。
中断控制寄存器(INT):主要用于控制时钟的周期性和单事件报警。
其中频率输出控制位FO3-FO0使能/禁止频率输出功能,并选择IRQ/FOUT引脚的输出频率(2-5Hz-215Hz)。
在频率模式被激活时它将覆盖IRQ/FOUT引脚上的报警模式。
报警使能位ALME使能/禁止报警功能,中断/报警模式位IM使能单周期定时事件(IM=0)/周期定时事件(IM=1)。
模拟微调寄存器(ATR):ATR0至ATR5为六位模拟微调位,可调整片内负载电容(CX1、CX2)的值,这一电容值用于RTC的频率补偿,其每一位都有不同的电容调节比重。
有效的片内串联负载电容CLOA D 的范围从4.5pF至20.25pF,中间值为12.5pF(默认)。
一. MATLAB串口通信技术对于WINDOWS系统而言,硬件系统的驱动程序有着十分严格的规范,可以用C或汇编语言进行开发,而MATLAB本身是一个跨平台的软件,并不具备直接访问硬件的能力。
即使安装了驱动程序并能正常工作的硬件设备,MATLAB也没有统一的形式对其进行访问。
对于系统的串口,在MATLAB6.X中以类(SERIAL)的形式提供了支持。
当用指令建立了一个串口对象(句柄)以后,对串口的硬件操作可以文件操作的软件形式来完成,方法比较简单。
常用的串口操作命令及其含义如下表(1)所示,这些命令既可在MATLAB命令窗口实现,也可以M文件的形式出现,使用起来十分方便。
表1 MATLAB串口操作命令表二. 数据采集系统与PC机通信的硬件电路为了简化系统的硬件设计,数据采集系统的微转换器选用AD公司的全集成芯片ADu C812,该芯片包含有12位高性能的自校准8通道ADC,两个12位的DAC,与8051兼容的内核使用户无须学习新的指令系统。
片内8K闪速/电摖除程序存储器使数据采集系统具有在线下载编程能力,利用AD公司提供的免费SERIAL WINDOW DOWNLOAD就可以将H EX文件下载到ADuC812内,对于不同的应用场所可以方便的修改系统的参数,既不需要昂贵的编程器,也不需打开机壳插拨芯片,只需将一条电缆连接到计算机的COM1或COM 2即可。
另外该转换器还支持看门狗定时器、电源监视器及ADC的DMA等功能,可编程的I/O口具有三种类型的串口UART、SPI、I2C,价格也比较便宜,是一种理想的转换器。
系统的硬件组成如下图(1)所示。
图1 ADUC812与PC机串口通信的硬件电路图其中ADM202及P3.0\P3.1构成了与计算机通信的RS232接口,它有两个功能,一是实现计算机与数据采集系统的数据通信。
另一功能是与JP1配合使用,完成将程序从计算机下载到ADuC812片内的闪速/电摖除程序存储器中。
入深的从概述USB和驱动程序的基本理论,继而根据DriverWorks的开发流程,重点介绍了其中的USB开发的设计,针对USB及驱动程序开发的初学者,使其能够便捷的了解USB和WDM模型驱动程序,并掌握开发工具中USB驱动开发的要点,快速的进入到驱动程序开发的工作中去。
参考文献[1]王志强.USB设备驱动程序开发技术研究.微计算机信息,2006[2]宁立革.基于嵌入式操作系统的USB驱动程序开发.微计算机信息,2005.[3]武安河.Windows2000/XP WDM设备驱动程序开发[….北京:电子工业出版社,2006.[4]薛园园.uSB应用开发技术大全[”]北京:人民邮电出版社,2007.作者简介田心~航天信息股份有限公司、数字技术研究院、芯片研发工程师,主要研究方向是信息安全领域的芯片研发与设计。
■MATLAB环境下PC机与16位单片机串行通信的研究1.汉泽西1.郭正虹2.彭宏文1.甘志强(1.西安石油大学电子工程学院2.中国石油测井有限公司长庆事业部摘要:文章提出一种PC机与16位单片机串行通信的设计方案。
利用控制工具箱serial类对象实现PC机与单片机SPCE061A间的异步串行通信,给出设计方案的硬件电路和部分软件程序,并通过对实验结果的分析说明串行通信的可靠性。
关键词:MATLAB,单片机,串行通信Research of SeriaI Com rnunication between PC and MCU In MATLAB Envi ronment1.Han Zexi1.6uo Zhenghong2.Peng Hongwen1.Gan Zhiqiang(1.Xi’an Shiyou University,Department of Electric Engineer(2.Chinese Petroleum Oil wel l logging Limited companyChangqing Services departmentAbstract:A method of serial communication between PC and16一bitS MCU in MATLAB Environment iS described.ThiS article employs serial Class object of the Instrument Toolbox provided by MATLAB to real ize the asynchronous serial communication between PC and16一bitS MCUw--SPCE061A.Concludes design method’S hardware Circuit and part of software programe.It alSO explain the reliabilitv of the communication result througth the analysiS of experiment result.Keywords:MATLAB,MCU,Serial Communlcation0.引言随着计算机系统的广泛应用和网络的飞速发展,各种控制设备间的通信功能显得越来越重要。
数字信号处理2012电子信息工程专业答辩报告姓名杨全任伟学号********* *********成绩Matlab与51单片机的串口通信一、简介从Matlab6.0版本开始,Mathworks公司在软件中增加了设备控制箱(instrument control toolbox),提供了对RS-232/RS-485通信标准串口(九针串口)通信正式支持(本实验采用USB转串口)利用该工具箱serial类及instrcallback()回调函数,能可靠地进行实时串地通信。
Matlab支持面向对象技术,用一个对象将计算机串口封装起来,只要创建串口对象,对串口对象操作就是对串口操作,非常方便。
使用serial函数就可创建串口对象,通过定义串口对象的属性,能定义串口的通信模式,从串口对象属性也能了解串口的状态,即可以通过MATLAB的串口通讯函数读写数据。
二、 Matlab串口函数serial 创建一个串口对象,格式:s = serial('coml' )fopen 打开串口对象,格式:fopen(s)fwrite 其他程序能对该串口进行读写操作fwrite(s,’’)fread 读取串口数据,格式: fread(s)fclose 关闭串口对象,格式:fclose(s)free 解除Matlab对串口对象的控制,使delete 删除对象s,格式:delete(s)clear 从工作空间中删除对象s,格式:clear(s)三、实现功能利用MATLAB串口通信函数,读写51单片机(STC89C52R+)数据,运用keil编写时钟程序,烧录到单片机中,时钟程序实现的功能是实现时钟的显示,并且能用开发板上的三个按钮进行时钟的修改,一个按钮进入修改模式(复位),另两个实现时间的增减。
编辑MATLAB程序,实现对单片机的控制。
读写串口操作。
初始化并打开串口调协对象之后,现在可以对串口设备对象进行读写操作,串口读写操作支持二进制和文本(ASCII)两种方式。
基于Matlab和AVR单片机的串行数据通信设计摘要:介绍了基于matlab和avr单片机通过pc机进行通信的方法。
通过matlab下的通信类serial类元件库实现串行通信,并利用avr单片机对采集到的数据进行相应处理。
关键词:串行通信; serial类对象; avr单片机; matlab串行通信serial communication based on matlab and avryi lei, nie huanhuan, liu renping(north china university of technology, beijing, 100144, china)abstract: the authors present in this paper an approach for serial communication based on matlab and avr through pc and explain how to achieve the serial communication based on the component library of matlab and act respectively according to the data which the mcu collects.key words: serial communication; serial class object; mcu of avr; serial communication of matlab0 引言matlab是mathworks公司开发的一种科学计算软件。
matlab运行稳定、可靠、使用方便,是广大科研人员进行科学研究的得力助手。
matlab不仅具有强大的科学计算功能,还具有满足一般要求的数据采集以及界面设计开发等功能[1]。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度的通信方法。