⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t.asm

📁 sst公司51单片机编写的流水灯程序
💻 ASM
字号:
;-----------------------------------------------------
;定义寄存器地址
CMOD EQU 0D9H
CCON EQU 0D8H
CH EQU 0F9H
CL EQU 0E9H
CCAPM0 EQU 0DAH
CCAP0H EQU 0FAH
CCAP0L EQU 0EAH
CR EQU CCON.6
CCF0 EQU CCON.0
;------------------------------------------------------
ORG    0000H
AJMP   MAIN
ORG    0033H   ;PCA中断入口
AJMP   INTV
ORG    0050H
MAIN: MOV CMOD,#00H;设置PCA脉冲时钟为Fosc/12
      MOV R0,#0EFH
      MOV P1,R0
      MOV R1,#00H
;--------------------------------------
;PCA计数器清零
      MOV CH,#00H
      MOV CL,#00H
;--------------------------------------
;设置PCA比较/捕获模块寄存器值
      MOV CCAP0L,#3
      MOV CCAP0H,#0B4H
;--------------------------------------
;设置PCA模式为比较:软件定时器
MOV CCAPM0,#49H
      MOV IE,#0C0H  ;使能中断
      SETB CR  ;PCA计数器开始计数
WAIT: AJMP WAIT  ;等待中断
;--------------------------------------
;中断服务程序
INTV: MOV A,IE  ;停止中断
      ANL A,#0BFH
      MOV IE,A
      CLR CCF0  ;清中断标志
      MOV CH,#00H  ;清计数器
      MOV CL,#00H
      INC R1
      CJNE R1,#14H,NEXT ;中断20次则执行下面程序,否则到NEXT开中断
      MOV R1,#00H
      MOV A,R0
      RL  A
      MOV R0,A
      CJNE R0,#0FEH,START ;判断第四个灯没亮过则点亮,否则转到第一个灯
      MOV R0,#0EFH
START:MOV P1,R0
NEXT: MOV A,IE   ;开中断
      ORL A,#40H
      MOV IE,A
      RETI

      END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -