基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用

这篇具有很好参考价值的文章主要介绍了基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STC12C5A60S2系列1T 8051单片机管脚图

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的结构

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的各种不同工作模式介绍

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的特殊功能寄存器列表

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)模块用到的特殊功能寄存器

STC12C5A60S2系列1T 8051单片机辅助寄存器AUXR

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

PCA辅助寄存器AUXR1

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:用来设置STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的单片机引脚

PCA工作模式寄存器CMOD

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:用来设置STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块以下功能
(1)、空闲情况下是否停止CCP/PCA/PWM模块计数
(2)、CCP/PCA/PWM模块计数脉冲时钟源选择 (3)、CCP/PCA/PWM模块计数溢出中断使能

PCA工作模式寄存器CCON

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:用来设置STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块以下功能
(1)、CCP/PCA/PWM模块计数溢出标志位
(2)、CCP/PCA/PWM模块运行
(3)、CCP/PCA/PWM模块0中断标志位
(4)、CCP/PCA/PWM模块1中断标志位

PCA比较/捕获寄存器CCAPM0和CCAPM1

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:用来设置STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块以下功能
(1)、CCP/PCA/PWM模块0允许比较器功能控制
(2)、CCP/PCA/PWM模块0上升沿捕获控制
(3)、CCP/PCA/PWM模块0下降沿捕获控制
(4)、CCP/PCA/PWM模块0匹配工作模式寄存器CCON中断标志位控制
(5)、CCP/PCA/PWM模块0匹配CCPn寄存器引脚电平翻转控制
(6)、CCP/PCA/PWM模块0脉冲宽度调制模式
(7)、CCP/PCA/PWM模块0使能工作模式寄存器CCON中断标志位控制
(8)、CCP/PCA/PWM模块1允许比较器功能控制
(9)、CCP/PCA/PWM模块1上升沿捕获控制
(10)、CCP/PCA/PWM模块1下降沿捕获控制
(11)、CCP/PCA/PWM模块1匹配工作模式寄存器CCON中断标志位控制
(12)、CCP/PCA/PWM模块1匹配CCPn寄存器引脚电平翻转控制
(13)、CCP/PCA/PWM模块1脉冲宽度调制模式
(14)、CCP/PCA/PWM模块1使能工作模式寄存器CCON中断标志位控制

PCA的16位定时器/计数器 —— 高八位CH和低八位CL

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:作为CCP/PCA/PWM模块0或CCP/PCA/PWM模块1的计数器进行脉冲计数

PCA捕获/比较寄存器高八位CCAPnH和低八位CCAPnL

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:作为捕获或比较时 用于CCP/PCA/PWM模块0或CCP/PCA/PWM模块1的计数器进行脉冲计数 作为脉冲宽度调制时 用于CCP/PCA/PWM模块0或CCP/PCA/PWM模块1的高八位CCAPnH脉冲计数重载给低八位CCAPnL进行脉冲计数控制脉冲宽度调制

PCA的PWM寄存器PCA_PWM0和PCA_PWM1

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言
作用:组成CCP/PCA/PWM模块0或CCP/PCA/PWM模块1的PWM寄存器内部累计计数的9位数据

利用晶振频率为12MHz的STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块0从P1.3引脚输出频率为200Hz且占空比为40%的矩形波 可根据以下CCP/PCA/PWM模块的脉冲宽度调制模式来编写程序

基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言文章来源地址https://www.toymoban.com/news/detail-717453.html

