收藏 分销(赏)

第2章单片机硬件结构3.doc

上传人:pc****0 文档编号:6644356 上传时间:2024-12-19 格式:DOC 页数:37 大小:464KB 下载积分:10 金币
下载 相关 举报
第2章单片机硬件结构3.doc_第1页
第1页 / 共37页
第2章单片机硬件结构3.doc_第2页
第2页 / 共37页


点击查看更多>>
资源描述
第七节 串行通信与输入/输出接口 一、 基本概念 1、并行通信与串行通信 1) 并行通信: 一次传输8位,需要8根数据线。但同时需要控制。 如单片机的4个并行口。 特点:速度快,适合近距离传输, 计算机并口,打印机,8255 ,由于并行通信占用硬件端口多,是系统复杂,不适合远距离通信,应用逐渐减少,现在计算机的许多外设都变成串行通信。 2)串行通信: 串行通信就是将并行的数据分开后,一位一位地发送出去,接收方也是一位一位地接收数据,需要通信的双方有一个协议,什么时候开始发送,什么时候发送完毕;接收方收到的信息是否正确等。 2、串行通信的方式与特点 单工方式: 一端是发送端,另外一端是接收端: 半双工发式 :每端口有一个发送器和接收器,通过开关连接在线路上,数据可以双方交换,但不能同时发送和接收. 全双工方式 :通信双方用两个独立的收发器单独连接,可以同时发送和接收数据,因而提高了速度。 (2)特点:硬件简单,适合远距离通信 (3)分类:串行同步通信和串行异步通信, 3、串行同步通信 同步通信先发送一个字符,作为同步字符,之后便连续发送数据,数据之间不能有间隔,直到数据发送完毕。 速度要比异步通信快。硬件结构复杂。 4、串行异步通信的格式 异步串行通信帧格式:(一个字符称作一帧) 1) 起始位:在数据发送线上规定无数据时电平为1,当要发送数据时,首先发送一个低电平0,表示数据传送的开始,这就是起始位。 2)数据位:真正要传送的8位数据,数据位是由低位开始,高位结束; 3)奇偶校验:数据发送完后,发送奇偶校验位,以检验数据传送的正确性,这种校验方法是有限的,但是容易实现。 4)停止位:用高电平1表示数据传送的结束。 5)空闲位:用1来填充空闲位。 (不同的工作方式,一帧的字符个数不同,后面讲) 5、 波特率 定义:波特率是单位时间内传送多少位的信息量。 单位:位/秒(B/s);bps。(以每秒传送的位数为单位) 波特率系列:110、300、1200、1800、2400、4800、9600、…… 单片机常用9600B/s与计算机或单片机通信。 二、串行总线 1、总线 是计算机系统中模块到模块间传送信息的一束信号线。 采用串行传输方式进行通信的叫串行总线,串行总线有几种标准,常见的有RS-232,USB,还有RS-422,RS-485,在计算机中,常见的是RS-232,现在是USB,在工业中,RS-485用的很广泛。 2、RS-232C总线 RS-232C总线应用很广,RS232标准由25根信号线组成,设备经常只使用其中9个信号,绝大多数为9针连接器(计算机的串行口)。 232C接口信号面向使用调制解调器的串行异步通信,原来主要是计算机通过电话线进行通信的,可支持两个通信信道: 主信道:用于数据传送 次信道:次信道为辅助串行通道,主要提供通道控制,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用 9针连接器(阳)各个引脚信号如下: 1、载波检测(DCD、入) 2、接受数据(RXD、入) 3、发送数据(TXD、出) 4、数据终端准备好(DTR、出) 5、信号地线(SGND) 6、数据设备准备好(DSR、入) 7、请求发送(RTS、出) 8、清除请求发送(CTS、入) 9、振铃指示(RI、入) 1、4、6、7、8、9信号,均是要与MODEM联系,2、3、5信号就可以构成串行通信。 在单片机串行通信中,实际用到了3条线:2、3、5 RS-232C的传输率最大为200kb/s,在此速率下,电缆允许长度为15m。 • RS-422A的传输率最大为10Mb/s,在此速率下,电缆允许长度为120m。如果采用较低传输速率,如90kb/s,最大距离可达1200m。 • RS-485是RS-422A的变形。RS-422A为全双工,可同时发送和接收;RS-485则为半双工,在某一时刻,一个发送另一个接收。 电平:RS232c电平 逻辑0电平:+5-+15V; 逻辑1电平:-15―-5V 经常用MAX232C等芯片转换。 三、AT89C51的串行口的结构 8051有一个可编程的全双工串行通信接口,它可作UART(串行异步通信)用,也可作同步移位寄存器,其帧格式可有8位、10位或11位,并能设置各种波特率,给使用者带来很大的灵活性。 结构如下图: 工作原理: 1、引脚,RXD(P3.0,串行数据接收端)、TXD(P3.l,串行数据发送端)。 2、有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H。可以同时工作,但不能同时访问。发送缓冲器只能写入,不能读出,接收缓冲器只能读出、不能写入。 3、波特率发生器,8051用定时器T1作为串行通信的波特率发生器,T1溢出率经2分频(或不分频)又经16分频作为串行发送或接收的移位脉冲。移位脉冲的速率即是波特率。 4、接收器是双缓冲结构,在前—个字节被从接收缓冲器SBUF读出之前,第二个字节即开始被接收(串行输入至移位寄存器),但是,在第二个字节接收完毕而前一个字节CPU未读取时会丢失前一个字节。 串行口内部结构示意简图 传输周期:输入移位寄存器的时钟周期。由图可知: Ø SMOD=0时,传输周期时间t=T1溢出周期×32μs; Ø SMOD=1时,传输周期时间t=T1溢出周期×16μs。 5、发送与接收信息,当向SBUF发“写”命令时(执行MOV SBUF,A指令),就是向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。 在满足串行口接收中断标志位RI〔SCON.0〕=0的条件下,置允许接收位REN(SCON.4)=1就会启动接收一帧数据进入输入移位寄存器,并装载到接收SBUF中,同时使RI=l。 当发出读SBUF命令时(执行MOV A,SBUF指令),即是由接收缓冲器(SBUF)取出信息通过8051内部总线送CPU。 (对于发送缓冲器,因为发送时CPU是主动的,不会发生重迭错误,所以不需要用双缓冲结构来保持最大传送速率。 ) 四、串行通信控制寄存器 8051串行口是一个可编程接口,对它的编程只用两个控制字分别写入特殊功能寄存器: 1、 串行口控制寄存器SCON(98H) 1) SM0、SM1: 用于定义串行口的操作模式, 两个选择位对应 4 种模式,见表 其中fOSC是振荡器频率, UART为通用异步接收和发送器的英文缩写。 2) SM2:多机控制位,用于多机通讯。 3) REN:允许接收控制位,REN=1,允许接收;REN=0,禁止接收。 4) TB8:发送的第9位数据,可用作校验位和地址/数据标识位 5) RB8:接收的第9位数据或停止位 6) TI:发送中断标志,发送一帧结束,TI=1,必须软件清零 7) RI:接收中断标志,接收一帧结束,RI=1,必须软件清零 2、电源控制寄存器PCON(87H) SMOD - - - GF1 GF0 PD IDL 在串行通信中,用到了电源控制寄存器PCON中最高位SMOD,是波特率系数控制位,当SMOD=1是,波特率增大一倍。 五、四种工作方式 1、方式0:同步移位寄存器方式。用于扩展并行I/O接口。 1)数据格式: 一帧8位,无起始位和停止位。 2)RXD:数据输入/输出端。TXD:同步脉冲输出端,每个脉冲对应一个数据位。(唯一不同的作用) 3) 波特率:B = fosc/12,每个机器周期发送一位数据。 如: fosc=12MHz, B=1MHz,每位数据占1ms。 4)发送是低位在前,8位发送完毕,停止发送,并置TI=1。 (74LS164在上升沿采集数据) 该方式主要用于扩展 I/O口。 2、方式1,8位数据异步通讯方式。(见前面图) 1) 一帧10位:8位数据位,1个起始位(0),1个停止位(1)。 2) RXD:接收数据端。 TXD:发送数据端。 3)波特率:用T1作为波特率发生器,B=(2SMOD/32)×T1溢出率。 用定时器T1的方式2(自动重装载)作波特率发生器。(注意这是规定) 定时器初值的计算: 初值计算可以这样理解:(对方式1、3) SMOD=0时,定时器T1溢出32次传送1位;n=32 SMOD=1时,定时器T1溢出16次传送1位;n=16 串行口发送1位需要的时间t2=1000000μs/B(波特率定义) 波特率确定,则传送1位的时间确定,定时器的溢出周期t就确定了,t=t2/n。 计数器初值为:X=256-t/机器周期 X=256-t2/(n×机器周期) 例:波特率为9600B/s,单片机晶振为24MHz,求T1的初值。 解:串行口发送1位需要的时间为:1000000/9600=104.167μs 当SMOD=0时,n×机器周期=0.5×32=16μs X=256-104.167/16=249.49,取249, 误差为|0.49| 当SMOD=1时,t=8μs, X=256-104.167/8=242.98 误差为|0.02| 显然要取SMOD=1,x=243 4) 发送:写入SBUF,同时启动发送,一帧发送结束,TI自动置1。 接收:REN=1。不能多机通信。 3、方式2与方式3, 9位数据异步通讯方式。 方式2与方式3除波特率不同外,其他都相同。 1) 一帧为11位:9位数据位,1个起始位(0),1个停止位(1)。第9位数据位在TB8/RB8中,常用作校验位和多机通讯标识位。 2) RXD:接收数据端,TXD:发送数据端。 3) 波特率: 方式2:B=(2SMOD/64)×fosc 。 方式3:同方式1, 注意:方式1与方式3除一帧位数不同,其余相同。 4)发送与接收(方式2、方式3支持多机通信) 发送:由软件给TB8置1或0,自动将TB8送第9位数据。写入 SBUF并启动发送,发送结束, TI=1。 (注意SM2=1时,发送的第9位数据的作用) 以下为发送与接收的时序: 对每个位检测3次,两次相同者有效。 注意:要设奇偶校验位时,一般将待发送的数据送累加器A,则PSW中的奇偶校验位P发生变化,将P→TB8,然后将A→SBUF即可。 接收:关系较复杂,见下表: 序号 REN SM2 第9位数据 功 能 1 0 × × 禁止接收 2 1 0 × 接收的数据送SBUF,第9位→RB8,接收完RI置1,申请中断,(双机通信,多机通信时地址相符者接收数据。) 3 1 1 0 信息作废(多机通信,地址不符者不接收) 4 1 1 1 数据→SBUF,第9位送RB8,接收完RI→1,申请中断(多机通信传递地址信息,各分机都接收) 表中“×”表示数据任意。接收过程: 4、多机通信(方式2和3) 多机通信,主机只有一个,从机有多个,每个从机有相应的地址。(见图) 通信过程: 1) 主机SM2=0,主机发送地址信息,同时TB8=1; 2) 从机SM2=1,接收信息, RB8=1,各从机接收地址信息有效; SM2仍为1 3)各从机判断接收的地址是否与本机相符(中断程序中),相符者置SM2=0,不符者SM2保持1不变。 4)主机发送数据信息,TB8=0; 5)从机地址相符者接收数据信息,(见上表[2],因SM2=0)接收信息有效;地址不同者(见上表[3],SM2=1和第9位=0)信息作废。 注意: 1) 一般每次只能有一个从机接收,想要多个从机同时接收,将地址设为相同;全部从机同时接收,置从机SM2=1,主机第9位=1。 2) 从机要发送,必须设置联络方式,使地址相符的从机发送,保证同时只有一个从机发送。 注意:引脚连接时 (主)TXD-(从)RXD;(主)RXD-(从)TXD 五、发送与接收过程及参数设置 发 送 接 收 1、设置工作方式,波特率(TH1、TL1) 1、设置工作方式,波特率 2、开定时器T1 2、开定时器T1,置REN=1 3、加奇偶校验位(按需要) 3、接收字符送SBUF,接收完毕,RI自动置1 4、将待发数据送SBUF(启动发送) 4、由软件清除RI 5、等待发送结束,TI自动置1 5、从SBUF中取接收的字符 6、由软件给TI置0 6、进行奇偶校验 7、转3、发送下一个字符 7、返3、接收下一个字符 第八节 特殊工作方式 一、复位方式 1、复位的作用: 复位是单片机中必须的功能,它使特殊功能寄存器回复初始状态,见下表。程序重新从0000H开始执行。 2、复位结构与条件 复位引脚RST通过片内一个斯密特触发器与片内复位电路相连。斯密特触发器用来脉冲整形及抑制噪声,其输出在每个机器周期的S5P2时被复位电路采样一次。 给RST输入2个机器周期(24个振荡周期)的高电平正脉冲,805l便执行内部复位。 复位后几个主要的特殊功能寄存器的初始状态如下: 3、复位电路 单片机的复位方式有上电复位和按键手动复位两种。 复位电路中的电阻、电容数值的设置,是要保证在RST引脚处至少保持2个机器周期(24个振荡周期)的高电平而完成复位过程的,也就是在斯密特触发器的输入端维持在最低阈值电压以上足够长时间,使斯密特触发器产生一个正脉冲。 此电路为实用电路,当Vcc上电时,给电容C充电,RST的电压升高,同时R2放电,合理选择电容与电阻,可以使高电平时间达到复位要求。 在8051中,当晶振为12MHz时,电容为10uf,电阻为8.2k。对于89C51,在RST的内部接了一个下拉电阻,故可以不接外部电阻,只接一个1μf电容。 按键手动复位电路,该电路是在上电复位电路中另加一个200Ω电阻和手动开关组成。 图2-30的复位电路,前面加了滤波电路C1和C2,可以防止干扰窜入复位端。加了一个非门,提高了驱动能力,可以使几个元件同时复位。该复位原理是:电压由0升到5V的过程中,通过电阻给C3充电,此时为低电平,通过非门变为高电平;当电压升到一定值时,RST变为低电平。 二、节电方式 对电池供电的仪器,节电是很重要的。AT89Cxx提供了空闲方式和掉电方式。 1、电源控制器PCON SMOD - - - GF1 GF0 PD IDL GF0、GF1:通用标志位,由用户设置。用来指示中断发生在正常运行还是等待方式,在等待方式响应的中断,给该位置1。 PD:掉电方式控制位,PD=1进入掉电方式。 IDL:等待方式(空闲方式)控制位,IDL=1进入等待方式。 2、等待方式(IDL=1) 特点: ① 振荡器继续工作,但CPU不工作; ② 中断、串行口、定时器正常工作; ③ CPU内部状态维持不变,即SP、PC、PSW、A、端口状态等均不变; 退出: ① 响应中断退出,从等待开始前的下一条指令开始执行; ② 硬件复位,复位信号直接将IDL清零,然后从等待开始前的下一条指令开始执行。 3、 掉电方式(PD=1) ① 振荡器停止工作,所有的功能部件都停止工作; ② 启动备用电源继续给片内RAM供电,RAM区的内容不变。备用电源需要专门的电路接入,51单片机无此功能。 ③ ALE和PSEN都为高电平。 退出的惟一方法是由硬件复位。 因掉电时RAM内容不变,掉电前,将需要的信息都压入堆栈,复位后又从堆栈中弹出。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服