基于86Proteus仿真温度报警

这里使用开关代替温度数值,没有用到温度传感器,太麻烦了;

DATA SEGMENT
SMG DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
PORTA EQU 30H
PORTB EQU 32H
PORTC EQU 34H
PORTK EQU 36H
DATA ENDS


CODE SEGMENT
    ASSUME CS:CODE,DS:DATA;,SS:STACK
START:
MAIN PROC FAR
    MOV AL,10010000B
    OUT PORTK,AL
XH:    MOV AX,DATA
    MOV DS,AX

    IN AL,PORTA
    CMP AL,40
    JG BAOJ
    CMP AL,10
    JL BAOJ
    
    MOV BL,10
    DIV BL
    MOV DL,AH
    XOR DH,DH
    MOV DI,DX
    AND AL,AL
    JZ NEX1
    MOV AH,0
    DIV BL
    MOV DL,AH
    MOV SI,DX
    JMP DISPLAY
NEX1:XOR SI,SI
    
DISPLAY:
    
    MOV AL,10H
    OUT PORTC,AL
    MOV AL,SMG[SI]
    OUT PORTB,AL      ;输出十位
    CALL DELAY

    MOV AL,20H
    OUT PORTC,AL
    MOV AL,SMG[DI]
    OUT PORTB,AL      ;输出个位
    CALL DELAY
    
    MOV AL,80H
    OUT PORTC,AL
    MOV AL,0C6H
    OUT PORTB,AL      ;输出C
    CALL DELAY
    JMP XH

BAOJ:
    MOV AL,86H
    OUT PORTB,AL
    MOV AL,83H
    OUT PORTC,AL
    JMP XH
    
    
    
    
    MOV AH,4CH
    INT 21H
    RET
MAIN ENDP

DELAY PROC
    PUSH CX    
    MOV CX,1000H 
WAIT1: LOOP WAIT1       
     POP CX
       RET             
DELAY ENDP            

CODE ENDS
    END START

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值