#include <STC12C5A60S2.h>
void PortModeSet();//端口模式设置函数
void PcaInit();//CCP/PCA/PWM模块初始化函数
void Timer0Init();//定时0初始化函数
 void main()//主函数
{
   
  PortModeSet();//端口模式设置函数
  PcaInit();//CCP/PCA/PWM模块初始化函数
  Timer0Init();//定时0初始化函数
  while(1);
 }
 void PortModeSet()//端口模式设置函数
{
     
  P0M1 = 0x00;
  P0M0 = 0x00;
  P1M1 = 0x00;
  P1M0 = 0x00;
  P2M1 = 0x00;
  P2M0 = 0x00;
  P3M1 = 0x00;
  P3M0 = 0x00;
  P4M1 = 0x00;
  P4M0 = 0x00;
 }
 void PcaInit()//CCP/PCA/PWM模块初始化函数
{
   
  CMOD = 0x04 ;//CCP/PCA/PWM模块空闲模式下CCP/PCA/PWM模块计数器继续工作 选定时器T0溢出脉冲作为CCP/PCA/PWM模块时钟源 禁止CCP/PCA/PWM模块溢出中断使能
  CCON = 0x00;//CCP/PCA/PWM模块计数溢出标志位清0 运行位清0 中断标志位清0
  CCAPM0 = 0x42;//CCP/PCA/PWM模块0允许比较器功能控制 不允许边沿捕获控制 不匹配工作模式寄存器CCON中断标志位控制 不匹配CCPn寄存器引脚电平翻转控制 输出脉冲宽度调制模式 不使能工作模式寄存器CCON中断标志位控制
  CH = 0x00;//CCP/PCA/PWM模块16位计数器高八位计数寄存器脉冲计数清0
  CL = 0x00;//CCP/PCA/PWM模块16位计数器低八位计数寄存器脉冲计数清0
  CCAP0H = 0x00;//CCP/PCA/PWM模块高八位捕获/比较寄存器清0
  CCAP0L = 0x00;//CCP/PCA/PWM模块低八位捕获/比较寄存器清0
  CR = 1;//启动CCP/PCA/PWM模块16计数器
 }
 /*****关于通过特殊功能寄存器AUXR设定定时器/计数器模式为1T或12T模式不需分频或需12分频8051系列单片机定时器初值(定时计数初值)计算的知识点*****/
  /****
  时钟周期(又称振荡周期):单片机晶振频率的倒数 例:单片机晶振频率12MHz 则时钟周期=[1/(12*10^6)Hz]s=0.000000083s=0.000083ms=0.083us
  机器周期:单片机执行一条指令过程中需要完成一个基本操作(如:取指、译码、执行等基本操作)所需的时间 8051系列单片机的一个机器周期由6个S周期(状态周期)组成 一个时钟周期定义为一个节拍(用P表示) 二个节拍定义为一个状态周期(用S表示) 那么8051单片机的机器周期由6个状态周期组成 也就是说一个机器周期=6个状态周期=12个时钟周期=[12x[1/(12*10^6)Hz]s]s=0.000001s=0.001ms=1us
  指令周期:单片机取出一条指令且执行完这条指令所需的时间
  以上三者间的关系:指令周期>机器周期>时钟周期
  一、通过特殊功能寄存器AUXR设定定时器/计数器模式为12T模式需12分频8051系列单片机定时器初值(定时计数初值)计算步骤如下(以单片机晶振频率为12MHz 定时器0工作模式为16位定时模式1 需要定时1ms来计算):
  0、计算nT单片机机器周期T公式:T=n*(1/晶振频率)=几us
  1、一个机器周期=12个时钟周期=12乘以单片机晶振频率的倒数=12*[1/(12*10^6)Hz]s=0.000001s=0.001ms=1us
  2、定时时间=定时计数*一个机器周期 1ms=定时计数*1us 定时计数=1ms/1us=1000us/1us=1000次
  3、定时器初值(定时计数初值)=2^n-定时计数 n为几位定时器 此处n=16 则定时器初值(定时计数初值)=2^16-1000=65536-1000=64536 把64536转化成十六进制 拆开成高八位和低八位 高八位放TH0=0xfc或(65536-64536)/256 低八位放TL0=0x18或(65536-64536)%256
  二、以下是通过特殊功能寄存器AUXR设定定时器/计数器模式为1T或12T模式不需分频或需12分频8051系列单片机定时器初值(定时计数初值)计算步骤如下(以单片机晶振频率为12MHz 定时器0工作模式为16位定时模式1 需要定时1ms来计算):
  1、综合公式:定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率) n为几位定时器 该公式常用于脉冲宽度调制中运算 例如:利用8051系列单片机晶振频率为12MHz的定时器0的16位定时模式1来产生1KHz方波脉冲 由此可知:定时时间=1/定时频率=1/1000Hz=0.001s=1ms=1000us 进而可得:定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率)=2^16-(12MHz/12/1KHz)=2^16-(12*10^6)Hz/12/1000Hz)=65536-1000=64536 把64536转化成十六进制 拆开成高八位和低八位 高八位放TH0=0xfc或(65536-64536)/256或Value >> 8 低八位放TL0=0x18或(65536-64536)%256或=Value 
  2、TH0 = Value >> 8;TL0 = Value;该两句代码解释如下:
 (1)、TH0 = Value >> 8相当于TH0 = (65536-10000)/256=55536/256=216.9375 分析:65536-10000=55536转化成二进制为11011000 11110000 55536/256=216.9375转化成二进制为11011000 由此可看出Value为(65536-10000)=55536的二进制数11011000 11110000右移8位就可以得到55536/256=216.9375的二进制数11011000
 (2)、TL0 = Value相当于TL0 = (65536-时器初值的另外一种计算公式(以单片机晶振频率为12MHz 定时器0工作模式为16位定时模式1 需要定时1ms来计算):
(一)、以下是8051单片机定时器用12分频计算定时器初值:
    定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率) n为几位定时器 该公式常用于脉冲宽度调制中运算 例如:利用8051系列单片机晶振频率为12MHz的定时器0的16位定时模式1来产生1KHz方波脉冲(相当于定时1ms) 由此可知:定时时间=1/定时频率=1/1000Hz=0.001s=1ms=1000us 进而可得:定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率)=2^16-(12MHz/12/1KHz)=2^16-(12*10^6)Hz/12/1000Hz)=65536-1000=64536 把64536转化成十六进制 拆开成高八位和低八位 高八位放TH0=0xfc或(65536-64536)/256或Value >> 8 低八位放TL0=0x18或(65536-64536)%256或=Value  
(二)、以下是8051单片机定时器不用分频计算定时器初值:
    定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率) n为几位定时器 该公式常用于脉冲宽度调制中运算 例如:利用8051系列单片机晶振频率为12MHz的定时器0的16位定时模式1来产生1KHz方波脉冲(相当于定时1ms) 由此可知:定时时间=1/定时频率=1/1000Hz=0.001s=1ms=1000us 进而可得:定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率)=2^16-(12MHz/1/1KHz)=2^16-(12*10^6)Hz/1/1000Hz)=65536-12000=53536 把53536转化成十六进制 拆开成高八位和低八位 高八位放TH0=0xd1或(65536-53536)/256或Value >> 8 低八位放TL0=0x20或(65536-53536)%256或=Value
(三)、TH0 = Value >> 8;TL0 = Value;该两句代码解释如下:
    1、TH0 = Value >> 8相当于TH0 = (65536-10000)/256=55536/256=216.9375 分析:65536-10000=55536转化成二进制为11011000 11110000 55536/256=216.9375转化成二进制为11011000 由此可看出Value为(65536-10000)=55536的二进制数11011000 11110000右移8位就可以得到55536/256=216.9375的二进制数11011000
    2、TL0 = Value相当于TL0 = (65536-10000)%256=55536%256=240 分析:65536-10000=55536转化成二进制为11011000 11110000 55536%256=240转化成二进制为11110000 由此可看出Value为(65536-10000)=55536的二进制数11011000 11110000取低8位就可以得到55536%256=240的二进制数11110000
(四)、由定时器定时初值(定时计数初值)推导出定时器定时时间步骤如下:
    1、如果定时器定时初值(定时计数初值)是拆开成高八位和低八位赋值形式 如:TH0=0xfc TL0=0x18 先把高八位和低八位赋值组成一个十六位数据0xfc18 转化成十进制数据64536 用2^n-64536算出每秒产生的脉冲数 其中n为几位定时器 再根据公式计算定时时间 如:由公式:每秒产生的脉冲数=晶振频率/几分频/定时频率  转换成:每秒产生的脉冲数=晶振频率x定时频率/几分频 可求:定时频率=(每秒产生的脉冲数x几分频)/晶振频率 进而求出:定时时间=1/定时频率=1/[(每秒产生的脉冲数x几分频)/晶振频率]  转换成:晶振频率/(每秒产生的脉冲数x几分频)=定时时间
    2、如果定时器定时初值(定时计数初值)是十进制数据 如:64536 直接用2^n-64536算出每秒产生的脉冲数 其中n为几位定时器 再根据公式计算定时时间 如:由公式:每秒产生的脉冲数=晶振频率/几分频/定时频率  转换成:每秒产生的脉冲数=晶振频率x定时频率/几分频 可求:定时频率=(每秒产生的脉冲数x几分频)/晶振频率 进而求出:定时时间=1/定时频率=1/[(每秒产生的脉冲数x几分频)/晶振频率]  转换成:晶振频率/(每秒产生的脉冲数x几分频)=定时时间
  ****/
 void Timer0Init()//定时器0的8位自动重装模式2不用分频初始化函数 晶振为12MHz
{
   
  AUXR |= 0x80;//将定时器/计数器设置为1T模式 不用分频 
  TMOD &= 0xf0;//设定定时器/计数器工作模式清0
  TMOD = 0x02;//选定时器/计数器为定时器0 工作模式为模式2的8位自动重装计数 即溢出时将TH0存放的脉冲计数自动装入TL0
  TH0 = 0x16;//由于选定时器/计数器为1T模式不用分频定时器0 工作模式为模式2的8位自动重装计数 因此先根据PWM频率=CCP/PCA/PWM模块时钟源频率/256求出CCP/PCA/PWM模块时钟源频率 即200Hz=CCP/PCA/PWM模块时钟源频率/256 求CCP/PCA/PWM模块时钟源频率=51200Hz 再根据定时器初值(定时计数初值)=2^n-(晶振频率/几分频/定时频率)求出定时器初值(定时计数初值) 即定时器初值(定时计数初值)=2^8-(12MHz/1/51200Hz)=256-(12000000Hz/51200Hz)=256-234=22=0x16
  TL0 = 0x16;//同上
  EA = 1;//打开定时器中断总开关
  TR0 = 1;//启动定时器0
 } 

