linux串口工具 SRT,汇编语言实现串口通信(PC和单片机间).doc
汇编语言实现串口通信(PC和单片机间)
8.用C语言或?汇编语言实?现串口通信?(PC和单片?机间)
上位机和下?位机的主从?工作方式为?工业控制及?自动控制系?统所采用。由于PC机?分析能力强?、处理速度更?快及单片机?使用灵活方?便等特点,所以一般都?将PC
机作为上位?机,单片机作为?下位机,二者通过R?S-232或者?RS-485接收?、发送数据和?传送指令。单片机可单?独处理数据?和控制任务?,同时也将数?据传送给P?C机,由PC机对?这些数据进?行处理或显?示
1 硬件电路的?设计
MCS-51单片机?有一个全双?工的串行通?讯口UAR?T,利用其RX?D和TXD?与外界进行?通信,其内部有2?个物理上完?全独立的接?收、发送缓冲器?SBUF,可同时发送?和接收数据?。所以单片机?和PC机之?间可以方便?地进行串口?通讯。单片机串口?有3条引线?:TXD(发送数据),RXD(接收数据)和GND(信号地)。因此在通信?距离较短时?可采用零M?ODEM方?式,简单三连线?结构。IBM-PC机有两?个标准的R?S-232串行?口,其电平采用?的是EIA?电平,而MCS-51单片机?的串行通信?是由TXD?(发送数据)和RXD(接收数据)来进行全双?工通信的,它们的电平?是TTL电?平;为了PC机?与MCS-51机之间?能可靠地进?行串行通信?,需要用电平?转换芯片,可以采用M?AXIM公?司生产的专?用芯片MA?X232进?行转换。电路如图1?所示。硬件连接时?,可从MAX?232中的?2路发送器?和接收器中?任选一路,只要注意发?送与接收的?引脚对应关?系即可。接口电路如?图3.5所示。
总体设计按?照整体设计?思路方案绘?制原理图如?下所示:
2 系统软件设?计
软件设计分?上位机软件?设计和下位?机软件设计?。这两部分虽?然在不同的?机器上编写?和运行,但它们要做?的工作是对?应的:一个发送,另一个接收?。为了保证数?据通信的可?靠性,要制定通信?协议,然后各自根?据协议分别?编制程序。现约定通信?协议如下:PC机和单?片机都可以?发送和接收?。上位机和下?位机均采用?查询方式发?送控字符和?数据、中断方式接?收控制字符?和数据。采用RS-232串口?异步通信,
1 上位PC机?与下位单片?机异步串行?通信的通信?协议
为了保证可?靠的通信,必须有一套?完善的通信?协议。分布式控制?系统中的每?台单片机均?有唯一的番?号。通信开始时?,先由PC机?呼叫被叫单?片机的番号?,单片机在接?收到微机的?呼叫后,首先判断是?不是自己的?番号,如果是,则发送呼叫?应答信号,否则不予理?睬。微机在接收?到呼叫应答?信号之后,将向单片机?发出通信命?令字符串。以下是上位?PC机协议?的格式:
单片机号
单片机号
命令码
命令码
停止标志
其中,单片机号代?表现场第几?台单片机,占用1个字?节,发送两次的?目的是为了?防止干扰;命令码则代?表上位机向?下位机发布?的工作命令?,它也占用1?个字节,发送两次的?目的也是为?了防止干扰?。而停止标志?则表明一次?命令发送完?毕。使用时可依?据该标志判?断上位机的?命令是否发?送完毕。
下位机协议?格式如下:
数据块
校验位
该格式中,数据块为下?位机上传到?上位PC机?的数据。校验位则用?于PC机对?收到的数据?进行奇偶校?验(占1个字节?)。校验正确后?,可将数据写?入内存,否则发出数?据传输错误?信息,以要求单片?机重新传输?数据。
另外,作为一个完?整的通信协?议,只有上述约?定还不够,还必须在发?送和接收数?据的时间间?隔上加以限?制。否则,很可能由于?某些原因而?造成无限制?的等待对方?应答,使整个系统?处于工作不?正常状态,或者延误其?它动作的处?理。具体时间限?制可根据通?信内容、CPU处理?速度,再加上适当?的余量来确?定。
2 单片机通信?程序设计
单片机的数?据通信由串?行口完成,定时器T1? 作为波特率?发生器,其波特率要?与PC 机一致。数据的传送?格式为1 位起始位、8 位数据位和?1 位停止位。采用中断方?式发送和接?收数据,定时器T1? 设置为工作?工作模式2?,串行口设置?为工作方式?3,由第9位判?断停止。具体的程序?流程图见下?。
①单片机中断?方式接收程?序
当PC 机不发送任?何数据的时?候,从机单片机?始终处于等?待状态(P.),直到PC 机发送数据?过来。由于PC 机在发送有?效数据之前?会加一个开?始符(FFH),在有效数据?之后会加一?个开始符(7FH),所以单片机?接收到主机?发送来的F?FH 之后,置RAM 存贮单元的?初始地址3?0H 单元,用来放紧接?着接收的数?据,程序中还用?了一个计数?器COUN?TER 来计接收到?的数据位数?,直到接收到?7FH 为止。
linux串口工具 SRT,汇编语言实现串口通信(PC和单片机间).doc相关推荐
- linux串口工具 SRT,应用于简单控制任务的软PLC——PC WORX SRT
摘要:菲尼克斯电气的软PLC--PC WORX SRT可以将一台普通的Windows电脑变成一台PLC.而最新的PC WORX SRT V1.10版本提供了更简便的安装.配置过程,以及更灵活的功能. ...
- 『实用教程』VSPD虚拟串口工具——从此告别硬件串口调试
- 虚拟串口工具VSPD简单使用
1.下载 资源下载 虚拟串口+串口调试工具 2.安装及破解 解压vspd7.2.308.zip后文件如下,点击vspd.exe安装(安装没啥技巧一直下一步就好了,不过需要记住安装地址),在安装完成之后 ...
- 日常生活小技巧 -- 虚拟串口工具
串口部分基本讲完,最后再提供一个虚拟串口工具. 一.虚拟串口 vspdconfig 下载:虚拟串口工具 二.安装 执行 vspd.exe,正常安装,安装完后将Cracked目录下的两个文件,拷贝到安装 ...
- qt linux 串口eventdriven,详解 Qt 串口通信程序全程图文 (1)
Qt 串口通信程序全程图文 是本文介绍的内容,在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类.我们可以去 http://sourc ...
- codesys中打开linux端的串口_干货分享——安卓串口通信
1 引言 串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.串口通信(Serial Communicatio ...
- Linux 串口工具 cutecom
Linux工具-串口工具 cutecom cutecom 一个位于 linux 系统下的串口工具 安装方法 1.使用终端 apt 命令进行安装,一路回车就可以完成安装. sudo apt-get in ...
- AM335x Linux uart 串口(rs485rs232)无法正常通信的一种解决方法
先大概说说我是如何解决rs485(uart4)&rs233(uart5)的通信问题. 首先,在kernel-AGV/drivers/tty/serial/omap-serial.c中确定串口的 ...
- Linux串口工具Minicom连接TQ2440开发板
开发板光盘带了串口工具,但是基本上都是基于Windows的.我的电脑只有Linux可用.只好自己折腾了. 网上随便找了一个资料: http://www.linuxidc.com/Linux/2011- ...
最新文章
- 系统架构师-基础到企业应用架构-表现层
- linux下的time函数们
- 前端ui框架_跨屏建站发布同名响应式前端ui框架
- 8086汇编_除法指令
- MYSQL 表 部分数据导出、导入
- C++空类中的默认函数
- maven仓库中心mirrors配置多个下载中心(执行最快的镜像)
- xml文件转json文件
- 电路交换、报文交换与分组交换
- PHP配置优化《MordenPHP》
- 50G PON将成为未来发展部署的重点
- DELETE_FAILED_INTERNAL_ERROR 小米之殇
- 安卓手机APP 开发
- 人工智能中的常用搜索策略
- 基于连续小波变换的厄尔尼诺海平面周期变化数据集分析
- Mybatis的配置文件参数详解
- Java 如何模拟真正的并发请求?
- Canoe 安装流程
- 网站服务器域名费用入什么科目,域名费用计入什么科目
- 手柄映射软件_生化危机3该用哪款游戏手柄?北通宙斯给你四维游戏体验