- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 -
目录
TOC \o 1-3 \h \z \u 第1章 需求分析 - 1 -
1.1 课题名称 - 1 -
1.2 任务 - 1 -
1.3 要求 - 1 -
1.4 设计思想 - 1 -
1.5 课程设计环境 - 1 -
1.6 设备运行环境 - 2 -
1.7 我在本实验中完成的任务 - 2 -
第2章 概要设计 - 2 -
2.1 程序流程图 - 2 -
2.2 设计方法及原理 - 3 -
第3章 详细设计 - 3 -
3.1 电路原理 - 3 -
3.1.1 STC89C52芯片 - 3 -
3.2 串口通信协议 - 4 -
3.3 程序设计 - 5 -
3.3.1 主程序模块 - 5 -
3.3.2 串口通讯模块 - 6 -
3.3.3 控制部分文件 - 8 -
3.3.4 公共部分模块 - 11 -
3.4 电路搭建 - 12 -
3.4.1 电路原理图 - 12 -
第4章 上位机关键代码分析 - 12 -
4.1 打开串口操作 - 12 -
4.2 后台线程处理串口程序 - 15 -
4.3 程序运行界面 - 18 -
第5章 课程设计总结与体会 - 19 -
第6章 致谢 - 19 -
参考文献 - 19 -
需求分析
课题名称
故障诊断数据采集通信系统设计与制作。
任务
1、进行协议分析,完成单片机硬件电路原理图设计,在面包板上搭建电路。
2、测试上位机与单片机的通讯状态,实现实验要求部分的功能。
要求
1、单片机能接收并识别上位机的查询请求。
2、单片机能够查询对应接口的状态,并返回接口状态给上位机。
3、能够通过按钮来控制单片机相应接口的状态,相应接口的状态通过LED灯的亮灭状态来表示。
设计思想
根据实验要求,设计数据采集电路,选择合适的元器件,按照原理图,并根据各个元器件的特性以及接口电路结构形式,在面包板上搭接实际电路,搭接完毕之后对电路做优化设计,使电路尽量简洁。
通过与上位机的连接测试,来优化单片机程序的代码,使上位机和下位机能够很协调的工作。
软件编程:使用C语言实现下位机的程序设计。
课程设计环境
1. Windows XP的PC机。
2. Keil uVision3集成开发环境。
3. 串口调试助手
3. 单片机最小系统开发板。
4. 面包板和外围器件
5. 万用表等辅助工具
设备运行环境
由STC89C52单片机和面包板搭建的电路板。
我在本实验中完成的任务
在和小组成员讨论之后,我们小组成员分工合作,我完成的工作是单片机串口的设置及接收上位机的串口数据,并对流数据进行分析。
概要设计
程序流程图
发送接口状态给上位机
发送接口状态给上位机
开始
初始化串口设置
初始化控制口
串口数据分析
查询接口状态
是否有控制按键按下
检查串口中是否有数据
返回查询要求
确定按下的按钮
改变按钮对应接口状态
Y
N
N
Y
设计方法及原理
1、USB转串口模块将USB接口转化为串口后与单片机相连,用来实现单片机与PC机通过串口通讯。
2、初始化单片机串口的设置,使之与上位机的设置相符,具体为通信速率9600B/S,停止位1位,数据位8位。
3、本系统串口数据接收是采用的查询方式,单片机每次循环查询串口是否收到了数据。
4、上位机若连续查询接口状态2次都收不到回复,上位机可以判断与从机失去联系,所有接口状态都置为不正常状态
详细设计
电路原理
STC89C52芯片
1、芯片引脚
51系列的DIP封装的单片机共有40个外部引脚,其中有P0,P1,P2,P3四组IO口,详细如右图。
2、芯片串口工作原理
????1、波特率选择
波特率(Boud Rate)就是在串口通信中每秒能够发送的位数(bits/second)。MSC-51串行端口在四种工作模式下有不同的波特率计算方法。下面以工作模式1为来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为:???????????
???
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
2、SBUF 数据缓冲寄存器
这是一个可以直接寻址的串行口专用寄存器。SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器。
3、SCON 串行口控制寄存器
原创力文档


文档评论(0)