单片机作业(4) jx

  • 格式:doc
  • 大小:277.54 KB
  • 文档页数:15

单片机作业(四)

1111020205

姜雪

一.系统设计与分析

1.系统设计:设晶振为12MHz,将拨码开关数据串行输入74LS164,并行输出

到8个LED进行相应的数码显示。

2.系统分析:本次设计是单片机串行口在方式0下发送数据时,是把串行端口

设置成“串入并出”的输出口。将它设置为“串入并出”输出

口时,需外接一片8位串行输入和并行输出的同步位移芯片——

74LS164。

3.单片机的串行通信

(1)串行通信的基本概念

通信:计算机与外界的信息交换。

通信的基本方式:并行通信和串行通信。

并行通信:构成一组数据的各位同时进行传送。其特点是传送速度快,但若传送距离远、位数又较多时会导致通讯线路复杂且成本较高。

串行通信:数据一位接一位地传送。其特点:通信线路简单,只要一对传输线就可实现通信(如电话线),从而大大降低了成本,特别适用于远距离通信,缺点是传送速度慢。

(2)串行通信分类:异步传送和同步传送。

异步传送方式:

特点:数据在线路上的传送不连续。数据的传送以一个字符为单位进行传送。它用一个起始位表示字符的开始,用一个停止位表示字符的结束。

异步传送的字符格式:

在串行异步传送中,通信双方必须事先约定:

1)字符格式:字符的编码形式,奇偶校验形式,起始位和停止位的规

定。如ASCII码:有效数据位7,奇偶校验1,起始位和停止位各1,共10位。

2)波特率:数据传送的速率,即每秒钟数据传送的位数,位/秒,一般为50-9600波特。发送端与接收端的速率必须一致。

同步传送方式:

每一个要传送的数据块的开头要用同步字符SYN来指示,使发送 和接收双方取得同步。各字符间取消了起始位和停止位,通信速度得到提高。如果发送的数据块之间有间隔,则发送同步字符填充。

串行通信的数据传送方向的形式:

1)单工方式

2)半双工方式

3)全双工方式

(3)单片机串行通信接口的功能与结构

MCS-51单片机内部有一个功能很强的全双工串行口:RXD/ P3.0 ,TXD/P3.5,可同时发送和接收数据。

发送和接收数据均可工作在

查询方式和中断方式,使用十分

灵活,可很方便地与其它计算机

或串行传送信息

的设备实现双机、多机通信。

串行口主要由发送数据缓冲

器、接收数据缓冲器、发送控制

器、接收控制器、输入移位控制

器等组成。

发送数据缓冲器只能写入,

不能读出;接收数据缓冲器只能

读出,不能写入,故两个寄存器

共用一个符号(特殊功能寄存器

SBUF),共用一个地址(99H)。

串行口中还有两个特殊功能寄存器SCON、PCON:

SCON:串行口控制寄存器,控制串行口的工作方式;

PCON:电源控制寄存器,只有一位SMOD控制波特率。

波特率发生器可用定时器/计数器0或和定时器/计数器1构成。

1)串行通信控制寄存器 SCON

寄存器SCON的功能主要是接收串行通信口送到的中断请求信号。其字节地址为98H,它有8位 ,每位均可进行位寻址,各位的地址和名称如下:

SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H

SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0、SM1:选择串行口四种工作方式,由软件置位或清零;

SM2:多机控制位;

REN:允许串行接收位;

TB8:发送数据第8位;

RB8:接收数据第8位;

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

RST/VPD

RXD/P3.0

TXD/P3.1

INT0/P3.2

INT1/P3.3

T0/P3.4

T1/P3.5

WR/P3.6

RD/P3.7

XTAL2

XTAL1

VSS 1

2

3

4

5 6

7

8

9

10

11

12

13

14

15

16

17

18

19

20 8031

8051

8751 40

31

29

26

22 23 24 VCC

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

EA/Vpp

ALE/PROG

PSEN

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0 TI:发送中断标志位;

RI:接收中断标志位。

2)电源控制寄存器 PCON

PCON的最高位SMOD是波特率控制位,其余各位与串行口无关。

其字节地址为97H,它有8位 ,各位的地址和名称如下:

SCON D7 D6 D5 D4 D3 D2 D1 D0

SMOD --- --- --- GF1 GF0 PD IDL

SMOD=1:波特率增大一倍。

(4)串行口的工作方式

M0 M1 工作方式 功能

