单片机双机通信系统课程设计
单片机课程设计 双机通信 西安邮电大学
西安邮电大学单片机课程设计报告书题目:双机通信院系名称:自动化学院学生姓名:专业名称:测控技术与仪器班级:时间:2012年 5 月 21 日至 6 月 1 日一、设计目的利用所学单片机知识解决实际问题。
二、设计要求1.用两片单片机,实现双机通信;2.利用与A(主机)连接的按键控制与B(从机)连接的数码管,每按一次键,主机LED亮同时数码管显示数据,随后从机LED亮,伴随着数码管显示与主机相同的数据;3.同理,用与B机连接的按键控制与A机连接的数码管。
1. STC89C52单片机介绍(1)STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。
(2)外部时钟电路(3)复位电路(4)系统硬件结构图(5)硬件仿真图(6)系统软件流程图及程序代码程序流程图程序代码如下:#include <reg52.h>#define uchar unsigned charsbit COM1 = P2^1;sbit COM2 = P2^0;sbit LED = P1^0;uchar ch, x = 0;uchar ge, shi;uchar const NUM[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; void delay_ms(uchar ms);void initModule(void);void sendOneChar(uchar ch);**************函数功能:发送数据*********** void sendOneChar(uchar ch){ES = 0;SBUF = ch;while(!TI);TI = 0;ES = 1;}void initModule(){TMOD = 0x20;TH1 = 0xfd;TL1 = 0xfd;SCON = 0x50;COM1 = 0;COM2 = 0;LED = 1;}**************函数功能:延迟************ void delay_ms(uchar ms){uchar i, j;for (i=0; i<ms; i++)for(j=0;j<110;j++);}*************主函数************void main(){initModule();EX0 = 1;IT0 = 1;ES = 1;EA = 1;TR1 = 1;P0 = NUM[0];while(1){}}void button() interrupt 0{uchar num = 0;delay_ms(20);if (INT0 == 0){LED = 0;delay_ms(500);LED = 1;x++;if(x==25){x=0;}}shi = x / 10;ge = x % 10;while (num < 20){COM1 = 1;P0 = NUM[shi];delay_ms(15);COM1 = 0;COM2 = 1;P0 = NUM[ge];delay_ms(15);COM2 = 0;num++;}sendOneChar(x);}void read() interrupt 4 {uchar num = 0;RI = 0;LED = 0;delay_ms(300);LED = 1;shi = SBUF / 10;ge = SBUF % 10;while (num < 20){COM1 = 1;P0 = NUM[shi];delay_ms(15);COM1 = 0;COM2 = 1;P0 = NUM[ge];delay_ms(15);COM2 = 0;num++;}}五、问题分析与解决方法问题一:仿真问题仿真图画好之后,开始运行,发光二极管没有反应。
单片机课程设计_基于单片机的双机之间的串联通信
单片机系统课程设计成绩评定表设计课题基于单片机的双机之间的串联通信学院名称:电气工程学院学生姓名:学号:指导教师:设计地点:设计时间:单片机系统课程设计课程设计名称:基于单片机的双机之间的串联通信专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书目录一. 设计目的 (4)二. 串行口及其扩展简介 (4)三.设计要求 (5)四.硬件电路设计 (8)五.流程图设计 (10)六.程序设计 (12)七.设计小结 (17)八.参考文献 (17)双机之间的串行通信设计一、设计目的1、了解串行通信的工作原理2、了解键盘设定的工作原理3、掌握80C51的定时器1计数器1的编程4、掌握电路板的实物焊接随着电子技术的飞速发展,单片机也步如一个新的时代,越来越多的功能各异的单片机为我们的设计提供了许多新的方法与思路。
对于莫一些场合,比如:复杂的后台运算及通信与高实时性前台控制系统、软件资源消耗大的系统、功能强大的低消耗系统、加密系统等等。
如果合理使用多种不同类型的单片机组合设计,可以得到极高灵活性与性能价格比,因此,多种异型单片机系统设计渐渐成为一种新的思路,单片机技术作为计算机技术的一个重要分支,由于单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信中发挥着越来越重要的作用。
但能在一些相对复杂的单片机应用系统中,仅仅一个单片机资源是不够的,往往需要两个或多个单片机系统协同工作。
这就对单片机通信提出了很高要求。
二、串行口及其扩展简介1.串行通信的基本特征是数据逐位顺序进行传送2.全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送3.串行通信的传送速率用于说明数据传送的快慢.“波特率”表示每秒种传输离散信号事件的个数,或每秒信号电平的变化次数,单位为band(波特)。
单片机课程设计——双机通信课设
I
1 绪论
武汉理工大学《单片机原理与应用》课程设计说明书源自1.1 串行通信的发展状况
单片机单片机课程设计-双机串行通信
单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 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系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。
单片机单片机课程设计-双机串行通信
单片机单片机课程设计-双机串行通信摘要由单片机构成的双机通信系统采用总线型主从式结构。
程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。
通信的结果实用数码管进行显示,数码管采用查表方式显示。
所谓主从式结构,即在两个单片机中,一个主机负责通信管理,另一个为从机,从机要负责主机的调度与支配。
该设计用A T89C51芯片,并用C语言程序来控制A T89C51,使之能实现两个单片机之间的通信。
通信方式为单工通信,一个为主单片机,作为发送方,另一个为从单片机,作为接收方。
关键字:单片机.AT89C51.C语言目录摘要 (1)前言 (3)二绪论 (4)2.1单片机 (4)2.2C语言: (4)2.3双机通信 (5)三.系统分析 (6)3.1 基本原理 (6)3.2波特率选择 (7)3.3通信协议的使用 (7)四、硬件设计 (7)4.1单片机串行通信功能 (10)4.2 MAX232芯片 (12)4.3整体电路设计 (13)五、软件设计 (14)5.1串行通信软件实现 (14)5.2程序流程图 (14)六.联合调试 (17)总结 (18)参考文献 (23)前言近年来,在自动化控制和只能仪器仪表中,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义,通信的关键在于互传数据信息。
51单片机内部的串行口具有通信的功能,该串口可作为通信接口,利用该串口与PC机的串口通信进行串行通信,将单片机采集的数据进行整理及统计等复杂处理就能满足实际的应用需要。
51单片机的开发除了硬件支持外,同样离不开软件。
用汇编语言或C 语言等高级语言编写的源程序必须转化为机器码才能被执行。
目前流行的Keil 8051c编译器。
它提供了集成开发环境,包括C编译器、宏编码、连接器、库管理和仿真调制器。
利用keil 8051ccuvision编写的程序可直接调用编译器编译,连接后可直接运行。
单片机双机串口通信课程设计
单片机双机串口通信课程设计一、课程设计意义单片机双机串口通信是电子信息类专业中的一门基础课程,包括数据传输原理、串口通信协议等知识点,对于学生的PCB设计、嵌入式系统开发等方向的学习和深入研究都具有非常重要的作用。
通过本课程的设计,学生将能够系统地掌握串口通信技术的原理和实现方法,从而为后续相关课程的学习打下坚实的基础。
二、课程设计步骤1、理论知识讲授首先,需要对串口通信的基本概念、串口的物理接口、RS232、RS485等通信协议及其实现原理进行讲解,学生需要认真记录相关知识点,为后续的实验操作打下基础。
2、实验前准备为了进行单片机双机串口通信实验,需要准备单片机开发板、双机串口通信线、USB转串口模块、连接线等工具。
学生需要根据实验指导书上的引导,仔细按照需求准备好所需要的工具,并理清各项连接关系。
3、实验操作实验是本课程的重头戏,学生需要通过实验来巩固自己所学的相关知识。
在实验过程中,学生需要详细阅读实验指导书,并按照指导书上的步骤完成整个实验过程。
实验完成后,需要仔细分析实验结果,确认实验结果是否正确。
4、实验报告实验完成后,学生需要根据实验结果撰写实验报告,报告需要包括实验过程、实验结果分析、实验总结等内容。
报告需要清晰明了,文本内容清晰、简洁明了,图表简洁、清晰,规范地描写出整个实验过程,总结实验结果,以保证实验教学的质量。
三、课程效果评估通过老师的教学和学生的自主学习,学生能够达到掌握单片机双机串口通信的基本概念和实现方法的目标。
同时,在这个过程中,学生也能够提高实验操作的能力和数据分析的能力,为他们日后的学习和研究打下基础。
《单片机技术》课程设计课题任务书(双机通信系统)
(2)供电模块
(3)显示模块
(4)键盘模块
(5)报警模块
2、双机通信系统软件部分
(1)系统监控程序模块
(2)显示程序模块
(3)键盘程序模块
(4)通信程序模块
三、设计要求
1、采用两个单片机系统板A/B,连接好A/B两板子的串行通信线路(A板必须是自己的,B板可以借用它人的板子)。上电或按键复位后显示器件自动显示待发送/接收状态(例如显示“Send?”“Receive ?”),进入准备阶段。通过按键“OK”选择确认功能;数码管或液晶屏做状态显示(液晶屏加分)。
2、可以通过按键修改设置通信参数,例如串行通信的速率,数据位数等。
3、对接收到的数据进行甄别,接收到特定数据后触发蜂鸣器报警。
4、能随时暂停系统通信。
5、以上功能全部实现,另外再做出配套上位机软件者满分(上位机语言工具不限)。
主要参考资料
[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6.
教研室
意见
教研室主任:(签字)
年月日
[2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12.
[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:北京航空航天大学出版社,2003.6.
[4]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01.
[5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.
湖南工学院《单片机技术》课程设计课题任务书
学院:电气与信息工程学院专业:电气1301~2
指导教师
王韧
学生姓名
课题名称
单片机双机通信系统设计
关键词:单片机AT89C51;串行通信;LED数码管显示
Key words:MicrocomputerAT89C51; serial communication; LED numeral tube display
插图清单
表格清单
引言
单片机作为微型计算机的一个分支,具有功能强、体积小、应用灵活等诸多有点,在工业控制、仪器仪表、通信、家用电器和国防科技等各个领域得到广泛的应用。随着集成电路技术的不断发展,单片机的性能也在不断地提高,其应用的范围必将越来越广泛。然而,随着单片机在工业自动化控制、智能仪器仪表中的广泛应用的关键就在于双机之间的互相通讯、互传数据信息。单片机和计算机的共同发展下,单片机的应用从独立的单片机网络发展,由计算机和单片机构成的双机网路系统也是单片机技术发展的一个方向。
双机通信对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于所需电缆线较少:
(1)设计串行通信接口,实现与单片机的通信;
(2)具有人机对话功能,可通过键盘进行输入;
(3)LED显示器能够根据按键的输入进行相应的显示;
SCMDoubleCommunicationSystemDesign
Abstract
It adopts AT89C51 to control the Single Chip microcomputer system, the whole hardware system is composed of LED display, keyboard, serial communication. The design has only completed part of the exploitation design and has not designed the circuit of external collection and control. Because of having not finished the external collection circuit, the material function of measuring has not been finished, in order to finish the material function of measuring such as measuring the pressure, temperature or the moisture, and it should be equiped with external sensor collection circuit and the relevant software.
单片机课程设计双机通讯
微机原理与接口课程设计学院:信息电子学院班级:08电科二班学号:E08640229姓名:邹超指导老师:张国萍日期:2011—01—12电子设计培训课程设计任务书基本部分:1、熟悉使用protues软件进行单片机系统(双机通信和多机通信)的设计与仿真;2、完成PC和单片机小系统之间的通信,用RS-232口。
3、完成接收和发送功能。
扩展部分:4、完成各单片机系统之间的多机通信。
指标要求:1、双机通讯实现从PC发送学号末两位,单片机接收后在数码管上显示,然后再发回PC,波特率为2400。
2、多机通信中设置一个主机,16个从机。
主机发送数据,从机接收数据。
从机地址从00H开始到0FH结束。
主机的数据由P1口输入,欲寻址的地址由P2口设置。
发送数据前,P0 口显示寻址地址,寻址结束后,才显示发送数据。
只有主机寻址的从机才能接收数据,当接收数据是00H时,表示发送数据结束。
从机接收数据并显示在P0 口,接收完以后发回主机。
考核与报告:考核采用设计报告+答辩的方式1、优秀能按任务书要求独立完成实验,正确使用仪器设备,能灵活、熟练地运用相关知识,实验数据及计算结果准确,实验报告(含图表)清晰无误2、良好能按任务书要求基本独立完成实验,正确使用仪器设备,能比较熟练地运用相关知识,实验数据及计算结果基本准确,实验报告(含图表)质量较好3、中等能在教师指导下顺利完成实验,会使用仪器设备,尚能运用相关知识,实验数据及计算结果有明显错误,实验报告(含图表)质量一般4、及格能在教师指导下完成实验,会使用仪器设备,运用相关知识能力较差,实验数据及计算结果有较大错误,基本达到实验最低要求5、不及格不能完成实验,或抄袭他人实验报告,或实验数据及计算结果有多处重大错误。
地点: 10-408 上午:8:30-11:30 下午:13:00-16:00目录封面 (1)任务书 (2)目录 (3)双机通讯 (4)接口设计 (4)接口电路 (4)仿真图 (5)仿真结果 (5)程序代码 (6)流程图 (8)多机通讯 (9)接口电路 (9)多机通讯过程 (9)仿真图 (10)仿真结果 (5)实物图 (16)程序代码 (11)流程图 (14)问题设计 (16)参考文献 (16)双机通讯双机通讯接口设计:根据8031单片机双机通讯距离,抗干扰性等要求,可选择TTL电平传输,或选择RS—232C,RS—422A,RS—485串行接口进行串行数据传输。
单片机课程设计-- 单片机之间的双向通信演示
课程设计任务书课程单片机课程设计题目单片机之间的双向通信演示专业姓名学号一、任务以AT89C51单片机为控制核心,利用串行通信技术实现两个单片机之间的数据传输。
二、设计要求[1] 单片机甲机向单片机乙机发送控制命令符,甲机同时接收乙机发送的数字,并显示在数码管上[2] 基本电路包括:单片机最小系统,串口通信电路,LED显示电路等。
[3] 提交设计报告、电路图及程序源码。
三、参考资料[1] 万光毅.单片机实验与实践教程[M]. 北京:北京航空航天大学出版社.2005.1.[2] 张毅刚.单片机原理及应用[M]. 北京:高等教育出版社.2003:160-190.[3] 张小波, 徐航.基于MCS—51单片机的串行通信技术.[M].北京:北京航空航天大学出版社.2006[4] 胡汉才.单片机原理与其接口技术(第二版)[M].北京:清华大学出版社,2004.[5] 何文才,杜鹏.基于VB.NET的PC机和MCS-51单片机之间的串行通信 [J]. 北京电子科技学院学报. 2006.4期[6] 李秀忠.基于单片机的LED显示屏控制电路设计.[J].现代电子技术. 2010 .15期完成期限2012.6.29 至2012.7.8指导教师专业负责人2012年6月29 日目录第1章绪论 (1)1.1 单片机AT89C51概述......................... 错误!未定义书签。
1.2 LED显示屏控制技术状况 (2)1.3 MAX232概述 (2)1.4 本设计任务 (3)第2 章总体方案论证与设计......................... 错误!未定义书签。
2.1 LED驱动模块................................ 错误!未定义书签。
2.2 总体硬件组成框图........................... 错误!未定义书签。
第3章系统硬件设计.. (4)3.1 单片机最小系统硬件设计 (4)3.2 串行通信电路 (5)3.3 LED显示电路 (6)第4章系统的软件设计 (7)4.1 甲单片机程序设计 (7)4.2 乙单片机程序设计 (8)第5章系统调试与测试结果分析 (8)5.1 使用的仪器仪表 (9)5.2 系统调试 (9)5.3 测试结果 (9)结论 (9)参考文献 (11)附录1 程序 (12)附录2 仿真效果图 (17)第1章绪论随着科学技术的发展,单片机在各个领域的应用越来越广泛,计算机领域,航天领域,电子技术领域等,都离不开单片机的使用。
单片机双工通信课程设计
单片机双工通信课程设计一、课程目标知识目标:1. 学生能理解单片机双工通信的基本原理,掌握相关通信协议;2. 学生能掌握单片机双工通信编程方法,运用所学知识解决实际问题;3. 学生了解双工通信在实际应用中的优缺点,为后续项目设计提供参考。
技能目标:1. 学生能够运用所学知识,独立完成单片机双工通信程序编写和调试;2. 学生能够分析双工通信过程中的问题,并提出合理的解决方案;3. 学生能够在实际项目中灵活运用双工通信技术,提高项目实施效果。
情感态度价值观目标:1. 培养学生对单片机双工通信技术的兴趣,激发学习热情;2. 培养学生团队合作意识,提高沟通协调能力;3. 培养学生具备解决问题的自信心,形成积极向上的学习态度;4. 培养学生关注科技发展,了解双工通信技术在实际应用中的价值。
本课程针对高年级学生,课程性质为理论实践相结合。
在分析学生特点和教学要求的基础上,将课程目标分解为具体的学习成果,以便后续教学设计和评估。
通过本课程的学习,学生将掌握单片机双工通信技术的基本原理和编程方法,具备实际应用能力,为后续项目设计和实施奠定基础。
同时,培养学生积极的学习态度和良好的团队合作精神。
二、教学内容1. 单片机双工通信原理:介绍双工通信的定义、分类及工作原理,结合教材第3章相关内容,分析双工通信在实际应用中的重要性。
- 串行通信基础- 双工通信模式及特点- 双工通信协议分析2. 单片机双工通信编程方法:结合教材第4章内容,讲解单片机双工通信编程技巧,使学生掌握编程方法和调试技巧。
- 通信接口及编程- 双工通信程序设计- 通信程序调试与优化3. 单片机双工通信应用案例:分析教材第5章中的实际案例,使学生了解双工通信在项目中的应用,提高学生的实际操作能力。
- 双工通信在智能家居中的应用- 双工通信在物联网中的应用- 双工通信在无人驾驶系统中的应用4. 双工通信实验与实践:根据教材第6章内容,组织学生进行双工通信实验,巩固所学知识,提高动手能力。
双机通信系统单片机课程设计
双机通信系统单片机课程设计设计概况 (3)1 总体设计 (4)1.1 设计要求 (4)1.2 设计方案 (4)2 双机通信硬件设计 (5)2.1 AT89C51简介 (5)2.2 AT89C51串行口的工作方式 (6)2.3 晶振电路设计 (9)2.4 复位电路设计 (10)2.5 接口电路的设计 (10)2.6 输入输出电路设计 (12)3 双机通信软件设计 (15)3.1 串行通信软件实现 (15)3.2 串行通信程序流程 (15)3.3 程序清单 (18)4 软件仿真 (22)5 硬件连接 (23)6 设计总结 (25)参考文献 (26)设计概况要构成一个较大规模的控制系统,常常需要采用多机控制实现,而AT89C51单片机有一个异步通信方式的全双工串行接口,可以方便地构成双机、多机系统。
而串行通信也成为单片机与单片机、单片机与上位机之间进行数据传输的主要方式,是一种适用于远距离通信的数据传输方式。
串行通信是单片机的一个重要应用。
本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。
通信的结果实用数码管进行显示,数码管采用查表方式显示。
两个单片机之间采用RS232进行双机通信。
在通信过程中,使用通信协议进行通信。
关键词:单片机;串行通信;接口1 总体设计1.1 设计要求设计一个单片机双机通信系统,单片机A接1个8位按键开关,单片机B 接8个发光二极管,通过串行通信实现由A机拨码开关控制B机发光二极管的亮灭。
1.2 设计方案本次设计,对于两片AT89C51,采用RS-232进行双机通信。
如图1所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS-232电平输出,经过传输线将信号传送到接收端。
接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。
接收方接收后,在LED二极管上显示接收的对应信息。
图1 双机通信系统原理框图软件部分,通过通信协议进行发送接收,发送机先送联络信号给接收机,当接收机接收到联络信号后,向发送机回答一个应答信号,表示同意接收。
双机通信,单片机课程设计
单片机课程设计双机通信一、设计目的1、掌握单片机89C52的程序设计,掌握单片机通信程序编制方法。
2、了解单片机实现通信的硬件环境。
3、掌握双机通信的原理和方法。
二、设计要求1、用两片单片机,实现双机通信;2、用与A机连接的按键控制A机对B机的信息传输,每按一次键,首先发送端显示要发送数据,两台机器的发光二极管的显示相同。
3、用与B机连接的按键控制B机对A机的信息传输,每次按键,数码管的显示自动加一。
三、设计器材四、设计思路及方案1、设计思路计划采用主从共两片STC8952RC单片机来实现双机通信的,我们采用单片机直接交叉连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。
需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。
电路分为数码管显示模块,单片机工作的基本复位、晶振模块。
2、设计原理(1)原理概述双机通信系统通过主从单片机的串行口来实现数据的收发。
主单片机通过开关电路来启动发送程序,当开关按下时向从机发送一个数据,从机通过接收中断来接收主机发送过来的数据,并通过编写好的数据代码在LED数码管上显示主机发送过来的数据。
同时从机给主机发送一个应答信号来表示已经接收到了主机发送过来的数据,在主机接收应答并校验正确,以二极管显示,这样就完成了一个数据的通信过程,等待按键按下,然后继续下一次数据的发送直到结束。
(2)串行通信串行数据通信要解决两个关键问题,一个是数据传送,另一个是数据转换。
所谓数据传送就是指数据以什么形式进行传送。
所谓数据转换就是指单片机在接收数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。
异步串行通信通常以字符(或者字节)为单位组成字符帧传送。
字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
单片机双机通信课程设计报告
课程设计说明书课程设计名称:单片机课程设计课程设计题目:单片机与单片机之间的串行通讯学院名称:信息工程学院专业:电子信息科学与技术班级: 090431班学号: xxx 姓名: xxx 评分:教师: xxx 2012年6月25日电子信息工程专业课程设计任务书20 10 -20 11学年第2 学期第17 周-20 周注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档摘要串行通讯是单片机的一个重要应用。
本设计就是利用两块单片机来完成一个系统,实现单片机之间的串行通讯。
随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。
于是利用单片机串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。
从智能家用电器到工业上的控制系统都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分利用了微机分析处理能力强、速度快的特点及下位机(单片机)面向控制、使用灵活方便的优势。
由于AT09C52系列单片机具有性能稳定、工作可靠、价格低廉等可特点,因此其应用相当广泛。
AT09C52单片机中有异步通信串行接口,能方便的构成双机,多机通讯接口。
随着测量向自动化,智能化,网络化方向的发展。
利用多机通讯构成的分布式系统逐渐普及。
本实验就点对点的双机通信进行训练。
学习串口的工作方式,初始化编程,和单片机与单片机点对点通信的编程方法以及硬件电路的设计方法。
在此基础上可以进一步提高,实现多机通信以及单片机与PC机的通讯,手机通过蓝牙与单片机通讯,电脑通过蓝牙与单片机通讯等一系列功能扩展。
【关键字】双机串行通讯 AT89C52 异步通讯功能扩展目录前言 (1)第一章、系统功能 (2)1.1 设计要求和系统的组成及工作原理 (2)第二章、系统设计方案 (3)2.1硬件设计 (3)2.1.1 AT89C52和RS232说明 (3)2..12 双机通讯的方案选择 (7)2.1软件设计 (8)2.2.1 甲机程序的编写说明 (8)2.2.2 甲机程序的编写说明 (12)第三章、调试与操作 (19)3.1 开发板调试 (19)3.2 测试结果与分析 (20)第四章、结论 ........................ 错误!未定义书签。
单片机双机通信设计
*****************实践教学*****************兰州理工大学计算机与通信学院2013年秋季学期通信系统综合训练课程设计题目:51单片机双机串行通信设计专业班级: 10级通信四班姓名:学号:指导教师:成绩:在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。
单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。
本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双机通信。
在通信过程中,使用通信协议进行通信。
并用C语言编写程序实现PC机与51单片机通过串口实现异步通信。
关键字:51单片机;串行通信;RS-232接口标准前言 (1)一、基本原理 (2)1.1串行通信与并行通信 (2)1.1.1 同步通信 (2)1.1.2 异步通信 (3)1.2 串行接口的特点 (4)1.3 波特率选择 (5)1.4 通信协议的使用 (6)1.5 51单片机的结构和作用 (6)1.6 双机通信 (7)二、系统设计 (8)2.1 系统设计方案 (8)2.2 硬件设计 (8)2.3 软件设计 (9)三、系统分析 (12)3.1 汇编语言和C语言的特点及选择 (12)3.2 并行通信与串行通信的比较 (12)3.4 AT89C51芯片的介绍 (12)3.5 MAX232芯片的介绍 (13)总结 (15)致谢 (16)附录 (17)参考文献 (21)前言近年来,在自动化控制和智能仪表中,单片机的应用越来越广泛。
虽然MOS单片机内部含有丰富地位硬件资源,但对于一些复杂的单片系统来说,光靠单个单片机资源远远不能满足系统要求,通常需要对单片机进行外部扩展。
例如I/O接口,扩展存储器,扩展定时/计数器更有甚者需要可扩展单片机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机双机通信系统课程设计一.课程设计的目的及基本要求:实践课程是使学生融会贯通本课程所学专业理论知识,完成一个较完整的设计计算和安装调试过程,以加深学生对所学理论的理解与应用,认识和熟悉元器件和电子测量仪器的性能指标,了解解决实际问题的一般过程,培养学生综合运用基础理论知识和专业知识去解决实际工程设计问题的能力。
通过电子技术的综合性工程训练,使学生达到以下的目的和要求:1、结合模拟电路、数字电路、可编程逻辑器件、单片机电子线路CAD等课程中所学的理论知识,按要求独立设计方案,培养学生独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用电子器件的类型和特性,并掌握合理选用的原则;3、学会使用常用电子元器件(包括中规模芯片、专用芯片和可编程器件);4、掌握基本的现代电子技术设计工具和EDA(Electronicdesign automation)技术;5、掌握电子电路的安装与调试技术,进一步熟悉电子仪器的使用方法;6、认真撰写总结报告,培养严谨的作风和科学的态度;二.课程设计的主要内容:课题十九单片机双机通信系统基本要求:设计两个单片机最小系统,能实现有线通信,一 23方为发送,另一方为接收。
提高要求:两个单片机最小系统能相互通信,并能实现校验。
三.具体要求和时间安排:每一个学生在教师指导下,独立完成一个应用系统。
工作量如下:1、电路原理图(A3幅面)1张,要求Protel软件绘制;2、pcb版图(A3及以上幅面)1张;3、设计说明书(20-30页)1本,内含能编译通过的源程序(有必要的注释)。
23目录一、前言 (4)二、键盘设计 (5)1、硬件接线部分 (5)2、4×4矩阵键盘识别处理 (7)3、键盘识别处理程序 (8)三、单片机的选择及其程序设计 (10)1、单片机型号的选择 (10)2、协议设计 (10)3、双机连接电路图 (11)4、甲机程序 (11)5、乙机程序 (16)四、数码管显示设计 (16)23五、总体电路图 (21)六、设计小结 (22)七、参考文献 (23)一.前言由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。
一个MCS51系列的单片机(如Atmel89c**)内部包含有RAM、FLASH ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。
但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。
采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。
在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。
MCS51系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。
但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。
所幸的是,单片机的并行端口也能相互连接来进行数据通信。
根据单片机端口内部结构的特点,这些端口的端口线可以23直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。
此次设计就是针对上述情况展开的。
系统结构框图如图(1)所示:二、键盘设计(1)硬件接线部分考虑到此次设计要求用到的按键数比较多(0~9,A~F 共16个按键),为了节约I/O资源,采用行列式键盘,如图(1)所示23图(1)按键编排如图(2)所示2323图(2)(2)4×4矩阵键盘识别处理按键设置在行列式交点上,行列线分别连接到按键开关的两端。
当行线通过上拉电阻接+5伏时,被钳位在高电平状态 ,事先认为设定好行线和列线的序号。
此处设行号为i ,从上到下编为0-3对应于p1.0-p1.3口,列线设为j ,从左到右编为0-3对应于p1.4-p1.7口。
每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。
事先有数组存放好对应键值的段选码。
矩阵的行线和列线分别通过两并行接口和CPU 通信。
每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接V CC ,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
(3)键盘识别处理程序键盘实现程序如下:void scanf(void) /*键盘扫描子程序*/{uchar i,j,k=0; /*i为行号,j为列号*/unsigned char num[4][4]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84};/*采用共阳极输出*/while(1){for(k=0;k<8;k++) /*循环8次,取得8个键盘键值*/{ /*存入TAB[]数组*/P1=0x0F;delay(); /*软件延时去抖动*/if((P1&0x0F)!=0x0F){23switch(P1) /*确定行号*/{case 0x07: i=3; break;case 0x0b: i=2; break;case 0x0d: i=1; break;case 0x0e: i=0; break;default: break;}}P1=0xF0; //反转行和列上的电平if((P1&0xF0)!=0xF0){switch(P1) /*确定列号*/{case 0x70: j=3; break;case 0xb0: j=2; break;case 0xd0: j=1; break;case 0xe0: j=0; break;default: break;}23TAB[k]=num[j][i]; /*P1输出对应的按键值*/}}}三、单片机的选择及其程序设计(1)单片机型号的选择单片机选用两片Atmel公司的常用芯片AT89C51,一片用于接收键盘的输入并做出判断,一片用于接收数据并驱动8个七段数码管实现动态显示。
AT89C51完全可以满足功能要求,而且价格便宜,容易获得。
(2)协议设计规定协议内容如下:数据传输的双方均使用2400bps的速率传送数据,使用主从通信方式,主机发送数据,从机接收数据,双方在发送数据和接收数据时使用查询方式。
(此处设计甲机发送,乙机接收)双方开始数据传输时,甲机先发送AAH给乙机,当乙机接收到AAH之后,向甲机回答BBH。
甲机收到BBH后就把数码表TAB[8]中的8个数据发送给乙机,并发送校验和。
乙机收到8个数据并计算收到的数据的校验和,与甲机发送过来的校验和进行比较,若校验和相同(正确)则发送00H给甲机;否则发送FFH(错误)甲机,重新接收。
乙机接收到8个数据后送8个数码管动态显示。
(3)双机连接电路图如图(4)所示图(4)(4)甲机程序#include<reg52.h>#define uchar unsigned charuchar TAB[8];uchar i,sum; /*sum为求和校验*/void delay(void) /*延时程序*/ { int j;for(j=0;j<12000;j++);}void scanf() /*键盘扫描程序*/{uchar i,j,k=0;unsigned char num[4][4]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e};while(1){for(k=0;k<8;k++){P1=0x0F;delay(); /*软件去抖动*/if((P1&0x0F)!=0x0F){switch(P1){case 0x07: i=3; break;case 0x0b: i=2; break;case 0x0d: i=1; break;case 0x0e: i=0; break;default: break;}}P1=0xF0; /*反转行和列上的电平*/if((P1&0xF0)!=0xF0){switch(P1){case 0x70: j=3; break;case 0xb0: j=2; break;case 0xd0: j=1; break;case 0xe0: j=0; break;default: break;}TAB[k]=num[j][i]; /*P1输出对应的按键值*/}}}}void init(void) /*初始化程序*/{TMOD=0x20;TH1=0xf3; /*波特率为2400bps*/TL1=0xf3;PCON=0x00;/*SMOD=0*/TR1=1; /*开T1中断*/SCON=0x50; /*接收允许*/}void send(void) /*发送函数*/{do{SBUF=0xaa; /*发送握手信号0XAA*/while(!TI); /*等待接收*/TI=0; /*传送完复位*/while(!RI); /*等待接收*/RI=0; /*接收完复位*/}while(SBUF!=0xbb); /*甲机收到BBH后就把数码表*/TAB[8] /*中的8个数据发送给乙机,并发送校验和*/do{sum=0;for(i=0;i<=7;i++){SBUF=TAB[i]; /*发送段选码*/ sum+=TAB[i]; /*和校验*/while(!TI);TI=0;}SBUF=sum; /*发送校验和*/while(!TI);TI=0;while(!RI);RI=0;}while(SBUF!=0); //等待接收}main() //主程序{init();scanf();send();}(5)乙机程序#include<reg52.h>#define uchar unsigned charvoid init(void) //初始化程序{TMOD=0x20;TH1=0xf3; //波特率为2400bpsTL1=0xf3;PCON=0x00;TR1=1;SCON=0x50;}void delay(void) /*延时程序*/{uchar j;for(j=0;j<12000;j++);}void receive(void) //接收函数{ uchar i,sum;uchar TABS[8]; //定义接收数组do { while(!RI);RI=0;}while(SBUF!=0xaa); //接收完0XAA则向主机发送0XBBSBUF=0xbb; while(!TI);TI=0;while(1){ sum=0;for(i=0;i<=7;i++){ while(!RI);RI=0;TABS[i]=SBUF; //装人接收的数据sum+=TABS[i];}while(!RI);RI=0;if (SBUF==sum) //和校验{ SBUF=0X00;while(!TI);TI=0;break;}else{ SBUF=0xff;while(!TI);TI=0;}}while(1) //p2口为位选码P2=0xfe;{ for(i=0;i<=7;i++){ P0=TABS[i]; //p0口输出段选码P2=P2<<1|0x01; //位选码左移,并或0X01实现动态显示delay(); } //延时}}void main(void) //接收主函数{ init();receive();}四、数码管显示设计为了显示所需字符,我们必须先查的对应字符的段选码,如图()所示。