这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 115200bps 谢谢!请问大家串口的频率是否可以做到115200bps呢?

共2条 1/1 1 跳转至

115200bps 谢谢!请问大家串口的频率是否可以做到115200bps呢?

院士
2006-09-17 18:14:16     打赏
115200bps 谢谢!请问大家串口的频率是否可以做到115200bps呢?



关键词: 115200bps     谢谢     请问     大家     串口     频率         

院士
2006-12-22 22:43:00     打赏
2楼
问 请问大家串口的频率是否可以做到115200bps呢?谢谢!我用的是89C52晶振是12M的,可是我看书中没有介绍这样高的频率!计算出的值也不能实现 1: Trust yourself 2: 12MHz晶体不行改11.0592MHz
并且要用定时/计数器2。 3: 同意楼上,用29M多可以做到921.6K,只是一般串口不支持 4: 51处理不了那么快的数据流一个一个的间断收发还差不多 5: 51处理不了那么快的数据流?  8MHz 的51 我处理过250Kbps数据流;Serial Port
;                      11.0592 MHz
;Mode                = 1  /8-bit UART
;Serial Port Interrupt        = Enabled
;Receive            = Enabled
;Auto Addressing        = Disabled

init_serial:
     mov SCON, #050h
;Timer 2 is being used to generate baud rates.
     mov RCAP2L, #0FDh
     mov RCAP2H, #0FFh
     mov T2CON, #034h
     setb ES             ;IE.4
     clr RI              ;SCON.0
     ret
     
main:
      lcall init_serial
end
;====================================
;Serial Port
;                      3.6864 MHz

;Mode                = 2  /9-bit UART
;Serial Port Interrupt        = Enabled
;9th Data Bit            = Enabled
;Receive            = Enabled
;Auto Addressing        = Disabled

init_serial:
     mov SCON, #098h
     orl PCON, #80H
     setb ES             ;IE.4
     clr RI              ;SCON.0
     ret
     
main:
      lcall init_serial
end

6: ding!!! 7: 没问题115.2K时,一位的时间为1/115.2*1000≈8.5us,在8位模式时,收发一个字节的时间为(1+8+1)*8.5us=85us(1位开始,8位数据,1位停止),51的为双缓冲接收结构中,可在接收第二字节完成前缓存前一个字节的接收数据,允许最长处理时间为85us*2=170us。在XTAL=11.0592MHz时,最小指令周期为1us。51最长中断相应时间为8指令周期=8us。接收中断可处理时间=170-8us=162us,发送中断可处理时间=85-8us=77us。如果中断程序按每条指令为2指令周期=2us算,可执行81条/38条指令,足够处理了。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]