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

超声波测离程序

点击数:7884 次   录入时间:03-04 11:50:53   整理:http://www.55dianzi.com   51单片机

;*      采用 AT89C52  12MHz晶振             *
;测距范围5CM-2M,堆栈在4FH以上,20H用于标志
;显示缓冲单元在40H-43H,使用内存44H、45H、46H用于计算距离
CS1     BIT     P2.3
CS2     BIT     P2.4
D_I     BIT     P3.6   ;4
R_W     BIT     P2.5   ;5
E       BIT     P2.6   ;6
DB0_DB7 EQU     P0
X       EQU     22H ;页地址
Y       EQU     23H ;列地址 
COM     EQU     24H
DAT     EQU     24H
COUNT   EQU     25H       ;代码倒计数单元        
CODE0   EQU     26H     ;表格起始地址,赋0值后与DPTR合成查表指针地址
MUL_    EQU     26H  ;显示数字时,暂存单元(要显示的数是几就在里面存几) 
VOUT    EQU     P3.5    ; 红外脉冲输出端口
                  ORG     0000H
                  AJMP    START
                  ORG     0013H
                  LJMP    PINT1
                  ORG     000BH
                  LJMP    INTT0
               ORG     001BH
        LJMP    INTT1
               ORG     0030H
            START: MOV   SP,#4FH
                   ACALL INT
                   SETB  CS1
                SETB  CS2
                   ACALL CLEAR
       ACALL SY
       MOV      R0,#40H     ;40H-43H为显示数据存放单元(40H为最高位)
                   MOV      R7,#0BH
       CLEARDISP:  MOV      @R0,#00H
                   INC     R0
                   DJNZ    R7,CLEARDISP
                   MOV      20H,#00H
                   MOV      TMOD,#21H     ;T1为8位自动重装模式,T0为16位定时器
                   MOV      TH0,#00H      ;65毫秒初值
                   MOV      TL0,#00H
                   MOV      TH1,#0F2H     ;40KHZ初值
                   MOV      TL1,#0F2H
                   MOV      P0,#0FFH
                   MOV      P1,#0FFH
                   MOV      P2,#0FFH
                   MOV      P3,#0FFH
                   MOV      R4,#04H       ;超声波肪冲个数控制(为赋值的一半)
       SETB    PX1
                   SETB    ET0
                   SETB    EA
                   SETB    TR0           ;开启测距定时器
            START1: LCALL  DISPLAY
                    JNB    00H,$         ;收到反射信号时标志位为1
                    CLR    EA
                    LCALL  WORK          ;计算距离子程序
                    SETB   EA
                    CLR    00H
                    SETB   TR0          ;重新开启测距定时器
                    MOV     R2,#0FFH      ;测量间隔控制(约4*100=400MS)
                    LCALL  DISPLAY

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


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

上一篇:键控门铃程序