宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
91
;---------------------------------------------------------------------
; 使用 定时器 0 的溢出,作为 PCA 模块的时钟输入源,利用 PCA 模块的多种功能
;实现了可调频率的 PWM 输出( 还可以改变占空比) ,同时利用 PCA 模块再实现了定时器功能
;使用 STC12C2052AD 系列单片机 PCA 模块的模块 0 的 PWM 功能 做 PWM 输出的示例程序
;使用 STC12C2052AD 系列单片机 PCA 模块的模块 1 的 16 位软定时器功能做定时器的示例程序
;使用 STC12C5410AD 系列单片机 PCA 模块的模块 0 的 PWM 功能 做 PWM 输出的示例程序
;使用 STC12C5410AD 系列单片机 PCA 模块的模块 1 的 16 位软定时器功能做定时器的示例程序
;晶振频率 Fosc = 18.432MHz,在 P1.5 输出脉冲宽度为 1 秒钟的方波
;------------------------------------------------------------------------------
;声明 STC12C2052AD 和 STC12C5410AD 系列 MCU 特殊功能寄存器地址
IPH EQU 0B7H ;中断优先级高位寄存器
EPCA_LVD EQU IE.6 ;PCA 中断和 LVD(低压检测)中断共享的总中断控制位
CH EQU 0F9H ;PCA 计数器高 8 位。
CL EQU 0E9H ;PCA 计数器低 8 位。
;------------------------
CCON EQU 0D8H ;PCA 控制寄存器。
CCF0 EQU CCON.0 ;PCA 模块 0 中断标志, 由硬件置位, 必须由软件清 0。
CCF1 EQU CCON.1 ;PCA 模块 1 中断标志, 由硬件置位, 必须由软件清 0。
CCF2 EQU CCON.2 ;PCA 模块 2 中断标志, 由硬件置位, 必须由软件清 0。
CCF3 EQU CCON.3 ;PCA 模块 3 中断标志, 由硬件置位, 必须由软件清 0。
CCF4 EQU CCON.4 ;PCA 模块 4 中断标志, 由硬件置位, 必须由软件清 0。
CCF5 EQU CCON.5 ;PCA 模块 5 中断标志, 由硬件置位, 必须由软件清 0。
CR EQU CCON.6 ;1:允许 PCA 计数器计数, 必须由软件清 0。
CF EQU CCON.7 ;PCA 计数器溢出(CH,CL 由 FFFFH 变为 0000H)标志,
;PCA 计数器溢出后由硬件置位,必须由软件清 0。
;------------------------
CMOD EQU 0D9H ;PCA 工作模式寄存器。
;CMOD.7 CIDL: idle 状态时 PCA 计数器是否继续计数, 0: 继续计数, 1: 停止计数。
;CMOD.2 CPS1: PCA 计数器计数脉冲源选择位 1。
;CMOD.1 CPS0: PCA 计数器计数脉冲源选择位 0。
; CPS1 CPS0
; 0 0 外部晶体频率 /12。
; 0 1 外部晶体频率 /2。
; 1 0 Timer 0 溢出脉冲,
; Timer 0 还可通过 AUXR 寄存器设置成工作在 12T 或 1T 模式。
; 1 1 从 ECI/P3.4 脚输入的外部时钟。
;CMOD.0 ECF: PCA 计数器溢出中断允许位, 1-- 允许 CF(CCON.7) 产生中断。
利用定时器 0 的溢出作为 PCA 模块的时钟输入源
--- 利用 PCA 模块 0 实现了可调频率的 PWM 输出
--- 利用 PCA 模块 1 重新实现了 16 位定时器