- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.用C语言或汇编语言实现串口通信(PC和单片机间)
上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC
机作为上位机,单片机作为下位机,二者通过RS-232或者RS-485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示
1 硬件电路的设计
MCS-51单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。所以单片机和PC机之间可以方便地进行串口通讯。单片机串口有3条引线:TXD(发送数据),RXD(接收数据)和GND(信号地)。因此在通信距离较短时可采用零MODEM方式,简单三连线结构。IBM-PC机有两个标准的RS-232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了PC机与MCS-51机之间能可靠地进行串行通信,需要用电平转换芯片,可以采用MAXIM公司生产的专用芯片MAX232进行转换。电路如图1所示。硬件连接时,可从MAX232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。接口电路如图3.5所示。
总体设计按照整体设计思路方案绘制原理图如下所示:
2 系统软件设计
软件设计分上位机软件设计和下位机软件设计。这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的:一个发送,另一个接收。为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序。现约定通信协议如下:PC机和单片机都可以发送和接收。上位机和下位机均采用查询方式发送控字符和数据、中断方式接收控制字符和数据。采用RS-232串口异步通信,
1 上位PC机与下位单片机异步串行通信的通信协议
为了保证可靠的通信,必须有一套完善的通信协议。分布式控制系统中的每台单片机均有唯一的番号。通信开始时,先由PC机呼叫被叫单片机的番号,单片机在接收到微机的呼叫后,首先判断是不是自己的番号,如果是,则发送呼叫应答信号,否则不予理睬。微机在接收到呼叫应答信号之后,将向单片机发出通信命令字符串。以下是上位PC机协议的格式:
单片机号 单片机号 命令码 命令码 停止标志 其中,单片机号代表现场第几台单片机,占用1个字节,发送两次的目的是为了防止干扰;命令码则代表上位机向下位机发布的工作命令,它也占用1个字节,发送两次的目的也是为了防止干扰。而停止标志则表明一次命令发送完毕。使用时可依据该标志判断上位机的命令是否发送完毕。
下位机协议格式如下:
数据块 校验位 该格式中,数据块为下位机上传到上位PC机的数据。校验位则用于PC机对收到的数据进行奇偶校验(占1个字节)。校验正确后,可将数据写入内存,否则发出数据传输错误信息,以要求单片机重新传输数据。
另外,作为一个完整的通信协议,只有上述约定还不够,还必须在发送和接收数据的时间间隔上加以限制。否则,很可能由于某些原因而造成无限制的等待对方应答,使整个系统处于工作不正常状态,或者延误其它动作的处理。具体时间限制可根据通信内容、CPU处理速度,再加上适当的余量来确定。
单片机的数据通信由串行口完成,定时器T1 作为波特率发生器,其波特率要与PC 机一致。数据的传送格式为1 位起始位、8 位数据位和1 位停止位。采用中断方式发送和接收数据,定时器T1 设置为工作工作模式2,串行口设置为工作方式3,由第9位判断停止。具体的程序流程图见下。
①单片机中断方式接收程序
当PC 机不发送任何数据的时候,从机单片机始终处于等待状态(P.),直到PC 机发送数据过来。由于PC 机在发送有效数据之前会加一个开始符(FFH),在有效数据之后会加一个开始符(7FH),所以单片机接收到主机发送来的FFH 之后,置RAM 存贮单元的初始地址30H 单元,用来放紧接着接收的数据,程序中还用了一个计数器COUNTER 来计接收到的数据位数,直到接收到7FH 为止。
单片机接收主程序MAIN 及中断服务程序STR 清单如下:
COUNTER EQU 40H
POINT EQU 41H
ORG 0000H
LJMP MAIN
ORG 0023H
LJMP SRT
MAIN:MOV SP,#60H
MOV TMOD,#20H ;定时器T1 的方式2
MOV PCON,#00H ;串行口波特率控制位
MOV TH1,#0F4H ;2400Kb/s
MOV TL1,#0F4H
MOV 30H,#15
MOV COUNTER,#1
MOV R0,#30H ;接收数据存放区
您可能关注的文档
- 2007级(上)第21次课第六节函数图形描绘.ppt
- 汉字串模糊匹配算法.pdf
- 焊接用焊丝的选用原则方法和选用表(详细资料).doc
- 2008北京历年中考数学真题和答案汇编.pdf
- 2008年我国集装箱行业发展和钢铁产品需求趋势分析.doc
- 2008我国集装箱产业及世界经济贸易发展.pdf
- 2010高级电工考证题库与答案.pdf
- 河流特征描述及成因分析.doc
- 核电站二回路系统及设备.pdf
- 2010届高三一轮复习数学精品资料:第五节 平面向量.doc
- 湖南省怀化市2024-2025学年高二上学期期末质量检测英语试题.docx
- 江西省2024-2025学年高一上学期1月期末英语试题.docx
- 云南省昆明市2024-2025学年高三2月大联考英语强化题.docx
- 甘肃省定西市定西八校2024-2025学年高二上学期1月期末英语试题【含答案解析】.docx
- 广东省阳江市高新区2024-2025学年高二下学期2月月考英语试题【含答案解析】.docx
- Unit 1-知识清单(含必备知识结构图&即时训练&单元词汇记忆表)(解析版).docx
- 广东省茂名市信宜市2024-2025学年高二上学期1月期末物理试题.docx
- 湖北省武汉市2024-2025学年高一上学期期末语文试题【含答案解析】.docx
- 高校保卫处年终工作总结.pptx
- 食品药品日常知识.pptx
最近下载
- 统编版高中语文选择性必修下册2024第一单元 测试卷(含答案).docx VIP
- 电子商务法(第二版)课件全套 朱晓娟 第1--9章-电子商务法概述---电子商务的争议解决.pptx
- 2025年湖南铁路科技职业技术学院单招职业适应性测试题库(考点梳理).docx VIP
- 电商领域智能客服及售后服务体系构建计划.doc VIP
- 形式发票模板.docx
- 儿科合理用药培训【13页】.pptx VIP
- 山洪沟防洪治理典型工程措施研究——以会昌县古坊河为例.pdf VIP
- 八下语文新增名著《经典常谈》章节习题+答案.pdf VIP
- 1.2我能变得更好 (课件)部编版道德与法治三年级下册.pptx
- 2024年湖南生物机电职业技术学院单招职业技能测试题库(b卷).docx
文档评论(0)