找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9634|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

[求助]關(guān)于超聲波用定時(shí)器產(chǎn)生40k脈沖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:2902 發(fā)表于 2008-8-1 22:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

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為顯示數(shù)據(jù)存放單元(30為最高位)
       MOV  R7,#0AH
        MOV 20H,#00H            ;標(biāo)志位
CLEARDISP:MOV  @R0,#00H
            INC   R0
            DJNZ  R7, CLEARDISP
             mov tcon,#01h
            MOV  TMOD, #21H   ; ;T1為8位自動(dòng)重裝模式,T0為16位定時(shí)器
            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       ; ;超聲波脈沖個(gè)數(shù)控制(為賦值的一半)
SETB  PX0
SETB  ET0
SETB  EA
clr   20H
SETB  TR0         ;   ;開(kāi)啟測(cè)距定時(shí)器

START1:    LCALL  DISPLAY
            JNB     20H, START1     ;  ;收到反射信號(hào)時(shí)標(biāo)志位為1
            CLR  EA
            LCALL  WORK        ;  ;計(jì)算距離子程序
            SETB    EA
            CLR     20H
            SETB    TR0          ;   ;重新開(kāi)啟測(cè)距定時(shí)器
           

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            ;    ;啟動(dòng)計(jì)時(shí)器T0,用以計(jì)算超聲波來(lái)回時(shí)間
            SETB   TR1                ;      ;開(kāi)啟發(fā)超聲波用定時(shí)器T1
     RETI


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

;;外中斷0,收到回波時(shí)進(jìn)入
PINT0:

              CLR   TR0             ;   ;關(guān)計(jì)數(shù)器
             CLR   TR1
             clr et1
             CLR   ea
             clr ex0
             MOV  40H,TL0          ;  ;將計(jì)數(shù)值移入處理單元
             MOV  41H,TH0
             SETB  20H
            
             RETI

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



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:2902 發(fā)表于 2008-8-9 22:29 | 只看該作者

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

回復(fù)

使用道具 舉報(bào)

板凳
ID:26112 發(fā)表于 2010-9-22 14:57 | 只看該作者

利用頂定時(shí)器啊、、直接可以的呀。。在驅(qū)動(dòng)一下。就產(chǎn)生了啊

 

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表