第10章串行通信的工作原理与应用
微机原理与接口技术10教材
CTS RTS
接收控制
8251A命令字
两个命令字:方式选择命令字、工作命令字
一个状态字
方式选择命令字仅仅对8251A的工作方式做了
规定,并不能使其启动工作。因此在方式选择 命令字后必须写入一个工作命令字,以便接收 和发送数据。 两个命令字在对8251A初始化编程时必须完成, 否则芯片将不工作。 两个命令字都写入同一控制口,无特征位,所 以必须按顺序完成。
第10章:串行通信
串行通信基础 串行异步通信接口芯片8250 串行通信程序设计 串行通信接口芯片8251A
本章重点
串行通信的特点 同步异步通信的特点、异步通信的帧 格式、波特率、串行数据传输方式
8251A的特点
通信基本方式
并行通信 多位二进制数据可以同时传输; 提高数据传输的效率; 每一位都要有自己的传输线和发送接收器件。
方式选择命令字
D7 D6 D5 D4 D3 D2 D1 D0
同步/ 帧控制 D1D0≠00时: 00:不确定 01:1个停止位 10:1.5个 11:2个停止位
奇偶校验 ×0:无 01:奇校验 11:偶校验
数据长度 00:5位 01:6位 10:7位 11:8位
通信方式与 波特率选择 00:同步 01:异步1 10:异步16 11:异步64
解调:将模拟信号转换成数字信号 调制解调器(MODEM):既调制,又解调 方法: 根据载波 Acos(t + )的三个参数:幅度、频 率、相位,产生常用的三种调制技术: 1. 振幅键控 Amplitude-Shift Keying (ASK) 2. 频移键控 Frequency-Shift Keying (FSK) 3. 相移键控 Phase-Shift Keying (PSK)
第10章串行通信
串行通信的异步传输模式
•以字符为基本通信单位 •起始位标志着每一个字符的开始 •停止位标志着每一个字符的结束
13
串行通信的异步传输模式
平时通信线处于空闲状态(“1”状态),当有数据 发送时,发送方首先发一“0”,称为起始位;
接着发送数据位,数据位可有5~8位组成。 然后是校验位,校验分奇校验、偶校验、置0、置1、
31
例 : 发 送 数 据 序 列 : 1010001101 , 生 成 多 项 式 : 110101。发送数据序列*25:101000110100000
x5x4x2x0
1010001101 00000 -- 1
110101
010110 -- 7
0111011 -- 2
101100 -- 8
110101
在简单的控制系统中,大都采用异步方式。 在许多对数据交换量不大的系统,也采用异步方式。 数据通信系统中采用同步方式。
21
串行异步通信的传输制式
单工:仅在一个方向上的数据传送。 半双工:两个方向上交替地传送数据,同一时间
只能在一个方向上。 全双工:可在两个方向上同时传送数据。
22
串行异步通信的同步
然后通信双方按照约定的波特率发送和采样对应数据 位。只要在一个字符传送期间,积累的误差不大于一 位数据传送时间。就不会发生错误。
因此,异步传输允许发送器和接收器不必用同一个时 钟,而是可以各有各的时钟(局部时钟),只要有同 一个标称频率即可,且对频率的精度要求也较低。
两次发送字符之间必须要有间隔时间(停止位),并 且每次字符传输,必须有一位同步信号(起始位)。
23
串行通信的校验----奇偶校验
在异步通信的格式中,可以包含一位校验位(奇、 偶校验)。
通信原理 (完整)精选全文
数字通信的主要优点:
(a) 失真的数字信号
(b) 恢复的数字信号
数字信号波形的失真和恢复
数字通信的主要缺点:
➢ 占用带宽大 ➢ 设备复杂 ➢ 同步要求高
宽带通信、压缩编码 VLSI、SOC、ASIC 信号处理技术
应用实例:
➢ 数字传输技术:电话、电视、计算机数据等 信号的远距离传输。
➢ 模拟传输技术:有线电话环路、无线电广 播、电视广播等。
狭义信道
有线信道 无线信道
中长波地波 短波电离层反射 超短波、微波视距传输 超短波、微波对流层散射 卫星中继
编码信道 调制信道
信 源
加 密 器
编 码 器
调 制 器
发 转 换 器
信 道
收 转 换 器
解 调 器
解解 码密 器器
信 宿
发送设备
噪 声
接收设备
广义信道
广义信道
调制信道:
调制器输出端到解调器输入端的所有设备和媒介。 研究调制和解调时,常用调制信道。 连续信道/模拟信道。
eo(t)
e0t htei t nt e0t kt ei t nt
n(t)
n(t): 加性干扰 k(t): 乘性干扰
k t 依赖于网络的特性,k t 反映网络特性对 ei t 的作用。
干扰
加性干扰:本地噪声
始终存在
乘性干扰:非理理想信道 与信号共存
sR t sT tht nt
乘性 加性
增量调制DM
军用、 民用电话
Hale Waihona Puke 差分脉码调制DPCM电视电话、 图像编码
其 他 语 言 编 码 方 式 中低速数字电话 ADPCM、 APC、 LPC
按信号复用方式分类
串行通信
3、串行通信工作方式 、
单工 A 发 A 发 收 B 收 广播电台 收音机
半双工
B 收 发
对讲机
全双工
A 发 收
B 收 发
电话机
4、波特率 、
波特率是指每秒钟传送信号的数量,单位为波特(Baud)。 波特率是指每秒钟传送信号的数量,单位为波特(Baud) 是指每秒钟传送信号的数量 波特 例:异步串行通信的数据传送的速率是120字符/秒,而每个字符规 异步串行通信的数据传送的速率是120字符/ 120字符 定包含10位( 1个起始位、8个数据位、1个停止位)数字,则传输 定包含10位 个起始位、 个数据位、 个停止位)数字, 10 波特率为: 波特率为: 120字符/秒× 10位/字符=1200位/秒= 1200bps 10位 字符=1200 =1200位 120字符/ 字符
(P3.1)
去申请中断
1、SBUF:串行发送 / 接收数据缓冲器 99H 、 : 发送 接收 2、SCON:串行口控制寄存器 、 :
SM0 SM1 SM2 REN TB8
98H
RB8 TI RI
3、PCON:特殊功能寄存器 :
SMOD
87H
4、IE:中断允许寄存器 、 :
EA ES
A8H
ET1 EX1 ET0 EX0
如何发送和接收数据 可中断、 可中断、可查询
MCS-51串行口的结构如下图所示: SBUF (发) A 累 加 器 波 特 率 发 生 器
T1
(门)移位寄存器 门 移位寄存器 发送控制器 TI
引脚 TxD
(P3.1)
CPU CPU 内 部
≥1
接收控制器 RI SBUF (收) 引脚 移位寄存器 RxD
串行口工作原理
串行口工作原理
串行口是一种用于数据传输的硬件接口,它可以将数据逐个比特地传输。
串行口工作的基本原理是将需要传输的数据按照一定的规则进行分割,并以连续的比特序列的形式进行传输。
在串行口的工作过程中,数据被分成一个个比特,然后按照事先约定好的规则,依次传输给接收端。
这个规则包括了每个比特的位宽、传输的顺序以及同步的方式等等。
通常情况下,串行口使用的是异步传输方式,也就是说,传输时不需要事先进行时钟同步,而是在数据的起始位置插入起始位和校验位来提供同步信息。
在串行口的数据传输过程中,发送端按照一定的时序将数据比特逐个发送给接收端。
接收端按照相同的时序依次接收每个比特,并通过解码、校验等操作恢复原始数据。
为了保证数据的准确性,通常还会在传输过程中加入差错检测和纠错机制,例如CRC校验等。
串行口的工作原理与并行口不同,串行口通过逐个比特的方式传输数据,相比之下,串行口在传输速率上可能会受到一定的限制。
但是串行口的传输距离相对较长,传输线路简单,而且可以灵活选择传输速率,因此在许多应用场景下得到了广泛的应用。
例如,在计算机、通信设备、工业自动化等领域中,串行口被广泛用于连接外部设备与主机进行数据交互。
单片机 串口通信原理
单片机串口通信原理
单片机串口通信是指通过串行口进行数据的传输和接收。
串口通信原理是利用串行通信协议,将数据按照一定的格式进行传输和接收。
在单片机中,串口通信一般是通过UART(通用异步收发传输器)模块来实现的。
UART模块包括发送和接收两部分。
发送部分将数据从高位到低位逐位发送,接收部分则是将接收到的数据重新组装成完整的数据。
串口通信的原理是利用串行通信协议将发送的数据进行分帧传输。
在传输的过程中,数据被分成一个个的数据帧,每帧包括起始位、数据位、校验位和停止位。
起始位和停止位用于标识数据的开始和结束,数据位则是用来存放需要传输的数据。
校验位用于校验数据的正确性。
在发送端,单片机将需要发送的数据按照一定的格式组装成数据帧,然后通过UART发送出去。
在接收端,UART接收到的数据也是按照数据帧的格式进行解析,然后重新组装成完整的数据。
通过这样的方式,发送端和接收端可以进行数据的传输和接收。
串口通信具有简单、可靠性高、适应性强等优点,广泛应用于各种领域,如物联网、嵌入式系统等。
掌握串口通信原理对于单片机的应用开发具有重要意义。
串行通信ppt课件
第10章 串行通信
(2)起始位的检测
必须确定起始位才能开始接收数据,即实现位同步。 数据接收时钟RCLK使用16倍波特率的时钟信号。接收器 用RCLK检测到串行数据输入引脚SIN由高电平变低后,连续 测试8个RCLK时钟周期,若采样到的都是低电平,则确认为 起始位。 确认了起始位后每隔16个RCLK时钟周期对SIN输入的数据 位进行采样一次,直至规定的数据格式结束。
10
第10章 串行通信
TxD 发送数据——串行数据的发送端。 RxD 接收数据——串行数据的接收端。 GND 信号地——为所有的信号提供一个公共的参考电平 RTS 请求发送——当数据终端设备准备好送出数据时,就发出有效的 RTS信号,用于通知数据通信设备准备接收数据。 CTS 清除发送——当数据通信设备已准备好接收数据终端设备的传送 数据时,发出CTS有效信号来响应RTS信号。 DTR 数据终端准备好——通常当数据终端设备一加电,该信号就有效, 表明数据终端设备准备就绪。 DSR 数据装置准备好——通常表示数据通信设备(即数据装置)已接通 电源连到通信线路上,并处于数据传输方式,而不是处于测试方式或 断开状态。 CD 载波检测——当本地调制解调器接收到来自对方的载波信号时,就 从该引脚向数据终端设备提供有效信号。该引脚缩写为DCD。 RI 振铃指示——当调制解调器接收到对方的拨号信号期间,该引脚 信号作为电话铃响的指示,保持有效。
16
第10章 串行通信
2.结构
其中寄存器: THR、TSR RBR、RSR LCR LSR DLH DLL MCR MSR IER IIR
17
第10章 串行通信
(1)串行数据的发送
CPU送来的并行数据存在发送保持寄存器THR中。 只要发送移位寄存器TSR中没有正在发送的数据, 发送保持寄存器的数据就送入TSR 。 与此同时,8250按照编程规定的起止式字符格式, 加入起始位、奇偶校验位和停止位,从串行数据输 出引脚SOUT逐位输出。 因为THR、TSR采用双缓冲寄存器结构,所以在 TSR进行串行发送的同时,CPU可以向8250提供下 一个发送数据到THR,这样可以保证数据的连续发 送。
第10章作业与答案
习题一、选择题1.在异步串行通信中,收发双方必须保持________。
A.收发时钟相同B.停止位相同C.数据格式和波特率相同D.以上都正确答案:C2.同步通信过程中,通信双方依靠_____进行同步。
A.起始位B.同步字符C.命令字D.停止位答案:B3.8251A收、发串行数据的波特率_______。
A.可由编程设置B.等于CLK输入的基准时钟频率的16倍C.等于CLK输入的基准时钟频率的1/16D.等于CLK输入的基准时钟频率答案:A4.8251A以异步通信方式工作,设波特率因子为16,字符长度为8位,奇校验,停止位为2位,每秒种可传输200个字符,则它的传输速率和收发时钟信号频率分别是______(bps,kHz)。
A.200,200B.2200,38.4C.2400,38.4D.200,38.4答案:C5.DMA用于传送_____之间的大量数据。
A.CPU与存储器B.存储器与外设C.CPU与外设D.寄存器与存储器答案:B6.在微机系统中采用DMA方式传输数据时,数据传送是______。
A.由CPU控制完成的B.由执行程序(软件)完成C.由DMAC发出的控制信号控制完成的D.由总线控制器发出的控制信号控制完成的答案:C7.当8086/8088CPU响应DMA设备的HOLD请求后,CPU将______。
A.转入特殊的中断服务程序B.进入等待周期C.接受外部数据D.放弃对总线的控制权答案:D8.在DMA方式下,将内存数据送到外设的路径是_______。
A.CPU→DMAC→外设B.内存→数据总线→外设C.内存→CPU→总线→外设D.内存→DMAC→数据总线→外设答案:B9.在DMA方式下,CPU与总线的关系是______。
A.只能控制地址总线B.相互成隔离状态C.只能控制数据线D.相互成短接状态答案:B10.采用DMA方式传送时,每传送一个数据要占用______时间。
A.一个指令周期B.一个机器周期C.一个存储周期D.一个总线时钟周期答案:C二、填空题1.异步串行通信没有数据传送时,发送方应发送______信号;串行同步通信没有数据传送时,发送方应发送_____信号。
串行通信
17
9.2 MCS-51串行口及控制寄存器
一、串行接口控制: 1.数据缓冲器SBUF: 发送SBUF和接收SBUF共用一个地址99H。 1)发送SBUF存放待发送的8位数据,写入SBUF将同 时启动发送。发送指令: MOV SBUF,A 2)接收SBUF存放已接收成功的8位数据,供CPU读取。 读取串行口接收数据指令: MOV A,SBUF
25
9.3 MCS-51串行通信工作方式及应用
4.发送:写入SBUF,同时启动发送,一帧发送结束, TI=1。 接收:REN=1,允许接收。
接收完一帧,若RI=0且停止位为1 (或 SM2=0),将接 收数据装入SBUF,停止位装入RB8,并使
RI=1;
否则丢弃接收数据,不置位RI。
26
9.3 MCS-51串行通信工作方式及应用
波 特 率
1/12 fosc (固定不变) 2SMOD/32 T1 溢出率 2SMOD/64 fosc 2SMOD/32 T1 溢出率
传 送 位 数
8(数据) 10(起始位、8位数据位、 停止位) 11(第9位为1:地址; 为0:数据) 11位 (同方式2)
发送 端
RXD TXD TXD TXD
接收 端
地线
发送接 收器
接收发数据线 发送接 收器 送器
地线
10
9.1 串行数据通信的基础知识
五、异步串行通信的信号形式:
1、远距离直接传输数字信号,信号会发生畸变, 因此要把数字信号转变为模拟信号再进行传送。 可利用光缆、专用通信电缆或电话线。 方法:通常使用频率调制法(频带传送方式)。
11
9.1 串行数据通信的基础知识
TXD 写入 发 SBUF 送 (a) 时 序 RXD输出
串行通信系统课程设计
串行通信系统课程设计一、课程目标知识目标:1. 让学生理解串行通信系统的基本原理,掌握其与并行通信的区别;2. 学会使用相关编程语言实现串行通信,了解串行通信接口和协议;3. 掌握串行通信系统的数据传输速率、误码率等性能指标的计算方法。
技能目标:1. 培养学生运用所学知识解决实际问题的能力,能够独立设计简单的串行通信系统;2. 提高学生的编程实践能力,熟练使用相关开发工具进行串行通信程序设计;3. 培养学生的团队协作和沟通能力,能够就串行通信系统设计方案进行讨论和改进。
情感态度价值观目标:1. 培养学生对通信技术发展的关注,激发学习兴趣,提高学习积极性;2. 培养学生的创新意识,鼓励学生尝试不同的设计方案,勇于克服困难;3. 增强学生的环保意识,认识到通信技术在环境保护中的重要作用。
课程性质:本课程为电子信息类学科的专业课程,旨在让学生掌握串行通信系统的基本原理和实际应用。
学生特点:学生已具备一定的电子技术和编程基础,对通信技术有一定的了解,但实践经验不足。
教学要求:结合学生特点和课程性质,采用理论教学与实践教学相结合的方式,注重培养学生的实际操作能力和团队协作能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和实际工作打下坚实基础。
二、教学内容1. 串行通信系统基本原理:介绍串行通信与并行通信的区别,分析串行通信的优缺点,探讨串行通信在现实生活中的应用。
- 教材章节:第一章 串行通信概述- 内容:串行通信原理、串行通信接口、串行通信协议。
2. 串行通信编程实践:讲解使用C语言、Python等编程语言实现串行通信的方法,分析串行通信接口的编程接口和函数库。
- 教材章节:第二章 串行通信编程- 内容:编程环境搭建、串行通信接口编程、数据发送与接收、常见问题及解决方法。
3. 串行通信系统性能分析:介绍串行通信系统的数据传输速率、误码率等性能指标,分析影响性能的因素。
- 教材章节:第三章 串行通信性能分析- 内容:数据传输速率、误码率、性能优化方法。
串行通信和并行通信的详解
串行通信
通信双方使用一根或两根数据信号线相连,同一 时刻,数据在一根数据信号线上一位一位地顺序 传送,每一位数据都占据一个固定的时间长度. 与并行通信相比,串行通信的优点是传输线少、 成本低、适合远距离传送及易于扩展.缺点是速 度慢、传输时间长等. 如计算机上常用的COM设备、USB设备和网络 通信等设备都采用串行通信.
17:18:24
并行通信
以字节Byte或字节的倍数为传输单位 一次传送一个或一个以上字节的数据,数据的各 位同时进行传送 适合于外部设备与微机之间进行近距离、大量 和快速的信息交换.计算机的各个总线传输数据 时就是以并行方式进行的. 并行通信的特点就是传输速度快,但当距离较远、 位数较多时,通信线路复杂且成本高.
半双工通信方式类似对讲机,某时刻A发送B接
收,另一时刻B发送A接收,双方不能同时进行发送
A 和接收.
B
A
K
K
a)单工通信b方 )半 式双工通
17:18:24
图c为全双工通信方式Full Duplex.在这种方式 中,分别用2根独立的传输线来连接发送方和接 收方,A、B既可同时发送,又可同时接收.
17:18:24
外同步
外同步通信的数据格式中没有同步字符,而是用 一条专用控制线来传送同步字符,使接收端及发 送端实现同步.当每一帧信息结束时均用两个字 节的循环控制码CRC为结束.
17:18:24
②面向比特型的数据格式 根据同步数据链路控制规程SDLC,面向比特型 的数据每帧由六个部分组成.
第一部分是开始标志7EH; 第二部分是一个字节的地址场; 第三部分是一个字节的控制场; 第四部分是需要传送的数据,数据都是位bit的集 合; 第五部分是两个字节的循环控制玛CRC; 最后部分又是7EH,作为结束标志.
微机原理与接口技术习题答案
第3章8086/8088指令系统与寻址方式习题3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
(1)MOV BX,12 ;目标操作数为寄存器寻址(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H (7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。
(1)XCHG CS,AX ;错,CS不能参与交换(2)MOV [BX],[1000] ;错,存储器之不能交换(3)XCHG BX,IP ;错,IP不能参与交换(4)PUSH CS(5)POP CS ;错,不能将数据弹到CS中(6)IN BX,DX ;输入/输出只能通过AL/AX(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元(8)MOV CS,[1000] ;CS不能作为目标寄存器(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址(10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址(11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?当前栈顶的地址=2FF00H当执行PUSH BX 指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。
《通信原理》第六版课件(全)
媒质。分为有线信道和无线信道两大类。 2021/8/18 噪声源:集中表示分布于通信系统中各处的噪声。
第1章 绪论
接收设备:从受到减损的接收信号中正确恢复出原始电 信号。
受信者(信宿):把原始电信号还原成相应的消息,如 扬声器等。
x3,…,
1
xM
所包含的信息量分别为
log2 P(x1) , log2 P(x2 ) , , log2 P(xM )
于是,每个符号所含平均信息量为
H (x) P(x1)[ log2 P(x1)] P(x2 )[ log2 P(x2 )] P(xM )[ log2 P(xM )]
M
P(xi )lo g2 P(xi ) (比特 / 符号) i 1
2021/8/18
第1章 绪论
若用熵的概念来计算:
H
3 8
log
2
3 8
1 4
log 2
1 4
1 4
log 2
1 4
1 8
log
2
1 8
1.906 (比特 / 符号)
则该消息的信息量
I 57 1.906 108.64 (b)
以上两种结果略有差别的原因在于,它们平均处 理方法不同。前一种按算数平均的方法,结果可能存 在误差。这种误差将随着消息序列中符号数的增加而 减小。
(1.4 6)
2021/8/由18 于H(x)同热力学中的熵形式相似,故称它为信息源的熵
第1章 绪论
【例1】 一离散信源由“0”,“1”,“2”,“3”四个符 号组成,它们出现的概率分别为3/8,1/4,1/4,1/8, 且每个符号的出现都是独立的。试求某消息
第十章 串行通信
A机 2 TXD 3 RXD 7 2 3 7
B机 TXD RXD
4 5 6 20
4 5 6 20
2.远距离连接(>15m) 1)需用MODEM和专用电话线 2)需用2~9条信号线(在接口与MODEM之间)
计 算 机 口 TXD 2 RD X RTS ┇ CTS DSR SG DCD 调 制 解 调 器 调 制 解 调 器 TXD RXD RTS CTS DSR SG DCD 2 终 ┇ 端
三、RS-485接口标准 三、RS-485接口标准
1.特点: 1.特点: (1)兼容RS-422A,扩展RS-422A的功能; )兼容RS-422A,扩展RS-422A的功能; (2)允许在电路中有多个发送器和允许一个发送器 驱动多个接收器,多达32个收/ 驱动多个接收器,多达32个收/发器; (3)搞干扰能力强,传送距离远,传输速率高。 数传率:100Kbps 数传率:100Kbps <1.2Km 不用MODEM 不用MODEM 9.6Kbps <15Km 10Mbps <15m
2、串行同步通讯:以数据块为信息单位传送。数据块内是同步的。
SYN SYN SOH 标题 STX
数据块 ETB/ETX 块校验
串行异步通信协议
1.格式 ①每个字符总是以起始位开始(“0”),以停止位(“1”)结 束。 ②字符之间没有时间间隔要求 ③字符后一位校验位(可没有)
1 0 1 0 0 起始位 0 低 数据位
3.全双工(Full Duplex) 数据的发送和接收分别由两根可以在两个不同的站点同 时发送和接收的传输线进行传送,通信双方都能在同一时刻 进行发送和接收操作,选择的传送方式称为全双工制。
A站 发送器 接收器
B站 发送器 接收器
第10章8251A
图10.4 8251A内部结构框图
D2 D3 RXD GND
D4 D5 D6 D7 TXC WR
CS
C/D
RD
RXRDY
1
28
2
27
3
26
4
25
5
24
6
23
7 8251A 22
8
21
9
20
10
19
11
18
12
17
13
16
14
15
D1 D0 VCC RXC DTR
RTS
DSR
RESET
CLK
TXD TXEMPTY CTS
1: 接收允许 0: 屏蔽
0: 屏蔽
图10.10 8251A的控制字格式
四、状态字
CPU向8251A发送各种操作命令,许多时候是依据8251A当前 的运行状态决定的。CPU可在8251A工作过程中利用IN指令读取 当前8251A的状态字,以控制CPU与8251A之间的数据交换。状 态字的格式如图10.11所示。
0
CPU由8251A输入数据
0
CPU向8251A输出数据
1
CPU读取8251A的状态
1
CPU向8251A写入控制命令
五、调制解调器控制电路
利用8251A进行远距离通信时,发送方要通过调制解调器将 输出的串行数字信号变为模拟信号,再发送出去。接收方也必
须将模拟信号经过调制解调器变为数字信号,才能由串行接口
10位/字符×120字符/秒=1200位/秒=1200波特 传送每位信息所占用的时间为: 1秒/1200=0.833 毫秒
10.1.4 串行接口芯片UART和USART 常用的通用串行接口芯片有两类,一种是仅用于异步通信的
12_串行通信
1.2 串行通信的数据传送方式
尽管许多串行通信接口电路具有全双工功能,但在实际应 用中,大多数情况下只工作于半双工方式,即两个工作站 通常并不同时收发。这种用法并无害处,虽然没有充分发 挥效率,但简单、实用。
数据线 数据线 发送端 地线 (a) 单工方式 数据线 1 数据线 2 地线 (c) 全双工方式 接收端 发送端 地线 (b) 半双工方式 发送端
1.1 串行通信的基本方式
(1) 字符帧(Character Frame) 在串行通信中,发送端一帧一帧发送信息,接收端一帧一帧 接收信息。两相邻字符帧之间可以无空闲位,也可以有若干 空闲位,这由用户根据需要决定。
起始位 0 D
0
奇偶 停止位 校验 D1 D2 D3 D4 D5 D6 D 7 0/1 1 (a) 无空闲位字符帧
1.1 串行通信的基本方式
(2) 波特率(baud rate) 每位的传输时间定义为波特率的倒数。例如:波特率为1200 bit/s的通信系统,其每位的传输时间应为:
Td
1 0.833(ms) 1200
波特率还和信道的频带有关。波特率越高,信道频带越宽。 因此,波特率也是衡量通道频宽的重要指标,通常,异步通 信的波特率在50bit/s~9600bit/s之间。波特率不同于发送 时钟和接收时钟,它通常是时钟频率的1/16或1/64。
1.1 串行通信的基本方式
2. 同步通信(Synchronous Communication) 同步通信是一种连续串行传送数据的通信方式,一次通信只 传送一帧信息。这里的信息帧和异步通信中的字符帧不同, 通常有若干个数据字符,如下图所示。 同步字符帧由同步字符、数据字符和校验字符三部分组成。 其中,同步字符位于帧结构开头,用于确认数据字符的开始 (接收端不断对传输线采样,并把采到的字符和双方约定的 同步字符比较,只有比较成功后才会把后面接收到的字符加 以存储);数据字符在同步字符之后,个数不受限制,由所 需传输的数据块长度决定;校验字符有1~2个,位于帧结构 末尾,用于接收端对接收到的数据字符的正确性的校验。
单片机与PC串口通信课程设计
单片机与PC串口通信课程设计单片机与PC机的串口通信摘要单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统,但是其存储容量小,处理的数据量不大。
为了克服这一缺点,我们可以将单片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数据处理。
单片机与PC机一般采用串行通信,由于51系列单片机中一般集成了全双工的串行端口,只要配以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,本设计将通过电平转换电路实现单片机与PC机中的RS-232标准总线之间的串行通信。
这也是许多测控系统中常用的一种通信解决方案。
关键词:单片机,PC机,串行通信,电平转换,总线目录课程设计(论文)用纸第一章:绪论1.1课题研究的目标和意义单片机与PC机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。
作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC 或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。
如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC机等)进行数据交换。
因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。
1.2所属领域的现状及发展状况单片机,亦称单片微电脑或单片微型计算机。
它是把中心处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功用部件都集成在一块集成电路芯片上的微型计算机。
现在可以说单片机是百花齐放的期间,天下上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,不成胜数,应有尽有,它们各具特色,互成互补,为单片机的应用供应广漠的六合。
通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.2.1 方式0
1.方式0输出 方式0的发送时序见图10-5。
图10-5 方式0发送时序
10.2.1 方式0
1.方式0输出
(2)方式0输出的应用案例 典型应用是串口外接串行输入/并行输出的同步移位寄 存器74LS164,实现并行端口的扩展。 图10-6为串口方式0,通过74LS164输出控制8个外接 LED发光二极管亮灭的接口电路。当串口设置在方式0输出 时,串行数据由RXD端(P3.0)送出,移位脉冲由TXD端 (P3.1)送出。在移位脉冲的作用下,串行口发送缓冲器的 数据逐位地从RXD端串行地移入74LS164中。
10.1.5 特殊功能寄存器PCON
例如,方式1的波特率计算公式为
当SMOD=1时,比SMOD=0时波特率加倍,所以也称 SMOD位为波特率倍增位。
10.1 串行口结构
10.2 串行口的4种工作方式
CONTENTS
目
10.3 波特率的制定方法
录
10.4 串行口应用设计案例
10.2.1 方式0
方式0为同步移位寄存器输入/输出方式。该方式并不用 于两个AT89S51单片机间的异步串行通信,而是用于外接移 位寄存器,用来扩展并行I/O口。
if(nSendByte==0)
nSendByte=1;
//点亮数据是否左移8次?是,重新送点亮数据
SBUF=nSendByte; }
// 向74LS164串行发送点亮数据
TI=0;
RI=0;
}
10.2.1 方式0
1.方式0输出
程序说明:
01 程序中定义了全局变量nSendByte,以便在中断服务程
第10章
串行口的工作原理及应用
单片机原理及接口技术(C51编程)(第2版)
10.1 串行口工作原理
10.2 串行口的4种工作方式
CONTENTS
目
10.3 波特率的制定方法
录
10.4 串行口应用设计案例
10.1.1 通信方式简介
通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信 息的交换多采用串行通信方式。
方式0以8位数据为1帧,没有起始位和停止位,先发送 或接收最低位。波特率是固定的,为fosc/12。帧格式见图 10-4。
图10-4 方式0帧格式
10.2.1 方式0
1.方式0输出
(1)方式0输出的工作原理 当单片机执行将数据写入发送缓冲器SBUF指令时,产 生一个正脉冲,串口把8位数据以fosc/12固定波特率从 RXD脚串行输出,低位在先,TXD脚输出同步移位脉冲,当 8位数据发送完,中断标志位TI置“1”。
}
10.2.1 方式0
1.方式0输出
main( ) {
//主程序
SCON=0x00;
// 设置串行口为方式0
EA=1;
// 全局中断允许
ES=1;
// 允许串行口中断
nSendByte=1;
// 点亮数据初始为0000 0001送
//入nSendByte
SBUF=nSendByte; / / 向 S B U F 写 入 点 亮 数 据 , 启 动
8
10.1.3 串行通信的传输方向
1、单工 单工是指数据传输仅能沿一个方向,不能实现反向传输。 2、半双工 半双工是指数据传输可以沿两个方向,但需要分时进行。 3、全双工 全双工是指数据可以同时进行双向传输。
发送 时间1 接收
发送
接收
发送
接收
接收 时间2 发送
接收
发送
单工
半双工
全双工
10.1.4 串行口结构
OPTION
为0x00后,需对变量nSendByte重新赋值为1。
10.2.1 方式0
1.方式0输出
程序说明:
03 主程序中SBUF=nSendByte语句必不可少,如果没有
0 10100100 1
间ห้องสมุดไป่ตู้任意 发
送
0 11100110 1 0 1110011设0
备
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间 隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间进行传送。
6
10.1.2 同步与异步
异步通信的数据格式 :
起 空始 闲位
一个字符帧 数据位
TXD
SBUF
控制门
TH1 TL1
发送控制器 TI 去串口中断
1
A
÷16 ÷2
≥1
0
T1溢出率
SMOD
接收控制器 RI
SBUF
RXD 移位寄存器
图10-1 串行口的内部结构
两个物理上独立的接收、发送缓冲器SBUF,可同时发送、 接收数据。两个缓冲器共用一个特殊功能寄存器字节地址 (99H)。控制寄存器两个:特殊功能寄存器SCON和PCON。
//串行发送
P1_0=0;
// 允许串口向74LS164串行发送数据
while(1)
{;}
}
10.2.1 方式0
1.方式0输出
//串行口中断服务程序
void Serial_Port( ) interrupt 4 using 0 {
if(TI) {
// 如果TI=1,1个字节串行发送完毕
P1_0=1;
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
7
10.1.2 同步与异步
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。同时传送的字符间不留间隙,既保持 位同步关系,也保持字符同步关系。
01101
计 数据
计
算
算
机
机
甲 时钟
乙
时钟
计 数据 算 机 数据+时 甲
10.2.1 方式0
74LS164
时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA和 DSB)的逻辑与, 它将上升时钟沿之前保持一个建立时间的长度。
10.2.1 方式0
10.2.1 方式0
1.方式0输出
参考程序:
#include <reg51.h>
#include <stdio.h>
(3)REN—允许串行接收位,由软件置“1”或清 “0”。
REN=1,允许串行口接收数据。 REN=0,禁止串行口接收数据。 (4)TB8—发送的第9位数据 在方式2和方式3时,TB8是要发送的第9位数据,其值 由软件置“1”或清“0”。 在双机串行通信时,TB8一般作为奇偶校验位使用;也 可在多机串行通信中表示主机发送的是地址帧还是数据帧, TB8=1为地址帧,TB8=0为数据帧。
AT89S51串行口内部结构见图10-1。有两个物理上独 立的接收、发送缓冲器SBUF(特殊功能寄存器),可同时 收发数据。发送缓冲器只写不读,接收缓冲器只读不写,两 个缓冲器共用一个特殊功能寄存器字节地址(99H)。
控制寄存器共有2个:特殊功能寄存器SCON和PCON。 下面详细介绍各位功能。
10.1.4 串行口结构
字节地址为87H,不能位寻址。格式见图10-3。 仅最高位SMOD与串口有关 SMOD位:波特率选择位。
图10-3 特殊功能寄存器PCON的格式
GF1,GF0:两个通用工作标志位,用户可以自由使用。
10.1.5 特殊功能寄存器PCON
PD:掉电模式设定位。 PD=0 单片机处于正常工作状态。 PD=1 单片机进入掉电(Power Down)模式 ,可由外部 中断或硬件复位模式唤醒,进入掉电模式后,外部晶振停振, CPU、定时器、串行口全部停止工作,只有外部中断工作。 IDL:空闲模式设定位。 IDL=0 单片机处于正常工作状态。 IDL=1 单片机进入空闲(Idle)模式,除CPU不工作外, 其余仍继续工作,在空闲模式下可由任一个中断或硬件复位 唤醒。
sbit P1_0=0x90;
unsigned char nSendByte;
void delay(unsigned int i) { //延时子程序
unsigned char j;
for(;i>0;i--)
//变量i由实际参数传入一个值,
//因此i不能赋初值
for( j=0;j<125;j++);
11
10.1.4 串行口控制寄存器SCON
串行口控制寄存器SCON,字节地址98H,可位寻址, 位地址为98H~9FH,即SCON的所有位都可用软件来进行 位操作清“0”或置“1”。SCON格式见图10-2。
图10-2 串口控制寄存器SCON格式
10.1.4 串行口控制寄存器SCON
寄存器SCON各位功能: (1)SM0、SM1—串口4种工作方式选择
OPTION
序中能访问该变量。nSendByte用于存放从串行口发出 的点亮数据,在程序中使用左移1位操作符“<<”对 nSendByte变量进行移位,使得从串口发出的数据为 0x01、0x02、0x04、0x010、0x10、0x20、0x40、 0x100,从而流水点亮各个发光二极管。
02 程序中if语句的作用是当nSendByte左移1位由0x100变
10.2.1 方式0
1.方式0输出
图10-6 方式0输出外接8个LED发光二极管接口电路
10.2.1 方式0
1.方式0输出
【例10-1】如图10-6,控制8个发光二极管流水点亮。 图中74LS164的8脚(CLK端)为同步脉冲输入端,9脚为控 制端,9脚电平由单片机的P1.0控制,当9脚为0时,允许串 行数据由RXD端(P3.0)向74LS164的串行数据输入端A和 B(1脚和2脚)输入,但是74LS164的8位并行输出端关闭; 当9脚为1时,A和B输入端关闭,但是允许74LS164中的8位 数据并行输出。当串行口将8位串行数据发送完毕后,申请 中断,在中断服务程序中,单片机向通过串行口输出下一个 8位数据。