<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業電子產品 > 集成電路(ICs) > IC傳感器

      類型分類:
      科普知識
      數據分類:
      IC傳感器

      單片機傳感器程序:51單片機傳感器計數程序

      發布日期:2022-05-11 點擊率:40


      單片機傳感器程序:51單片機傳感器計數程序  第1張

      單片機傳感器程序:51單片機傳感器計數程序

      單片機進行傳感器計數
      單片機源程序如下:
      #include

      bai=dispcount/100;           //求百位
      shi=dispcount%100/10;        //求十位
      ge=dispcount%10;                                   //求個位
      dula=1;                                         //打開段選
      P0=table[bai];                                //百位輸給P0口
      dula=0;                                                //關閉段選
      wela=1;                                                //打開位選
      P0=0xfe;                                        //P0口輸給第一位
      wela=0;                                                //關閉位選
      delay(1);
      dula=1;
      P0=table[shi];
      dula=0;
      wela=1;
      P0=0xfd;
      wela=0;
      delay(1);
      dula=1;
      P0=table[ge];
      dula=0;
      wela=1;
      P0=0xfb;
      wela=0;
      delay(1);
      }
      void init()
      {
      wela=0;
      dula=0;
      EX0=1;                                //int0外部中斷打開。
      IT0=0;                                //低電平有效,3.0口,不設置也沒關系
      //        ET0=1;                                //t0定時中斷。即IE=0x82;
      //        TMOD=0x01;                        //t0啟動方式為方式1,16位
      //        TR0=1;                                //啟動定時器0
      //        TH0=0x4c;
      //        TL0=0x00;
      EA=1;                                //開總中斷

      }
      void main()
      {
      //        aa=0;
      //        TH0=0x4c;
      //        TL0=0x00;
      init();
      while(1)
      {
      display(dispcount);
      }
      }
      void ExtInt0() interrupt 0 //外部0中斷服務程序
      {
      delay(200);
      date++;//每按一次中斷按鍵,計數加一
      dispcount=date;
      if (dispcount==999) //計數范圍0-999
      {
      dispcount=0;
      ……………………
      …………限于本文篇幅 余下代碼請從51黑下載附件…………
      復制代碼
      所有資料51hei提供下載:
      傳感器計數.rar
      (26.47 KB, 下載次數: 13)
      2017-12-19 15:08 上傳
      點擊文件名下載附件
      單片機傳感器程序:51單片機傳感器計數程序  第2張

      單片機傳感器程序:傳感器怎么和單片機實現聯接和控制。具體怎么編程序

      xgy1982

      沒有四種聲音的頻率庫,其他的給你做個示范吧:
      ORG 0000H
      LJMP MAIN
      ORG 0030H
      MAIN:
      MOV SP,#5FH
      MOV TMOD,#11H
      SETB EA
      SETB ET0
      SETB ET1
      LOOP:
      LCALL KEYSCAN
      MOV A,R2
      JNZ LP1
      MOV DPTR,#TAB110
      SJMP LPRUN
      LP1:
      DEC A
      JNZ LP2
      MOV DPTR,#TAB119
      SJMP LPRUN
      LP2:
      DEC A
      JNZ LP3
      MOV DPTR,#TAB120
      SJMP LPRUN
      LP3:
      DEC A
      JNZ LP4
      MOV DPTR,#TABBOMB
      SJMP LPRUN
      LP4:
      LJMP LOOP
      LPRUN:
      MOVX A,@DPTR
      MOV TL0,A
      INC DPTR
      MOVX A,@DPTR
      MOV TH0,A
      ............;時長控制也可以做到表里,計算后賦值給T1
      LJMP LOOP
      END

      評論

      取消
      評論

      單片機傳感器程序:51單片機傳感器計數程序  第3張

      單片機傳感器程序:單片機對傳感器編程

      #include “reg52.h” //此文件中定義了單片機的一些特殊功能寄存器
      #include"temp.h" //這里面有個溫度的函數
      u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

      //code的作用是告訴單片機,我定義的數據要放在ROM(程序存儲區)里面,其實是相當與匯編里面的尋址MOVX(好像是),因為C語言中沒辦法詳細描述存入的是ROM還是RAM(寄存器),所以在軟件中添加了這一個語句起到代替匯編指令的作用,對應的還有data是存入RAM的意思

      //Ds18b20ReadTemp()這個函數 就是頭文件里的 應該是省略了一些物理的計算
      類似于 電流的大小 電壓 在根據產品的材料 算出 溫度的值 傳給你

      這個值還是要處理一下
      邏輯不必去思考 畢竟這是人家算好給出來的值 既然它讓我們去這么處理 我們就這么處理
      //留兩個小數點就*100,+0.5是四舍五入,因為C語言浮點數轉換為整型的時候把小數點
      //后面的數自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就
      //算加上0.5,還是在小數點后面。
      這句話 其實有點重要 c語言會自動幫你做類型轉化
      所以四舍五入就沒有用函數 我記得js還要MATH函數處理 下次我也這么寫四舍五入
      會不會出問題不太清楚
      void DigDisplay()
      {
      u8 i;
      for(i=0;i<6;i++) { switch(i) //位選,選擇點亮的數碼管, { case(0): LSA=0;LSB=0;LSC=0; break;//顯示第0位 case(1): LSA=1;LSB=0;LSC=0; break;//顯示第1位 case(2): LSA=0;LSB=1;LSC=0; break;//顯示第2位 case(3): LSA=1;LSB=1;LSC=0; break;//顯示第3位 case(4): LSA=0;LSB=0;LSC=1; break;//顯示第4位 case(5): LSA=1;LSB=0;LSC=1; break;//顯示第5位 } P0=DisplayData[5-i];//發送數據 delay(100); //間隔一段時間掃描 P0=0x00;//消隱 } } 這個函數 就是一秒執行幾百次 然后 你就能看到多個數組 像我這種動態視力優秀的人 看著 就是一堆閃爍的燈 花里胡哨的 人類的動態視力真弱 這就被欺騙了; sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; 這三個 只要用到了數碼管 三個數字 就是2的三次方 就是 有八種情況 然后這八種情況對應一個數字 一個數字有八個二極管 所以就是 P0=DisplayData[5-i];就是 1111 1110 ,隨便寫的 控制八個燈的亮的方式 就是用三個開關控制8個燈的開關 ; u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 所以這里是設計好的10個亮燈的方式 ; 這個可以看出溫度給出的是個四位數字 再把這個四位數字拆出來 放到led里面顯示 P0=0x00;//消隱 這個我不太了解 他是加我就加吧                                    

      單片機傳感器程序:常閉型震動傳感器51單片機程序的應用

      SW-420 常閉型震動模塊簡介
      感應震動力大小將感應結果傳遞到電路裝置,并使電路啟動工作的電子開關。
      用于各種震動觸發作用,報盜報警,智能小車,地震報警,摩托車報警等。本模塊與常開型震動傳感器模塊相比、震動觸發的時間更長、可以驅動繼電器模塊。
      工作原理
      平時任何角度開關都是接通狀態,受到振動或移動時,開關內導通電流的滾軸會產生移動或振動,從而導致通過的電流斷開或電阻阻值的升高而觸發電路。這種開關的特點是平時一般處于導通狀態耐振動時會短暫斷開,所以它的靈敏度很高,通過IC的設置,客戶可按自

      下一篇: PLC、DCS、FCS三大控

      上一篇: 電氣控制線路圖控制原

      推薦產品

      更多
      主站蜘蛛池模板: 一本大道AV伊人久久综合| 狠狠色综合一区二区| 久久99精品综合国产首页| 伊人久久综合影院| 亚洲欧洲日产国产综合网| 亚洲国产亚洲综合在线尤物| 18和谐综合色区| 一本大道AV伊人久久综合| 色777狠狠狠综合| 国产亚洲综合一区二区三区| 亚洲综合自拍成人| 狠狠做深爱婷婷综合一区| 国产成人人综合亚洲欧美丁香花| 亚洲av综合avav中文| 天啪天天久久天天综合啪| 色综合色综合久久综合频道| 国产综合无码一区二区三区| 日日狠狠久久偷偷色综合96蜜桃| 色噜噜狠狠色综合网| 久久综合九色综合91| 日韩综合无码一区二区| 国产精品激情综合久久| 国产精品一区二区综合| 国产成人综合亚洲| 五月综合色婷婷在线观看| 色婷婷综合缴情综免费观看| 人人狠狠综合88综合久久| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 久久婷婷五月综合国产尤物app| 婷婷综合久久中文字幕蜜桃三电影| 亚洲综合网站色欲色欲| 色综合久久久久久久久五月| 亚洲伊人精品综合在合线| 久久婷婷五月综合色丁香| 熟天天做天天爱天天爽综合网| 九九综合VA免费看| 久久综合琪琪狠狠天天| 一本一道久久综合久久| 伊人久久亚洲综合影院| 五月丁香综合激情六月久久 | 国产性天天综合网|