日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
AT89C2051超聲波測距程序范例
AT89C2051超聲波測距程序范例
 更新時間:2009-7-9 16:53:29  點擊數:0
【字體: 字體顏色
超聲波測距原理:測出回波和發(fā)射脈沖之間的時間間隔,由公式:距離=速度*時間/2計算,輸出顯示。
    AT89C2051通過P1.6輸出10個40kHz脈沖,由非門做電流放大,以推挽形式加到變壓器的初級,升壓后推動超聲波換能器。在發(fā)射的同時, P1.7輸出一個高電平啟動,給電容C4充電,。發(fā)射結束時高電平翻轉為低電平,C4開始對R2、R3組成的分壓器放電并輸出到比較器的負端。
    超聲波接收換能器將回波送到放大器進行放大后,送入機內比較器的正輸入端。發(fā)射時P1.7輸出的電平用以抑制比較器的翻轉,稱為渡越時間,抑制發(fā)射器發(fā)射的超聲波直接輻射到接收器。 
   


 
    超聲波測距系統軟件設計采用模塊化設計,由主程序、發(fā)射子程序、查蟓接收子程序、定時子程序、顯示子程序等模塊組成。該系統的主程序處于鍵控循環(huán)工作方式,當按下測量鍵時,主程序開始調用發(fā)射子程序、查詢接收子程序、定時子程序,并把測量結果用顯示子程序在液晶屏上顯示出來。由于液晶要使用同一P3口,所以必須使用位操作,否則將導致LCD不能正常顯示。在系統還可以加入溫度傳感器來監(jiān)測環(huán)境溫度,可進行溫度被償。為了增強系統的可靠性,應在軟硬件上采用抗干擾措施。
    # pragma DB OE CD OT(5,SPEED) ROM(LARGE)IV
    /*連接所需要的庫*/
    #i nclude
    #i nclude
    #i nclude
    /*定義數據類型*/
    typedef unsingned char byte;
    typedef unsigned int word
    #define uchar unsigned char
    #define unint unsigned int
    #define ulong unsigned long
    /*定義系統常數*/
    #define TRUE 1
    #define FALSE 0
    #define C=340 /*聲速*/
    /*定義功能位*/
    sbit bflag=ACC7;
    sbit VOLCK=P1^5;
    sbit MING=P3^5;
    sbit QUIET=P1^3;
    sbit BACK=P1^2;
    /*定義顯示緩沖區(qū)*/
    uchar idata ON[16]={’,’L’,’E’,’N’,’G’,’T’,’H’,’=’,’8’,’.’,’8

’8’,’m’,’’,’’,’’};
    /*主程序用延時子程序*/
    woid main-delay(void)
    {
    register i;
    TRO=1;
 &


 nbsp;  for(i=0;i<15;i++)
    {
    TH0=0;
    TL0=0;
    Do{}while(!TF0);
    TF0=0;
    }
    TR0=0;
    }
    */通用延時子程序*/
    void delay(void)
    {
    unint i;
    for(i=0;i<200;i++){;}
    }
    /*鍵盤延時子程序*/
    void key-delay(void)
    {
    unint i;
    for(i=0;i<200;i++){;}
    }
    /*初始化程序*/
    void start_main()
    {
    tegister i;
    uchar a[16]={’’,’L’,’E’,’N’,’G’,’T’,’H’,’=,’8’,’.’,’8’,’8

’,’m’,’’,’’,’’};
    for(i=0;<16;i++)
    {ON[i]=a[i];}
    nitlcd();/*初始化液晶*/
    display(ON);/*更新顯示*/
    }
    /*主程序*/
    void main()
    {
    register s,keycode;
    long idata t;
    start-main();/*初始化*/
    main-delay();/*延時*/;
    if(keycoed= =true)
    {
    keycode=key-scan-wait();
    /*判斷是否有測量鍵按下*/
    t=measure();*/測量*/
    S=0.5*t*C;*/換算*/
    Decode-bcd(s.0x09);
    /*把測量結果置換入顯示緩沖區(qū)*/
    init-lcd();/*初始化液晶*/
    display(ON);/*更新顯示*/
    }
    }

  • 上一篇: 產品內部的電磁兼容性設計
  • 下一篇: 使用LPC932制作的壁掛爐溫度控制器
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1