双机通信课程设计
双机通信装置课程设计

双机通信装置课程设计一、课程目标知识目标:1. 学生能够理解双机通信的基本原理,掌握通信装置的构成及功能。
2. 学生能够描述并分析双机通信过程中的信号传输、编码、解码等关键技术。
3. 学生能够解释并应用通信协议,了解不同通信协议在双机通信中的应用场景。
技能目标:1. 学生能够独立完成双机通信装置的搭建与调试,具备实际操作能力。
2. 学生能够运用所学知识解决双机通信过程中出现的问题,具备问题分析和解决能力。
3. 学生能够通过团队协作,共同完成双机通信项目的开发与实施,提高沟通与协作能力。
情感态度价值观目标:1. 学生对双机通信技术产生兴趣,树立学习信心,形成积极的学习态度。
2. 学生能够认识到双机通信在现实生活中的应用价值,提高社会责任感和创新意识。
3. 学生在团队合作中学会尊重他人、倾听意见,培养良好的沟通能力和团队精神。
课程性质:本课程为实践性较强的课程,以项目驱动、任务导向的方式进行教学。
学生特点:学生具备一定的电子技术基础,对通信技术感兴趣,具备一定的动手能力和团队协作能力。
教学要求:注重理论与实践相结合,强调学生的动手实践能力,培养学生的问题分析和解决能力,提高学生的创新意识和团队协作精神。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容本课程教学内容主要包括以下几部分:1. 双机通信基本原理:介绍双机通信的概念、通信方式、信号传输特性等,对应教材第二章。
- 信号传输与接收- 通信协议及其应用- 通信过程中的噪声与干扰2. 双机通信装置的构成与功能:分析通信装置的各个组成部分及其作用,对应教材第三章。
- 发射器与接收器- 信号调制与解调- 通信接口与协议转换3. 双机通信技术:讲解双机通信中的关键技术,对应教材第四章。
- 编码与解码技术- 信号同步与信道分配- 通信过程中的抗干扰技术4. 双机通信装置的搭建与调试:指导学生进行实际操作,对应教材第五章。
单片机课程设计——双机通信课设

I
1 绪论
武汉理工大学《单片机原理与应用》课程设计说明书源自1.1 串行通信的发展状况
stm32双机串口通信课程设计

stm32双机串口通信课程设计
针对STM32双机串口通信课程设计,我们需要考虑如下几个方面:
1. 课程设计目标:
确定学生在学习课程后应该达到的目标和能力,例如掌握STM32双机串口通信的原理、掌握串口通信的基本概念、能够设计简单的双机通信程序等。
2. 课程内容安排:
串口通信基础知识介绍,包括串口通信原理、常用的串口通信协议(如UART、SPI、I2C等)、STM32串口通信的基本概念等。
STM32开发环境搭建,介绍如何搭建STM32开发环境、配置开发工具等。
STM32串口通信编程,讲解如何在STM32上进行串口通信的编程,包括串口初始化、数据发送和接收等。
双机串口通信实验设计,设计一些实际的双机串口通信实验,让学生动手实践,加深对串口通信原理的理解。
3. 实验项目设计:
确定一些实际的双机串口通信实验项目,例如通过串口发送
数据、接收数据并进行处理、双机之间进行简单的通信等。
考虑实验的难易程度,从简单到复杂逐步增加,确保学生能
够逐步掌握串口通信的相关知识和技能。
4. 实验环境准备:
确保实验室或者学生个人的实验环境能够支持STM32开发板
的使用,包括开发工具软件的安装、硬件设备的连接等。
5. 课程评估:
设计合适的考核方式,例如实验报告、实验成绩、课堂表现等,来评估学生对于串口通信课程的掌握程度。
总之,针对STM32双机串口通信课程设计,需要充分考虑课程
目标、内容安排、实验项目设计、实验环境准备和课程评估等方面,确保学生能够全面掌握串口通信的相关知识和技能。
单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
单片机双机通信系统课程设计

