基于 51 单片机的双机串行通信课程设计一、总体设计1 设计目的1
经过设计相关模块充分熟悉 51 单片机的最小系统的组成和原理; 2
经过软件仿真熟悉 keil 和 proteus 的配合使用; 3
经过软件编程熟悉 51 的 C51 编程法律规范; 4
经过实际的硬件电路搭设提高实际动手能力
设计要求: 两片单片机之间进行串行通信, A 机将 0x06 发送给 B 机, 在B 机的数码管上静态显示 1, B 机将 0~f 动态循环发送到 A 机, 并在其数码管上显示
设计方案: 软件部分, 经过通信协议进行发送接收, A 机先送 0x06(B 机数码管显示 1)给 B 机( B 机静态显示) , 当从机接收到后, 向 B 机发送代表 0-f 的数码管编码数组
B 收到 0x06 后就把数码表TAB[16]中的数据送给从机
二、 硬件设计1
51 单片机串行通信功能图 1
AT89C51( 52) 计算机与外界的信息交换称为通信, 常见的通信方式有两种: 并行通信和串行通信
51 单片机用 4 个接口与外界进行数据输入与数据输出就是并行通信, 并行通信的特点是传输信号的速度快, 但所用的信号线较多, 成本高, 传输的距离较近
串行通信的特点是只用两条信号线( 一条信号线, 再加一条地线作为信号回路) 即可完成通信, 成本低, 传输的距离较远
51 单片机的串行接口是一个全双工的接口, 它能够作为UART( 通用异步接受和发送器) 用, 也能够作为同步移位寄存器用
51 单片机串行接口的结构如下: ( 1) 数据缓冲器( SBUF) 接受或发送的数据都要先送到 SBUF 缓存
有两个, 一个缓存, 另一个接受, 用同一直接地址 99H,发送时用指令将数据送到SBUF 即可启动发送; 接收时用指令将 SBUF 中接收到的数据取出
( 2) 串行控制寄存器( PCON)