background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
78
;ECOMn  CAPPn  CAPNn  MATn  TOGn  PWMn  ECCFn
;  0      0      0     0     0     0     0   00H 未启用任何功能。
;  x      1      0     0     0     0     x   21H 16 位 CEXn 上升沿触发捕捉功能。
;  x      0      1     0     0     0     x   11H 16 位 CEXn 下降沿触发捕捉功能。
;  x      1      1     0     0     0     x   31H 16 位 CEXn 边沿(上、下沿)触发捕捉功能。
;  1      0      0     1     0     0     x   49H 16 位软件定时器。
;  1      0      0     1     1     0     x   4DH 16 位高速脉冲输出。
;  1      0      0     0     0      1     0   42H 8 位 PWM。
;------------------------------------------------------------------------------
;定义单片机管脚
LED_MCU_START       EQU P1.7
LED_5mS_Flashing    EQU P1.6
LED_1S_Flashing     EQU P1.5
;------------------------------------------------------------------------------
;定义常量
;Channe0_5mS_H, Channe0_5mS_L  的计算方法见 PCA  中断服务程序内的注释
Channe0_5mS_H       EQU 1EH     ;模块 0 5mS 定时常数高位
Channe0_5mS_L       EQU 00H     ;模块 0 5mS 定时常数低位
;------------------------------------------------------------------------------
;定义变量
Counter             EQU 30H     ;声明一个计数器,用来计数中断的次数
;------------------------------------------------------------------------------
    ORG   0000H
    LJMP  MAIN
;------------------------------------------------------------------------------
    ORG   0033H                 ;interrupt 6(0,1,2,3,4,5,6)
    LJMP  PCA_interrupt
;------------------------------------------------------------------------------
    ORG   0050H
MAIN:
    CLR   LED_MCU_START         ;点亮 MCU 开始工作指示灯
    MOV   SP, #7FH
    MOV   Counter, #0           ;清 Counter 计数器
    ACALL PCA_Initiate          ;初始化 PCA
WAIT:
    SJMP  WAIT                  ;跳转到本行,无限循环。
;------------------------------------------------------------------------------
PCA_Initiate:
    MOV   CMOD, #10000000B ;PCA 在空闲模式下停止 PCA 计数器工作
                           ;PCA 时钟源为 fosc/12
                           ;禁止 PCA 计数器溢出(CH,CL 由 FFFFH 变为 0000H 时)中断
    MOV   CCON, #00H       ;CF = 0,清 0 PCA 计数器溢出中断请求标志位
                           ;CR = 0, 不允许 PCA 计数器计数
                           ;清 0 PCA 各模块中断请求标志位,如 CCF1,CCF0
    MOV   CL, #00H         ;清 0 PCA 计数器
    MOV   CH, #00H