找回密码
 注册
关于网站域名变更的通知
查看: 526|回复: 4
打印 上一主题 下一主题

单片机的波特率怎么设置?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-16 13:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我要通过串口发送数据,下边的2400波特率是怎么设置的。如果改成500K程序该怎么写
) ]5 w. M' c6 J* Evoid Init_UART  (void)
# y. [2 u+ @* h7 l{1 D7 w! Y7 w- ?& c1 L( P- p- z
    SCON  = 0x50;                        // SCON: 模式 1, 8-bit UART, 使能接收  
2 h& |- F4 Q' ~    TMOD  = 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装; e2 W  |8 j* c9 o0 W, @5 A' }) f
    TH1   = 0xF3;               // TH1:  重装值 2400 波特率 晶振 12MHz  
! Q- W8 x2 C" e1 ?& j& R    TR1   = 1;                  // TR1:  timer 1 打开                        
! u# x% O2 t0 q    EA    = 1;                  //打开总中断
9 z% _  d1 `7 I5 e7 z* f- d   // ES    = 1;                  //打开串口中断
$ B, u4 ^. e, T: ~}

该用户从未签到

2#
发表于 2020-6-16 14:13 | 只看该作者
51单片机波特率计算的公式和方法51单片机芯片的串口可以工作在几个不同的工作模式下,其工作
( P: M2 S  ^& {6 p" F" R模式的设置就是使用SCON寄存器。它的各个位的具体定义如下: SMOSM1SM2RENTB8RB8TIRIS7 y& s, Q+ ]& |6 {1 d, k* F
M0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设
' C0 F/ W4 N# Y  _( l置。波特率在使用串口做通讯时,-个很重要的参数就是波特率,只有上下位机的波特率一样时才可3 x# j: n+ C1 L6 I2 t  d: c- E  ]
以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。这里所指的波特率,如标准960
. ?! X% [1 l0 n3 `# I6 F0不是每秒种可以传送9600个字节,而是指每秒可以传送9600个二进位,而一个字节要8个二进位,$ T6 I( H& M& d' w
如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率# e' E- W* T% h) l
用模式1传输时,每秒传输的字节数是9600+ 10= 960字节。51芯片的串口工作模式0的波特率是固  o* r. v7 U* Y6 s* y4 a4 V+ u9 g
定的,为fosc/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定# A' ?9 x  m, C2 Z3 f+ x) z
在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率focs/64,SMOD为1,波特率为focs/32。模式1和模式3的波特率是可变的,取决于定时器1或2 (52芯片)的溢出速率,就是说定时器1每溢出一-次,串口发送一次数据。 那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。上式中如设置 了PCON寄存器中的SMOD

点评

谢谢大佬,很详细  详情 回复 发表于 2020-6-16 16:57
是的,需要打开总中断  详情 回复 发表于 2020-6-16 15:46
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-6-16 15:46 | 只看该作者
    行者~ABC 发表于 2020-6-16 14:136 V$ l' D: G. D( Z) y, |3 s$ j1 Y
    51单片机波特率计算的公式和方法51单片机芯片的串口可以工作在几个不同的工作模式下,其工作, j0 k( a( y* i9 a
    模式的设置就 ...

    / b5 {) e! @: [是的,需要打开总中断

    该用户从未签到

    4#
     楼主| 发表于 2020-6-16 16:57 | 只看该作者
    行者~ABC 发表于 2020-6-16 14:13# [0 i# |- i* T6 B! W( h
    51单片机波特率计算的公式和方法51单片机芯片的串口可以工作在几个不同的工作模式下,其工作) z- g& m7 ]; v+ n# G
    模式的设置就 ...
    4 r9 J3 }- G# T$ T* _
    谢谢大佬,很详细

    该用户从未签到

    5#
    发表于 2020-6-17 10:58 | 只看该作者
    . B& e( l) D1 @) a& z
    到STC网站下载:stc-isp-15xx-v6.87E.exe,里面有相关程序。直接复制粘贴就好。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-19 11:50 , Processed in 0.125000 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表