STC15W4K32S4-PWM应用报告.doc
《STC15W4K32S4-PWM应用报告.doc》由会员分享,可在线阅读,更多相关《STC15W4K32S4-PWM应用报告.doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、STC15W4K32S4 系列新增系列新增 6 通道增强型带死区控制高精通道增强型带死区控制高精度度 PWM 波形发生器应用波形发生器应用STC15W4K32S4 系列的单片机集成了一组(各自独立 6 路)增强型的 PWM 波形发生器。PWM波形发生器内部有一个 15 位的 PWM 计数器供 6 路 PWM 使用,用户可以设置每路 PWM 的初始电平。另外,PWM 波形发生器为每路 PWM 又设计了两个用于控制波形翻转的计数器 T1/T2,可以非常灵活的每路 PWM 的高低电平宽度,从而达到对 PWM 的占空比以及 PWM 的输出延迟进行控制的目的。由于 6 路 PWM 是各自独立的,且每路
2、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 的输出端口都可使用特殊功能寄存器位
3、 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所有与所有与 PWMPWM 相关的端口,在上电后均为高阻输入态,必须在程序中将这些口设置为双向口或强相关的端口,在上电后均为高阻输入态,必须在程序中将这些口设置为双向口或强推挽模式才可正常输出波形推挽模式才可正常输出波形端口模式设置相关特殊功能寄存器位地址及符号位地址及符号 符号符号描述描述地址地址 B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0初始值初始值P1M1P1 模式配置 19
4、1H0000,0000P1M0P1 模式配置 092H0000,0000P0M1P0 模式配置 193H0000,0000P0M0P0 模式配置 094H0000,0000P2M1P2 模式配置 195H0000,0000P2M0P2 模式配置 096H0000,0000P3M1P3 模式配置 1B1H0000,0000P3M0P3 模式配置 0B2H0000,0000P4M1P4 模式配置 1B3H0000,0000P4M0P4 模式配置 0B4H0000,0000端口模式设置PxM1PxM0模式00准双向口01强推挽输出10高阻输入11开漏输出若需要正常使用与 PWM 相关的端口,则需要将
5、相应的端口设置为准双向口或强推挽输出口例如将端口均设置为准双向口的汇编代码如下:MOV P0M0,#00HMOV P0M1,#00HMOV P1M0,#00HMOV P1M1,#00HMOV P2M0,#00HMOV P2M1,#00HMOV P3M0,#00HMOV P3M1,#00HMOV P4M0,#00HMOV P4M1,#00H增强型 PWM 波形发生器相关的特殊功能寄存器位地址及符号位地址及符号 符号符号描述描述地址地址 B7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0初始值初始值P_SW2端口配置寄存器BAHEAXSFR000-S4_SS3_SS2_S0000,0
6、000PWMCFGPWM 配置F1H-CBTADCC7INIC6INIC5INIC4INIC3INIC2INI0000,0000PWMCRPWM 控制F5HENPWMECBIENC7OENC6OENC5OENC4OENC3OENC2O0000,0000PWMIFPWM 中断标志F6H-CBIFC7IFC6IFC5IFC4IFC3IFC2IFx000,0000PWMFDCRPWM 外部异常控制F7H-ENFDFLTFLIOEFDIFDCMPFDIOFDIFxx00,0000PWMCHPWM 计数器高位FFF0H-PWMCH14:8x000,0000PWMCLPWM 计数器低位FFF1HPWMCL
7、7:00000,0000PWMCKSPWM 时钟选择FFF2H-SELT2PS3:0xxx0,0000PWM2T1HPWM2T1 计数高位FF00H-PWM2T1H14:8x000,0000PWM2T1LPWM2T1 计数低位FF01HPWM2T1L7:00000,0000PWM2T2HPWM2T2 计数高位FF02H-PWM2T2H14:8x000,0000PWM2T2LPWM2T2 计数低位FF03HPWM2T2L7:00000,0000PWM2CRPWM2 控制FF04H-PWM2_PSEPWM2IEC2T2SIEC2T1SIxxxx,0000PWM3T1HPWM3T1 计数高位FF10
8、H-PWM3T1H14:8x000,0000PWM3T1LPWM3T1 计数低位FF11HPWM3T1L7:00000,0000PWM3T2HPWM3T2 计数高位FF12H-PWM3T2H14:8x000,0000PWM3T2LPWM3T2 计数低位FF13HPWM3T2L7:00000,0000PWM3CRPWM3 控制FF14H-PWM3_PSEPWM3IEC3T2SIEC3T1SIxxxx,0000PWM4T1HPWM4T1 计数高位FF20H-PWM4T1H14:8x000,0000PWM4T1LPWM4T1 计数低位FF21HPWM4T1L7:00000,0000PWM4T2HPW
9、M4T2 计数高位FF22H-PWM4T2H14:8x000,0000PWM4T2LPWM4T2 计数低位FF23HPWM4T2L7:00000,0000PWM4CRPWM4 控制FF24H-PWM4_PSEPWM4IEC4T2SIEC4T1SIxxxx,0000PWM5T1HPWM5T1 计数高位FF30H-PWM5T1H14:8x000,0000PWM5T1LPWM5T1 计数低位FF31HPWM5T1L7:00000,0000PWM5T2HPWM5T2 计数高位FF32H-PWM5T2H14:8x000,0000PWM5T2LPWM5T2 计数低位FF33HPWM5T2L7:00000,
10、0000PWM5CRPWM5 控制FF34H-PWM5_PSEPWM5IEC5T2SIEC5T1SIxxxx,0000PWM6T1HPWM6T1 计数高位FF40H-PWM6T1H14:8x000,0000PWM6T1LPWM6T1 计数低位FF41HPWM6T1L7:00000,0000PWM6T2HPWM6T2 计数高位FF42H-PWM6T2H14:8x000,0000PWM6T2LPWM6T2 计数低位FF43HPWM6T2L7:00000,0000PWM6CRPWM6 控制FF44H-PWM6_PSEPWM6IEC6T2SIEC6T1SIxxxx,0000PWM7T1HPWM7T1
11、计数高位FF50H-PWM7T1H14:8x000,0000PWM7T1LPWM7T1 计数低位FF51HPWM7T1L7:00000,0000PWM7T2HPWM7T2 计数高位FF52H-PWM7T2H14:8x000,0000PWM7T2LPWM7T2 计数低位FF53HPWM7T2L7:00000,0000PWM7CRPWM7 控制FF54H-PWM7_PSEPWM7IEC7T2SIEC7T1SIxxxx,0000端口配置寄存器端口配置寄存器 P_SW2 地址:BAH初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0EAXSFR000-S4_S
12、S3_SS2_SEAXSFREAXSFR:扩展 SFR 访问控制使能0:MOVX A,DPTR/MOVX DPTR,A 指令的操作对象为扩展 RAM(XRAM)1:MOVX A,DPTR/MOVX DPTR,A 指令的操作对象为扩展 SFR(XSFR)注意:若要访问 PWM 在扩展 RAM 区的特殊功能寄存器,必须先将 EAXSFR 位置为 1BIT6,BIT5,BIT4 为内部测试使用,用户必须填 0PWM 配置寄存器配置寄存器 PWMCFG 地址:F1H初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-CBTADCC7INIC6INIC5INIC
13、4INIC3INIC2INICBTADCCBTADC:PWM 计数器归零时(CBIF=1 时)触发 ADC 转换0:PWM 计数器归零时不触发 ADC 转换1:PWM 计数器归零时自动触发 ADC 转换。(注:前提条件是 PWM 和 ADC 必须被使能,即ENPWM=1,且 ADCON=1)CnINICnINI:设置 PWM 输出端口的初始电平0:PWM 输出端口的初始电平为低电平1:PWM 输出端口的初始电平为高电平PWM 控制寄存器控制寄存器 PWMCR 地址:F5H初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0ENPWMECBIENC7OEN
14、C6OENC5OENC4OENC3OENC2OENPWMENPWM:使能增强型 PWM 波形发生器0:关闭 PWM 波形发生器1:使能 PWM 波形发生器,PWM 计数器开始计数ECBIECBI:PWM 计数器归零中断使能位0:关闭 PWM 计数器归零中断(CBIF 依然会被硬件置位)1:使能 PWM 计数器归零中断ENCnOENCnO:PWM 输出使能位0:相应 PWM 通道的端口为 GPIO1:相应 PWM 通道的端口为 PWM 输出口,受 PWM 波形发生器控制PWM 中断标志寄存器中断标志寄存器 PWMIF 地址:F6H初始值:x000,0000BB7B7B6B6B5B5B4B4B3B
15、3B2B2B1B1B0B0-CBIFC7IFC6IFC5IFC4IFC3IFC2IFCBIFCBIF:PWM 计数器归零中断标志位当 PWM 计数器归零时,硬件自动将此位置 1。当 ECBI=1 时,程序会跳转到相应中断入口执行中断服务程序。需要软件清零。CnIFCnIF:第 n 通道的 PWM 中断标志位可设置在翻转点 1 和翻转点 2 触发 CnIF(详见ECnT1SI 和 ECnT2SI)。当 PWM 发生翻转时,硬件自动将此位置 1。当 EPWMnI=1 时,程序会跳转到相应中断入口执行中断服务程序。需要软件清零。PWM 外部异常控制寄存器外部异常控制寄存器 PWMFDCR 地址:F7
16、H初始值:xx00,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-ENFDFLTFLIOEFDIFDCMPFDIOFDIFENFDENFD:PWM 外部异常检测功能控制位0:关闭 PWM 的外部异常检测功能1:使能 PWM 的外部异常检测功能FLTFLIOFLTFLIO:发生 PWM 外部异常时对 PWM 输出口控制位0:发生 WM 外部异常时,PWM 的输出口不作任何改变1:发生 WM 外部异常时,PWM 的输出口立即被设置为高阻输入模式。(注:只有 ENCnO=1 所对应的端口才会被强制悬空)EFDIEFDI:PWM 异常检测中断使能位0:关闭 PWM 异常检
17、测中断(FDIF 依然会被硬件置位)1:使能 PWM 异常检测中断FDCMPFDCMP:设定 PWM 异常检测源为比较器的输出0:比较器与 PWM 无关1:当比较器的输出由低变高时,触发 PWM 异常FDIOFDIO:设定 PWM 异常检测源为端口 P2.4 的状态0:P2.4 的状态与 PWM 无关1:当 P2.4 的电平由低变高时,触发 PWM 异常FDIFFDIF:PWM 异常检测中断标志位当发生 PWM 异常(比较器的输出由低变高或者 P2.4 的电平由低变高)时,硬件自动将此位置1。当 EFDI=1 时,程序会跳转到相应中断入口执行中断服务程序。需要软件清零。PWM 计数器的高字节计
18、数器的高字节 PWMCH(高(高 7 位)位) 地址:FFF0H(XSFR)初始值:x000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-PWMCH14:8PWM 计数器的低字节计数器的低字节 PWMCL(低(低 8 位)位) 地址:FFF1H(XSFR)初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0PWMCL7:0PWM 计数器位一个 15 位的寄存器,可设定 132767 之间的任意值作为 PWM 的周期。PWM 波形发生器内部的计数器从 0 开始计数,每个 PWM 时钟周期递增 1,当内部计数器的计数值达到PW
19、MCH,PWMCL所设定的 PWM 周期时,PWM 波形发生器内部的计数器将会从 0 重新开始开始计数,硬件会自动将 PWM 归零中断中断标志位 CBIF 置 1,若 ECBI=1,程序将跳转到相应中断入口执行中断服务程序。PWM 时钟选择寄存器时钟选择寄存器 PWMCKS 地址:FFF2H(XSFR)初始值:xxx0,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-SELT2PS3:0SELT2SELT2:PWM 时钟源选择0:PWM 时钟源为系统时钟经分频器分频之后的时钟1:PWM 时钟源为定时器 2 的溢出脉冲PS3:0PS3:0:系统时钟预分频参数。当 SE
20、LT2=0 时,PWM 时钟为系统时钟/( PS3:0+1)PWM2 的第一次翻转计数器的高字节的第一次翻转计数器的高字节 PWM2T1H 地址:FF00H(XSFR)初始值:x000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-PWM2T1H14:8 PWM2 的第一次翻转计数器的低字节的第一次翻转计数器的低字节 PWM2T1L 地址:FF01H(XSFR)初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0PWM2T1L7:0 PWM2 的第二次翻转计时器的高字节的第二次翻转计时器的高字节 PWM2T2H 地址:FF0
21、2H(XSFR)初始值:x000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-PWM2T2H14:8 PWM2 的第二次翻转计时器的低字节的第二次翻转计时器的低字节 PWM2T2L 地址:FF03H(XSFR)初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0PWM2T2L7:0PWM 波形发生器设计了两个用于控制 PWM 波形翻转的 15 位计数器,可设定 132767 之间的任意值。PWM 波形发生器内部的计数器的计数值与 T1/T2 所设定的值相匹配时,PWM 的输出波形将发生翻转。PWM2 的控制寄存器的控制寄存
22、器 PWM2CR 地址:FF04H(XSFR)初始值:xxxx,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-PWM2_PSEPWM2IEC2T2SIEC2T1SIPWM2_PSPWM2_PS:PWM2 输出管脚选择位0:PWM2 的输出管脚为 PWM2:P3.71:PWM2 的输出管脚为 PWM2_2:P2.7EPWM2IEPWM2I:PWM2 中断使能控制位0:关闭 PWM2 中断1:使能 PWM2 中断,当 C2IF 被硬件置 1 时,程序将跳转到相应中断入口执行中断服务程序。EC2T2SIEC2T2SI:PWM2 的 T2 匹配发生波形翻转时的中断控制位0
23、:关闭 T2 翻转时中断1:使能 T2 翻转时中断,当 PWM 波形发生器内部计数值与 T2 计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将 C2IF 置 1,此时若 EPWM2I=1,则程序将跳转到相应中断入口执行中断服务程序。EC2T1SIEC2T1SI:PWM2 的 T1 匹配发生波形翻转时的中断控制位0:关闭 T1 翻转时中断1:使能 T1 翻转时中断,当 PWM 波形发生器内部计数值与 T1 计数器所设定的值相匹配时,PWM的波形发生翻转,同时硬件将 C2IF 置 1,此时若 EPWM2I=1,则程序将跳转到相应中断入口执行中断服务程序。PWM3 的第一次翻转计数器的高字
24、节的第一次翻转计数器的高字节 PWM3T1H 地址:FF10H(XSFR)初始值:x000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0-PWM3T1H14:8 PWM3 的第一次翻转计数器的低字节的第一次翻转计数器的低字节 PWM3T1L 地址:FF11H(XSFR)初始值:0000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B1B1B0B0PWM3T1L7:0 PWM3 的第二次翻转计时器的高字节的第二次翻转计时器的高字节 PWM3T2H 地址:FF12H(XSFR)初始值:x000,0000BB7B7B6B6B5B5B4B4B3B3B2B2B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STC15W4K32S4 PWM 应用 报告
限制150内