利用晶振频率为12MHz的STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块0从P1.3引脚输出频率为200Hz且占空比可调的矩形波 可根据以下CCP/PCA/PWM模块的脉冲宽度调制模式来编写程序基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用,STC系列单片机底层代码支持应用层代码实现开发功能的程序框架,单片机,c语言

#include <STC12C5A60S2.h>
#define uchar unsigned char//自定义无符号字符型为uchar
#define uint unsigned int//自定义无符号整数型为uint
#define KeyPressDeshakeTime 10//自定义按键按下消抖时间为10ms
#define KeyLongPressDelayTime 500//自定义按键长按延时时间为500ms
#define KeyLongPressIntervalChangeTime 25//自定义按键长按间隔变化时间为25ms
uchar AddKeyLockFlag;//声明增加按键锁定标志位变量
uchar DecKeyLockFlag;//声明减少按键锁定标志位变量
uchar KeyNumber = 0;//定义按键键值为0
uchar AddKeyLongPressAddIntervalTime;//声明增加按键长按连增间隔时间变量
uchar DecKeyLongPressDecIntervalTime;//声明减少按键长按连减间隔时间变量
uchar PwmValue;//声明脉宽调制值变量
uint AddKeyPressDelayTime;//声明增加按键按下延时时间变量
uint DecKeyPressDelayTime;//声明减少按键按下延时时间变量
sbit AddKey = P2^0;//位定义增加按键为单片机P2.0引脚
sbit DecKey = P2^1;//位定义减少按键为单片机P2.1引脚
void PortModeSet();//端口模式设置函数
void KeyScan();//按键扫描函数
void PcaInit();//CCP/PCA/PWM模块初始化函数
void Timer0Init();//定时器0初始化函数
void Timer1Init();//定时器1初始化函数
void PwmDutyCycleSet();//脉冲宽度占空比设置函数
 void main()//主函数
{
   
  PortModeSet();//端口模式设置函数
  PcaInit();//CCP/PCA/PWM模块初始化函数
  Timer0Init();//定时器0初始化函数
  Timer1Init();//定时器1初始化函数
  while(1)
 {
   
   PwmDutyCycleSet(

到了这里,关于基于STC12C5A60S2系列1T 8051单片机可编程计数阵列CCP/PCA/PWM模块的PWM(脉冲宽度调制)应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于STC89C5x系列USB转TTL模块CH340驱动安装失败,预安装成功的解决办法

      这里会讲到单片机USB转TTL模块的CH340驱动安装失败和驱动预安装成功的问题解决。 首先,先说,安装失败不仅仅是告诉你“驱动安装失败”才算,如果提示“驱动预安装成功”也算失败。这里作者用的是普中A7的开发板,和A其他系列都大同小异。直接开讲! 1.安装失败原因

    2024年02月05日
    浏览(36)
  • 【微信小程序】报错{“errcode“:41002,“errmsg“:“appid missing, rid: 64e55770-67c1fb7e-027c5a70“}:

    一、报错详情: (1)后端: (2)前端: 二、报错原因: (1)前后端使用的appid不一致(微信开发者工具/HBuilderX) (2)重复请求,传入的code不一致 三、获取微信appid和secret: 【微信公众号平台】https://mp.weixin.qq.com/ 【微信官方文档】https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc

    2024年02月08日
    浏览(26)
  • 【SQL开发实战技巧】系列(四十九):Oracle12C常用新特性☞表分区部分索引(Partial Indexes)

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2024年02月05日
    浏览(33)
  • bat脚本 创建计划任务 一分钟设置ntp同步周期为60s

    要在Windows中使用批处理脚本(.bat)创建一个计划任务来每分钟同步一次NTP时间,你可以使用 schtasks 命令来创建计划任务。下面是一个示例脚本,展示了如何创建这样一个计划任务: 将上述代码保存为 .bat 文件,比如 create_ntp_sync_task.bat 。请注意以下几点: %#126;dp0  是一个变

    2024年02月22日
    浏览(31)
  • Webpack5构建性能优化:构建耗时从150s到60s再到10s

    作者:京东科技 牛志伟 近期对Webpack5构建性能进行了优化,构建耗时从150s到60s再到10s,下面详细讲解下优化过程。 1.历史项目基于Vue3 + Webpack5技术栈,其中webpack配置项由开发者自己维护(没有使用@vue/cli-service),并且做了环境分离。 2.项目体量大约5000个modules左右,每次本

    2024年02月03日
    浏览(38)
  • OpenAI 全新发布文生视频模型 Sora,支持 60s 超长长度,有哪些突破?将带来哪些影响?

    OpenAI 的官方解释了在视频数据基础上进行大规模训练生成模型的方法。 我们下面会摘取其中的关键部分罗列让大家快速get重点。 喜欢钻研的伙伴可以到官网查看技术报告: https://openai.com/research/video-generation-models-as-world-simulators 技术特点 三维空间的连贯性:Sora可以生成带有

    2024年02月20日
    浏览(52)
  • Sora-OpenAI 的 Text-to-Video 模型:制作逼真的 60s 视频片段

    OpenAI 推出的人工智能功能曾经只存在于科幻小说中。 2022年,Openai 发布了 ChatGPT,展示了先进的语言模型如何实现自然对话。 随后,DALL-E 问世,它利用文字提示生成令人惊叹的合成图像。 现在,他们又推出了 Text-to-Video 模型 Sora,将技术向前推进了一步。这种全新的扩散模

    2024年03月24日
    浏览(37)
  • OpenAI-Sora:60s超长长度、超强语义理解、世界模型。浅析文生视频模型Sora以及技术原理简介

    Sora官方链接:https://openai.com/sora   视频模型领头羊Runway Gen 2、Pika等AI视频工具,都还在突破几秒内的连贯性,而OpenAI,已经达到了史诗级的纪录。 OpenAI,永远快别人一步!!!! 像ChatGPT成功抢了Claude的头条一样,这一次,谷歌核弹级大杀器Gemini 1.5才推出没几个小时,全世

    2024年03月15日
    浏览(47)
  • Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开

    1. 问题背景:因为后端用了nginx代理,所以websocket连接的过程中报错: Handshake failed due to invalid Upgrade header: null 2. 解决办法:在nginx中添加以下代码: 启用支持websocket连接 说明: proxy_http_version: 1.1; (告诉nginx使用HTTP/1.1通信协议,这是websocket必须要使用的协议) proxy_set_header U

    2024年02月13日
    浏览(40)
  • 手工升级到Oracle 12C

    10.2.0.5,11.1.0.7,11.2.0.2以上版本可以直接升级到12c。 10.2.0.5以前的版本和11.2.0.1版需要先升级到中间版本,再升级到12c。 操作系统:Red Hat 8 Linux 64位 源数据库版本:Oracle 11.2.0.3 目标数据库版本:Oracle 12.1.0.2 备份源数据库(RMan) 执行Pre-Upgrade Information Tool(preupgrd.sql) 准备新

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包