51基础串行接口.pptVIP

  • 3
  • 0
  • 约6.41千字
  • 约 29页
  • 2019-08-29 发布于广东
  • 举报
3.4 MCS-51单片机串行接口 二、异步通信数据格式 3.4.2 MCS-51的串行接口 一、51串口内部结构 51单片机的串口是标准的全双工异步通信接口。 对串口的使用可采用中断方式也可采用 查询方式。 在使用时,只要设置相关寄存器 就可以很好的操作了: 第一步设置相关寄存器: IE(中断)、IP(优先)、TMOD(模式) 、 PCON、 SCON(方式); 第二步设置:波特率 第三步读写:SBUF (二)串行接口的控制 各位的定义为:(复位后各位为0) RI:读标志(当有数时,由硬件置1) TI:写标志(当写数后,由硬件置1) 对于RI和TI的置1,也是中断的标志,但CPU响应后,不会清 零。必须由软件清零! RB8: 在方式2和方式3中,接收的第9位数据。 TB8: 在方式2和方式3中,发送的第9位数据。 可作为奇偶校验位。 SM2: 用于多机通信(方式2和方式3)的控制位,仅用于接收。 当SM2=1,在RB8=1时,才能接收到数据。 一般使用时,SM2=0。 REN: REN=1,允许接收, REN=0,禁止接收。 二、串行口的4种工作模式 1)方式0(8位数据I/O) 2) 方式1(10位数据) 3) 方式2、3(11位数据) 说明: ① 在方式0中,8位数据从RXD引脚发送, 或接收(D0先传);TXD引脚只输出移位 (同步)时钟(频率=fosc/12)。 ② 在方式1中, RXD脚为收,TXD脚为发, 数据是按10位UART传送的。 (1个起始0, 8个数据位,1个停止1); ③ 在方式2,3中, RXD脚为收,TXD脚为发, 数据是按11位UART传送的。 (1个起始0, 8个数据位+第9位,1个停止1)。 三、波特率的设置 1)方式0的波特率 方式0的率等于单片机晶振频率的1/12,即每个机器周期接收 或发送一位数据。 2)方式2的波特率 3)方式1和方式3的波特率 在方式1、3中,波特率可由T1定时器设置这种方法用的最多,用到寄存器有:TMOD:T1设成方式2,自动重装, 0010,xxxxB或0x2x; PCON: 用到了SMOD位( D7位) SMOD=1时加倍; SMOD=0时不加倍。计算公式: 常用的TH1,TL1的设置 4)其他注意事项 ①如果在中断通信:要设置IE中的EA=1的同时,ES=1; ②根据实际情况,设优先级IP的各位; ③在8位和10位通信中,读写数据均在SBUF中; ④在11位通信中,8位数据(读写)在SBUF中,第9位在 TB8或RB8中; ⑤ 在有奇偶校验的通信中(11位通信),PSW中的P位送TB8; 例:发送:88H ,在查询方式时: MOV A,#88H    ;会影响PSW的P位.     MOV TB8,P ;送奇偶位 MOV SBUF,A W1: JBC TI, END_SD ;等TI=1 表示发完. SJMP W1     ;等待   END_SD: …………….. 四、串口多机通信 串行口以方式2或方式3接收时,若SM2为“1”,时可实现多机通信。 3.4.3 通信电平的转换 单片机与PC机通信时,电平不是TTL电平,而往往是232电平。 一般通过专用芯片转换。 串口通信举例 例一, 采用查询的方法实现PC机与单片机的通信。已知, 晶振频率为22.1184M,波特率为9.6k。实现:单 片机发送:0到9的数字(ASCII),PC机接收该数, 并显示。(用汇编编程) chsi_ck0: ;初始化串口 mov TMOD,#21H ;0010,0001B T1:定时,方式2 mov SCON,#50H ;0101,0000B 8UART 方式 mov TH1,#0FAH ;自

文档评论(0)

1亿VIP精品文档

相关文档