欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: [求助]關于超聲波用定時器產生40k脈沖 [打印本頁]

作者: ashore07    時間: 2008-8-1 22:00
標題: [求助]關于超聲波用定時器產生40k脈沖

ORG  0000H
      LJMP  START
ORG  0003H
      LJMP  PINT0
ORG  000BH
      LJMP  INTT0

ORG  001BH
      LJMP  INTT1

ORG  0030H

START: MOV  SP, #4FH
       MOV  R0,#30H   ;;30~35H為顯示數據存放單元(30為最高位)
       MOV  R7,#0AH
        MOV 20H,#00H            ;標志位
CLEARDISP:MOV  @R0,#00H
            INC   R0
            DJNZ  R7, CLEARDISP
             mov tcon,#01h
            MOV  TMOD, #21H   ; ;T1為8位自動重裝模式,T0為16位定時器
            MOV  TH0, #00H    ; ;65ms初值
            MOV  TL0, #00H
            MOV  TH1, #0F2H    ;;40KHz初值
            MOV  TL1, #0F2H
            MOV  P0, #0FFH
            MOV  P1, #0FFH
            MOV  P2, #0FFH
            MOV  P3, #0FFH

 mov 36h,#20h         ;顯示位控
 mov 37h,#30h
 mov 38h,#40h
 mov 39h,#50h
        mov 3ah,#60h
MOV  R4, #10h       ; ;超聲波脈沖個數控制(為賦值的一半)
SETB  PX0
SETB  ET0
SETB  EA
clr   20H
SETB  TR0         ;   ;開啟測距定時器

START1:    LCALL  DISPLAY
            JNB     20H, START1     ;  ;收到反射信號時標志位為1
            CLR  EA
            LCALL  WORK        ;  ;計算距離子程序
            SETB    EA
            CLR     20H
            SETB    TR0          ;   ;重新開啟測距定時器
           

LOOP:      LCALL  DISPLAY
            DJNZ   R5, LOOP
            SJMP   START1

;*中斷程序*
;;T0中斷,65ms中斷一次
INTT0:      CLR    EA
            CLR    TR0
            MOV   TH0,#00H
            MOV   TL0,#00H
            SETB   ET1
            SETB   EA
            SETB   TR0            ;    ;啟動計時器T0,用以計算超聲波來回時間
            SETB   TR1                ;      ;開啟發超聲波用定時器T1
     RETI


;;T1中斷,發超聲波用
INTT1: 
        CPL    P1.0
            DJNZ   R4,RETIOUT
            CLR    TR1        ;       ;超聲波發送完畢,關T1
            CLR    ET1
            MOV   R4,#10h         ;發送8個,約200us(最小距離)后開啟外部中斷,
            SETB   EX0     ;          ;開啟接收回波中斷
RETIOUT:   RETI

;;外中斷0,收到回波時進入
PINT0:

              CLR   TR0             ;   ;關計數器
             CLR   TR1
             clr et1
             CLR   ea
             clr ex0
             MOV  40H,TL0          ;  ;將計數值移入處理單元
             MOV  41H,TH0
             SETB  20H
            
             RETI

 。。。
設計方案:每隔65ms發射一次,每次發射8個周期。
問題一:發不出40k 的脈沖,只有30k
問題二:一開啟外部中斷,外部中斷就一直位于低電平了,所測的的距離就是那200us所傳播的距離
麻煩大家看看啊,都半個月了
很郁悶啊




作者: ashore07    時間: 2008-8-9 22:29

哎~~~~~~~~~~~
自己頂自己一下
命苦呀


作者: 死神來了    時間: 2010-9-22 14:57

利用頂定時器啊、、直接可以的呀。。在驅動一下。就產生了啊

 






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1