打印

利用PCA产生的PWM波幅值不是5V而是在1.6V到1.7V之间

[复制链接]
886|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
juventus9554|  楼主 | 2014-12-17 22:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
利用PCA产生的PWM波幅值不是5V而是在1.6V到1.7V之间,这不合逻辑 啊
沙发
司徒老鹰| | 2014-12-17 22:05 | 只看该作者
调整占空比为100%呢

使用特权

评论回复
板凳
juventus9554|  楼主 | 2014-12-17 22:06 | 只看该作者
也不能达到5V

使用特权

评论回复
地板
llljh| | 2014-12-17 22:07 | 只看该作者
程序呢

使用特权

评论回复
5
juventus9554|  楼主 | 2014-12-17 22:07 | 只看该作者
#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);
         


}

使用特权

评论回复
6
dingy| | 2014-12-17 22:08 | 只看该作者
如果芯片5V工作,不管如何输出不到5V的话,可能出设置为Open-drain并且没有上拉电阻。

使用特权

评论回复
7
pengf| | 2014-12-17 22:08 | 只看该作者
确认是否空载下量测,有可能是负载过大造成。

使用特权

评论回复
8
renyaq| | 2014-12-17 22:09 | 只看该作者
确认量测到正确的管脚输出。

使用特权

评论回复
9
栩栩如生| | 2014-12-17 22:10 | 只看该作者
换个芯片测试看看。

使用特权

评论回复
10
supernan| | 2014-12-17 22:11 | 只看该作者
可能是你的IO口工作模式没选的问题,用PWM要让相应的PIN工作在推挽模式。

使用特权

评论回复
11
zwll| | 2014-12-17 22:11 | 只看该作者
是哪个芯片型号

使用特权

评论回复
12
juventus9554|  楼主 | 2014-12-17 22:12 | 只看该作者
MEGAWIN的MPC83G516

使用特权

评论回复
13
chuxh| | 2014-12-17 22:13 | 只看该作者
不懂,帮顶吧

使用特权

评论回复
14
juventus9554|  楼主 | 2014-12-17 22:13 | 只看该作者
能产生PWM波,只是输出幅值不对。

使用特权

评论回复
15
houcs| | 2014-12-17 22:13 | 只看该作者
dingy 发表于 2014-12-17 22:08
如果芯片5V工作,不管如何输出不到5V的话,可能出设置为Open-drain并且没有上拉电阻。 ...


什么叫Open-drain?

使用特权

评论回复
16
juventus9554|  楼主 | 2014-12-17 22:14 | 只看该作者
PCA产生的PWM只在固定的几个引脚输出

使用特权

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

使用特权

评论回复
18
liuzaiy| | 2014-12-17 22:15 | 只看该作者
可以找些范例看看

使用特权

评论回复
19
juventus9554|  楼主 | 2014-12-17 22:16 | 只看该作者
嗯,好的

使用特权

评论回复
20
juventus9554|  楼主 | 2014-12-17 22:17 | 只看该作者
我找找看,先结贴了哈

使用特权

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

本版积分规则

900

主题

12190

帖子

3

粉丝