双机通信系统单片机课程设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计概况 (2)

1 总体设计 (3)

1.1 设计要求 (3)

1.2 设计方案 (3)

2 双机通信硬件设计 (4)

2.1 AT89C51简介 (4)

2.2 AT89C51串行口的工作方式 (5)

2.3 晶振电路设计 (8)

2.4 复位电路设计 (8)

2.5 接口电路的设计 (9)

2.6 输入输出电路设计 (11)

3 双机通信软件设计 (13)

3.1 串行通信软件实现 (13)

3.2 串行通信程序流程 (13)

3.3 程序清单 (16)

4 软件仿真 (20)

5 硬件连接 (21)

6 设计总结 (23)

参考文献 (24)

设计概况

要构成一个较大规模的控制系统,常常需要采用多机控制实现,而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 双机通信系统原理框图

软件部分,通过通信协议进行发送接收,发送机先送联络信号给接收机,当接收机接收到联络信号后,向发送机回答一个应答信号,表示同意接收。发送机收到应答信号后开始发送数据,每发送一个数据块字节都要计算“校验和”,假定数据长度为16个字节,起始地址为40H,一个数据块发送完毕后立即发送“校验和”。接收机接收数据并存入数据缓冲区起始地址也为40H,每接收到一个数据字节便计算一次“校验和”,当接收到一个数据块后,在接受发送机发来的“校验和”,并将它与接收机计算的校验和进行比较。若二者相等,说明接受正确,接收机回答00H,发送机结束发送;若二者不等,说明接受不正确,接收机回答0FFH,请求重发,发送机重新发送数据一次。接收机接收到数据后通过发光二极管LED显示发送机的发送状态。

2 双机通信硬件设计

2.1 AT89C51简介

AT89C51 是一个带有4k 字节存储器的单片机,它具有128字节内部RAM;32 个I/O 口线和;两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。如图2所示,DIP40封装的AT89C51的各个引脚及其功能。

图2 AT89C51单片机引脚封装

AT89C51单片机各个引脚功能如下:

(1)电源几时钟引脚

•V

(40号引脚):电源接入引脚

CC

•V

(20号引脚):接地引脚

SS

•XTAL1(19号引脚):晶振接入的一个引脚

•XTAL2(18号引脚):晶振接入的另一个引脚

(2)控制线引脚

(9号引脚):复位信号输入引脚/备用电源输入引脚•RST/V

PD

•ALE/PROG(30号引脚):地址锁存允许信号输出引脚/编程脉冲输入引•EA/

V(31号引脚):内外存储器选择引脚/片内EPROM编程电压输入引

PP

•PSEN(29号引脚):外部程序存储器选通信号输出引脚

(3)I/O引脚

·P0.0—P0.7(39—32号引脚):一般I/O口引脚/低位地址总线引脚·P1.0—P1.7(1—8号引脚):一般I/O口引脚

·P2.0—P2.7(21—28号引脚):一般I/O口引脚/高位地址总线引脚

·P3.0—P3.7(10—17号引脚):一般I/O口引脚或第二功能引脚

P3.0(10号引脚):RXD串行口输入

P3.1(11号引脚):TXD串行口输出

P3.2(12号引脚):0

INT外部中断0输入

P3.3(13号引脚):1

INT外部中断1输入

P3.4(14号引脚):T0定时器0的外部输入

P3.5(15号引脚):T1定时器1的外部输入

P3.6(16号引脚):WR片外数据存储器“写”选通控制输出

P3.7(17号引脚):RD片外数据存储器“读”选通控制输出

2.2 AT89C51串行口的工作方式

AT89C51的串行口是一个可编程全双工的通信接口,具有通信异步接受和发送的全部功能,能同时进行数据的接收和发送,也可作为同步移位寄存器使用。

AT89C51的串行口主要由两个独立的串行数据缓冲寄存器SBUF(一个发送缓冲寄存器,一个接收缓冲寄存器),串行口控制寄存器、输入移位寄存器及若干控制门电路组成。

相关文档
最新文档