最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

单片机间串行通信

来源:动视网 责编:小OO 时间:2025-09-23 06:37:01
文档

单片机间串行通信

大学课程设计学院(系):机械电子工程学院专业:测控技术与仪器学生姓名:学号:课程设计题目:单片机间串行通信起迄日期:2011年1月3日-1月14日课程设计地点:指导教师:下达任务书日期:2010年12月20日摘要………………………………………………………………………………………2一总体设计……………………………………………………………………………21设计要求……………………………………………………………………………22设计方案……………………………………………………………………………2二硬件设
推荐度:
导读大学课程设计学院(系):机械电子工程学院专业:测控技术与仪器学生姓名:学号:课程设计题目:单片机间串行通信起迄日期:2011年1月3日-1月14日课程设计地点:指导教师:下达任务书日期:2010年12月20日摘要………………………………………………………………………………………2一总体设计……………………………………………………………………………21设计要求……………………………………………………………………………22设计方案……………………………………………………………………………2二硬件设
 

  大 学

课程设计

学  院(系):

机械电子工程学院
专      业:

测控技术与仪器
学 生 姓 名:

学 号:

课程设计题目:

单片机间串行通信 

起 迄 日 期:

   2011年1月 3 日 -  1 月 14日

课程设计地点:

指 导 教 师:

下达任务书日期:   2010 年 12 月 20 日

摘要………………………………………………………………………………………2

一  总体设计……………………………………………………………………………2

1   设计要求……………………………………………………………………………2

2   设计方案……………………………………………………………………………2

二  硬件设计……………………………………………………………………………3

1   51单片机串行通信功能 …………………………………………………………3

三  原理图和PCB图…………………………………………………………………5

四  汇编程序……………………………………………………………………………6

五  联合调制……………………………………………………………………………7

六 设计小结……………………………………………………………………………8

摘要

串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机间串行通信。通信的结果实用数码管进行显示,数码管采用查表方式显示。在通信过程中,使用通信协议进行通信。

一、总体设计

1.设计要求:

1.完成两台单片机间一主一从的单工通信。主机发送数据,从机接收数据并在数码管上显示。

 2.完成两台单片机的全双工通信。通信双方的任一单片机可同时发送和接收数据,并将数据在各自的数码管上显示。 

2.设计方案:

本次设计,单片机间的串行通信可以通过将串口相互连接而实现。单片机之间的信号都是TTL电平,并不需要特别的电平转换。单片机和单片机的串口可以直接通过导线连接,但两者的TXD和RXD需要相互反接才能正常收发。 

二、硬件设计

1.51单片机串行通信功能 

图1.ATC51

计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。

51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:

(1)数据缓冲器(SBUF)

接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。

(2)串行控制寄存器(PCON)

SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:

SM0SM1SM2RENTB8RB8TIRI
SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表

SM0SM1工作方式功能波特率
 0008位同步移位寄存器(用于I/O扩展)

fORC/12

01110位异步串行通信(UART)

可变(T1溢出率*2SMOD/32)

10211位异步串行通信(UART)

fORC/或fORC/32

11311位异步串行通信(UART)

可变(T1溢出率*2SMOD/32)

SM2:多机通信控制位。

REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。

TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。

RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。

TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。

RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。

(3)输入移位寄存器

接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。

(4)波特率发生器

波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。

(5)电源控制寄存器PCON

其最高位为SMOD。

(6)波特率计算

当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。

三、原理图及PCB图

四、汇编程序

两个单片机,使用同一个程序,源代码如下:

 ORG 0000H

    SJMP START

    ORG 0003H

    LJMP INT0_INT

    ORG 0023H

    LJMP UART_INT

;----------------------------------------

START:

    MOV SP, #60H

    MOV SCON,#50H   ;方式1,8-n-1

    MOV TMOD,#20H

    MOV TH1, #0FDH ;波特率设置

    MOV TL1, #0FDH ; ***************

    SETB TR1 

    SETB IT0         ;P3.2下降沿触发中断

    SETB EX0

    SETB ES          ;开放中断

    SETB EA

    SJMP $

;----------------------------------------

INT0_INT:

    MOV P2, #0FFH

    MOV A, P2      ;读出的拨码开关信息

;    MOV P0, A       ;调试的时候,可在本方显示,以证明中断正常

;    JB   TI, $

    MOV SBUF,A      ;向串口发送

    RETI

;----------------------------------------

UART_INT:

    JB   TI, _FA_

    MOV A, SBUF    ;读出串口收到的信息

    MOV P0, A       ;送到P0口进行显示

    CLR RI

    RETI

;--------------------

_FA_:

    CLR TI

    RETI

;----------------------------------------

   END

五、联合调试

首先使用KeilC将编写完成的汇编程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,实验结果可以看到,各自单片机的数码管已将接受到的数据完整的显示了出来。

两个单片机串行通信的实验结果如下图所示:

六、设计小结

经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。

经过课程设计,在查阅资料的过程中,学习了基于单片机的C语言程序设计,了解了单片机串行通信的基本知识,对于以后的学习和工作都有很大的益处。

在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。

通过这次课程设计,锻炼了自己思考的能力。

主要参考文献:

1.单片机原理与应用   

2.单片机的c语言应用程序设计

文档

单片机间串行通信

大学课程设计学院(系):机械电子工程学院专业:测控技术与仪器学生姓名:学号:课程设计题目:单片机间串行通信起迄日期:2011年1月3日-1月14日课程设计地点:指导教师:下达任务书日期:2010年12月20日摘要………………………………………………………………………………………2一总体设计……………………………………………………………………………21设计要求……………………………………………………………………………22设计方案……………………………………………………………………………2二硬件设
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top