6679|6

52

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

stc12c5410ad的PWM波形输出 [复制链接]

最近在使用stc12c5410ad的PWM模块功能,输出固定频率可调占空比的PWM波,下面是我写的程序,产生25%和50%占空比的PWM波:

 

 /******************************************************************************
  功能:固定频率39kHz的可调脉宽的PWM
  系统时钟 :20MHz

 

 

 ********************************************************************************/
 #include <stc12c5410ad.h>
 #define uchar unsigned char
 #define uint unsigned int

 uchar code table[]={0xc0,0x80};  //占空比 分别为 25%,50%
 uchar i;

 void main()
 {
  CCON=0;     //初始化PCA寄存器
 CL=0;
 CH=0;
 CMOD=0x02;   //PCA时钟源来自系统时钟 f/2
 CCAPM0=0x42;  //PCA工作在PWM模式
 CR=1;         //开启PCA timer
 while(1)
 {
  for(i=0;i<2;i++)
  {
   CCAP0H=CCAP0L=table;
   while(CL!=0xff);
  }
 }

 }

 

我想得到波形输出顺序:25%,50%,25%,50%,25%,50%……循环下去;(百分比为PWM的占空比,代表一个波形,波形就不画了)

可是我用示波器观察输出结果,波形输出顺序:25%,50%,25%,50%,50%,50%,25%,50%,25%,50%,50%,50%,25%……。多出了两个占空比50%的脉冲信号,请高手帮我看看程序是不是有什么问题,感觉问题出现在占空比的赋值上,但又不知道具体是什么。

[ 本帖最后由 coney 于 2010-12-21 18:13 编辑 ]
此帖出自51单片机论坛

最新回复

据统计大部分BUG都是因为粗心,这么简单的代码你软件跟踪下就很容易发现问题。还是太偷懒了  详情 回复 发表于 2010-12-24 12:04
点赞 关注
 

回复
举报

52

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
自己给自己打打气:D
此帖出自51单片机论坛
 
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

板凳
 
应该是赋值的问题,来不及看了。回南京给你看看。
此帖出自51单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

4
 

  for(i=0;i<2;i++)
  {
   CCAP0H=CCAP0L=table;
   while(CL!=0xff);
  }

这句话能跑就已经很让我惊奇了。你的i是做啥么用呢?table地址在哪?哎呀,我真是。。。

[ 本帖最后由 leang521 于 2010-12-22 13:16 编辑 ]
此帖出自51单片机论坛

赞赏

1

查看全部赞赏

 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(初级)

5
 
少了个 楼上别较真。

我在另外一个论坛上也看到你的这个帖子。你最好还是加个LED看看 STC是不是自己复位了。我以前遇到过STC自己复位循环的情况。

程序这么简单,应该不是程序本身的事
此帖出自51单片机论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复 4楼 leang521 的帖子

手写错误,不好意思,太粗心了。应该是CCAP0H=CCAP0L=table。这个问题已经解决了,还是很感谢你指出错误。
此帖出自51单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

7
 

回复 6楼 coney 的帖子

据统计大部分BUG都是因为粗心,这么简单的代码你软件跟踪下就很容易发现问题。还是太偷懒了
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表