波特率设置方法.docxVIP

  • 56
  • 0
  • 约5.07千字
  • 约 4页
  • 2023-03-16 发布于天津
  • 举报
T2_BTL28800:;用T2作波特率发生器的初始化设置 MOV98H,;98H=SCON仿真P89C664时不识别SCON ;MOVSCON,;串行口工作为方式1,位9(停止位)必须为1接收才有效,发送位9预设为1(方式1时自动设置) ;TI=1为不用定时器1作波特率用定时器2(位TI位未理解清楚)LI=1 MOVPCON,;波特率不加倍 ;MOVPCON,;波特率加倍 MOVT2MOD,;定时不输出 MOVT2CON,;T2用做发送接收时钟,置RCLK接收时钟与TCLK发送时钟,TR2=1启动T2,定时且自动重装 MOVRCAP2H,#0FFH;12M8052 MOVRCAP2L,#LOW(0FFFFH-13);12M ;MOVRCAP2L,#LOW(0FFFFH-(13*2));24M ;CLRTR2;仿真P89C664时不识别TR2 CLRT2CON.2;TR2;仿真P89C664时不识别TR2 MOVTH2,#0FFH;12M8052 MOVTL2,#LOW(0FFFFH-13);12M ;MOVTL2,#LOW(0FFFFH-(13*2));24M ;SETBTR2;仿真P89C664时不识别TR2 SETBT2CON.2;TR2仿真P89C664时不识别TR2 RET;T2计算公式:;12M/(32*(65536-(RCAP2H,RCAP2L)))=288008051式;(13)78;;T1_BTL4800:;用T1作波特率发生器的初始化设置;MOVSCON,;串行口工作为方式1,位9(停止位)必须为1接收才有效,发送位9预设为1(方式1时自动设置);(位TI位未理解清楚);MOVPCON,;波特率不加倍;MOVTMOD,;T1工作于方式2为8位重装;MOVTH1,#0F9H;MOVTL1,#0F9H;RET;SCON串行通信控制寄存器 ;D7D6D5D4D3D2D1D0 ;SM0SM1SM2RENTB8RB8TIRI ;(1)SM0、SM1:串行口工作方式控制位。 ;SM0,SM1工作方式 ;00方式0—波特率由振荡器频率所定:振荡器频率/12 ;01方式1—波特率由定时器T1或T2的溢出率和SMOD所定:2SMODX(T1溢出率)/32 ;方式1为波特率可变的10位异步通讯接口方式。发送或接收一帧信息,包括1个起始位0,8个数据位和1个停止位1。其中的起始位 ;和停止位在发送时自动插入的。 ;输出:当CPU执行一条指令将数据写入发送缓冲SBUF且TI=0时,就启动发送。串行数据从TXD引脚输出,发送完一帧数据后,就由 ;硬件置位TI。 ;输入:在(REN)=1时,串行口采样RXD引脚,当采样到1至O的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一 ;帧数据。只有当8位数据接收完,并检测到高电平停止位后,只有满足①(RI)=0:②(SM2)=0或接收到的第9位数据为1时,停止位才 ;进入RB8,8位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。 所以在方式1接收时,应先用软件清零RI和 ;SM2标志 ;10方式2—波特率由振荡器频率和SMOD所定:2SMODX振荡器频率/64 ;11方式3—波特率由定时器T1或T2的溢出率和SMOD所定:2SMODX(T1溢出率)/32 ;(2)SM2:多机通信控制位。br多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于 ;方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则 ;会将接受到的数据放弃。当SM2=0时,就不管第位数据是0还是1,都难得数据送入SBUF,并发出中断申请。 ;工作于方式0时,SM2必须为0。方式1时:只有当接收到第9位数据(RB8)为1(停止位)时,置位RI ;(3)REN:允许接收位。brREN用于控制数据接收的允许和禁止,REN=1时,允许接收,REN=0时,禁止接收。 ;REN:接收允许控制位。由软件置位(REN=1)才允许接收,又由软件清O(REN=0)来禁止接收。 ;(4)TB8:发送接收数据位8。br在方式2和方式3中,TB8是要发送的——即第9位数据位。在多机通信中同样亦要传输这一位, ;TB8:可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。 ;并且它代表传输的地址还是数据,TB8=0为数据,TB8=1时为地址。 ;(5)RB8:接收数据位8。 ;在方式2和方式3中,RB8存放接收到的第

文档评论(0)

1亿VIP精品文档

相关文档