<progress id="jj2rv"></progress>

    <em id="jj2rv"></em><div id="jj2rv"></div>
      <div id="jj2rv"></div>
      <dl id="jj2rv"><menu id="jj2rv"></menu></dl>

        <em id="jj2rv"><ol id="jj2rv"></ol></em>
        <div id="jj2rv"><tr id="jj2rv"></tr></div>
        <progress id="jj2rv"><tr id="jj2rv"></tr></progress>

        <progress id="jj2rv"></progress>

        <progress id="jj2rv"><tr id="jj2rv"></tr></progress>

        <dl id="jj2rv"><ins id="jj2rv"></ins></dl>
        <em id="jj2rv"><ol id="jj2rv"><mark id="jj2rv"></mark></ol></em><dfn id="jj2rv"><tr id="jj2rv"></tr></dfn>

          電子發燒友網 > 控制/MCU > 正文

          51單片機超聲波模塊數碼管程序編寫

          ? 2018年09月18日 17:08 ? 次閱讀

          超聲波原理簡單測距準確,應用廣泛下面貼一個自己寫的數碼管程序,顯示部分需要改,寫的是我使用的是慧凈開發板,共陰數碼管

          51單片機超聲波模塊數碼管程序編寫

          //超聲波模塊程序

          //Trig = P2^0

          //Echo = P3^2

          #include

          #define uchar unsigned char

          #define uint unsigned int

          unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,

          0x6d,0x7d,0x07,0x7f,0x6f}; //0-9的碼表

          uint time = 0;

          uint TImeH = 0;

          uint TImeL = 0;

          uint succeed_flag;

          sbit dula=P2^0; //段選信號的鎖存器控制

          sbit wela=P2^1; //位選信號的鎖存器控制

          sbit Trig = P2^2;

          sbit Echo = P3^2;

          //

          void delay(uint z)

          {

          uint x,y;

          for(x=z;x》0;x--)

          for(y=125;y》0;y--);

          }

          //

          void delay_20us()

          {

          uchar a ;

          for(a=0;a《100;a++);

          }

          //***************************************************************

          //顯示數據轉換程序

          void display(uint temp)

          {

          uchar qian,ge,shi,bai;

          qian = temp/1000;

          bai=temp/100%10;

          shi=temp%100/10;

          ge=temp%10;

          wela=1;

          //P0=0xf7;

          P0 = 0xfe;

          wela=0;

          dula=1;

          P0=table[qian];

          dula=0;

          delay(5);

          wela=1;

          //P0=0xf7;

          P0 = 0xfd;

          wela=0;

          dula=1;

          P0=table[bai];

          dula=0;

          delay(5);

          dula=1;

          P0=0x00; //關位碼

          dula=0;

          wela=1;

          //P0=0xef;

          P0 = 0xfb;

          wela=0;

          dula=1;

          P0=table[shi];

          dula=0;

          delay(5);

          dula=1;

          P0=0x00; //關位碼

          dula=0;

          dula=1;

          P0=table[ge];

          dula=0;

          wela=1;

          //P0=0xdf;

          P0 = 0xf7;

          wela=0;

          delay(5);

          dula=1;

          P0=0x00; //關位碼

          dula=0;

          }

          //***************************************************************

          void main()

          {

          uint distance;

          uint test =0;

          Trig=0; //首先拉低脈沖輸入引腳

          EA=1; //打開總中斷0

          TMOD=0x10; //定時器1,16位工作方式

          while(1)

          {

          EA=0; //關總中斷

          Trig=1; //超聲波輸入端

          delay_20us(); //延時20us

          Trig=0; //產生一個20us的脈沖

          while(Echo==0); //等待Echo回波引腳變高電平

          succeed_flag=0; //清測量成功標志

          EA=1;

          EX0=1; //打開外部中斷0

          TH1=0; //定時器1清零

          TL1=0; //定時器1清零

          TF1=0; //計數溢出標志

          TR1=1; //啟動定時器1

          delay(20); //等待測量的結果

          TR1=0; //關閉定時器1

          EX0=0; //關閉外部中斷0

          if(succeed_flag==1)

          {

          TIme=TImeH*256+timeL;

          distance=time*0.172; //厘米

          display(distance);

          }

          if(succeed_flag==0)

          {

          distance=0; //沒有回波則清零

          test = !test; //測試燈變化

          }

          }

          }

          //***************************************************************

          //外部中斷0,用做判斷回波電平

          void exter() interrupt 0 // 外部中斷0是0號

          {

          timeH =TH1; //取出定時器的值

          timeL =TL1; //取出定時器的值

          succeed_flag=1;//至成功測量的標志

          EX0=0; //關閉外部中斷

          }

          //****************************************************************

          //定時器1中斷,用做超聲波測距計時

          void timer1() interrupt 3 //

          {

          TH1=0;

          TL1=0;

          }

          技術專區

          關注電子發燒友微信

          有趣有料的資訊及技術干貨

          下載發燒友APP

          打造屬于您的人脈電子圈

          關注發燒友課堂

          鎖定最新課程活動及技術直播
          收藏 人收藏
          分享:

          評論

          相關推薦

          基于MCU模塊的定時器工作原理解析

          在MCU中(M16),定時器是獨立的一個模塊,M16有三個獨立的定時器模塊,即T/C0、T/C1和T...

          發表于 2018-09-19 16:16 ? 0次閱讀
          基于MCU模塊的定時器工作原理解析

          如果我重置定時器2/4/6的“on”位,TMRx/后分頻器是否會自動清除?

          發表于 2018-09-19 15:17 ? 1次閱讀
          如果我重置定時器2/4/6的“on”位,TMRx/后分頻器是否會自動清除?

          2073x中的硬件定時器怎樣訪問

          發表于 2018-09-19 14:56 ? 8次閱讀
          2073x中的硬件定時器怎樣訪問

          請問這個定時器電路是如何工作的?

          發表于 2018-09-19 10:58 ? 48次閱讀
          請問這個定時器電路是如何工作的?

          51單片機RAM區域的劃分

          1.工作寄存器區(00H~1FH) 2.位尋址區(20H~2FH) 3.用戶RAM區(30H~7...

          發表于 2018-09-18 17:06 ? 40次閱讀
          51單片機RAM區域的劃分

          51單片機的基本組成結構解析

          ·128bytes的數據存儲器(RAM) (52有256bytes的RAM) ·32條I/O口線·...

          發表于 2018-09-18 17:00 ? 45次閱讀
          51單片機的基本組成結構解析

          MCP2515數據手冊中的振蕩器起振定時器(OST)值出錯怎么解決?

          發表于 2018-09-17 16:53 ? 17次閱讀
          MCP2515數據手冊中的振蕩器起振定時器(OST)值出錯怎么解決?

          51單片機的驅動問題為什么受單片機驅動電流的限制

          發表于 2018-09-16 09:34 ? 231次閱讀
          51單片機的驅動問題為什么受單片機驅動電流的限制

          用FPGA設計計算器

          計算器是設計中經常用到的一個操作軟件,設計和學習計算器使我們親密的聯系所學的各模塊, 對我們的學習有...

          發表于 2018-09-15 08:48 ? 188次閱讀
          用FPGA設計計算器

          為什么這個程序燒寫了單片機沒有反應

          發表于 2018-09-14 21:49 ? 135次閱讀
          為什么這個程序燒寫了單片機沒有反應

          34465A缺少觸發器怎么辦

          發表于 2018-09-14 16:52 ? 24次閱讀
          34465A缺少觸發器怎么辦

          輸入捕獲和輸出比較來自錯誤源的時鐘

          發表于 2018-09-14 15:55 ? 14次閱讀
          輸入捕獲和輸出比較來自錯誤源的時鐘

          貿澤電子ATmega4809 8位單片機,能夠在...

          貿澤備貨的Microchip ATmega4809 8位單片機基于高性能8位AVR? RISC CP...

          發表于 2018-09-14 14:29 ? 59次閱讀
          貿澤電子ATmega4809 8位單片機,能夠在...

          學習8051單片機的過來哦

          發表于 2018-09-14 12:08 ? 102次閱讀
          學習8051單片機的過來哦

          旋轉LED數字電子鐘制作圖解 基于51單片機

          在網上看到不少老外做的各種旋轉LED顯示屏,非常COOL,我也動手用洞洞板試做了一個類似的顯示屏,結...

          發表于 2018-09-14 10:10 ? 196次閱讀
          旋轉LED數字電子鐘制作圖解 基于51單片機

          自制數碼管時鐘 單片機控制

          用數碼管顯示,單片機控制,兩個按鍵調時,蜂鳴器整點報時。

          發表于 2018-09-13 10:17 ? 226次閱讀
          自制數碼管時鐘 單片機控制

          請問通用定時器的PWM輸入捕捉模式下四個通道能同時進行捕捉嗎?

          發表于 2018-09-13 09:19 ? 105次閱讀
          請問通用定時器的PWM輸入捕捉模式下四個通道能同時進行捕捉嗎?

          數碼管電子時鐘詳細制作過程

          成品鎮樓!!

          發表于 2018-09-12 14:27 ? 157次閱讀
          數碼管電子時鐘詳細制作過程

          51單片機和52單片機有什么區別

          51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的始祖是Intel的8...

          發表于 2018-09-11 10:13 ? 117次閱讀
          51單片機和52單片機有什么區別

          基于51單片機的最小系統焊接圖 淺談單片機最小系...

          單片機最小系統主要由電源、復位、振蕩電路以及擴展部分等部分組成。

          發表于 2018-09-11 09:57 ? 304次閱讀
          基于51單片機的最小系統焊接圖 淺談單片機最小系...

          51單片機過時了嗎 51單片機可以做什么

          如果使用中斷,中斷中又使用比較多的寄存器,可以交換整個寄存器組,開機隱含為0組,可以換用1,2,3組...

          發表于 2018-09-11 09:50 ? 151次閱讀
          51單片機過時了嗎 51單片機可以做什么

          51單片機優缺點及應用領域介紹

          應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由于其典型的結構...

          發表于 2018-09-10 16:45 ? 179次閱讀
          51單片機優缺點及應用領域介紹

          基于中間通訊控制器的熱網管理監控系統實現

          隨著熱網管理水平要求的不斷提高,各家熱電廠都需要設置一套投資少、功能強的計算機熱網監控系統,熱用戶(...

          發表于 2018-09-07 09:03 ? 217次閱讀
          基于中間通訊控制器的熱網管理監控系統實現

          51單片機鍵盤掃描程序解析

          按鍵在松手后有效,靈敏度高,消耗資源少,運行效率高 獨立鍵盤為:K01=P2^4;K02=P2^5...

          發表于 2018-09-04 11:53 ? 148次閱讀
          51單片機鍵盤掃描程序解析

          基于STM32定時器輸入捕獲解析

          輸入捕獲模式可以用來測量脈沖寬度或者測量頻率。STM32的定時器,除了TIM6和TIM7,其他定時器...

          發表于 2018-09-04 11:00 ? 53次閱讀
          基于STM32定時器輸入捕獲解析

          詳解STM32中定時器的時鐘源

          STM32中有多達8個定時器,其中TIM1和TIM8是能夠產生三對PWM互補輸出的高級定時器,常用于...

          發表于 2018-09-03 17:14 ? 311次閱讀
          詳解STM32中定時器的時鐘源

          富士通新系列32位微控制器MB91F487的特點...

          最近幾年,通過利用各種傳感器的信息,各類家用電器的性能越來越強大。比如,微波爐有幾個溫度監控器,還有...

          發表于 2018-09-03 10:28 ? 437次閱讀
          富士通新系列32位微控制器MB91F487的特點...

          Atmega16單片機和51單片機有何區別?從軟...

          今天我們的主題是單片機,說道單片機你可能最先想到的是51單片機,然后通過外接的數字電路和模擬電路來控...

          發表于 2018-09-03 08:23 ? 370次閱讀
          Atmega16單片機和51單片機有何區別?從軟...

          IDT榮膺名企浪潮公司2018年度最佳支持獎

          IDT憑借穩定持續的服務與支持,以及時鐘和PCIe Gen3重定時器開發的領先技術斬獲獎項。

          發表于 2018-08-31 16:13 ? 926次閱讀
          IDT榮膺名企浪潮公司2018年度最佳支持獎

          數碼管的內部結構與連接方式,驅動方式的介紹

          數碼管的七個筆段電極分別為A~G(有些資料中為小寫字母),圖1所示。這八段發光管分別稱為a、b、c、...

          發表于 2018-08-31 09:57 ? 437次閱讀
          數碼管的內部結構與連接方式,驅動方式的介紹

          MCU的特點及基本功能解析

          任何一款MCU,其基本原理和功能都是大同小異,所不同的只是其外圍功能模塊的配置及數量、指令系統等。對...

          發表于 2018-08-31 09:11 ? 140次閱讀
          MCU的特點及基本功能解析

          美日TM-600無線對講機參數與性能介紹

          TM-600高性價比商用無線對講機,采用精巧機身設計,細節考究,握持間處處體現精湛的專業技術實力,簡...

          發表于 2018-08-30 15:55 ? 362次閱讀
          美日TM-600無線對講機參數與性能介紹

          定時器號和分辨率

          在條件調用子程序的主程序中,當停止子程序調用時,如果定時器已經激活正在計時,停止調用這個子程序會造成...

          發表于 2018-08-29 17:13 ? 305次閱讀
          定時器號和分辨率

          凌力爾特推出喚醒定時器,采用微控制器或實時時鐘來...

          凌力爾特公司 (Linear Technology Corporation) 推出具按鈕控制的喚醒...

          發表于 2018-08-29 17:09 ? 69次閱讀
          凌力爾特推出喚醒定時器,采用微控制器或實時時鐘來...

          LPC210X定時器查詢方式及如何初始化

          定時器查詢方式定時器初始化: 1、設置定時器分頻數,為(x+1)分頻 2、匹配通道X中斷并復位TxT...

          發表于 2018-08-29 08:30 ? 91次閱讀
          LPC210X定時器查詢方式及如何初始化

          什么是看門狗定時器?為何看門狗定時器如此重要?

          ---使用具有整合看門狗功能的處理器。許多微控制器如MSP430F5529系列具有整合看門狗的功能。...

          發表于 2018-08-29 08:13 ? 451次閱讀
          什么是看門狗定時器?為何看門狗定時器如此重要?

          如何設計汽車檢測中的語音合成器?

          汽車數量的急劇增加,加大了汽車檢測工作的工作量。汽車檢測中,檢測人員要用眼瀏覽并判定許多屏幕上的信息...

          發表于 2018-08-29 02:21 ? 358次閱讀
          如何設計汽車檢測中的語音合成器?

          以51單片機為核心的斷相與相序保護數字控制系統設...

          三相交流電動機電源控制回路如圖2—1所示。按下QA按鈕,若電源A、B、C三相正常時,電動機就能正常起...

          發表于 2018-08-28 16:26 ? 143次閱讀
          以51單片機為核心的斷相與相序保護數字控制系統設...

          Hercules RM42 LaunchPad評...

          HERCULES-RM46_RM42-CNsubtitle

          發表于 2018-08-23 01:39 ? 176次閱讀
          Hercules RM42 LaunchPad評...

          如何使用高端定時器(HNET)模塊進行PWM開發...

          如何使用高端定時器進行PWM開發

          發表于 2018-08-22 00:36 ? 184次閱讀
          如何使用高端定時器(HNET)模塊進行PWM開發...

          數碼管的用途

          本文首先介紹了數碼管的分類,其次介紹了數碼管的驅動方式,最后介紹了數碼管的用途及應用范圍。

          發表于 2018-08-21 18:46 ? 232次閱讀
          數碼管的用途

          數碼管顯示電路的設計及制作

          數碼管是單片機的常用輸出設備,其接法靈活,硬件接線較繁瑣。為方便自己做實驗,筆者利用手頭的元器件制作...

          發表于 2018-08-21 15:25 ? 334次閱讀
          數碼管顯示電路的設計及制作

          51單片機CPU結構各部件的原理詳細分析

          一、 51單片機串行口工作原理 MCS-51系列單片機片內有一個串行I/O端口,通過引腳RXD(P...

          發表于 2018-08-18 10:39 ? 720次閱讀
          51單片機CPU結構各部件的原理詳細分析

          以MCS-51單片機為核心的測控系統軟時鐘優化設...

          隨著微電腦的廣泛應用,以MCS-51單片機為核心的微機測控系統已隨處可見。為滿足用戶要求,這些系統通...

          發表于 2018-08-17 16:56 ? 408次閱讀
          以MCS-51單片機為核心的測控系統軟時鐘優化設...

          美的微波爐的機械定時器接線電路圖解析

          微波爐定時器是以微型同步電機的恒速轉動為時間基準及動力,通過輪系的傳動實現兩個部分的功能:一部分控制...

          發表于 2018-08-16 08:35 ? 883次閱讀
           美的微波爐的機械定時器接線電路圖解析

          Linux內核學習經驗總結分享

          操作系統是介于底層硬件和應用軟件之間的接口,其各個子系統的實現很大程度上依賴于硬件特性。書上介紹這些...

          發表于 2018-08-13 17:40 ? 516次閱讀
          Linux內核學習經驗總結分享

          西門子200PLC數碼管顯示實例

          某停車場最多可停50輛車,用兩位數碼管顯示停車數量。用出入傳感器檢測進出車輛數,每進一輛車停車數量增...

          發表于 2018-08-13 16:53 ? 430次閱讀
          西門子200PLC數碼管顯示實例

          555芯片引腳圖及引腳描述!555定時器的電路結...

          多諧振蕩器又稱為無穩態觸發器,它沒有穩定的輸出狀態,只有兩個暫穩態。在電路處于某一暫穩態后,經過一段...

          發表于 2018-08-13 15:33 ? 722次閱讀
          555芯片引腳圖及引腳描述!555定時器的電路結...

          以C51單片機為核心的嵌入式系統實時控制設計

          C8051F120芯片上本身自帶了A/D轉換器,但只有12位,不適合該系統的需求,故在片外另加一片A...

          發表于 2018-08-12 08:56 ? 171次閱讀
          以C51單片機為核心的嵌入式系統實時控制設計

          以MCS251單片機為主控器的激光器電流精度控制...

          為了使激光器輸出穩定的激光,對流過激光器的電流要求非常嚴格,供電電路必須是低噪聲的穩定的恒流源。恒流...

          發表于 2018-08-10 17:21 ? 191次閱讀
          以MCS251單片機為主控器的激光器電流精度控制...

          如何制作一個基于51單片機的溫控器?

          大學里學的就是單片機,可那個時候根本沒學明白,不過有一點基礎,現在自學起來還算順利。早在2011年4...

          發表于 2018-08-10 17:16 ? 596次閱讀
          如何制作一個基于51單片機的溫控器?

          120°直流無刷電機和步進電機控制方式

          電機旋轉速度的計算,是從當前定時器的計數值和2π[rad]之前的定時器計數值之差得到的。定時器計數值...

          發表于 2018-08-09 09:09 ? 1757次閱讀
          120°直流無刷電機和步進電機控制方式

          SYS BIOS在線培訓 — 時鐘、定時器簡介

          SYS BIOS簡介-定時器和時鐘模塊

          發表于 2018-08-08 01:06 ? 283次閱讀
          SYS BIOS在線培訓 — 時鐘、定時器簡介

          74hc138驅動能力概述 如何驅動8位數碼管

          常用的段式數碼管有七段式和八段式,八段比七段多了一個小數點,其他的基本相同。

          發表于 2018-08-07 10:44 ? 154次閱讀
          74hc138驅動能力概述 如何驅動8位數碼管

          74hc138驅動數碼管 數碼管驅動方式匯總

          數碼管的顯示用的是74HC138譯碼器 ,這是一種三通道輸入,八通道輸出譯碼器。采用動態掃描顯示即輪...

          發表于 2018-08-07 10:25 ? 151次閱讀
          74hc138驅動數碼管 數碼管驅動方式匯總

          封裝是什么意思?元器件的封裝有哪些形式?

          元器件的封裝都是有國際標準的,不同的元器件封裝形式不一樣,即使是同一個器件也可以有多個封裝,所以我們...

          發表于 2018-08-03 10:42 ? 435次閱讀
          封裝是什么意思?元器件的封裝有哪些形式?

          555循環定時器電路圖

          本文首先介紹了DYT-12C間隙定時器及電路,其次介紹了NE555作通斷時間可調循環定時器電路,最后...

          發表于 2018-08-02 16:56 ? 654次閱讀
          555循環定時器電路圖

          Simplelink WiFi CC3220定時...

          1.5 simplelink wifi cc3220定時器框架

          發表于 2018-08-01 01:14 ? 263次閱讀
          Simplelink WiFi CC3220定時...

          74hc245的作用是什么 74hc245應用原...

          74hc245是一種兼容TTL器件引腳的高速CMOS總線收發器(bus transceiver),典...

          發表于 2018-07-31 14:10 ? 639次閱讀
          74hc245的作用是什么 74hc245應用原...

          數碼管在單片機上的應用詳解

          碼管引腳定義每一筆劃都是對應數碼管一個字母表示數碼管DP是小數點。

          發表于 2018-07-30 10:32 ? 804次閱讀
          數碼管在單片機上的應用詳解

          關于單片機那些你不知道的技巧

          學習單片機的教程已經很普遍了,讓我來簡單的介紹一下吧!接觸單片機已有6個月了,自我覺得很有意思。單片...

          發表于 2018-07-30 09:39 ? 1612次閱讀
          關于單片機那些你不知道的技巧

          51單片機復位電路原理是什么?為什么為復位?

          51單片機要復位只需要在第9引腳接個高電平持續2us就可以實現,那這個過程是如何實現的呢?在單片機系...

          發表于 2018-07-29 11:08 ? 687次閱讀
          51單片機復位電路原理是什么?為什么為復位?

          51單片機時鐘電路原理是什么?圖文詳解

          時鐘電路就是一個振蕩器,給單片機提供一個節拍,單片機執行各種操作必須在這個節拍的控制下才能進行。因此...

          發表于 2018-07-29 11:06 ? 812次閱讀
          51單片機時鐘電路原理是什么?圖文詳解

          74hc573在應用電路作用解析 74hc573...

          74HC573D是8位三態鎖存器,一般在實際應用電路中用于地址或數據的鎖存。

          發表于 2018-07-28 10:19 ? 652次閱讀
          74hc573在應用電路作用解析 74hc573...

          74hc573怎么連接數碼管?74hc573連接...

          事實上在實際應用電路中,74hc573連接數碼管都不是簡單的直連就可以的,這個需要分具體應用場景。

          發表于 2018-07-27 16:48 ? 495次閱讀
          74hc573怎么連接數碼管?74hc573連接...

          51單片機超聲波測距程序代碼分享

          51單片機超聲波測距程序代碼分享,具體的跟隨小編一起來看一下。

          發表于 2018-07-24 10:27 ? 504次閱讀
          51單片機超聲波測距程序代碼分享

          如何用51單片機數碼管實現跑馬燈功能?

          基于51單片機學習板。用S1鍵作為控制跑馬燈的方向按鍵,S5鍵作為控制跑馬燈方向的加速度按鍵,S9鍵...

          發表于 2018-07-20 11:41 ? 616次閱讀
          如何用51單片機數碼管實現跑馬燈功能?

          單片機總線時序是什么?51單片機總線時序詳細分析

          計算機系統是以微處理器為核心的,各器件要與微處理器相連,且必須協調工作,所以在微處理機中引入了總線的...

          發表于 2018-07-19 17:15 ? 681次閱讀
          單片機總線時序是什么?51單片機總線時序詳細分析

          基于51單片機的8位數碼管電子時鐘仿真圖及源代碼...

          利用8位數碼管顯示時間,原理與4位數碼管顯示的基本一樣

          發表于 2018-07-19 17:13 ? 744次閱讀
          基于51單片機的8位數碼管電子時鐘仿真圖及源代碼...

          51單片機數碼管的詳細資料概述

          LED數碼管是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各...

          發表于 2018-07-17 19:53 ? 782次閱讀
          51單片機數碼管的詳細資料概述
          天津11选5投注