单片机课程设计-- 单片机之间的双向通信演示
C51单片机技术应用与实践课件3-4 设计单片机双机通信
串行通信的分类
1
理论认知
按照串行数据的时钟控制方式,串行通信可分为同步通信 和异步通信两类。
异步通信(Asynchronous Communication)
在异步通信中,接收端是依靠字符帧格式来判断发送端 是何时开始发送,何时结束发送的。字符帧格式是异步通 信的一个重要指标。
1
理论认知
异步通信的字符帧格式·
CRC2
同步通信的字符帧格式
1
理论认知
MCS-51串行口结构
MCS-51内部有两个独立的接收、发送缓冲器SBUF。 SBUF属于特殊功能寄存器。发送缓冲器只能写入不能读 出,接收缓冲器只能读出不能写入,二者共用一个字节 地址(99H)。
1
理论认知
串行口结构示意图
单片机与MAX232的接口原理图
1
同步通信(Synchronous Communication)
同步通信是一种连续串行传送数据的通信方式,一 次通信只传输一帧信息。
同步 数据 数据 数据 字符1 字符1 字符2 字符3
(a)
同步 同步 数据 数据 字符1 字符2 字符1 字符2
(b)
数据 字符n
CRC1
CRC2
数据 字符n
CRC1
任务实施
1.硬件设计 (1)单片机双机通件编程
(1) 端口分配 系统中有甲、乙两个单片机系统,在每个单片机的
P1.0和P1.1口均有两个按键,其中P1.0为增加控制键, P1.1为减少控制键,甲单片机的TXD引脚和乙单片机的 RXD相连同时乙单片机的TXD引脚和甲单片机的RXD相接。
2
实践训练
2
实践训练
任务分析:
甲乙两个单片机系统均具有接收和发送功能,可 通过查询的方式知道各自单片机系统的按钮按下的是 “计数增加”还是“计数减少”的按钮,用中断方式 接收对方单片机发过来的数据并显示。
第17讲 单片机串行通信(双机双向通信)
被确认的从机,复位SM2=0,接收RB8=0的数据帧。
RB8=1:地址帧 SM2=1:多机通信方式
RB8=0:数据帧
SM2=0:直通方式
22
3)REN—允许接收位
控制串行数据的接收。
REN=0:禁止接收;
REN=1:允许接收 通过软件置位、复位 4)TB8 在方式2、方式3下,要发送的第9位数据(格式信 息),在多机通信中,通过TB8状态,来表示主机 发送的时地址帧(1)还是数据帧(0)。
参见第11章 MCS—51串行通信
11-1 串行通信基础 11-1-1 串行通信
通信种类:
串行通信:数据各位一位一位传输。传输距离较远;
并行通信:数据字符所有位同时传输。速度快、效率高, 距离短。
11
串行通信有同步和异步两种方式
同步方式:有严格的同步时钟控制。较少使用。
异步方式:不需要严格的同步信号,也不需要数据流的
RxD TxD
P1.0
DATA
CLK
CD4014
P/S
数据发送:当8位数据全部移出后,TI被自动置位 数据接收:当REN=1(允许接收),接收到8位数据
时,RI被自动置位。
31
方式0时,移位操作的波特率固定,为单片机 晶振频率1/12。
晶振fosc=6MHz,波特率为500K/秒,2s移位一次; 晶振fosc=12MHz,波特率为1M/秒,1s移位一次;
2
电 路 设 计
3
硬件相关知识
CONN-D9M (9针串口-公) CONN-D9F (9针串口-母)
信号线 引脚
信号地 保护地 发送数据 接收数据 请求发送RTS (输出) 消除发送CTS (输入) 数据准备好(输入)
项目8单片机双机通信设计.ppt
任务1 单片机双机通信设计
• /*接收字符串,参数str指向保存 接收子符串缓冲区*/ • void get_string(unsigned char *str) • { • unsigned char count = 0; • *str = 0; //清缓冲区 • do • { • while(!RI); //等待数据接收 • *str = SBUF; //保存接收到的数 据 • RI=0; //清接收标志位 • str++; //准备接收下一数据 • count++; • if(count > _MAX_LEN_) //如果 接收数据超过缓冲区范围,则 只接收部分字符 • { • *(str-1) = 0; • break; • } • while(*(str-1)==’\0’); //接收至字 符串结尾则停止 • }
任务1 单片机双机通信设计
• • • • • • • • • • • /*-----------------------发送数据----------------------------------*/ put_string(buf); buf[0] = 0; //清空缓冲区 /*----------------------接收数据----------------------------------*/ while(strcmp(buf, _RECV_STRING_)!=0) { get_string(buf); } beep(); while(1); //反复循环 } • • • • • • • • • • • • • /*------------------------------子函数-------------------------------------*/ /*发送字符,参数str为待发送子符 串*/ void put_string(unsigned char *str) { do { SBUF = *str; while(!TI); //等待数据发送完毕 TI=0; //清发送标志位 str++; //发送下一数据 } while(*(str-1)==’\0’); //发送至字符 串结尾则停止 }
实验四两个单片机之间双向通信实验
实验四两个单片机之间双向通信实验一、实验目的1.了解MCS-51单片机串行口(UART)的结构、工作方式。
2.了解串行口通信的原理和数据交换过程。
3.掌握单片机之间进行串行口通信的编程方法。
二、实验内容将甲乙两台单片机串行口连接,即甲机的TXD与乙机的RXD相连;甲机的RXD与乙机的TXD相连;并实现双机共地。
整个系统实现双向通信。
具体是:1.甲机的K1按键可通过串行口分别控制乙机的LED1点亮;LED2点亮;LED1和LED2全亮或者全灭。
2.乙机的K2按键可通过串行口向甲机发送数字,甲机将接收到的数字显示在其P0端口的LED数码管显示器上。
三、实验程序甲机程序:ORG 0000HAJMP MAINORG 0003HAJMP SENDORG 0023HAJMP READYMAIN: MOV SCON,#90HMOV PCON,#80HSETB EASETB ESSETB IT0SETB EX0MOV SP,#40HMOV R0,#0MOV DPTR,#TAB HERE: SJMP HERESEND: CJNE R0,#04H,LP1 SHOW: MOV A,R0MOV C A,A+DPTRMOV C,PMOV TB8,CMOV SBUF,ACLR TIINC R0RETIREADY: JBC TI,RETURN RECEIVE:CLR RIMOV A,SBUFMOV P0,ARETURN: RETILP1:JC SHOWCLR CMOV A,R0SUBB A,#04HMOV R0,AAJMP SHOWTAB: DB 00H,01H,02H,03H END乙机程序:ORG 0000HAJMP MAINORG 0003HAJMP SENDORG 0023HAJMP READYMAIN: MOV SCON,#90H MOV PCON,#80HSETB EASETB ESSETB IT0SETB EX0MOV SP,#40HMOV R0,#0MOV DPTR,#TABHERE: SJMP HERESEND: CJNE R0,#09H,LP1 SHOW: MOV A,R0MOV C A,A+DPTRMOV C,PMOV TB8,CMOV SBUF,ACLR TIINC R0RETIREADY: JBC TI,RETURN RECEIVE:CLR RIMOV A,SBUFMOV P1,ARETURN: RETILP1: JC SHOWCLR CMOV A,R0SUBB A,#0AHMOV R0,AAJMP SHOWTAB: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH END四、实验原理图五、实验仿真及结果六、实验总结通过本次实验,掌握了单片机之间进行串行口通信的编程方法,对MCS-51单片机串行口(UART)的结构、工作方式都有了进一步的了解。
单片机单片机课程设计-双机串行通信
单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 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 模块进行初始化。
单片机课程设计-双机串行通信
51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:
(1)数据缓冲器(SBUF)
接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。
SBUF=key_in;//发送数据
while(!TI);//等待数据发送,由TI判断发送是否结束
TI=0;
}
}
}
void chuankou() interrupt 4//串口中断函数
{
dis=SBUF;//接收数据
RI=0;//RI由软件清零;
}
六、仿真结果
八、实验器材
2个AT89C51
MAX232芯片
2个LCD
串口连接线
七、总结
本次设计采用两片AT89C51单片机实现信息的串行通信,设计过程中,从双机通信背景的了解,到89C51单片机具体功能的了解,到串行通信的原理的熟悉,到掌握具体串行通信在双机之间的实现;从硬件电路设计到程序编写;从硬件调试到软件模拟实现等。发送方的数据由串行口TXD断输出,经过传输线将信号传送到接收端。接收方接收电平信号,对于接口电路,短距离传送,减少抗干扰作用,如果短离远双机串口中可以连接电平转换器常用芯片RS232,在此不再叙述。设计中,收获不少东西,也遇到了不少的问题。
单片机双机通信课程设计报告
目录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接收。
需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。
课程设计--单片机双机通信系统
课程设计任务书说明:1、学院、专业、年级均填全称。
2、本表除签名外均可采用计算机打印。
本表不够,可另附页,但应在页脚添加页码。
电子综合实习报告书----单片机双机通信系统的设计一、引言由于MCS51系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。
一个MCS51系列的单片机(如Atmel89c51)内部包含有RAM、FLASH ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。
但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。
采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。
在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。
MCS51系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。
但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。
所幸的是,单片机的并行端口也能相互连接来进行数据通信。
根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。
此次设计就是针对上述情况展开的。
系统结构框图如图(1)所示。
二、键盘设计1、硬件接线部分考虑到此次设计要求用到的按键数比较多(0~9,A~F共16个按键),为了节约I/O资源,采用行列式键盘,如图(2)所示图(2)按键编排如图(3)所示图(3)2、4×4矩阵键盘识别处理按键设置在行列式交点上,行列线分别连接到按键开关的两端。
当行线通过上拉电阻接+5伏时,被钳位在高电平状态,事先认为设定好行线和列线的序号。
单片机双机串口通信课程设计
单片机双机串口通信课程设计
本课程设计旨在通过单片机双机串口通信的实践,帮助学生掌握串口通信的原理和实现方法,提高学生的嵌入式系统设计能力。
具体内容包括:
1. 串口通信基础知识:串口通信的原理、常用通信协议、串口通信的特点等。
2. 单片机串口通信实践:使用Keil C编程语言,结合串口调试助手等工具,实现单片机之间的串口通信。
包括单向通信、双向通信、数据校验等。
3. 单片机双机串口通信实践:通过两个单片机之间的串口通信,实现数据的互传和双向控制。
包括数据的发送和接收、控制指令的编写等。
4. 应用实践:将所学知识应用到实际项目中,如智能家居、工业控制等领域。
学生需要设计和实现一个具有实际应用价值的小型嵌入式系统。
通过本课程设计,学生将学习到如何使用单片机实现串口通信,掌握串口通信的原理和实现方法,提高嵌入式系统设计能力。
同时,通过实际应用实践,培养学生的综合素质和实践能力。
- 1 -。
单片机课程设计-- 单片机之间的双向通信演示
课程设计任务书课程单片机课程设计题目单片机之间的双向通信演示专业姓名学号一、任务以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)串行通信串行数据通信要解决两个关键问题,一个是数据传送,另一个是数据转换。
所谓数据传送就是指数据以什么形式进行传送。
所谓数据转换就是指单片机在接收数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。
异步串行通信通常以字符(或者字节)为单位组成字符帧传送。
字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
两个MCS-51单片机之间双向通信
微型计算机技术专业方向课程设计
任务书
题目名称:两个MCS-51单片机之间双向通信
专业班级
姓名学号
学校:
指导教师:
课程设计任务书
课程名称:微型计算机技术
设计题目:两个MCS-51单片机之间双向通信
系统硬件要求:
利用两个单片机AT89C5实现如下功能:
1、甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。
2、乙机程序接收甲机发送字符并完成相应动作
说明:乙机接收到甲机发送的信号后,根据相应信号控制LED完成不同闪烁动作。
软件设计:
1)主程序设计
2)各功能子程序设计
其他要求:
1、每位同学独立完成本设计。
2、依据题目要求,提出系统设计方案。
3、设计系统电路原理图。
1、调试系统硬件电路、功能程序。
2、编制课程设计报告书并装订成册,报告书内容(按顺序)(1)报告书封面
(2)课程设计任务书
(3)系统设计方案的提出、分析
(4)系统中典型电路的分析
(5)系统软件结构框图
(6)系统电路原理图
(7)源程序
(8)课设字数不少于2000字
成绩
评语。
单片机双机串口通信设计课件
波特率的选择
若晶振为12MHz,TH1初值取FDH,依公式算出 的波特率为10416.6…; TH1初值取FCH,为 7812.5。
波特率要选择标称值,由于TH1的初值是整数,为 了获得标称值,依公式晶振频率要选11.0592MHz。
方式1和方式3波特率与TH1初值的对应关系:
15 2024/7/2
学习愉快!
5 2024/7/2
5.2.3 80C51串行口的工作方式 方式0:同步移位寄存器,用于扩展并行口
RXD:输入或输出引脚 TXD:移位脉冲输出引脚 发送和接收都是8位 波特率固定为:fosc/12
6 2024/7/2
数据输出:
写入SBUF
TCY
RXD(数据)
D0 D1
TXD(移位脉冲) TI(中断标志)
RXD 位采样脉冲
起始 D0
D1
D2 D3
D4
D5
D6
D7
RB8 停止位
RI(中断标志)
12 2024/7/2
5.2.4 80C51波特率确定与初始化步骤 波特率的确定 波特率的计算 固定波特率: 方式0波特率= fosc/12 方式2波特率=(2SMOD/64)* fosc
可变波特率:(方式1、方式3) 波特率=(2SMOD/32)*(T1溢出率) T1溢出率 = fosc /{12×[256 -(TH1)]}
SM2=0时,接收机地址帧甄别禁止。不论收到 的RB8为0或1,均可以使接收帧进入SBUF,并 使RI=1。此时的RB8通常为校验位。
REN:串行接收使能位,软件置1时,启动接收过程
3 2024/7/2
TB8:多机方式发送的第9位
发送的地址/数据帧标志。也可作为奇偶校验位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书课程单片机课程设计题目单片机之间的双向通信演示专业姓名学号一、任务以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章绪论随着科学技术的发展,单片机在各个领域的应用越来越广泛,计算机领域,航天领域,电子技术领域等,都离不开单片机的使用。
其中,串行通信技术是单片机的一个重要应用。
在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。
发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。
由于串行端口通常只是定义了物理层的接口规范,所以为确保每次传送的数据报文能准确到达目的地,使每一个接收者能够接收到所有发向它的数据,必须在通信连接上采取相应的措施。
由于借助串行通信端口所连接的设备在功能、型号上往往互不相同,其中大多数设备出了等待接收数据之外还会有其他的任务,例如,一个数据采集单元需要周期性地收集和存储数据;一个控制器需要负责控制计算机或向其他设备发送报文;一台设备可能会在接收方正在进行其他任务时向它发送信息。
因此,必须有能应对多种不同工作状态的一系列规则来保证通信的有效性。
这里所讲的保证串行通信的有效性的方法包括:使用轮询或者中断来检测、接收信息;设置通信帧的起始、停止位;建立连接握手;实行对接收数据的确认、数据缓存以及错误检查等。
本次课程设计就是要利用单片机来完成一个系统,实现单片机之间的双向通信演示,通信的结果使用LED数码管进行显示。
1.1 单片机AT89C51概述AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
1.2 LED显示屏控制技术状况显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。
1.2.1 串行传输与并行传输技术LED显示屏的数据传输方式主要有串行和并行两种。
日前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。
采用这种方式的驱动IC种类较多,不同显示单元之间的联线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易。
1.2.2 动态扫描与静态锁存技术LED显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。
一般室内显示屏多采用动态扫描技术,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等。
室外显示屏基本上采用静态锁存技术,即每一个发光一极管都对应有一个驱动寄存器,无需时分工作,从而保证了每一个发光一极管的亮度占空比为100%。
动态扫描法可以大大减少控制器的I/O口,因此应用较广。
1.2.3 自动检测及远程控制技术LED显示屏的构成复杂,特别是室外显示屏,供电、环境亮度、环境温度条件等都直接影响显示屏的正常运行。
在LED显示屏的控制系统中,因根据需要对温度、亮度、电源等进行自动检测控制,也可根据需要,远程实现对显示屏的亮度、色度调节、图像水平和垂直位置的调节以及工作方式的转换等。
1.3 MAX232概述MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电,应用于串行通信技术。
其主要特点为;1、符合所有的RS-232C技术标准。
2、只需要单一 +5V电源供电。
3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-。
4、功耗低,典型供电电流5mA。
5、内部集成2个RS-232C驱动器。
6、高集成度,片外最低只需4个电容即可工作。
1.4 本设计任务串行通信技术在单片机中有重要应用,本设计以AT89C51位核心,利用串行通信技术实现实现两个单片机之间的数据传输。
并包括单片机最小系统,串口通信电路,LED显示电路等基本电路。
第2 章总体方案论证与设计本系统采用单片机AT89C51为控制核心,系统主要包括包括单片机最小系统,串口通信电路,LED显示电路,下面对各模块的设计逐一进行论证比较。
2.1 LED驱动模块方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。
这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。
方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
比较以上两种方案,系统设计中采用方案一。
2.2 总体硬件组成框图图2-1 总体硬件组成框图系统框图如图2-1所示,系统主要由三大模块组成即单片机最小系统,串口通信电路,LED显示电路。
第3章系统硬件设计为使单片机双机通信显示系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。
硬件电路包括LED单片机最小系统,串口通信电路,LED显示电路。
3.1 单片机最小系统硬件设计单片机最小系统很简单,如图3-1所示,就是能使单片机工作的最少的器件构成的系统。
最小系统虽然简单,但是却是大多数控制系统所必不可少的关键部分。
对于MCS-51 单片机,其内部已经包含了一定数量的程序存储器和数据存储器,在外部只要增加时钟电路和复位电路即可构成单片机最小系统。
时钟电路单片机系统中的各个部分是在一个统一的时钟脉冲控制下有序地进行工作,时钟电路是单片机系统最基本、最重要的电路。
MCS-51 单片机内部有一个高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端,如果引脚XTAL1 和XTAL2 两端跨接上晶体振荡器(晶振)或陶瓷振荡器就构成了稳定的自激振荡电路,该振荡电路的输出可直接送入内部时序电路。
MCS-51 单片机的时钟可由两种方式产生,即内部时钟方式和外部时钟方式。
复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
图3-1单片机最小系统3.2串行通信电路该部分电路由芯片MAX232组成。
其电路原理图如图3-2所示,单片机的串口通过MAX232将TTL电平转换成EAI适合的电平,实现了两个单片机之间的通信。
图3-2串口通信电路3.LED显示电路该显示电路由LED数码管和上拉电阻组成,如图3-3所示:图3-3 LED显示电路如图3- 3,LED数码管接到单片机AT89C51的P0口,P0口为LED的显示给出相应的数据。
第4章系统的软件设计软件是该单片机双向通信演示的的重要组成部分,在系统的软件设计中我们也才用了模块化设计,将系统的各部分功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
4.1 甲单片机程序设计本设计中甲单片机AT89C51的主要功能就是实现输出控制命令符、LED显示屏上显示等功能。