打印
[PIC®/AVR®/dsPIC®产品]

有脉冲输出

[复制链接]
788|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kangzj|  楼主 | 2022-4-7 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2022-5-4 12:39 编辑

PIC16F877A,TMR2还没有打开,为什么就有脉冲输出了?

使用特权

评论回复
沙发
chuxh| | 2022-4-7 20:21 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
kangzj|  楼主 | 2022-4-7 20:23 | 只看该作者
void main(void)
{
    TRISC=0B11111011;
    PR2=0X63;
    CCPR1L=0X32;
    CCP1CON=0B00001100;
    T2CON=0B00000010;
     //TMR2ON=1;
    while(1);        
}
如果没有while(1);语句,就没有脉冲输出了,百思不得其解。

使用特权

评论回复
地板
zhuhuis| | 2022-4-7 20:28 | 只看该作者
main就是一个函数, 如果你不写个语句,让它停留在里面, MCU运行完main函数, 会继续往后执行, 然后重启,然后反复......

使用特权

评论回复
5
jiajs| | 2022-4-7 20:31 | 只看该作者
记得刚开始学习STM32的单片机时,没有while循环的话程序会进入硬件错误中断,

使用特权

评论回复
6
zhanghqi| | 2022-4-7 20:31 | 只看该作者
调整好RC滤波时间常数,可以加多级滤波,但是纹波小于10mV很难做到

使用特权

评论回复
7
lizye| | 2022-4-7 20:34 | 只看该作者
正常的情况main()函数中要有一个while(1)无限循环的。

使用特权

评论回复
8
zhanghqi| | 2022-4-7 20:36 | 只看该作者
对于楼主的程序,运行起来后,程序会停在while(1)语句处。

使用特权

评论回复
9
juventus9554| | 2022-4-7 20:38 | 只看该作者
楼主的意思是,此时在RC2 管脚上有PWM信号输出吗?频率对吗?

使用特权

评论回复
10
kangzj|  楼主 | 2022-4-7 20:40 | 只看该作者
对的,仿真看见有脉冲信号输出了,烧到板子上给驱动器,电机也动了。

使用特权

评论回复
11
chenjun89| | 2022-4-7 20:42 | 只看该作者
不会吧,这么怪异?

使用特权

评论回复
12
kangzj|  楼主 | 2022-4-7 20:42 | 只看该作者
可是初始化时,我没有开TMR2啊

使用特权

评论回复
13
kangzj|  楼主 | 2022-4-7 20:50 | 只看该作者
我想在需要时再TMR2ON=1;让电机动起来。难道这样做不可以吗?

使用特权

评论回复
14
dingy| | 2022-4-7 20:52 | 只看该作者
正常的做法是, 需要电机  转起来的时候, 是使能/禁止PWM模块的输出, 而不是去操作它的时基.

使用特权

评论回复
15
pangb| | 2022-4-7 20:55 | 只看该作者
T2没开,PWM不会有的,你仿真看一下T2CON的具体值是什么

使用特权

评论回复
16
wyjie| | 2022-4-7 20:57 | 只看该作者
感觉程序上没有错误哦,为什么会出现这种情况呢?不理解。

使用特权

评论回复
17
zhaoxqi| | 2022-4-7 21:03 | 只看该作者
感觉程序上没有错误哦,为什么会出现这种情况呢?不理解。

使用特权

评论回复
18
kangzj|  楼主 | 2022-4-7 21:06 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
19
pzsh| | 2022-4-25 11:35 | 只看该作者
这个程序是有输出的是不是

使用特权

评论回复
20
tpgf| | 2022-5-2 11:59 | 只看该作者
默认设置吧这是

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

粉丝