background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
87
;******************************************************************************
;                输出 125.0KHz 的脉冲(晶体频率 = 33.000MHz)
;示例程序: 使用 功能,  在 P3.5(第 9 脚)输出
;         125.0KHz 的方脉冲。
;------------------------------------------------------------------------------
;    程序中定义的常量 CCAPnL_Value 决定了 PCA  模块 n  输出脉冲的频率  f:
;        f =  Fosc / (4 * CCAPnL_Value )
;           式中 Fosc = 晶体频率
;        CCAPnL_Value  =  Fosc / (4 * f)
;    如算出的结果不是整数,则进行取整 CCAPnL_Value =  INT(Fosc / (4 * f) + 0.5)
;        INT() 为取整数运算,  直接去掉小数。
;******************************************************************************
;定义 STC12C5410 系列 MCU 特殊功能寄存器
IPH      EQU   0B7H              ;中断优先级高位寄存器
EPCA_LVD EQU   IE.6             ;PCA/LVD 中断允许位。
                                ;要打开 PCA 中断还要打开相应的 ECF,ECCF0,ECCF1  位
                 ;要打开 LVD 中断还要打开相应的 ELVDI 位
CH       EQU   0xF9             ;PCA 计数器高 8 位。
CL       EQU   0xE9             ;PCA 计数器低 8 位。
;------------------------
CCON     EQU   0D8H             ;PCA 控制寄存器。
CCF0     EQU   CCON.0           ;PCA 模块 0 中断标志, 由硬件置位, 必须由软件清 0。
CCF1     EQU   CCON.1           ;PCA 模块 1 中断标志, 由硬件置位, 必须由软件清 0。
CR       EQU   CCON.6           ;1:允许 PCA 计数器计数, 必须由软件清 0。
CF       EQU   CCON.7           ;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    内部时钟, fosc/12。
;            0      1    内部时钟, fosc/2。
;            1      0    Timer0 溢出。
;            1      1    由 ECI/P3.4 脚输入的外部时钟。
;CMOD.0     ECF: PCA 计数器溢出中断允许位, 1-- 允许 CF(CCON.7)  产生中断。
;------------------------
    STC12C5410AD 系列单片机 PCA 的高速脉冲输出