0 0 方式0 移位寄存器方式(用于并行I/O口扩展),可外接移位寄存器以扩展I/O口,也可外接班同步输入输出的设备.波特率:fosc/12

0 1 方式1 8位通用异步接收发送器(UART),波特率:可变.

1 0 方式2 9位通用异步接收发送器(UART),波特率:.fosc/32或fosc/64

1 1 方式3 9位通用异步接收发送器(UART),波特率:.可变(UART,异步接收与发送)

串行通信控制寄存器 SCON

SM0 SM1 SM2 REN TB8 RB8 TI RI

方式0(SM0=0、SM1=0):为移位寄存器方式,数据从RXD引脚上接收或发送。一帧信息由8位数据组成,低位在前,波特率固定,为fosc/12。同步脉冲从TXD引脚上输出。

SM2:多机控制位必须为0;

REN:允许串行接收位:REN=0,禁止接收; REN=1,允许接收;

TB8、RB8:在方式0中无用; TI:发送中断标志位;

RI:接收中断标志位。

方式0发送或接收完8位数据TI/RI由硬件置1,CPU响应中断后, TI或RI标志位必须由程序清0。

方式1(SM0=0、SM1=1):为8位异步通信接口方式,RXD为接收端,TXD为发送端。一帧信息由10位组成:起始位:1,数据位:8,停止位:1;方式1的波特率可变,由由定时器/计数器T1及SMOD决定,且发送波特率和接收波特率可以不同。

TI=1:置发送中断标志;

REN=1,允许接收;操作如下:

1)若RI=0、SM2=0,将8位数据装入SBUF,停止位装入RB8,并置RI=1,申请中断。

2)若RI=0、SM2=1,那么只有停止位为1才发生上述操作;

3)若RI=0、SM2=1且停止位为0,则所接收的数据不装入SBUF,即数据丢失;

4)若RI=1,则所接收的数据在任何情况下都不装入SBUF,即数据丢失。

方式2(SM0=1、SM1=0)和方式3(SM0=1、SM1=1):

1)均为9位异步通信接口,发送或接收一帧信息由11位组成:起始位:1,数据位:9,停止位:1。

2)方式2、3仅波特率不同:

方式2波特率:fosc/32(SMOD=1)或fosc/64(SMOD=0)。

方式3波特率:由定时器/计数器T1及SMOD决定。

3)方式2和方式3发送、接收数据的过程与方式1基本相同,所不同的仅在于对第9位数据的处理上。发送时,第9位数据由SCON中的TB8提供;接收时,当第9位数据移入移位寄存器后,将8位数据装入SBUF,第9位数据装入SCON中的RB8。

(5)波特率的设置

串行口的4种工作方式对应3种波特率模式:

对于方式0:波特率是固定的,为fosc/12;

对于方式2:波特率由振荡频率fosc和SMOD(PCON.7)所决定,波特率=2SMOD ×fosc/64。

对于方式1和3:波特率由定时器/计数器T1及SMOD决定,波特率= 2SMOD

×定时器/计数器T1溢出率/32。

(6)多机通信

在实际应用中,需要多个单片机之间协调工作,即多机通信,利用单片机串口即可实现。

串口用于多机通信,必须使用方式2或方式3(9位URAT)。

主从式多机通信:应用最广,也最简单。主机发出的信息只能传送到所有从机或指定从机;从机发出的信息只能被主机接收;从机之间不能直接通信,必须通过主机。

主机发出的信息有两类:一类为地址,用来确定和主机通信的从机,特征是串行传送的第9位数据为1;另一类为数据, 特征是串行传送的第9位数据为0。对从机来说,要利用SCON寄存器中的SM2的控制功能:

在接收时,若RI=0,则只要SM2=1,接收总能实现,若SM2=0,发送的第9位TB8必须0接收才能进行,因此,对于从机来说,在接收地址时,应使SM2=1,以便接收主机发来的地址,从而确定主机是否打算和自己通信;一经确认后,从机应使SM2=0,以便接收TB8=0的数据。

主从多机通信的过程:

1)使所有的从机的SM2位置1,以便接收主机发来的地址;

2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;

3)所有从机接收到地址帧后,各自将所接收到的地址与本机地址相比较:对于地址相同的从机,使SM2位清零,以接收主机随后发来的所有信息;对于地址不符合的从机,仍保持SM2=1的状态,对主机随后发来的数据不予理睬,直至发送新的地址帧;