新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 簡單的單片機超聲波測距板

        簡單的單片機超聲波測距板

        作者: 時間:2016-11-30 來源:網絡 收藏



        ; 基于AT89C2051單片機超聲波測距系統
        ; 測量范圍35-300厘米
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;; 中斷入口程序 ;;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ORG 0000H
        AJMP START
        ORG 000BH
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;; 主 程 序 ;;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        START : MOV R0,#70H ;立即數70H送寄存器R0中
        MOV R7,#0BH ;立即數0BH送寄存器R7中
        MOV 20H,#00H ;立即數00H送20H單元中
        CLEARDISP: MOV @R0,#00H ;立即數立即數00H送R0中的地址單元中
        INC R0 ;寄存器R0加1
        DJNZ R7,CLEARDISP;寄存器中的數值減1非零時轉移
        MOV TMOD,#01H ;置定時器T0工作方式樣3,對內部機器周期計數
        CJZCX:MOV TL0,#00H ;裝入定時器初值
        MOV TH0,#00H
        MOV R0,#0FH
        MOV R1,#5bH
        puzel:MOV 14H,#08H ;超聲波發射持續200us
        Here:CPL P3.5 ;輸出40kHz方波
        NOP ;
        NOP ;
        NOP ;
        DJNZ 14H,Here ;
        SETB TR0
        SETB P3.2
        MOV R6,#53H ;延時1.5ms
        DL0: MOV R5,#03H
        DJNZ R5,$
        DJNZ R6,DL0
        QBA:JNB P3.7,QBC
        DJNZ R1,QBA
        DJNZ R0,QBA
        QBC:CLR P3.2
        CLR TR0
        MOV 70H,tl0
        MOV 71H,tH0
        MOV R2,71H
        MOV R3,70H
        MOV R6,#22H
        MOV R7,#0H
        LCALL MULD
        MOV R6,#64H
        MOV R7,#0H
        LCALL DIVD
        MOV 73H,R2
        MOV 74H,R3
        MOV R3,#0H
        MOV R4,#0H
        MOV R5,#0H
        MOV R6,73H
        MOV R7,74H
        LCALL HB2
        MOV A,R4 ;分離BCD
        MOV B,#10H
        DIV AB
        MOV 78H,A
        MOV 77H,B
        MOV A,R5
        MOV B,#10H
        DIV AB
        MOV 76H,A
        MOV 75H,B
        MOV 7AH,#0EFH
        XXX:LCALL DISPLAY
        DJNZ 7AH,XXX
        AJMP CJZCX
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;; 乘34程序(乘聲速) ;;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        MULD: MOV A,R3 ;計算R3乘R7
        MOV B,R7
        MUL AB
        MOV R4,B ;暫存部分積
        MOV R5,A
        MOV A,R3 ;計算R3乘R6
        MOV B,R6
        MUL AB
        ADD A,R4 ;累加部分積
        MOV R4,A
        CLR A
        ADDC A,B
        MOV R3,A
        MOV A,R2 ;計算R2乘R7
        MOV B,R7
        MUL AB
        ADD A,R4 ;累加部分積
        MOV R4,A
        MOV A,R3
        ADDC A,B
        MOV R3,A
        CLR A
        RLC A
        XCH A,R2 ;計算R2乘R6
        MOV B,R6
        MUL AB
        ADD A,R3 ;累加部分積
        MOV R3,A
        MOV A,R2
        ADDC A,B
        MOV R2,A
        RET


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 石门县| 诸城市| 远安县| 关岭| 贵港市| 原阳县| 南开区| 措美县| 成都市| 华亭县| 滨海县| 临邑县| 商水县| 梅河口市| 祁门县| 永安市| 五常市| 静安区| 南投市| 陕西省| 启东市| 手游| 云浮市| 合肥市| 阳高县| 留坝县| 靖西县| 浦城县| 双柏县| 呼和浩特市| 赣榆县| 叙永县| 大同县| 郸城县| 肥西县| 台前县| 乐昌市| 普兰县| 凉山| 邢台市| 孝义市|