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才是寄存器,他用来设置。

时间: 2024-10-14 17:36:24

pwm计时器的相关文章

STM32学习笔记6(TIM通用模块生成PWM)

1.     TIMER输出PWM基本概念   脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就是对脉冲宽度的控制.一般用来控制步进电机的速度等等. STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出. 1.1   PWM输出模式 S

(五)转载:通用定时器PWM输出

1.     TIMER输出PWM基本概念   脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就是对脉冲宽度的控制.一般用来控制步进电机的速度等等. STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出. 1.1   PWM输出模式 S

STM32之PWM君

PWM..英语好的人估计又知道这三个大写字母代表哪三个英语单词了.小弟不才,就说中文意思好了:脉冲宽度调制,玩过飞思卡尔的人估计对PWM非常的不陌生吧.电机驱动需要PWM,控制舵机的转向需要PWM,总之.可以说,PWM,you are so good. 好了..言归正传,广大的互联网的网友们,咱们又见面了,大家早上晚上中午好好好.额..好像也没见过面,STM32的PWM,可谓是小强中的小强,STM32的PWM,就是由定时器产生的,但是奇怪的是除了定时器TIM6和TIM7不能产生PWM外,其他的定

单片机实验的小记录~~PWM

一.源程序: #include#define uchar unsigned char#define uint unsigned intuchar T_H_N = 50;uchar T_H_N0 = 50;uchar T_N = 100;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67}; //定义引脚sbit IN1 = P3^5;sbit IN2 = P3^4;sbit ENA = P3^3;sbit K1 = P

STM32F4——定时器原理及应用(中断、输入捕获、PWM输出)

一.简介: 不同的STM32系列有不同数量的定时器,针对现在学习的STM32F40x系列总共有14个定时器,针对这14个定时器可以将其分为3类,高级定时器.通用定时器和基本定时器,三种定时器大同小异,下边会针对通用定时器来介绍定时器的原理和应用.对于通用定时器根据位数和计数方式的不同又可以分为3类,相关分类的图表如下: 二.应用: 1.更新:计数器的上溢或下溢.2.事件触发.3.输入捕获.4.输出比较.5.支持针对定位的增量编码和霍尔传感器电路.5.触发输入作为外部时钟或按周期电源管理.下边会针

PWM控制灯亮暗的verilog实现

PWM的全称为Pulse-Width Modulation(脉冲宽度调制),即调节脉冲的占空比.当输出的脉冲频率一定时,输出的脉冲占空比越大,相当于输出的有效电平越大,这样也就简单实现了由FPGA来控制模拟量. 设计原理框图: 按键消抖,首先采用状态机实现,用状态机做键盘消抖,很好用,不必等待延时,当检测到有按键按下或弹起时能发出相应的键盘消息.设置状态机有 4中状态,A0,A1,A2,A3状态转换图如下: 检测这几个管脚是否为低电平,来判断按键是否被按下 AO: 初始时位于A0状态,当扫描发现

基于tiny4412的Linux内核移植 -- PWM子系统学习(八)

作者信息 作者: 彭东林 邮箱:[email protected] QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc version 4

计时器开始和关闭

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>计时器</title></head><script type="text/javascript"> var num=0; var i; function

【效率】专为Win7系统设计的极简番茄计时器 - MiniPomodoro (附源码)

时光飞逝,一转眼坚持使用番茄工作法已经快3年了!能坚持这么长时间,主要还是得益于它的简单.但是令人纠结的是,这么长时间以来,换了7款不同的番茄计时器,仍然没有找到非常满意的: ■ 机械的噪音太大,会妨碍身边的同事,只能家里用.但是家里又太安静了,一旦响铃就跟晴天霹雳似的,把自己吓一跳. ■ 手机上的计时器 app 种类繁多,有偏重视觉效果的,有偏重任务管理的,有主打简单易用的,但是它们都有一个共同的缺点:不能保持屏幕常亮(太费电),时常会把它给忘了.另外怕影响同事一般都会把铃声关掉,只靠震动的话