打印
[疑难问答]

megawin单片机PCA产生PWM波幅值的问题

[复制链接]
1992|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
烟水晴岚55|  楼主 | 2013-6-27 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用PCA产生的PWM波幅值不是5V而是在1.6V到1.7V之间,这不合逻辑啊,调整占空比为100%也不能达到5V。求高人指教!
程序如下:
#include<reg52.h>
#include<intrins.h>
#define FOSC 1843200L
#define unsigned char BYTE
#define unsigned int WORD
sfr CCON=0XD8;
sbit CCF0=CCON^0;
sbit CCF1=CCON^1;
sbit CF=CCON^7;
sbit CR=CCON^6;
sfr CMOD=0XD9;
sfr CL=0XE9;
sfr CH=0XF9;
sfr CCAPM0=0XDA;
sfr CCAP0L=0XEA;
sfr CCAP0H=0XFA;
sfr CCAPM1=0XDB;
sfr CCAP1L=0XEB;
sfr CCAP1H=0XFB;
sfr PCAPWM0=0XF2;
sfr PCAPWM1=0XF3;
void main()
{
    CCON=0;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        CCON=0;
        CL=0;
        CH=0;
        CMOD=0X00;
        CCAP0H=0X00;
        CCAP0L=0X00;
        PCAPWM0=0X00;
        CCAPM0=0X42;
        CCAP1H=0X40;
        CCAP1L=0X40;
        PCAPWM1=0X00;
        CCAPM1=0X42;
           CR=1;
        while(1);
       


}
沙发
MG_FAE| | 2013-6-28 08:50 | 只看该作者
请告知是哪个芯片型号,再者如果芯片5V工作,不管如何输出不到5V的话,有几个可能性,
1. 输出设置为Open-drain并且没有上拉电阻。
2. 确认是否空载下量测,有可能是负载过大造成。
3. 确认量测到正确的管脚输出。
4. 换个芯片测试看看。

使用特权

评论回复
板凳
dengzhaowen| | 2013-6-28 11:53 | 只看该作者
可能是你的IO口工作模式没选的问题,用PWM要让相应的PIN工作在推挽模式。

使用特权

评论回复
地板
烟水晴岚55|  楼主 | 2013-6-28 16:16 | 只看该作者
MG_FAE 发表于 2013-6-28 08:50
请告知是哪个芯片型号,再者如果芯片5V工作,不管如何输出不到5V的话,有几个可能性,
1. 输出设置为Open-d ...

片子是MEGAWIN的MPC83G516。能产生PWM波,只是输出幅值不对。顺便问下什么叫Open-drain?PCA产生的PWM只在固定的几个引脚输出

使用特权

评论回复
5
mg_sz| | 2013-7-2 08:59 | 只看该作者
Open-drain===开路输出,PCA对应的6通道为:P12---P17.
请楼主,顺便检查一下外围,有没有可能拉低.

使用特权

评论回复
6
mg_sz| | 2013-7-2 09:00 | 只看该作者
Open-drain===开路输出,PCA对应的6通道为:P12---P17.
请楼主,顺便检查一下外围,有没有可能拉低.

使用特权

评论回复
7
mg_sz| | 2013-7-2 09:01 | 只看该作者
Open-drain===开路输出,PCA对应的6通道为P12---P17.
请楼主,顺便检查一下外围,有没有可能拉低.

使用特权

评论回复
8
mg_sz| | 2013-7-2 09:07 | 只看该作者
范例是正常的程序,供参考

MPC82_PWM_Demo_C.rar

24.6 KB

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