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

📄 temp.asm

📁 基于STC5410单片机的温度控制报警程序
💻 ASM
字号:
BEEP EQU P3.7
LED  EQU P1.3
STATE EQU P3.6
KEY  EQU P1.2
VIN  EQU P1.0
COUNTER EQU 40H
ALARM_BIT BIT 50H        ;1:报警   0:关闭
     ORG 0000H
     LJMP MAIN
     ORG 000BH
     LJMP INTERRUPT_1S
     ORG 0030H
MAIN:
;---------------------初始化
     MOV SP,#50H
     MOV P1,#00H
     MOV COUNTER,#0       ;计数器清零
     CLR BEEP              ;关报警
     SETB LED              ;关指示灯
     MOV TMOD,#01H         ;定时器0,方式1 ,定时50ms
     MOV TH0,#15H           
     MOV TL0,#9FH
     SETB EA
     SETB TR0
     SETB ET0
     SETB P1.0        ; P1.0,P1.1数字悬空
     SETB P1.1
LOOP:JNB ALARM_BIT,NEXT1
     LCALL ALARM
     CLR LED
     AJMP NEXT2
NEXT1:CLR BEEP
     SETB LED
NEXT2:NOP 
     LJMP LOOP
;----------------------
INTERRUPT_1S:
     PUSH PSW
     PUSH ACC
     MOV TH0,#15H
     MOV TL0,#9FH 
     INC COUNTER
     MOV A,COUNTER
     CJNE A,#20,EXIT  
     SETB P1.0                                 
     SETB P1.1
     MOV A,P3
     ANL A,#40H        ;读取比较结果
     CJNE A,#40H,TEMP_LOW
     SETB ALARM_BIT     
     ;LCALL ALARM       ;温度超限,开始报警
     ;CLR LED           ;开报警灯 
     LJMP EXIT_ALARM
TEMP_LOW:
      ;SETB LED             ;温度正常
      CLR ALARM_BIT
      ;CLR BEEP             ;关报警灯
EXIT_ALARM: MOV COUNTER,#0
EXIT: NOP
      POP ACC
      POP PSW
      RETI
;----------------------
ALARM:
      SETB BEEP
      LCALL DELAY
      CLR BEEP
      LCALL DELAY
      RET
DELAY:
       MOV R6,#100
DELAY2:MOV R7,#0FFH
DELAY1:DJNZ R7,DELAY1
       DJNZ R6,DELAY2
       RET

   END

⌨️ 快捷键说明

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