找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于PCA/PWM,输出PWM模块,捕获模块以及16位定时器模块的程序

[复制链接]
跳转到指定楼层
楼主
ID:202278 发表于 2017-7-16 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

16位定时器模式:

#include<1.h>
// #include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;

   
         void main()
         {                 
                           CCAP0H=0x3c;                          //设初值,设高位为了后续移位
                CCAP0L=0;
                          CCAPM0=0x49;
                EA=1;
                CR=1;
                while(1);                          
         }
                         void intter(void) interrupt 7
                        {
                                   unsigned int x;
                                  x=(CCAP0H<<8)+CCAP0L+0x3c00;           //加上10ms,
                                  CCAP0L=x;
                                  CCAP0H=x<<8;
                                  led=~led;
                                  CCF0=0;                                                  //清除标志位

                        }


捕获模式:
#include<1.h>
#include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;

   
         void main()
         {
                 CCAPM1=0x31;                   //模式0,模式1设置为上升沿触发和下降沿触发
                CCAPM0=0x31;
                EA=1;
                while(1);                                                 //等待中断
         }
                         void intter(void) interrupt 7
                        {
                                   if(CCF0==1)
                                  {
                                          led=~led;
                                        CCF0=0;                                //清零
                                  }
                                if(CCF1==1)
                                {
                                  led=~led;
                                  CCF1=0;                                         //清零
                                }
                        }
                 

输出PWM模块:
#include<1.h>
// #include<intrins.h>
// #defined uchar unsigned char
// #defined uint unsigned int
sbit led=P2^0;
sbit tt=P1^3;

   
         void main()
         {
                
                CCAPM0=0x42;   
                          CR=1;
                           CCAP0H=0x80;
                       
                while(1);
         }
                               

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:202278 发表于 2017-7-16 10:31 | 只看该作者
头文件用60S2的头文件
回复

使用道具 举报

板凳
ID:104779 发表于 2017-8-7 23:10 | 只看该作者
PWM模块输出不了16位的吧?
回复

使用道具 举报

地板
ID:370644 发表于 2020-5-16 18:19 | 只看该作者
好东西,我测了一下,蛮好的,我刚好要用3个定时器,结果只有2个,刚好用上了,非常感谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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