pic12C508超声波测距仪程序

发布者:古通闲人最新更新时间:2017-12-04 来源: eefocus关键字:pic12C508  超声波测距仪 手机看文章 扫描二维码
随时随地手机看文章

;超声波测距仪  
; Internal Osc, WDT EnabLED 

    include     

loop        equ    10h     

dlyCTR        equ    11h         
tone_cnt    equ    12h    ; 反射周期计数 
period        equ    13h    ; tmr0溢出时间 


    org     0            
    MOVwf    OSCCAL         
    MOVlw    b’10001001’         
    option            ;1:2 WDT ON 
    MOVlw    b’00001101’         
    tris    GPIO         
    MOVwf    0 
    bcf    GPIO,1        ;输出脉冲 

;=================================== 
main    clrwdt 
    btfss    GPIO,0        ; 等待触发信号 
    goto    main          
m2    clrwdt 
    btfsc    GPIO,0          
    goto    m2 

    call    burst        ; 发送超声波 
    bsf    GPIO,1        ; 开始输出定时脉冲 
m1    btfsc    GPIO,2 
    goto    m1          
    bcf    GPIO,1        ; 结束输出定时脉冲 
    goto    main 

;=================================== 
burst     clrf    loop 
    MOVlw    8          
    MOVwf    loop 

burst1     MOVlw    b’00010000’ 
    MOVwf    GPIO 

    MOVlw    3         
    MOVwf    dlyctr         
burst2     decfsz    dlyctr,f 
    goto    burst2        ; 12uS 

    MOVlw    b’00010100’ 
    MOVwf    GPIO 
    MOVlw    2        ; (2 * 3inst * 1uS) -1uS = 5uS  
    MOVwf    dlyctr        ; 5uS + (8*1uS) = 13uS 
burst3     decfsz    dlyctr,f 
    goto    burst3 

    nop 
    decfsz    loop,f 
    goto    burst1 
    MOVlw    0x00         
    MOVwf    GPIO 
    retlw    0 

;================================ 
tone    clrf    TMR0 
t1    btfsc    GPIO,2     
    goto    t1          
    MOVfw    TMR0 
    clrf    TMR0 
    MOVwf    period          

    MOVlw    21        ; if(period>22 && period<30)  
    subwf    period,w 
    btfss    STATUS,C 
    goto    t2 
    MOVlw    30 
    subwf    period,f 
    btfsc    STATUS,C 
    goto    t2 
    decfsz    tone_cnt,f    ; 25uS period OK, so  
    goto    t1        ; if not yet 3 of them, keep looking 
    retlw    0        ; else - success - return 
     
t2     MOVlw    3          
    MOVwf    tone_cnt      
    goto    t1 

;===================================== 
     end 


关键字:pic12C508  超声波测距仪 引用地址:pic12C508超声波测距仪程序

上一篇:pic单片机控制HT1621 LCD程序
下一篇:PIC16C74B单片机与AT24C64通讯程序

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved