TC0与TC1的功能和使用方法是一样的,所以这里只介绍TC0

与定时器TC0的pwm功能相关的寄存器共有3个;TC0M,TC0C,TC0R

一、TC0M模式寄存器

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

TC0M

TC0ENB

TC0rate2

TC0rate1

TC0rate0

TC0CKS

ALOAD0

TC0OUT

PWM0OUT

读/写

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

复位

0

0

0

0

0

0

0

0

Bit0;PWM0OUT;pwm输出控制位

0=禁止pwm0输出

1=使能pwm0输出,占空比由TC0OUT和ALOAD0决定

Bit1;TC0OUT;仅当PWM0OUT =0时有效

0=禁止,p54作为普通IO口使用

1=使能,p54输出TC0OUT信号

Bit2;ALOAD0,自动装载控制。仅当PWM0OUT = 0 时有效。

0 = 禁止 TC0自动装载;
1 = 使能 TC0 自动装载。

Bit3;TC0CKS:TC0 时钟信号控制位。
0 = 内部时钟(Fcpu或 Fosc);
1 = 外部时钟,由 P0.0/INT0输入。

Bit6~bit4;T0rate2~T0rate0;T0分频选择位

T0时钟由CPU时钟分频而来,分频比如下;

T0rate2~T0rate0

分频比

000

fCPU/256

001

fCPU/125

010

fCPU/64

011

fCPU/32

100

fCPU/16

101

fCPU/8

110

fCPU/4

111

fCPU/2

Bit7;TC0ENB;T0使能位,

0=不使能

1=使能

二、TC0C计数寄存器

TC0C 是一个 8位定时计数器,只要 TC0ENB置“1”就开启定时器。TC0C 是个加1 计数器,时钟源频率由TC0RATE0~TC0RATE2决定。当 TC0C计到“0FFH”后,若再加1 就会回到“00H”,产生溢出信号,TC0中断请求标志被置为“1”,如果TC0中断又同时被使能(TC0IEN =1),那么系统将执行TC0的中断服务程序。

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

TC0C

TC0C7

TC0C6

TC0C5

TC0C4

TC0C3

TC0C2

TC0C1

TC0C0

读/写

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

复位

0

0

0

0

0

0

0

0

三、TC0R自动装载寄存器
TC0R 为 8 位自动装载寄存器,还用于频率输出和 PWM功能。在 TC0OUT功能下,用户必须使能 TC0R并且要进行设置。其主要功能如下:存放自动装载值,当 TC0C溢出时将其写入 TC0C中(ALOAD0 = 1);存放PWM0OUT 的占空比

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

TC0R

TC0R7

TC0R6

TC0R5

TC0R4

TC0R3

TC0R2

TC0R1

TC0R0

读/写

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

复位

0

0

0

0

0

0

0

0

当TC0M中的PWM0OUT=1时;

ALOAD0

TC0OUT

PWM占空比范围

TC0C有效值

TC0R有效值

最大PWM频率(pCPU=4M)

备注

0

0

0/256~255/256

00H-FFH

00H-FFH

7.8125k

计数256次溢出

0

1

0/64~63/64

00H-3FH

00H-3FH

31.25k

计数256次溢出

1

0

0/32~31/32

00H-1FH

00H-1FH

62.5k

计数256次溢出

1

1

0/16~15/16

00H-0FH

00H-0FH

125k

计数256次溢出

PWM的占空比由TC0C和TC0R共同确定,TC0R确定高电平占空比。占空比=TC0R/TC0C;PWM 输出占空比随 TC0R 的变化而变化:一般情况TC0C是从0开始,但是如果要产生特殊频率的话可以在中断中重置TC0C的初值,如果TC0C不是从0开始,TC0R也要做相应的改变才能保持原来的占空比,但是这样因为频繁进中断,会影响其他程序的运行。 在运行中改变TC0R的值能随时改变占空比。

例;

/*注意,要关闭pwm时,PWM0OUT和TC0OUT同时关闭才能停止pwm输出,缺一不可*/

#include<sn8p2612.h>

void main(void)

{

TC0M=0x73;//01110011 不使能TC0,内部时钟源fcpu/2

//使能pwm输出,32.15k

TC0C=0x20;//TC0C配置为和TC0R一样,不知道是不是必须的

//反正配置为一样的时候可以正常运行

TC0R=0x20;//TC0R确定占空比pwm=50%

FTC0ENB=1;//打开TC0,pwm开始输出

while(1);

}

5、SONIX单片机TC0、TC1的pwm输出相关推荐

  1. 合泰杯——合泰单片机工程7之PWM输出

    合泰杯--合泰单片机工程7之PWM输出 前言 一.合泰系列的PWM实现方式? 二.PTM输出PWM波 二.具体实现过程 2.1配置PTM3C0和PTM3C1 2.3PWM的输出引脚功能选择 2.4呼吸 ...

  2. 4、SONIX单片机TC0、TC1基本定时与计数功能

    TC0与TC1的功能和使用方法是一样的,所以这里只介绍TC0 与定时器TC0相关的寄存器共有5个;TC0M,TC0C,INTRQ,INTEN,TC0R 一.TC0M模式寄存器 Bit7 Bit6 Bi ...

  3. 5. avr定时器/计数器1 --TC1 --快速PWM输出 (比较输出--快速PWM模式)

    快速PWM 模式(WGM13:0 = 5.6. 7.14 或15) 可用来产生高频的PWM 波形.快速PWM模式与其他PWM模式的不同之处是其单边斜坡工作方式.计数器从BOTTOM计到TOP,然后立即 ...

  4. 单片机PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)

    目录 [pwm是如何控制电机转速] [89C51系列单片机产生pwm波] [STC12C5A60S2系列单片机输出PWM] [pwm是如何控制电机转速] 在本科学习中,学生所做的小车多数为使用lm29 ...

  5. 单片机PWM输出原理与实践

    一.什么是PWM?   PWM(Pulse Width Modulation)脉冲宽度调制,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码.  ...

  6. 普中51pwm_51单片机实现PWM输出功能的两种方法解析

    51单片机没有PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的.采用高速光隔6N137输出,并将PWM的信号倒相. 一. 工作原理 二.PWM输出 1. 固定脉宽PW ...

  7. 单片机 PWM输出 c

    #include<reg52.h> #include<intrins.h>  //包含_nop_(),汇编中的子函数 #define uchar unsigned char s ...

  8. linux 普通io实现pwm,用普通IO口做PWM输出 - 51单片机 - 电子工程世界-论坛 - 手机版...

    本人现在想用IO口做PWM输出,频率1KHz,然后用两按键(+.-)来调节占空比0-100%,对应数码管显示000-100. 现波形是OK了,也可以调占空比,但是出现一个问题数码管显示乱七八糟,调了两 ...

  9. 单片机C语言PWM程序原理,单片机C语言程序设计:用 ADC0808 控制 PWM 输出

    /* 名称:用 ADC0808 控制 PWM 输出 说明:使用数模转换芯片 ADC0808,通过调节可变电阻 RV1 来调节脉冲宽度, 运行程序时,通过虚拟示波器观察占空比的变化. */ #inclu ...

最新文章

  1. MR-CNN网络结构
  2. 你会怎样衡量你的产品? —— 一点产品数据分析的经验分享
  3. sql语句查询数据库返回结果转换显示自定义字段
  4. 鼠标拖动改变DIV等网页元素的大小的最佳实践
  5. 陆志勤:记交大数学系二三事
  6. centos 基础命令第一节
  7. 盈建科弹性板6计算_盈建科(300935):国内建筑结构设计软件行业的领先企业...
  8. MAC上使用gdb(Mac10.12未解决)
  9. phpStorm使用技巧总结
  10. 有关计算机的未来想象作文,电脑的想象作文
  11. android 控件字体反向,Android编程实现控件不同状态文字显示不同颜色的方法
  12. ofo 深圳 java_[Android进阶]OFO首页实现小窥
  13. UE4如何使用下载的资源
  14. AutoCAD二次开发基础(一):基础使用
  15. 最新电影《D战》幕后真实案件:暗夜黑客组织被端
  16. php 对接 hotmail邮箱,php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
  17. 【Dlib人脸识别】1. Dlib人脸检测的基本原理
  18. android声音播放函数双声道合并,Android音频编辑之音频合成功能
  19. 思维精进01:罗辑思维2019跨年演讲--小趋势
  20. /storage/sdcard0, /sdcard, /mnt/sdcard ,/storage/emulated/legacy 的区别

热门文章

  1. 2021年刷脸支付市场前景怎么样?
  2. icleaner pro官方源
  3. 盘点2023天猫淘宝618满减规则和活动时间表
  4. 电脑爱好者GHOSTWIN7纯净版v2.0
  5. 数据降维:PCA主成分分析降维示例及函数参数解释
  6. 水利RTU 水文监测系统的利器
  7. Unity3D游戏制作学习记录01——丛林战争
  8. Ubuntu14.04 for ROS indigo的安装(电脑配置)
  9. Hadoop的各个web界面的地址
  10. 解决系统提示msvcr71.dll文件丢失的错误