定时计数器的应用(一).asm

来自「基于Proteus的51系列单片机设计与仿真」· 汇编 代码 · 共 26 行

ASM
26
字号
        ORG 0000H
        LJMP MAIN
        ORG 0100H        
  MAIN: MOV SP,#60H    ;初始化堆栈
        ;给定时器0赋初值
        MOV TMOD,#001H  ;使用16位模式[方式1 M1=0 M0=1]
        MOV TH0,#04CH   ;初始化定时器0的溢出间隔时间为50ms 
        MOV TL0,#000H   ;TH为位 TL为低位
        SETB TR0        ;启用定时器0
        SETB P0.0
        CLR  P0.1
        MOV  R7,#00H    ;用R7计数        
  LOOP: JNB TF0,LOOP    ;当计数溢出进时硬件置位TF0为1向下执行否则调用LOOP
        MOV TH0,#04CH   ;初始化定时器0的溢出间隔时间 
        MOV TL0,#000H   ;TH为位 TL为低位
        INC R7
        CLR TF0
        CJNE R7,#14H,LOOP     
        ACALL  LOOP1     ;20次循环闪一次
        AJMP LOOP        
 LOOP1: MOV  R7,#00H
        CPL P0.0        ;让接P0.0上的发光二极管按50ms闪烁
        CPL P0.1
        RET        
        END

⌨️ 快捷键说明

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