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

📄 timer4.asm

📁 Small RTOS51是为51系列单片机而编写的。它是完全免费的、源代码公开的多任务实时操作系统。它可在无任何外部数据存储器的单片80C51系统上运行
💻 ASM
字号:
;**************************************************
;    平凡单片机工作室
;  http://www.mcustudio.com
;   (c) Copyright 2003 Pingfan's McuStudio
;    All rights Reserved
;timer4.asm
;作者:周坚   
;功能描述:两个灯同时闪烁,一个是0.25S闪一次,一个是0.5S闪一次,介绍项目中需要多个定时器的解决方法
;本例可用DSB-1A型单片机实验板验证
;本例可用ledkey.dll实验仿真板验证,但LED的闪烁速度与你的计算机性能有关
;如果闪烁速度过快,可适当调整第一、二行后的数值,按比例扩大,如调到50、100,
;**************************************************
    TM1     EQU     5
    TM2     EQU     10
    ORG     0000H
    AJMP    START
    ORG     000BH       ;定时器0的中断向量地址
    AJMP    TIME0       ;跳转到真正的定时器程序处
    ORG     30H
START:  
    MOV     P1,#0FFH    ;关所有的灯
    MOV     R6,#00H     ;软件计数器预清0
    MOV     R7,#00H
    MOV     TMOD,#00000001B ;定时/计数器0工作于方式1
    MOV     TH0,#3CH 
    MOV     TL0,#0B0H   ;即数15536
    SETB    EA          ;开总中断允许
    SETB    ET0         ;开定时/计数器0允许
    SETB    TR0         ;定时/计数器0开始运行
LOOP:   
    AJMP    LOOP        ;真正工作时,这里可写任意程序
TIME0:                  ;定时器0的中断处理程序
    INC     R6
    INC     R7          ;两个计数器都加1
    MOV     A,R6
    CJNE    A,#TM1,T_NEXT   ;30H单元中的值到了5了吗?
T_L1:
    CPL     P1.0        ;到了,取反P10
    MOV     R6,#0       ;清软件计数器
T_NEXT: 
    MOV     A,R7
    CJNE    A,#TM2,T_RET;31h单元中的值到10了吗?
T_L2:   
    CPL     P1.1
    MOV     R7,#0       ;到了,取反P11,清计数器,返回
T_RET:  
    MOV     TH0,#3CH
    MOV     TL0,#0B0H   ;重置定时常数
    RETI
    END

⌨️ 快捷键说明

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