单片机与单片机之间的串行通讯.doc
《单片机与单片机之间的串行通讯.doc》由会员分享,可在线阅读,更多相关《单片机与单片机之间的串行通讯.doc(27页珍藏版)》请在沃文网上搜索。
1、 摘要串行通讯是单片机的一个重要应用。本设计就是利用两块单片机来完成一个系统,实现单片机之间的串行通讯。随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。于是利用单片机串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。从智能家用电器到工业上的控制系统都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分利用了微机分析处理能力强、速度快的特点及下位机(单片机)面向控制、使用灵活方便的优势。由于AT09C52系列单片机具有性能稳定、工作可靠、价格低廉等可特点,因此其应用相当广泛。AT09C52单片机中有
2、异步通信串行接口,能方便的构成双机,多机通讯接口。随着测量向自动化,智能化,网络化方向的发展。利用多机通讯构成的分布式系统逐渐普及。本实验就点对点的双机通信进行训练。学习串口的工作方式,初始化编程,和单片机与单片机点对点通信的编程方法以及硬件电路的设计方法。在此基础上可以进一步提高,实现多机通信以及单片机与PC机的通讯,手机通过蓝牙与单片机通讯,电脑通过蓝牙与单片机通讯等一系列功能扩展。【关键字】 双机串行通讯 AT89C52 异步通讯 功能扩展目录 前言1第一章、系统功能21.1 设计要求和系统的组成及工作原理2第二章、系统设计方案32.1硬件设计3 2.1.1 AT89C52和RS232说
3、明3 2.12 双机通讯的方案选择72.1软件设计8 2.2.1 甲机程序的编写说明8 2.2.2 甲机程序的编写说明12第三章、调试与操作193.1 开发板调试193.2 测试结果与分析20第四章、结论21附录一、参考文献22附录二、元器件清单23附录三、 电路总图24附录四、 实物图25前言 电子科学技术是人类在生产斗争和科学实验中发展起来的。随着科学技术的发展和人类的进步,电子技术已经成了各种工程技术的核心,特别是进入信息时代以来,电子技术更是成了基本技术,其具体应用领域涵盖了通信领域、控制系统、测试系统、计算机等等各行各业。单片机之间的数据通讯在当今社会应用相当广泛,单片机之间的数据通
4、讯。由于52系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个52系列的单片机(如At89c52)内部包含有RAM、FLASH ROM、三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。52系
5、列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能相互连接来进行数据通信。根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。本文就是关于用单片机与单片机之间的串行通讯的过程及基本原理。第一章 系统功能1.1设计要求和系统的组成及工作原理 一设计要求 1.用RS232串行芯片实现双向通讯。
6、2.传送的数据在显示器上(数码管和发光二极管)显示。 二.系统组成 图1 总体框图 三.工作原理双机通信系统通过甲乙单片机的串行口来实现数据的收发。甲单片机通过开关电路来启动发送程序,甲机当开关按下时向乙机发送一个数据,乙机上蜂咛器发出声音提示有数据发送过来,乙机通过接收中断来接收和开关判断是否接收甲机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示主机发送过来的数据。乙单片机通过开关电路来启动发送程序,乙机给甲机发送一数据,甲机上蜂咛器发出声音提示有数据发送过来,甲机通过接收中断来接收和开关判断是否接收乙机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示乙机发送过来的
7、数据。第二章 系统设计方案2.1 硬件设计 2.1.1 AT89C52和RS23说明 一. At89c52单片机内部有1个功能很强大的全双工串行口,可以同时发送和接收数据。串行口的内部有数据接收缓冲器和数据发送缓冲器,数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都是用SBUF来表示,地址都是99H,CPU对特殊功能寄存器SBUF执行写操作就将数据写入发送缓冲器,对SBUF执行度操作就是读出接收缓冲器中的内容。特殊功能寄存器SCON参访串行口的控制状态信号,串行口用T1或者T2作为波特率发生器(发送和接收时钟),特殊功能寄存器PCON的最高位SMOD为串行口波
8、特率的倍率控制位。SCON:串行口控制寄存器寄存器地址98H,位寻址9FH98H。位地址9F9E9D9C9B9A9998位符号SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位SM2:多机通信控制位REN:允许/禁止串行口接收的控制位TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式中,RB8收到的是停止位,在方式0中不用。TI串行口发送中断请求标志位: 当发送完一帧串行数据后,由硬件置1;在转 向中断服务程序后,用软件清
9、0。RI串行口接收中断请求标志位: 当接收完一帧串行数据后,由硬件置1;在转 向中断服务程序后,用软件清0。SM0、SM1:串行口工作方式选择位,其组合含义如下所示: PCON的D7位作为串行波特率系数SMOD控制位,PCON不可位寻址,其地址为87H,当SMOD=1时,波特率加倍。SMOD在PCON中的位置如下所示:二 RS232近程通讯总线适合于数据传输速率在020000b/s范围内的通信,由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。如图2所示: 图2 DB91.电气特性EIA-RS-232C对电器特性、逻辑电平和各种信号
10、线功能都作了规定。在TxD和RxD上:逻辑1(MARK)=-3V-15V逻辑0(SPACE)=+315V在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)+3V+15V信号无效(断开,OFF状态,负电压)=-3V-15V RS232C与TTL转换:EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。 最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和
11、DCE之间最大传输距离为15m(50英尺。2.DB-9连接器使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。 用RS-232总线连接系统有近程通讯方式和远程通讯方式两种,近程通讯是指传输距离小于15米的通讯,可以用RS-232 电缆直接连接。15米以上
12、的长距离通讯,需要采用调制调解器。 当计算机与终端之间利用RS-232作近程连接时,有几根线实现交换连接。本次实验不需要检测数据等信号状态的 RS-232是异步通讯中最广泛的标准总线,适用于数据中端设备(DTE)和数据通讯设备(DCE)之间的接口。在微机通讯中,通常使用 的RS-232接口信号是九根引脚。如图3:各引脚功能如下:引脚号符号方向功能1DCD输入载波检测2RXD输入接收数据3TXD输出发送数据4DTR输出数据终端就绪5GND信号地6DSR输入数据装置就绪7RTS输出请求发送8CTS输入清除发送9RI输入振铃指示 图3 DB9管脚说明 用RS-232总线连接系统有近程通讯方式和远程通
13、讯方式两种,近程通讯是指传输距离小于15米的通讯,可以用RS-232 电缆直接连接。15米以上的长距离通讯,需要采用调制调解器。 计算机和终端用RS-232连接的交叉图4如下,图中“发送数据”与“接收数据”是交叉相连的,是得两台设备都能正常的发送和接收。 图4 通讯连接 数据发送与接收线: 发送数据(TxD)通过TxD终端将串行数据发送到MODEM。 接收数据(RxD)通过RxD线终端接收从MODEM发来的串行数据。 2.1.2 双机通讯的方案选择 设计方案: 该系统采用主从共两片AT89C52单片机来实现上位机对下位机的控制,由于是近距离的双机通信,我们采用单片机直接交叉连接的方式,上位机发
14、送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。需要注意的是一定要保证主从机相同的数据传输速率,即要求设置相同的波特率。电路分为数码管显示模块,指示模块、以及单片机工作的基本复位、晶振模块。 甲机由3个数码管,4个独立键盘开关,1个蜂咛器组成。 乙机由8个发光二极管,一个蜂咛器,1个数字温度传感器DS18B20组成。 单片机上最基本的两个电路: 复位电路(图5)和晶振电路(图6) 图5 复位电路 图6 晶振电路2.2 软件设计本系统的软件设计流程图。系统设计代码分为以下几个部分:初始化串行、发送数据、接收数据、键盘输入、数值转换、LED显示,数码管显示,用keil编译。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
15 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 之间 串行 通讯