在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超聲波測(cè)距電路+匯編程序

      超聲波測(cè)距電路+匯編程序

      作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏

      ;
      ;********************************************
      ;* 主 程 序 *
      ;********************************************
      ;
      START: MOV SP,#4FH
      MOV SCON,#50H ;串口方式1工作,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn),允許接收
      MOV T2MOD,#00H ;DCEN = 0,向上計(jì)數(shù)
      MOV RCAP2H,#0FEH ;定時(shí)器T2置重裝數(shù),波特率:1200. (12MHz)
      MOV RCAP2L,#0C8H
      MOV TH2,#0FEH ;定時(shí)器T2置初值
      MOV TL2,#0C8H
      MOV T2CON,#34H ;T2工作方式:波特率發(fā)生器,同時(shí)啟動(dòng)Time2定時(shí)器
      CLR TI
      CLR 30H

      MOV TMOD,#11H ;T1、T0為16位定時(shí)器
      MOV TH0,#00H ;65毫秒初值
      MOV TL0,#00H
      MOV TH1,#00H
      MOV TL1,#00H
      MOV P0,#0FFH
      MOV P1,#0FFH
      MOV P2,#0FFH
      MOV P3,#0FFH
      MOV R4,#04H ;超聲波脈沖個(gè)數(shù)控制(為賦值的一半,即2個(gè)超聲波)
      SETB PX0
      CLR IE0 ;外部中斷0中斷請(qǐng)求標(biāo)志位。當(dāng)主機(jī)響應(yīng)中斷轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由內(nèi)部硬件自動(dòng)將IE0位清0
      SETB IT0 ;當(dāng)IT0 = 1時(shí),則外部中斷0(INT0 )端口由“1 ”→“0 ”下降沿跳變,激活中斷請(qǐng)求標(biāo)志位IE0,向主機(jī)請(qǐng)求中斷處理
      SETB ET1 ;允許T1中斷
      SETB EA
      SETB TR1 ;開啟測(cè)距定時(shí)器
      ;main主循環(huán)開始
      start1:
      JNB 30H,$ ;收到反射信號(hào)時(shí)標(biāo)志位為1

      CLR EA ;不讓T1中斷
      MOV R2,#64H ;測(cè)量間隔控制(約5*100=500MS). 64H = 100
      LOOP: LCALL DL1MS
      LCALL DL1MS
      LCALL DL1MS
      LCALL DL1MS
      LCALL DL1MS
      DJNZ R2,LOOP

      CLR 30H ;清除反射信號(hào)標(biāo)志位
      CLR ET0 ;關(guān)閉T0中斷
      MOV TH0,00H
      MOV TL0,00H
      SETB TR1 ;重新開啟測(cè)距定時(shí)器
      SETB EA
      SJMP start1
      ;main主循環(huán)結(jié)束

      ;****************************************************
      ;* 中斷程序 *
      ;****************************************************

      ;T1中斷,發(fā)超聲波用 ;T1中斷,65毫秒中斷一次
      INTT1: CLR EA
      CLR TR0
      CLR EX0
      MOV TH0,#00H
      MOV TL0,#00H
      MOV TH1,#00H
      MOV TL1,#00H
      SETB ET0 ;外部中斷0中斷請(qǐng)求標(biāo)志位。當(dāng)主機(jī)響應(yīng)中斷轉(zhuǎn)向該中斷服務(wù)程序執(zhí)行時(shí),由內(nèi)部硬件自動(dòng)將IE0位清0
      SETB EA
      SETB TR0 ;啟動(dòng)計(jì)數(shù)器T0,用以計(jì)算超聲波傳播時(shí)間
      intt11:
      CPL VOUT ;發(fā)射40KHZ超聲波.晶振:12MHz,1us
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      nop
      DJNZ R4,intt11 ;2us
      ;超聲波發(fā)送完畢
      CLR IE0
      MOV R4,#04H
      LCALL DL1MS ;延時(shí)2ms,避開發(fā)射的直達(dá)聲波信號(hào),消除余震
      LCALL DL1MS
      SETB EX0 ;開啟接收回波中斷

      RETIOUT: RETI

      本文引用地址:http://www.biyoush.com/article/201611/324009.htm

      ;外中斷0,收到回波時(shí)進(jìn)入
      PINT0: nop
      jb P3.2,pint0_exit
      CLR TR0 ;關(guān)閉T0
      CLR EA
      CLR EX0

      MOV SBUF,TH0
      JNB TI,$
      CLR TI

      MOV SBUF,TL0
      JNB TI,$
      CLR TI

      MOV TH0,#00H
      MOV TL0,#00H
      JNB p3.2,$
      SETB 30H ;接收成功標(biāo)志
      pint0_exit:
      RETI
      ;

      ;****************************************************
      ;* 延時(shí)程序 *
      ;****************************************************
      ;
      DL1MS:
      push 06H
      push 07H

      MOV R6,#14H ;14H = 20
      DL1: MOV R7,#19H ;19H = 25
      DL2: DJNZ R7,DL2 ;2us * 25 = 50
      DJNZ R6,DL1 ;50us * 20 = 1000us
      pop 07H
      pop 06H
      RET
      ;

      ;
      DL100US:
      push 06H

      MOV R6,#32H ;32H = 50
      DL3: DJNZ R7,DL3 ;2us * 50 = 100us
      pop 07H
      pop 06H
      RET
      ;

      END


      上一頁(yè) 1 2 下一頁(yè)

      評(píng)論


      技術(shù)專區(qū)

      關(guān)閉