您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 9单片机课程设计单片机与PC串口通信
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。而单片机与PC机的通信更是现代通信的基础,学好单片机的串行通信对以后的通信协议的学习和远程控制有着深远的影响,比如近距离的用PC机控制家电和远程的用通信技术控制家电,汽车,必将对人们的生活产生重大的影响,在未来必有大的发展空间。因此在学完单片机技术之后,我们做单片机与PC机的串行通信的课程设计必将对我们的未来就业和深造有很好的帮助。-1-目录一、设计要求…………………………………………………………3二、串行通信的特点…………………………………………………8三、软件设计方案……………………………………………………11四、硬件设计方案……………………………………………………12五、程序源代码………………………………………………………13六、总结………………………………………………………………21七、参考资料…………………………………………………………22-2-一、设计要求用AT89C52单片机设计一个串行通信系统,具体要求如下:本次课程设计我们统一采用的是278201现场总线设计任务书的标准进行的,分别体现采用的是现场总线的协议和软件设计的要求,具体情况如下:1111协议介绍协议介绍协议介绍协议介绍通信数据格式如下表所示:前导符站号地址功能码数据长度数据结束符校验码##AAAAFFLLDDDD@@X数据帧详细解释如下表名称长度(字节)内容/实例备注前导符2##两个固定ASCII字符‘#’(十六进制值0x23)站号地址41234地址范围0000~9999,例如当地址是1234时,要将其转换为4个字符‘1’、‘2’、‘3’、‘4’,即0x31、0x32、0x33、0x34功能码200功能码范围00~99,同样ASCII字符数据长度212数据长度范围00~99,当数据长度是12时,要将其转换为2个字符‘1’、‘2’,即0x31、0x32数据不定不定结束符2@@两个固定ASCII字符‘@’(十六进制值0x40)LRC校验1不定把每除前导符和结束符以外的每一个需要传输的数据按字节叠加后取反加1即可2222功能码介绍功能码介绍功能码介绍功能码介绍2.1查询(读)功能码介绍2.1.1查询地址查询地址查询地址查询地址功能码00-3-数据帧类型备注##00000000@@X发送查询时由于不知对方地址,使用“0000”地址##AAAA0004AAAA@@X正常返回返回时从机用本机地址覆盖0000,并返回地址AAAA##AAAA00011@@X出错返回校验错误##AAAA00012@@X出错返回格式错误(前导符、结束符)##AAAA00013@@X出错返回内容错误(数据超限等)实例:发送##00000000@@X返回##123400041234@X2.1.2查询量程上限查询量程上限查询量程上限查询量程上限功能码:01数据帧类型备注##AAAA0100@@X发送对方地址必须正确,否则不响应##AAAA0104DDDD@@X正常返回量程上限必须是4位整数,范围0001--9999,例如0100,4250等##AAAA01011@@X出错返回校验错误##AAAA01012@@X出错返回格式错误##AAAA01013@@X出错返回内容错误2.1.3查询量程下限查询量程下限查询量程下限查询量程下限功能码:02数据帧类型备注##AAAA0200@@X发送对方地址必须正确,否则不响应##AAAA0204DDDD@@X正常返回量程下限必须是4位整数,范围0000--9998,且必须比上限小##AAAA02011@@X出错返回校验错误##AAAA02012@@X出错返回格式错误##AAAA02013@@X出错返回内容错误2.1.4查询报警上限查询报警上限查询报警上限查询报警上限功能码:03数据帧类型备注-4-##AAAA0300@@X发送对方地址必须正确,否则不响应##AAAA0304DDDD@@X正常返回报警上限必须是4位整数,范围0001--9999,例如0100,4250等##AAAA03011@@X出错返回校验错误##AAAA03012@@X出错返回格式错误##AAAA03013@@X出错返回内容错误2.1.5查询报警下限查询报警下限查询报警下限查询报警下限功能码:04数据帧类型备注##AAAA0400@@X发送对方地址必须正确,否则不响应##AAAA0404DDDD@@X正常返回报警下限必须是4位整数,范围0000--9998,且必须比上限小##AAAA04011@@X出错返回校验错误##AAAA04012@@X出错返回格式错误##AAAA04013@@X出错返回内容错误2.1.6查询温度值查询温度值查询温度值查询温度值功能码:05数据帧类型备注##AAAA0500@@X发送对方地址必须正确,否则不响应##AAAA0507DDDD.DD@@X正常返回温度范围0000.00—5000.00,例如0134.56##AAAA05011@@X出错返回校验错误##AAAA05012@@X出错返回格式错误##AAAA05013@@X出错返回内容错误2.1.7查询报警状态查询报警状态查询报警状态查询报警状态功能码:06数据帧类型备注##AAAA0600@@X发送对方地址必须正确,否则不响应##AAAA0601D@@X正常返回当D为5表示没有报警当D为6表示正在报警##AAAA06011@@X出错返回校验错误##AAAA06012@@X出错返回格式错误##AAAA06013@@X出错返回内容错误2.1.8批量查询参数批量查询参数批量查询参数批量查询参数-5-功能码:07数据帧类型备注##AAAA0700@@X发送对方地址必须正确,否则不响应##AAAA0716DDDDDDDDDDDDDDDD@@X正常返回共16位数据分别是量程上限、量程下限、报警上限、报警下限##AAAA07011@@X出错返回校验错误##AAAA07012@@X出错返回格式错误##AAAA07013@@X出错返回内容错误2.2设置(写)功能码介绍2.2.1设置地址设置地址设置地址设置地址功能码50数据帧类型备注##AAAA5004BBBB@@X发送AAAA为原地址,BBBB为新地址##BBBB50010@@X成功返回##AAAA50011@@X出错返回校验错误##AAAA50012@@X出错返回格式错误(前导符、结束符)##AAAA50013@@X出错返回内容错误(数据超限等)2.2.2设置量程上限设置量程上限设置量程上限设置量程上限功能码51数据帧类型备注##AAAA5104DDDD@@X发送量程上限必须是4位整数,范围0001--9999,例如0100,4250等##AAAA51010@@X成功返回##AAAA51011@@X出错返回校验错误##AAAA51012@@X出错返回格式错误(前导符、结束符)##AAAA51013@@X出错返回内容错误(数据超限等)2.2.3设置量程下限设置量程下限设置量程下限设置量程下限功能码52数据帧类型备注-6-##AAAA5204DDDD@@X发送量程下限必须是4位整数,范围0000--9998,且必须比上限小##AAAA52010@@X成功返回##AAAA52011@@X出错返回校验错误##AAAA52012@@X出错返回格式错误(前导符、结束符)##AAAA52013@@X出错返回内容错误(数据超限等)2.2.4设置报警上限设置报警上限设置报警上限设置报警上限功能码53数据帧类型备注##AAAA5304DDDD@@X发送量程上限必须是4位整数,范围0001--9999,例如0100,4250等##AAAA53010@@X成功返回##AAAA53011@@X出错返回校验错误##AAAA53012@@X出错返回格式错误(前导符、结束符)##AAAA53013@@X出错返回内容错误(数据超限等)2.2.5设置设置设置设置报警报警报警报警下限下限下限下限功能码54数据帧类型备注##AAAA5404DDDD@@X发送报警下限必须是4位整数,范围0000--9998,且必须比上限小##BBBB54010@@X成功返回##AAAA54011@@X出错返回校验错误##AAAA54012@@X出错返回格式错误(前导符、结束符)##AAAA54013@@X出错返回内容错误(数据超限等)3333体系结构体系结构体系结构体系结构物理层:遵循RS-232标准,通信接口采用DB9(2、3、5脚分别为发送、接受、地线)网络采用主机主叫轮询方式,通信一定由主机发起,采用一问一答制,从机无权主动呼叫。当主机发出呼叫后,从机必须在1秒内有应答,如1秒内没有应答可视为呼叫失败,并自动重新呼叫,如连续3次呼叫失败则放弃呼叫。4444、软件功能要求、软件功能要求、软件功能要求、软件功能要求1)可设置RS-232通信参数(波特率等)-7-2)通过图形界面查询、设置、显示、保存相关参数3)显示、保存所有通信数据帧(包括发送和接收)4)主机功能和从机功能集成在一个程序中5555、其他要求、其他要求、其他要求、其他要求1、独立完成软件设计和论文撰写。2、所有变量、窗体、函数命名格式为“XXXX_学号”,例如“RangeMax_23”、“RangeMin_23”。3、论文必需包括需求分析、系统设计、详细设计、运行调试等过程,必须包含设计及运行过程的关键截图。4、验收时2人一组进行验收,每人配备一台电脑及相关通信接口,当一台PC为主机时,另外一台PC作为从机,实现系统互联。二、串行通信的特点串口通信参数:(1)波特率:RS-232标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。(2)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。(3)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。(4)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。例如,对于16进-8-制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图2(TTL电平)和图3(RS-232电平)所示。55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为0101010101,55HaaH=10101010B,取反后01010101B,加
本文标题:9单片机课程设计单片机与PC串口通信
链接地址:https://www.777doc.com/doc-4528861 .html