一.课程设计的目的及基本要求:实践课程是使学生融会贯通本课程所学专业理论知识,完成一个较完整的设计计算和安装调试过程,以加深学生对所学理论的理解与应用,认识和熟悉元器件和电子测量仪器的性能指标,了解解决实际问题的一般过程,培养学生综合运用基础理论知识和专业知识去解决实际工程设计问题的能力。
通过电子技术的综合性工程训练,使学生达到以下的目的和要求:1、结合模拟电路、数字电路、可编程逻辑器件、单片机电子线路CAD等课程中所学的理论知识,按要求独立设计方案,培养学生独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用电子器件的类型和特性,并掌握合理选用的原则;3、学会使用常用电子元器件(包括中规模芯片、专用芯片和可编程器件);4、掌握基本的现代电子技术设计工具和EDA(Electronic design automation)技术;5、掌握电子电路的安装与调试技术,进一步熟悉电子仪器的使用方法;6、认真撰写总结报告,培养严谨的作风和科学的态度;二.课程设计的主要内容:课题十九单片机双机通信系统基本要求:设计两个单片机最小系统,能实现有线通信,一方为发送,另一方为接收。
提高要求:两个单片机最小系统能相互通信,并能实现校验。
三.具体要求和时间安排:每一个学生在教师指导下,独立完成一个应用系统。
工作量如下:1、电路原理图(A3幅面)1张,要求Protel软件绘制;2、pcb版图(A3及以上幅面)1张;3、设计说明书(20-30页)1本,内含能编译通过的源程序(有必要的注释)。
目录一、前言 (4)二、键盘设计 (5)1、硬件接线部分 (5)2、4×4矩阵键盘识别处理 (7)3、键盘识别处理程序 (8)三、单片机的选择及其程序设计 (10)1、单片机型号的选择 (10)2、协议设计 (10)3、双机连接电路图 (11)4、甲机程序 (11)5、乙机程序 (16)四、数码管显示设计 (16)五、总体电路图 (21)六、设计小结 (22)七、参考文献 (23)一.前言由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。
双机串行课程设计

