第8章串行接口祥解.ppt
文本预览下载声明
1.方式0和方式2的波特率是固定的 在方式2中,波特率取决于PCON中的SMOD值: 当SMOD=0时,波特率为fosc/64; 当SMOD=1时,波特率为fosc/32.即波特率 = 。 osc SMOD f 64 2 在方式0中,波特率为晶振频率的1/12,即fosc/12,固定不变 方式0发送数据的时钟将fosc经12分频获得 方式2的发送数据的时钟是将fosc经过32或64分频(由SMOD位决定)获得 2. 方式1和方式3的波特率可变,由定时器1的溢出率决定 方式1和方式3的发送数据的时钟由定时器T1的溢出提供,并且将T1的溢出信号经过16或32分频(由SMOD位决定),所以它们的波特率与T1的定时初值密切相关。 波特率=2SMOD·T1溢出率/32 当定时器Tl作波特率发生器使用时,通常选用可自动装入初值模式(工作方式2),在工作方式2中,TLl作为计数用,而自动装入的初值放在THl中,设计数初值为x,则每过“256一x”个机器周期,定时器T1就会产生一次溢出。为了避免因溢出而引起中断,此时应禁止T1中断。 这时,溢出周期为: 一个机器周期是晶振的频率f除以12(标准模式) 系统初始化时,将所有从机的SM2均置1,并处于允许串行口中断接收状态。主机欲与某从机通信,先向所有从机发出所选从机地址,然后才发送命令或数据。在主机发送地址时,置第9位数据(TB8)为1,表示发送的是地址帧;然后,再将第9位数据( TB8 )清0,发送命令或数据。 各从机由于SM2=1,将响应主机发送来的第9位数据(RB8)为1的地址信息,这之后,从机有两种表现: (1)若从机地址与主机发送的地址相同,则该从机将本机的SM2清零,继续接收主机发来的数据或命令。 (2)若从机地址与主机发送的地址不同,则该从机将维持SM2=1,拒绝理会主机后面发来的信息,继续等待主机点名。 1、串行通信的方向分为哪几类? 2、串行异步通信的帧格式是怎样的? 3、波特率的含义是什么? 4、串行异步通信的波特率要求7.8K时,若SMOD=0,T1的定时初值应该是多少? 串行通信的方向分为3类。即单工、半双工、全双工 数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒。 X = 256-4 = FCH 5、为什么说串行通信的方式0是一个移位寄存器? 6、方式1、方式2、方式3的波特率与哪些参数有关? 在方式0下,其波特率固定为fosc/12。串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。其作用相当于同步移位寄存器。 SMOD的状态(1、0)、T1的溢出率、晶振频率fosc 利用串行口工作方式0扩展I/O口 当单片机系统为单机使用时,串行口别无它用,就可用来扩展并行I/O口,这种方法不占用片外RAM地址,而且还能简化单片机系统的硬件结构。但缺点是操作速度较慢、扩展芯片越多。 例1、 两片74LSl65扩展两个8位并行输入口的实用电路。74LSl65是可并行置入的8位移位寄存器 当移位/置入端S/L 由“1”变为“0”时,并行输入端的数据被置入各寄存器 当S/L =“1”,,且时钟禁止端(15脚)为低时,在时钟脉冲的作用下,数据由QA向QH方向移动,图中SIN为串行输入端 串行口应用举例 下面的程序是从16位扩展口读入10组数据(每组2个字节),并把它们转存到内部RAM 40H开始的单元。 ORG 1000H MOV R6,#0AH ;设置读入组数 MOV Rl,#40H ;设片内RAM指针 RCV0: CLR P l.0. ;并行置入数据 SETB P l.0 ;允许串行移位 MOV R0,#02H ;设置每组字节数 RCV1: MOV SCON,#10H ;设工作方式0,并启动接收 WAlT: JNB RI,WAIT ;未接收完一帧数据,等待 CLR RI ;清接收中断标志,准备下次接收 MOV A,SBUF ;读入数据 MOV @R1,A ;送内部RAM区 INC R1 ;指向下一个地址 DJNZ R0,RCV1 ;若未读完一组继续 DJNZ R6,RCV0 ;预定的字节数读完否,未完继续
显示全部