宏晶科技: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