您当前的位置:五五电子网电子知识单片机-工控设备51单片机超声波测离程序 正文
超声波测离程序

超声波测离程序

点击数:7884 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   51单片机
                    DJNZ   R2,$
                    SJMP   START1
;**********中断程序*
;T0中断,65毫秒中断一次
INTT0:    CLR     EA
                CLR     TR0
                MOV      TH0,#00H
                MOV      TL0,#00H
                SETB    ET1
                SETB    EA
                SETB    TR0       ;启动计数器T0,用以计算超声来回时间
                SETB    TR1       ;开启发超声波用定时器T1
OUT:            RETI
;T1中断,发超声波用
INTT1:          CPL     VOUT
                DJNZ    R4,RETIOUT
                CLR     TR1        ;超声波发送完毕,关T1
                CLR     ET1        ;
                MOV      R4,#04H
                SETB    EX1        ;开启接收回波中断
RETIOUT:        RETI
;外中断0,收到回波时进入
PINT1:          CLR     TR0        ;关计数器
                CLR     TR1
     CLR     ET1
                CLR     EA         ;
                CLR     EX1        ;
                MOV      44H,TL0    ;将计数值移入处理单元
                MOV      45H,TH0    ;
                SETB    00H        ;接收成功标志
                RETI
;**************显示程序*********             
; 40H为最高位,43H为最低位,先扫描高位
DISPLAY:  ; MOV CODE0,40H
          ;ACALL DSP1
          MOV MUL_,41H
    ACALL DSP2
          MOV MUL_,42H
    ACALL DSP3
          MOV MUL_,43H
    ACALL DSP4
    RET
;*********距离计算程序 (=计数值*17/1000CM)         
WORK:     PUSH  ACC
          PUSH  PSW
          PUSH  B
          MOV    PSW, #18H
          MOV    R3,  45H
          MOV    R2,  44H
          MOV    R1,  #00D
          MOV    R0,  #17D
          LCALL MUL2BY2
          MOV    R3,  #03H
          MOV    R2,  #0E8H
          LCALL DIV4BY2
          LCALL DIV4BY2
          MOV    40H, R4
          MOV    A,40H
          JNZ   JJ0
          MOV    40H,#0AH    ;最高位为零,不点亮
JJ0:      MOV    A,  R0
          MOV    R4, A
          MOV    A,  R1
          MOV    R5, A
          MOV    R3,  #00D
          MOV    R2,  #100D
          LCALL DIV4BY2
          MOV    41H, R4
          MOV    A,41H
          JNZ   JJ1
          MOV    A,40H    ;次高位为0,先看最高位是否为不亮
          SUBB  A,#0AH
          JNZ   JJ1
          MOV    41H,#0AH ;最高位不亮,次高位也不亮
JJ1:      MOV    A,  R0
          MOV    R4, A
          MOV    A,  R1
          MOV    R5, A
          MOV    R3,  #00D
          MOV    R2,  #10D
          LCALL DIV4BY2
          MOV    42H, R4
          MOV    A,42H

上一页  [1] [2] [3] [4] [5]  下一页


本文关键字:超声波  程序  51单片机单片机-工控设备 - 51单片机

上一篇:键控门铃程序