zoukankan      html  css  js  c++  java
  • pwm计时器

    1 PWM timer定时器与(watchdog差不多)
    2 5个16位的定时器,独立的,其中,NO PIN 没有输出。16表示ffff,和ADC中10表示3FF一样。而寄存器都是32位。(以后6410可能变)
    3 12 M进行了进行了两次分频,一次预分频,一次分频
    公式计时器的频率=PCLK/(预值+1)/分频值
    预值0~255,分值2,4,8,16
    4 寄存器
    TCFG0 15~8 2,3,4
    TCFG1 7~0 0,1(选定时器)
    5 TCON 22 (0对应手动,1对应自动,自动意思是可以执行多次,手动意思只能执行1次)
    21
    20
    21和20互斥 手动:
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X2<<20);
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X1<<20);

    执行结果
    haha
    haha
    haha
    doirq(只出现一次)
    haha
    haha
    haha
    haha
    haha
    haha
    自动:
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X6<<20);
    TIMER.TCON=((~0X7<<20))&TIMER.TCON)|(0X5<<20);
    执行的结果表示
    haha
    haha
    haha
    doirq(能一直循环出现)
    haha
    haha
    haha
    doirq
    haha
    haha
    haha
    doirq
    haha
    haha
    6 TCNTB4=0X6000;(往里边放一个数,然后count buf开始递减)
    计算
    12000000/(255+1)/16=2930;这里的分频设置是最小的)
    6000/2930=8秒钟(只需要8秒钟递减完成)
    7 注意TCNT不是一个寄存器,而他的作用是,把值放到down counter,相当于一个双缓冲,这个TCNT值=TCNB里边设置的,但是他不能直接设置。
    TCNTB才是寄存器,他用来设置。

  • 相关阅读:
    (个人题目)作业 题解
    P2618 数字工程
    P6394 樱花,还有你
    USACO08FEB Making the Grade G
    USACO13NOV Pogo-Cow S
    CSP2019 树上的数
    JSOI2018 潜入行动
    NOIP2017 宝藏
    SNOI2017 炸弹
    【洛谷】【最小生成树】P1195 口袋的天空
  • 原文地址:https://www.cnblogs.com/coding4/p/5604766.html
Copyright © 2011-2022 走看看