基于AT89C51单片机的双机串行通信设计Word文档下载推荐.doc
- 文档编号:15271344
- 上传时间:2022-10-29
- 格式:DOC
- 页数:22
- 大小:793KB
基于AT89C51单片机的双机串行通信设计Word文档下载推荐.doc
《基于AT89C51单片机的双机串行通信设计Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的双机串行通信设计Word文档下载推荐.doc(22页珍藏版)》请在冰豆网上搜索。
前言
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高,在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。
串行通信作为单片机之间常用的通信方法之一,由于其通信编程灵活、硬件简洁并遵循统一的标准,因此其在工业控制领域得到了广泛的应用。
在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。
单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。
同时,IBM-PC机正好补充单片机人机对话和外围设备薄弱的缺陷。
各单片机独立完成数据采集处理和控制任务,同时通过通信接口将数据传给PC机,PC机将这些数据进行处理、显示或打印,把各种控制命令传给单片机,以实现集中管理和最优控制。
串行通信是单片机的一个重要应用,本次课程设计就是要利用单片机来完成一个系统,实现爽片单片机床航通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用RS-232进行双击通信。
在通信过程中,使用通信协议进行通信。
目录
1设计目的………………………........………………………………..………………..…..1
2设计要求………………………………………………………..……………........…..…..1
3基本原理…………………………………………......……………..………………..……1
3.1串行通信………………………………………………………..………........….....1
3.2AT89C51的工作特性…………………………………………………….........…..1
3.3波特率选择……………………………………………………..………............….4
3.4通信协议的使用……………………………………………………..…............….5
3.5双机通信……………………………………………………..……….............…....6
4设计方案………………………………………………………..………………..….....…6
5硬件设计………………………………………………………..……………….......…....6
5.151单片机串行接口的结构……………………………………………….........….6
5.2整体电路设计………………………………………………………..…….........…8
6软件设计………………………………………………………..……………..…..…..….9
7联合调试………………………………………………………..………………..…....…11
8总结………………………………………………………..………………..………..…..12
参考文献………………………………………………………..………………..……......…13
附录………………………………………………………..………………..……….........….14
1设计目的
1.通过设计相关模块充分熟悉51单片机的最小系统的组成和原理;
2.通过软件仿真熟悉keil和proteus的配合使用;
3.通过软件编程熟悉51的C51编程规范;
2设计要求
两片单片机之间进行串行通信,A机将数据发送给B机,在B机的数码管上静态显示。
3基本原理
3.1串行通信
计算机与外界的信息交换称为通信。
在通信领域内,有两种数据通信方式:
并行通信和串行通信。
随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
3.2AT89C51单片机的主要工作特性
·
内含4KB的FLASH存储器,擦写次数1000次;
内含28字节的RAM;
具有32根可编程I/O线;
具有2个16位可编程定时器;
具有6个中断源、5个中断矢量、2级优先权的中断结构;
具有1个全双工的可编程串行通信接口;
具有一个数据指针DPTR;
两种低功耗工作模式,即空闲模式和掉电模式;
具有可编程的3级程序锁定定位;
AT89C51的工作电源电压为5(1±
0.2)V且典型值为5V,最高工作频率为24MHz.
AT89C51各部分的组成及功能:
外部中断
TXD
RXD
P0P1P2P3
扩展控制
振荡器和时钟电路
数据存储器
128字节
程序存储器
14KB
CPU
两个16位定时器
计数器
中断
控制
总线扩展控制器
并行可编程
I/O口
可编程
串行口
内部总线
3.2.1中央处理器
(1)运算器
运算器主要用来实现算术、逻辑运算和位操作。
其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。
ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。
算术运算包括加、减、乘、除、增量、减量、BCD码运算;
逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。
暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。
ALU的输出也是两个:
一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;
另一个是程序状态字PSW,用于存储运算和操作结果的状态。
累加器是CPU使用最频繁的一个寄存器。
ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。
单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。
B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。
运算结果存于AB寄存器中。
(2)控制器
控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。
AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。
复位时PC的内容是0000H.
(3)存储器
单片机内部的存储器分为程序存储器和数据存储器。
AT89C51单片机的程序存储器采用4KB的快速擦写存储器FlashMemory,编程和擦除完全是电器实现。
(4)外围接口电路
AT89C51单片机的外围接口电路主要包括:
4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。
3.2.2存储器组织和特殊功能寄存器
AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间和访问指令。
它有4个存储空间:
片内存储器、片外存储器、片内数据存储器及片外存储器。
3.2.3时钟电路和工作时序
(1)振荡器电路原理振荡器
Rf
XTAL1
PD
&
÷
6
3
Q
2
(2)振荡电路的接法
外部振荡器信号
NC
XTAL2
GND
C1
C2
CND
3.3波特率选择
波特率(BoudRate)就是在串口通信中每秒能够发送的位数(bits/second)。
MCS-51串行端口在四种工作模式下有不同的波特率计算方法。
其中,模式0和模式2波特率计算很简单,请同学们参看教科书;
模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。
在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。
在此模式下波特率计算公式为:
波特率=(1+SMOD)*晶振频率/(384*(256-TH1))
其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;
TH1——定时器的重载值。
在选择波特率的时候需要考虑两点:
首先,系统需要的通信速率。
这要根据系统的运作特点,确定通信的频率范围。
然后考虑通信时钟误差。
使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。
为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。
下面举例说明波特率选择过程:
假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。
则TH1=256-62500/波特率。
根据波特率取值表,我们知道可以选取的波特率有:
1200,2400
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 单片机 双机 串行 通信 设计