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

📄 wl027.asm

📁 键控看门狗演示程序.看门狗演示程序 在16383个机器周期内必须至少喂狗一次。当晶振为11.0592M时在17毫秒内需喂狗一次。 激活看门狗后,喂狗,P0.7、P0.6引脚上的LED闪烁发光激活看门狗
💻 ASM
字号:
;********************************************************************************
;*  标题:  ME300系列单片机开发系统演示程序 - 键控看门狗演示程序                 *
;*  硬件: ME300B                                                               *
;*  文件:  wl027.asm                                                            *
;*  日期:  2005-3-20                                                            *
;*  版本:  1.0                                                                  *
;*  作者:  gguoqing                                                             *
;*  邮箱:  gguoqing@willar.com                                                  *
;*  网站: http://www.willar.com                                                *
;********************************************************************************
;*  描述:                                                                       *
;*          看门狗演示程序                                                      *
;*          在16383个机器周期内必须至少喂狗一次。                               *
;*          当晶振为11.0592M时在17毫秒内需喂狗一次。                            *
;*          激活看门狗后,喂狗,P0.7、P0.6引脚上的LED闪烁发光                     *
;*          激活看门狗后,如果不喂狗,则复位                                      *
;*          P0.1、P0.0引脚上的LED闪烁发光                                       *
;********************************************************************************
;*  跳线设置:                                                                  *
;*     ME300A+    JP1 全部短接,JP2短接3-4端,                                  *
;*     ME300B     JP1 短接,JP2短接3-4端,                                      *
;********************************************************************************
;* 【版权】 Copyright(C)伟纳电子 www.willar.com  All Rights Reserved            *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
;********************************************************************************



;-------------------------------------------------------
           K1  EQU  P1.4        ;启动中断喂狗
           K2  EQU  P1.5        ;停止中断不喂狗


           ORG     0000
           AJMP    MAIN
           ORG     000BH
           AJMP    TIME0
           ORG     0030H
;-------------------------------------------------------
MAIN:      SETB    P0.1        ;p0.1、p0.0闪烁发光
           SETB    P0.0
           LCALL   DELAY
           CLR     P0.1
           CLR     P0.0
           LCALL   DELAY
           SETB    P0.1
           SETB    P0.0
           LCALL   DELAY


           MOV   TMOD,#01H    ;定时/计数器0工作于方式1
           MOV   TH0,#0C5H
           MOV   TL0,#68H
           SETB  EA           ;开总中断
           SETB  ET0          ;开定时/计数器0
           JB  K1,LOOP1
           SETB  TR0          ;启动定时
LOOP1:
           MOV  0A6H,#01EH
           MOV  0A6H,#0E1H     ;在程序初始化中激活看门狗。

LOOP2:     JB  K2,LOOP3
           CLR  TR0            ;关闭中断,不喂狗

LOOP3:     SETB    P0.7        ;P0.7、P0.6闪烁发光
           SETB    P0.6
           LCALL   DELAY
           LCALL   DELAY
           CLR     P0.7
           CLR     P0.6
           LCALL   DELAY
           LJMP    LOOP2
;-----------------------------------------------------
;定时器0的中断处理程序
;-----------------------------------------------------
TIME0:
           PUSH   ACC
           PUSH   PSW         ;将PSW和ACC入栈保护
           MOV   0A6H,#01EH   ;喂狗指令
           MOV   0A6H,#0E1H
           MOV   TH0,#0C5H
           MOV   TL0,#68H    ;重置定时常数
           POP   PSW
           POP   ACC
           RETI
;-----------------------------------------------------
;延时子程序
;-----------------------------------------------------
DELAY:     MOV     R7,#250
DEL1:      MOV     R6,#250
DEL2:      DJNZ    R6,DEL2
           DJNZ    R7,DEL1
           RET
;-----------------------------------------------------
           END

⌨️ 快捷键说明

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