基于matlab和avr单片机的串行数据通信设计

基于matlab和avr单片机的串行数据通信设计

ID:13903318

大小:37.00 KB

页数:6页

时间:2018-07-24

基于matlab和avr单片机的串行数据通信设计_第1页
基于matlab和avr单片机的串行数据通信设计_第2页
基于matlab和avr单片机的串行数据通信设计_第3页
基于matlab和avr单片机的串行数据通信设计_第4页
基于matlab和avr单片机的串行数据通信设计_第5页
资源描述:

《基于matlab和avr单片机的串行数据通信设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于Matlab和AVR单片机的串行数据通信设计摘要:介绍了基于matlab和avr单片机通过pc机进行通信的方法。通过matlab下的通信类serial类元件库实现串行通信,并利用avr单片机对采集到的数据进行相应处理。关键词:串行通信;serial类对象;avr单片机;matlab串行通信serialcommunicationbasedonmatlabandavryilei,niehuanhuan,liurenping(northchinauniversityoftechnology,beijing,100144,

2、china)abstract:theauthorspresentinthispaperanapproachforserialcommunicationbasedonmatlabandavrthroughpcandexplainhowtoachievetheserialcommunicationbasedonthecomponentlibraryofmatlabandactrespectivelyaccordingtothedatawhichthemcucollects.keywords:serialcommunicat

3、ion;serialclassobject;mcuofavr;serialcommunicationofmatlab0引言matlab是mathworks公司开发的一种科学计算软件。matlab运行稳定、可靠、使用方便,是广大科研人员进行科学研究的得力助手。matlab不仅具有强大的科学计算功能,还具有满足一般要求的数据采集以及界面设计开发等功能[1]。串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度的通信方法。它只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计

4、算机与外设之间的远距离通信。目前常用的串行通讯协议有rs-232、rs-422和rs-485等。从matlab6.0版本开始,软件中增加了设备控制箱(instrumentcontroltoolbox)功能,提供了对rs-232/rs-485通信标准的串口通信的正式支持。利用该工具箱的serial类及fopen、fread等函数,能可靠地进行实时串行通信。根据matlab的设备控制箱功能,matlab产生的数据,例如图像数据、音频数据等,通过串口输出作为传输的数据源,并可通过控制电路由avr单片机实现。这种方法将matl

5、ab的数据运算与单片机的数据处理有机结合起来,具有一定的实际意义[2]。1matlab的串口通信原理对于系统的串口,在matlab中以serial类的形式提供了支持。当用指令建立一个串口对象(句柄)后,对串口的硬件操作可以以文件操作的软件方式来完成,该方法比较简单。matlab提供了对串口进行打开、关闭、以及串口参数设置等操作的一系列函数。利用这些函数可以选择串口号、设置串口通信参数,例如波特率、数据位、停止位、校验位等。matlab对串口的控制主要通过以下几个步骤[3]。⑴为应用程序创建串口对象,需要用到的函数为s=

6、serial(‘com1’):创建com1串口对象,并以s标识。其中串口的属性使用系统默认值。⑵创建串口com1后,打开串口需要用到的函数为fopen(s):打开com1串口。⑶设置串口的属性参数,需要用到的函数为props=set(s,‘propertyname’,propertyvalue,…):设置正确的串口通信参数。通过定义串口对象的属性,就能定义串口的通信模式,也可以了解串口的状态。串口对象几个比较重要的属性如下。baudrate:定义传输波特率,常用的波特率有1200、2400、4800、9600、1920

7、0、115200等,缺省值为9600;databits:定义数据帧的比特位数;parity:定义校验方式;stopbits:定义数据停止位。⑷从串口读数据或者向串口写数据,也就是接收或者发送数据。需要用到的函数和参数有以下[4]。fread(s):以二进制通信方式读取串口数据。fwrite(s):以二进制通信方式向串口写数据。fprintf(s,‘id’):以文本通信方式向串口输出字符串‘id’,写操作以同步方式进行。id=fscanf(s):以文本通信方式向串口读入字符串‘id’,并且保存在变量id中。⑸关闭串口并且

8、释放串口对象占用的存储空间。需要用到的函数有以下。fclose(s):关闭串口。delete(s):释放串口对象占用的内存空间。clears:释放串口对象在matlab工作区中占用的存储空间。用matlab实现对串口的读写操作,单片机可以通过串口接收matlab传来的数据,并且对数据作出处理。2avr对串口数据进行处理以下实验是通

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。