STC15W4K32S4PWM811.docx
- 文档编号:8859551
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:30
- 大小:262.26KB
STC15W4K32S4PWM811.docx
《STC15W4K32S4PWM811.docx》由会员分享,可在线阅读,更多相关《STC15W4K32S4PWM811.docx(30页珍藏版)》请在冰豆网上搜索。
STC15W4K32S4PWM811
STC15W4K32S4-PWM-2014-8-11
STC15W4K32S4系列新增6通道增强型带死区控制高精度PWM波形发生器应用
STC15W4K32S4系列的单片机集成了一组(各自独立6路)增强型的PWM波形发生器。
PWM波形发生器内部有一个15位的PWM计数器供6路PWM使用,用户可以设置每路PWM的初始电平。
另外,PWM波形发生器为每路PWM又设计了两个用于控制波形翻转的计数器T1/T2,可以非常灵活的每路PWM的高低电平宽度,从而达到对PWM的占空比以及PWM的输出延迟进行控制的目的。
由于6路PWM是各自独立的,且每路PWM的初始状态可以进行设定,所以用户可以将其中的任意两路配合起来使用,即可实现互补对称输出以及死区控制等特殊应用。
增强型的PWM波形发生器还设计了对外部异常事件(包括外部端口P2.4的电平异常、比较器比较结果异常)进行监控的功能,可用于紧急关闭PWM输出。
PWM波形发生器还可在15位的PWM计数器归零时出发外部事件(ADC转换)。
STC15W4K32S4系列增强型PWM输出端口定义如下:
[PWM2:
P3.7,PWM3:
P2.1,PWM4:
P2.2,PWM5:
P2.3,PWM6:
P1.6,PWM7:
P1.7]
每路PWM的输出端口都可使用特殊功能寄存器位CnPINSEL分别独立的切换到第二组
[PWM2_2:
P2.7,PWM3_2:
P4.5,PWM4_2:
P4.4,PWM5_2:
P4.2,PWM6_2:
P0.7,PWM7_2:
P0.6]
所有与PWM相关的端口,在上电后均为高阻输入态,必须在程序中将这些口设置为双向口或强推挽模式才可正常输出波形
端口模式设置相关特殊功能寄存器
符号
描述
地址
位地址及符号
初始值
B7
B6
B5
B4
B3
B2
B1
B0
P1M1
P1模式配置1
91H
0000,0000
P1M0
P1模式配置0
92H
0000,0000
P0M1
P0模式配置1
93H
0000,0000
P0M0
P0模式配置0
94H
0000,0000
P2M1
P2模式配置1
95H
0000,0000
P2M0
P2模式配置0
96H
0000,0000
P3M1
P3模式配置1
B1H
0000,0000
P3M0
P3模式配置0
B2H
0000,0000
P4M1
P4模式配置1
B3H
0000,0000
P4M0
P4模式配置0
B4H
0000,0000
端口模式设置
PxM1
PxM0
模式
0
0
准双向口
0
1
强推挽输出
1
0
高阻输入
1
1
开漏输出
若需要正常使用与PWM相关的端口,则需要将相应的端口设置为准双向口或强推挽输出口
例如将端口均设置为准双向口的汇编代码如下:
MOVP0M0,#00H
MOVP0M1,#00H
MOVP1M0,#00H
MOVP1M1,#00H
MOVP2M0,#00H
MOVP2M1,#00H
MOVP3M0,#00H
MOVP3M1,#00H
MOVP4M0,#00H
MOVP4M1,#00H
增强型PWM波形发生器相关的特殊功能寄存器
符号
描述
地址
位地址及符号
初始值
B7
B6
B5
B4
B3
B2
B1
B0
P_SW2
端口配置寄存器
BAH
EAXSFR
0
0
0
-
S4_S
S3_S
S2_S
0000,0000
PWMCFG
PWM配置
F1H
-
CBTADC
C7INI
C6INI
C5INI
C4INI
C3INI
C2INI
0000,0000
PWMCR
PWM控制
F5H
ENPWM
ECBI
ENC7O
ENC6O
ENC5O
ENC4O
ENC3O
ENC2O
0000,0000
PWMIF
PWM中断标志
F6H
-
CBIF
C7IF
C6IF
C5IF
C4IF
C3IF
C2IF
x000,0000
PWMFDCR
PWM外部异常控制
F7H
-
-
ENFD
FLTFLIO
EFDI
FDCMP
FDIO
FDIF
xx00,0000
PWMCH
PWM计数器高位
FFF0H
-
PWMCH[14:
8]
x000,0000
PWMCL
PWM计数器低位
FFF1H
PWMCL[7:
0]
0000,0000
PWMCKS
PWM时钟选择
FFF2H
-
-
-
SELT2
PS[3:
0]
xxx0,0000
PWM2T1H
PWM2T1计数高位
FF00H
-
PWM2T1H[14:
8]
x000,0000
PWM2T1L
PWM2T1计数低位
FF01H
PWM2T1L[7:
0]
0000,0000
PWM2T2H
PWM2T2计数高位
FF02H
-
PWM2T2H[14:
8]
x000,0000
PWM2T2L
PWM2T2计数低位
FF03H
PWM2T2L[7:
0]
0000,0000
PWM2CR
PWM2控制
FF04H
-
-
-
-
PWM2_PS
EPWM2I
EC2T2SI
EC2T1SI
xxxx,0000
PWM3T1H
PWM3T1计数高位
FF10H
-
PWM3T1H[14:
8]
x000,0000
PWM3T1L
PWM3T1计数低位
FF11H
PWM3T1L[7:
0]
0000,0000
PWM3T2H
PWM3T2计数高位
FF12H
-
PWM3T2H[14:
8]
x000,0000
PWM3T2L
PWM3T2计数低位
FF13H
PWM3T2L[7:
0]
0000,0000
PWM3CR
PWM3控制
FF14H
-
-
-
-
PWM3_PS
EPWM3I
EC3T2SI
EC3T1SI
xxxx,0000
PWM4T1H
PWM4T1计数高位
FF20H
-
PWM4T1H[14:
8]
x000,0000
PWM4T1L
PWM4T1计数低位
FF21H
PWM4T1L[7:
0]
0000,0000
PWM4T2H
PWM4T2计数高位
FF22H
-
PWM4T2H[14:
8]
x000,0000
PWM4T2L
PWM4T2计数低位
FF23H
PWM4T2L[7:
0]
0000,0000
PWM4CR
PWM4控制
FF24H
-
-
-
-
PWM4_PS
EPWM4I
EC4T2SI
EC4T1SI
xxxx,0000
PWM5T1H
PWM5T1计数高位
FF30H
-
PWM5T1H[14:
8]
x000,0000
PWM5T1L
PWM5T1计数低位
FF31H
PWM5T1L[7:
0]
0000,0000
PWM5T2H
PWM5T2计数高位
FF32H
-
PWM5T2H[14:
8]
x000,0000
PWM5T2L
PWM5T2计数低位
FF33H
PWM5T2L[7:
0]
0000,0000
PWM5CR
PWM5控制
FF34H
-
-
-
-
PWM5_PS
EPWM5I
EC5T2SI
EC5T1SI
xxxx,0000
地址:
FFF1H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWMCL[7:
0]
PWM计数器位一个15位的寄存器,可设定1~32767之间的任意值作为PWM的周期。
PWM波形发生器内部的计数器从0开始计数,每个PWM时钟周期递增1,当内部计数器的计数值达到[PWMCH,PWMCL]所设定的PWM周期时,PWM波形发生器内部的计数器将会从0重新开始开始计数,硬件会自动将PWM归零中断中断标志位CBIF置1,若ECBI==1,程序将跳转到相应中断入口执行中断服务程序。
PWM时钟选择寄存器PWMCKS
地址:
FFF2H(XSFR)初始值:
xxx0,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
SELT2
PS[3:
0]
SELT2:
PWM时钟源选择
0:
PWM时钟源为系统时钟经分频器分频之后的时钟
1:
PWM时钟源为定时器2的溢出脉冲
PS[3:
0]:
系统时钟预分频参数。
当SELT2==0时,PWM时钟为系统时钟/(PS[3:
0]+1)
PWM2的第一次翻转计数器的高字节PWM2T1H
地址:
FF00H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM2T1H[14:
8]
PWM2的第一次翻转计数器的低字节PWM2T1L
地址:
FF01H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM2T1L[7:
0]
PWM2的第二次翻转计时器的高字节PWM2T2H
地址:
FF02H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM2T2H[14:
8]
PWM2的第二次翻转计时器的低字节PWM2T2L
地址:
FF03H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM2T2L[7:
0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。
PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
PWM2的控制寄存器PWM2CR
地址:
FF04H(XSFR)初始值:
xxxx,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
-
PWM2_PS
EPWM2I
EC2T2SI
EC2T1SI
PWM2_PS:
PWM2输出管脚选择位
0:
PWM2的输出管脚为PWM2:
P3.7
1:
PWM2的输出管脚为PWM2_2:
P2.7
EPWM2I:
PWM2中断使能控制位
0:
关闭PWM2中断
1:
使能PWM2中断,当C2IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC2T2SI:
PWM2的T2匹配发生波形翻转时的中断控制位
0:
关闭T2翻转时中断
1:
使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C2IF置1,此时若EPWM2I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC2T1SI:
PWM2的T1匹配发生波形翻转时的中断控制位
0:
关闭T1翻转时中断
1:
使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C2IF置1,此时若EPWM2I==1,则程序将跳转到相应中断入口执行中断服务程序。
PWM3的第一次翻转计数器的高字节PWM3T1H
地址:
FF10H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM3T1H[14:
8]
PWM3的第一次翻转计数器的低字节PWM3T1L
地址:
FF11H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM3T1L[7:
0]
PWM3的第二次翻转计时器的高字节PWM3T2H
地址:
FF12H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM3T2H[14:
8]
PWM3的第二次翻转计时器的低字节PWM3T2L
地址:
FF13H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM3T2L[7:
0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。
PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
PWM3的控制寄存器PWM3CR
地址:
FF14H(XSFR)初始值:
xxxx,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
-
PWM3_PS
EPWM3I
EC3T2SI
EC3T1SI
PWM3_PS:
PWM3输出管脚选择位
0:
PWM3的输出管脚为PWM3:
P2.1
1:
PWM3的输出管脚为PWM3_2:
P4.5
EPWM3I:
PWM3中断使能控制位
0:
关闭PWM3中断
1:
使能PWM3中断,当C3IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC3T2SI:
PWM3的T2匹配发生波形翻转时的中断控制位
0:
关闭T2翻转时中断
1:
使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C3IF置1,此时若EPWM3I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC3T1SI:
PWM3的T1匹配发生波形翻转时的中断控制位
0:
关闭T1翻转时中断
1:
使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C3IF置1,此时若EPWM3I==1,则程序将跳转到相应中断入口执行中断服务程序。
PWM4的第一次翻转计数器的高字节PWM4T1H
地址:
FF20H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM4T1H[14:
8]
PWM4的第一次翻转计数器的低字节PWM4T1L
地址:
FF21H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM4T1L[7:
0]
PWM4的第二次翻转计时器的高字节PWM4T2H
地址:
FF22H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM4T2H[14:
8]
PWM4的第二次翻转计时器的低字节PWM4T2L
地址:
FF23H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM4T2L[7:
0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。
PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
PWM4的控制寄存器PWM4CR
地址:
FF24H(XSFR)初始值:
xxxx,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
-
PWM4_PS
EPWM4I
EC4T2SI
EC4T1SI
PWM4_PS:
PWM4输出管脚选择位
0:
PWM4的输出管脚为PWM4:
P2.2
1:
PWM4的输出管脚为PWM4_2:
P4.4
EPWM4I:
PWM4中断使能控制位
0:
关闭PWM4中断
1:
使能PWM4中断,当C4IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC4T2SI:
PWM4的T2匹配发生波形翻转时的中断控制位
0:
关闭T2翻转时中断
1:
使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C4IF置1,此时若EPWM4I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC4T1SI:
PWM4的T1匹配发生波形翻转时的中断控制位
0:
关闭T1翻转时中断
1:
使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C4IF置1,此时若EPWM4I==1,则程序将跳转到相应中断入口执行中断服务程序。
PWM5的第一次翻转计数器的高字节PWM5T1H
地址:
FF30H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM5T1H[14:
8]
PWM5的第一次翻转计数器的低字节PWM5T1L
地址:
FF31H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM5T1L[7:
0]
PWM5的第二次翻转计时器的高字节PWM5T2H
地址:
FF32H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM5T2H[14:
8]
PWM5的第二次翻转计时器的低字节PWM5T2L
地址:
FF33H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM5T2L[7:
0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。
PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
PWM5的控制寄存器PWM5CR
地址:
FF34H(XSFR)初始值:
xxxx,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
-
PWM5_PS
EPWM5I
EC5T2SI
EC5T1SI
PWM5_PS:
PWM5输出管脚选择位
0:
PWM5的输出管脚为PWM5:
P2.3
1:
PWM5的输出管脚为PWM5_2:
P4.2
EPWM5I:
PWM5中断使能控制位
0:
关闭PWM5中断
1:
使能PWM5中断,当C5IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC5T2SI:
PWM5的T2匹配发生波形翻转时的中断控制位
0:
关闭T2翻转时中断
1:
使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C5IF置1,此时若EPWM5I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC5T1SI:
PWM5的T1匹配发生波形翻转时的中断控制位
0:
关闭T1翻转时中断
1:
使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C5IF置1,此时若EPWM5I==1,则程序将跳转到相应中断入口执行中断服务程序。
PWM6的第一次翻转计数器的高字节PWM6T1H
地址:
FF40H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM6T1H[14:
8]
PWM6的第一次翻转计数器的低字节PWM6T1L
地址:
FF41H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM6T1L[7:
0]
PWM6的第二次翻转计时器的高字节PWM6T2H
地址:
FF42H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM6T2H[14:
8]
PWM6的第二次翻转计时器的低字节PWM6T2L
地址:
FF43H(XSFR)初始值:
0000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
PWM6T2L[7:
0]
PWM波形发生器设计了两个用于控制PWM波形翻转的15位计数器,可设定1~32767之间的任意值。
PWM波形发生器内部的计数器的计数值与T1/T2所设定的值相匹配时,PWM的输出波形将发生翻转。
PWM6的控制寄存器PWM6CR
地址:
FF44H(XSFR)初始值:
xxxx,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
-
-
-
PWM6_PS
EPWM6I
EC6T2SI
EC6T1SI
PWM6_PS:
PWM6输出管脚选择位
0:
PWM6的输出管脚为PWM6:
P1.6
1:
PWM6的输出管脚为PWM6_2:
P0.7
EPWM6I:
PWM6中断使能控制位
0:
关闭PWM6中断
1:
使能PWM6中断,当C6IF被硬件置1时,程序将跳转到相应中断入口执行中断服务程序。
EC6T2SI:
PWM6的T2匹配发生波形翻转时的中断控制位
0:
关闭T2翻转时中断
1:
使能T2翻转时中断,当PWM波形发生器内部计数值与T2计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C6IF置1,此时若EPWM6I==1,则程序将跳转到相应中断入口执行中断服务程序。
EC6T1SI:
PWM6的T1匹配发生波形翻转时的中断控制位
0:
关闭T1翻转时中断
1:
使能T1翻转时中断,当PWM波形发生器内部计数值与T1计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将C6IF置1,此时若EPWM6I==1,则程序将跳转到相应中断入口执行中断服务程序。
PWM7的第一次翻转计数器的高字节PWM7T1H
地址:
FF50H(XSFR)初始值:
x000,0000B
B7
B6
B5
B4
B3
B2
B1
B0
-
PWM7T1H[14:
8]
PWM7的第一次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STC15W4K32S4PWM811
![提示](https://static.bdocx.com/images/bang_tan.gif)