双机串行课程设计一、课程目标知识目标:1. 让学生掌握串行通信的基本概念,理解其工作原理和通信协议;2. 能够描述双机串行通信的硬件连接方式和软件实现方法;3. 了解串行通信在现实生活中的应用场景。
技能目标:1. 学会使用编程软件编写双机串行通信程序,实现数据收发功能;2. 能够分析并解决双机串行通信过程中遇到的问题;3. 培养学生动手实践、团队协作和解决问题的能力。
情感态度价值观目标:1. 培养学生对计算机通信技术的兴趣和爱好,激发学习积极性;2. 增强学生的信息安全意识,了解通信过程中的数据保护措施;3. 引导学生关注科技发展,认识通信技术在我国经济建设和社会进步中的作用。
课程性质分析:本课程为信息技术课程,旨在让学生了解并掌握双机串行通信技术,培养其实践操作能力和创新精神。
学生特点分析:初中年级学生具有一定的计算机操作基础和编程能力,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:1. 理论与实践相结合,注重培养学生的动手操作能力;2. 采用案例教学,让学生在实际应用中掌握知识;3. 关注学生个体差异,因材施教,提高教学质量。
二、教学内容1. 串行通信基本概念:介绍串行通信的定义、特点及与并行通信的区别。
- 教材章节:第一章第二节2. 串行通信工作原理:讲解串行通信的信号线、数据格式、波特率等关键参数。
- 教材章节:第一章第三节3. 双机串行通信硬件连接:阐述双机串行通信的硬件设备选型、连接方法及注意事项。
- 教材章节:第二章第一节4. 串行通信软件实现:介绍串行通信编程的基本方法,以案例形式讲解数据收发过程。
- 教材章节:第二章第二节5. 双机串行通信程序设计:引导学生编写简单的双机串行通信程序,实现数据收发功能。
- 教材章节:第二章第三节6. 串行通信应用场景:分析现实生活中串行通信的应用实例,激发学生学习兴趣。
- 教材章节:第三章7. 串行通信问题与解决:讨论双机串行通信过程中可能遇到的问题及解决方案。
单片机双机串口通信课程设计
单片机双机串口通信课程设计一、课程设计意义单片机双机串口通信是电子信息类专业中的一门基础课程,包括数据传输原理、串口通信协议等知识点,对于学生的PCB设计、嵌入式系统开发等方向的学习和深入研究都具有非常重要的作用。
通过本课程的设计,学生将能够系统地掌握串口通信技术的原理和实现方法,从而为后续相关课程的学习打下坚实的基础。
二、课程设计步骤1、理论知识讲授首先,需要对串口通信的基本概念、串口的物理接口、RS232、RS485等通信协议及其实现原理进行讲解,学生需要认真记录相关知识点,为后续的实验操作打下基础。
2、实验前准备为了进行单片机双机串口通信实验,需要准备单片机开发板、双机串口通信线、USB转串口模块、连接线等工具。
学生需要根据实验指导书上的引导,仔细按照需求准备好所需要的工具,并理清各项连接关系。
3、实验操作实验是本课程的重头戏,学生需要通过实验来巩固自己所学的相关知识。
在实验过程中,学生需要详细阅读实验指导书,并按照指导书上的步骤完成整个实验过程。
实验完成后,需要仔细分析实验结果,确认实验结果是否正确。
4、实验报告实验完成后,学生需要根据实验结果撰写实验报告,报告需要包括实验过程、实验结果分析、实验总结等内容。
报告需要清晰明了,文本内容清晰、简洁明了,图表简洁、清晰,规范地描写出整个实验过程,总结实验结果,以保证实验教学的质量。
三、课程效果评估通过老师的教学和学生的自主学习,学生能够达到掌握单片机双机串口通信的基本概念和实现方法的目标。
同时,在这个过程中,学生也能够提高实验操作的能力和数据分析的能力,为他们日后的学习和研究打下基础。
利用socket实现双机通信计算机网络课程设计)
目录1、目录 (1)2、题目 (2)3、设计任务 (2)4、WinSocket简介及特点原理 (2)5、TCP简介及特点原理 (3)6、Visual C++简介 (7)7、设计方案 (8)8、系统的原理框图和程序流程图 (10)9、实验中的问题 (14)10、实验结果及分析 (14)11、课程设计的总结体会 (16)12、参考文献 (16)利用Socket实现双机通信一、设计任务1.利用WinSock来实现双机通信,理解TCP状态机图。
2.要求使用WinSock编程,采用其中的TCP面向连接方式,实现文本数据的交换。
二、WinSocket简介及特点原理2.1、什么是socket所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。
应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。
要学Internet上的TCP/IP 网络编程,必须理解Socket接口。
Socket接口设计者最先是将接口放在Unix 操作系统里面的。
如果了解Unix系统的输入和输出的话,就很容易了解Socket 了。
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。
Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket (SOCK_DGRAM)。
流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
最重要的是,socket 是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的socket 系统调用。
单片机双机通信课程设计报告
目录1.题目设计要求 (4)2.系统的组成及工作原理 (4)2.1系统组成 (4)2.1工作原理 (4)2.3双机通讯的方案选择 (5)3.器件的功能及作用 (6)3.1硬件设计 (6)3.2电气设置 (8)3.3DB-9连接器 (8)4.系统硬件设计 (10)5.软件设计 (11)6.系统仿真调试 (18)7.设计体会和收获 (18)8.參考资料 (19)1.题目设计要求:甲乙两机串口双向通信设计要求:利用51单片机,RS232芯片,LED灯,数码管进行双机通信设计。
甲机可按键控制乙机的LED显示;乙机可按键控制甲机的数码管显示。
完成以下设计环节:1)使用Altium Desinger开发工具,设计电路原理图。
2)使用Uvision2开发平台,采用C语言或汇编语言设计软件程序。
3)使用PROTEUS仿真软件,设计仿真原理图并运行软件程序,完成系统仿真。
2.系统的组成及工作原理2.1系统组成图2.1 总体框图2.2工作原理双机通信系统通过甲乙单片机的串行口来实现数据的收发。
甲单片机通过开关电路来启动发送程序,甲机当开关按下时向乙机发送一个数据,乙机上蜂咛器发出声音提示有数据发送过来,乙机通过接收中断来接收和开关判断是否接收甲机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示主机发送过来的数据。
乙单片机通过开关电路来启动发送程序,乙机给甲机发送一数据,甲机上蜂咛器发出声音提示有数据发送过来,甲机通过接收中断来接收和开关判断是否接收乙机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示乙机发送过来的数据。
2.3 双机通讯的方案选择设计方案:该系统采用主从共两片AT89C52单片机来实现上位机对下位机的控制,由于是近距离的双机通信,我们采用单片机直接交叉连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。
需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。
双机通信课程设计
双机通信系统设计一、设计要求:编程实现两片AT89C52芯片近距离通信,一台为发送方,另一台为接收方。
采用单片机直接交叉连接的方式,一方发送由串行口TXD输出,直接由另一方的串行口数据接收端RXD接收。
二、设计方案分析1、方案设计:(1)设计思路:串行数据通信要解决两个关键问题,一个是数据转换,另一个是数据传送。
所谓数据以什么形式传送。
所谓数据转换就是指单片机在接收数据时,如何把接收到串行数据进行发送。
为此编制了两个汇编语言程序:其一,为数据发送程序;其二,为数据接收程序。
为了确保每个字符发送出去,并且被接收,发送接收双方的波特率设置一致,并且均采取查询方式进行下一步操作。
接收数据只需执行一次,即驻留在内存中,此后,只要二号单片机有数据要发送,则一号机随时接收并显示在数码管上;反之一号机发送,二号机接收并显示。
(2)原因:由于是近距离的双机通信,我们采用单片机直接交叉连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。
需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。
单片机串行通信口,串行结构如下:a)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。
有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
b)串行控制寄存器(PCON):SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。
串行接口工作方式特点见下表表1.2.1 串行口工作方式表SM2:多机通信控制位。
REN:接收允许控制位。
软件置1允许接收;软件置0禁止接收。
TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。
RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩:课程设计报告书所属课程名称单片机原理与接口技术题目双机串行通信分院机电学院专业、班级机械设计制造及其自动化B0902学号0612090218学生姓名史强指导教师周春明2012年7月13日目录1课程设计任务书 (1)2总体设计 (2)3硬件系统设计 (3)4程序设计 (6)5程序调试及结果分析 (11)6总结 (13)7参考文献 (14)辽东学院一课程设计任务书课程设计题目:双机串行通信课程设计时间:自2012 年7月2日起至2012 年7月13日。
课程设计要求:1.通过本次课题设计,应用《单片机原理及其接口技术》等所学相关知识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
2.两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,并在接收端显示。
接收完成后,led灯亮。
学生签名:史强2012 年7月13日课程设计评阅意见评阅教师:2012年月日二总体设计2.1 设计目的通过本次课题设计,应用《单片机原理及其接口技术》等所学相关知识及查阅资料,完成简易双机串行通信设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。
通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。
2.2 设计任务两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,完成后在接收端的led 灯亮。
2.3 设计方法本次设计,对于两片89C51,采用RS232进行双机通信。
发送方的数据由串行口TXD段输出。
接受方接收后,灯亮。
为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。
软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。
主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。
从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH 给主机,重新接受。
从机收到16个正确数据后送到一个数码管显示。
三硬件系统设计3.1基本功能:利用89c51完成两片单片机之间进行串行通信。
3.2可选器件:51系列单片机、电容、LED灯本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。
在单片机的应用系统程序设计时,常用的是汇编语言和C语言。
C语言虽然执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句。
本着学习和创新的精神,我们采用汇编语言编写了程序。
3.1 51单片机串行通信功能图1.AT89C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。
51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。
串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。
51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。
51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。
有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
(2)串行控制寄存器(PCON)SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。
串行接口工作方式特点见下表SM2:多机通信控制位。
REN:接收允许控制位。
软件置1允许接收;软件置0禁止接收。
TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。
RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。
TI:发送中断标志。
发送完一帧数据后由硬件自动置位,并申请中断。
必须要软件清零后才能继续发送。
RI:接收中断标志。
接收完一帧数据后由硬件自动置位,并申请中断。
必须要软件清零后才能继续接收。
(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。
(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。
波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。
(5)电源控制寄存器PCON其最高位为SMOD。
(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。
由于是定时方式,T1计数率= fORC/12。
产生溢出所需机器周期数=模M-计数初值X。
3.2 整体电路设计最终设计电路如下图3所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。
图2.整体电路四程序设计通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。
主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。
从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。
从机收到16个正确数据后送到一个数码管显示。
4.1 串行通信软件实现(1)串行口工作于方式1;用定时器1产生2400bit/s的波特率,工作于方式2。
(2)功能:将本机ROM中数码表TAB[16]中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。
(3)通信协议:主机首先发送连络信号(AAH),从机接收到之后返回一个连络信号(BBH)表示从机已准备好接收。
(4)通信过程使用第九位发送奇偶校验位。
(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。
(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。
4.2 程序流程图(1)发送端程序流程图(2)接收方程序流程图4.3:源程序汇编语言程序:发送程序清单如下:START:CLR EAMOV TMOD,#20H ;定时器1置为方式2MOV TH1,#0F4H ;装载定时器初值,波特率2400MOV TL1,#0F4HMOV PCON,#00HSETB TR1 ;启动定时器MOV SCON,#50H ;设定串口方式1,且准备接收应答信号LOOP1:MOV SBUF,#0AAH ;发联络信号JNB TI,$ ;等待一帧发送完毕CLR TI ;允许再发送JNB RI,$ ;等待2号机的应答信号CLR RI ;允许再接收MOV A,SBUF ;2号机应答后,读至AXRL A,#0BBH ;判断2号机是否准备完毕JNZ LOOP1 ;2号机未准备好,继续联络LOOP2:MOV R0,#40H ;2号机准备好,设定数据块地址指针初值MOV R7,#10H ;设定数据块长度初值MOV R6,#00H ;清校验和单元LOOP3:MOV SBUF,@R0 ;发送一个数据字节MOV A,R6ADD A,@R0 ;求校验和MOV R6,A ;保存校验和INC R0JNB TI,$CLR TIDJNZ R7,LOOP3 ;整个数据块是否发送完毕MOV SBUF,R6 ;发送校验和JNB TI,$CLR TIJNB RI,$ ;等待2号机的应答信号CLR RIMOV A,SBUF ;2号机应答,读至AJNZ LOOP2 ;2号机应答“错误”,转重新发送RET ;2号机应答“正确”,返回接收程序清单如下:START:CLR EACLR P1.0MOV TMOD,#20HMOV TH1,#0F4HMOV TL1,#0F4HMOV PCON,#00HSETB TR1MOV SCON,#50H ;设定串口方式1,且准备接收LOOP1:JNB RI,$ ;等待1号机的联络信号CLR RIMOV A,SBUF ;收到1号机信号XRL A,#0AAH ;判是否为1号机联络信号JNZ LOOP1 ;不是1号机联络信号,再等待MOV SBUF,#0BBH ;是1号机联络信号,发应答信号JNB TI,$CLR TIMOV R0,#40H ;设定数据块地址指针初值MOV R7,#10H ;设定数据块长度初值MOV R6,#00H ;清校验和单元LOOP2:JNB RI,$CLR RIMOV A,SBUFMOV @R0,A ;接收数据转储INC R0ADD A,R6 ;求校验和MOV R6,ADJNZ R7,LOOP2 ;判数据块是否接收完毕JNB RI,$ ;完毕,接收1号机发来的校验和CLR RIMOV A,SBUFXRL A,R6 ;比较校验和JZ END1 ;校验和相等,跳至发正确标志MOV SBUF,#0FFH ;校验和不相等,发错误标志JNB TI,$ ;转重新接收CLR TIEND1:SETB P1.0MOV SBUF,#00HRET五系统调试与存在的问题在protues上进行仿真实验。
首先使用Keil将编写完成的程序编译生成HEX文件,将HEX文件录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端接收到数据。
图4.仿真图5.1 硬件调试常见故障:1、逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。
这类错误包括错线、开路、短路等。
2、元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。
3、可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。
4、电源故障:若样机由电源故障,则加电后很容易造成器件损坏。
电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。
调试方法:包括多级调试和联机调试。
在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。
本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很好的达到设计要求的效果。
5.2 软件调试软件调试一般分为以下四个阶段:1、编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。