找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1802|回复: 5
打印 上一主题 下一主题
收起左侧

stc89c52rc单片机中t2做波特率发生器,t0能做pwm发生器吗

[复制链接]
跳转到指定楼层
楼主
ID:900662 发表于 2021-6-5 00:30 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2021-6-5 07:32 | 只看该作者
stc89c52rc不具备pwm发生器功能,t2做波特率发生器,t0能做定时器用。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:272119 发表于 2021-6-5 13:34 | 只看该作者
我用 STC15W404AS , PCA模块是硬件PWM控制器,不占用系统资源,特别舒服.

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:900662 发表于 2021-6-5 13:54 | 只看该作者
#include<REG52.H>
sfr T2MOD=0X0C9;
/************************************************************************/
void sint() interrupt 4          //中断接收3个字节
{

    if(RI)                         //是否接收中断
    {
       RI=0;
       dat=SBUF;
}
}
        void main(void)
{
        T2CON=0X34;
        T2MOD=0x00;  
  RCAP2H=0xFF;                     //11.0592M晶振,9600波特率
  RCAP2L=0xDC;
    SCON=0x50;
PCON=0X00;  
        ES=1;   
    EA=1;       
           while(1);                                                        /*无限循环*/       
}



这个程序是11.0592Mhz,波特率为9600的C程序,需要的师兄可以参考一下。
另外,如果用 T0或者T1产生PWM波的话,T2做波特率发生器才不会冲突。经验之谈,希望对大家有用!       
回复

使用道具 举报

5#
ID:230742 发表于 2021-6-5 14:20 | 只看该作者
我也没试过,我想冲突肯定会有,楼主能否换个晶振,比如22.1184的,或者更高的。计算好T2的波特率,这样时钟块了,冲突应该会小点。利用MCU的高速度把时间分成更小的时间片。也许可以。毕竟串口是允许有一点误差的。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:900662 发表于 2021-6-5 14:24 | 只看该作者
啤酒瓶子老大 发表于 2021-6-5 14:20
我也没试过,我想冲突肯定会有,楼主能否换个晶振,比如22.1184的,或者更高的。计算好T2的波特率,这样时 ...

用T2好像没有冲突,我看有人在冲突的时候把串口中断的优先级设置成最高就没事了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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