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

📄 sst58.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
;===================================================================
; 这是调试SST89C58看门狗汇编语言程序,文件名为SST58.ASM
; 功能:调试SST89C58看门狗灵不灵。程序开始先执行看门狗初始化程序,
;       然后连叫三声,表示程序开始。若在一定时间内有喂狗信号则程序
;       正确运行;若在一定时间内未发出喂信号单片机将复位-一会儿就叫
;       三声。 这也可用示波器看,将示波器探头点到CPU的P1.0脚,若程序
;       正确运行, 示波器上只在开始时出几个脉冲;若程序不断复位则会出
;       现连续脉冲。
;=====================================================================
;新增特殊功能寄存器定义

WDTD DATA 86H
WDTC DATA 0C0H
WDRE BIT 0C3H
WDTS BIT 0C2H
WDT  BIT 0C1H
SWDT BIT 0C0H

Time_Const EQU 125
SOUD  BIT P1.0


      ORG 0000H                     ;复位入口
      LJMP Initial
      ORG 0060H
Initial:
      JB WDTS, WDT_Overflow_Routine; 看门狗溢出,出错处理
      MOV WDTD, #Time_Const        ; 装入初始值
      MOV WDTC, #00001111B         ; 起动和刷新看门狗定时器
      SETB SOUD
      LCALL DEL2
      CLR SOUD
      LCALL DEL2
      SETB SOUD
      LCALL DEL2
      CLR SOUD
      LCALL DEL2
      SETB SOUD
      LCALL DEL2
      SETB WDRE              ; 使能看门狗定时器复位
      SETB SWDT              ; 起动看门狗定时器
Main_Loop:
      ;LCALL Display_Loop
      SETB WDT               ; 喂狗
      LJMP Main_Loop
WDT_Overflow_Routine:        ; 看门狗溢出,出错处理程序
      CLR SWDT               ; 停止看门狗定时器
      MOV WDTD, #Time_Const  ; 装入初始值
      MOV WDTC, #00001111B   ; 起动和刷新看门狗定时器
      LJMP Main_Loop
DEL2: MOV R2,#1              ; 延时程序
      SJMP DEL1
Delay:MOV   R2, #20
DEL1: MOV   R1, #0
      MOV   R0, #0
DLP:
      DJNZ  R0, DLP
      DJNZ  R1, DLP
      DJNZ  R2, DLP
      RET
      END

⌨️ 快捷键说明

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