预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共44页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

串行通信的基本概念 串行口的控制寄存器 串行口的基本应用 RS-232串行接口应用 单片机双机通信的应用程序设计10.1串行通信概述 10.28051串行口 10.38051串行口的应用 10.4串行通信总线标准及其接口 10.5单片机与PC机通信的接口电路 8051内部有一个功能强大的全双工异步通信口,具有4种工作方式;波特率可通过软件设置;接收和发送数据均能触发中断;除了可以实现串行通信外,还可以方便地进行并行口的扩展。 在进行串行口的应用时,要解决的问题主要是硬件的连接和编制应用程序。硬件的连接主要是串行口的RXD、TXD端与外部芯片引脚的连接,根据串行口工作方式和外部芯片的不同而有所不同。应用程序的编写内容主要分为串行口初始化和应用程序主体。 1、串行口初始化程序主要内容 (1)选择串行口的工作方式,即设定SCON中的SM0、SM1。 (2)设定串行口的波特率。方式0可以省略这一点。 设定SMOD的状态,若设定SMOD=1,则波特率加倍。 若选择方式1和方式3,则需对定时器T1进行初始化并设定其初值。 (3)若选择串行口接收数据或是双工通信方式,需设定REN=1。 (4)若采用中断方式编写串行程序,需开串行中断,即设定ES=1,EA=1。 【例10-1】以波特率为9600bps,串口工作方式3,完成允许发送/接收数据的初始化步骤程序。 解: 2、串行口应用程序主体 串行通信可采用两种方式编程,查询方式和中断方式。TI和RI是串行通信一帧数据发送完和接收完的标志。无论是查询方式还是中断方式编程,都需要用到TI或RI。两种方式编程方法如下。 (1)查询方式发送数据块程序:发送一个数据→查询TI,直至TI=1→发送下一个数据。 查询方式接收数据块程序:查询RI,直至RI=1→读入一个数据→查询RI,直至RI=1→读入下一个数据。 (2)中断方式发送数据块程序:发送一个数据→等待中断→在中断程序中再发送下一个数据。 中断方式接收数据块程序:等待中断→在中断程序中再接收一个数据。 利用PC机配置的异步通信适配器,可以很方便地完成PC机与单片机的数据通信。PC机与8051单片机最简单的连接是零调制3线经济型,这是进行全双工通信所必须的最少数目的线路。要完成PC机与单片机的数据通信.必须进行电平转换,MAX232单芯片就可以实现8051单片机与PC机的RS-232C之间的电平转换。1、I2C(InterIntegratedCircuit) I2C总线是Philips公司推出的芯片间串行传输总线。它用两根线实现数据传送,可以极为方便地构成多机系统和外围器件扩展系统。 I2C总线是二线制,采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。I2C总线简单,结构紧凑,易于实现模块化和标准化。 I2C总线传送速率主要有两种:一种是标准S模式(100Kb/s),另一种是快速F模式(400Kb/s)。2、SPI SPI总线是Motorola公司提出的一种同步串行外设接口。允许MCU与各种外围设备以同步串行方式进行通信。其外围设备种类繁多:最简单的TTL移位寄存器到复杂的LCD显示驱动器、网络控制器等。 SPI总线是三线制,可直接与多种标准外围器件直接接口,在SPI从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系统中采用SPI设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。3、Microware Microware总线是NS公司提出的串行同步双工通信接口,用于8位COP800系列单片机和16位HPC系列单片机。 Microware总线是三线制,由一根数据输出(SO)线、一根数据输入(SI)线和一根时钟(SK)线组成。所有从器件的时钟线连接到同一根SK线上,主器件向SK线发送时钟脉冲信号,从器件在时钟信号的同步沿输出/输入数据。主器件的数据输出线SO和所有从器件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线SI上。4、单总线(1-wire) 1-wire总线是Dallas公司研制开发的一种协议,用于便携式仪表和现场监控系统。 1-wire总线是利用一根线实现双向通信,由一个总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。每一个符合1-wire协议的从芯片都有一个唯一的地址,包括8位分类码、48位的序列号和8位CRC代码。主芯片对各个从芯片的寻找依据这64位的不同来进行。单总线节省I/O引脚资源、结构简单、成本低廉、便于总线扩展和维护。5、USB(UniversalSerialBus) USB总线是Compaq、Intel、Microsoft、NEC等公司联合制定的一种计算机串行通信协议