久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

只需一步,快速開始

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

關(guān)于單片機(jī)超聲波控制數(shù)碼管程序 改變距離數(shù)碼管無反應(yīng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


單片機(jī)源程序如下:
  1. #include <REGX52.H>
  2. sbit SH_CP1 = P0^1;
  3. sbit DS = P0^0;
  4. sbit ST_CP1 = P0^2;
  5. int distL,distR;
  6. unsigned char code table[]={
  7. 0x06,0x5B,0x4F,0x66,0x6D,
  8. 0x7D,0x07,0x7F,0x6F,0x3F};
  9. sbit TrigL    = P2^4;                // 超聲波模塊的Trig管腳
  10. sbit EchoL    = P2^5;                // 超聲波模塊的Echo管腳
  11. sbit TrigR    = P2^6;                // 超聲波模塊的Trig管腳
  12. sbit EchoR    = P2^7;                // 超聲波模塊的Echo管腳
  13. void Delay(unsigned int xms)
  14. {
  15.         unsigned char i, j;
  16.         while(xms--)
  17.         {
  18.                 i = 2;
  19.                 j = 199;
  20.                 do
  21.                 {
  22.                         while (--j);
  23.                 } while (--i);
  24.         }
  25. }
  26. void send_data_74hc595(int data_74hc595)                    //傳送數(shù)據(jù)給74hc595
  27. {
  28.         char a;
  29.                                 SH_CP1 = 0;
  30.         for(a = 0; a < 8; ++a)
  31.         {
  32.                 DS = (data_74hc595 << a) & 0x80;                    //從高位開始傳輸



  33.               SH_CP1 = 1;
  34.              SH_CP1 = 0;
  35.         }
  36.                
  37.       
  38. }

  39. void show_74hc595()  
  40.                                        //數(shù)據(jù)顯示
  41. {
  42.       ST_CP1 = 0;
  43.       ST_CP1 = 1;
  44.     }  


  45. void Nixie()
  46. {

  47.       
  48.           switch(distR)
  49.                  {
  50.                          case 1:send_data_74hc595(table[1]);show_74hc595();break;
  51.                          case 2:send_data_74hc595(table[2]);show_74hc595();break;
  52.                          case 3:send_data_74hc595(table[3]);show_74hc595();break;
  53.                          case 4:send_data_74hc595(table[4]);show_74hc595();break;
  54.                          case 5:send_data_74hc595(table[5]);show_74hc595();break;
  55.                          case 6:send_data_74hc595(table[6]);show_74hc595();break;
  56.                          case 7:send_data_74hc595(table[7]);show_74hc595();break;
  57.                          case 8:send_data_74hc595(table[8]);show_74hc595();break;
  58.                          case 9:send_data_74hc595(table[9]);show_74hc595();break;
  59.                          case 10:send_data_74hc595(table[0]);show_74hc595();break;
  60.                  }
  61.                
  62.                  
  63.                   switch(distL)
  64.                  {
  65.                          case 1:send_data_74hc595(table[1]);show_74hc595();break;
  66.                          case 2:send_data_74hc595(table[2]);show_74hc595();break;
  67.                          case 3:send_data_74hc595(table[3]);show_74hc595();break;
  68.                          case 4:send_data_74hc595(table[4]);show_74hc595();break;
  69.                          case 5:send_data_74hc595(table[5]);show_74hc595();break;
  70.                          case 6:send_data_74hc595(table[6]);show_74hc595();break;
  71.                          case 7:send_data_74hc595(table[7]);show_74hc595();break;
  72.                          case 8:send_data_74hc595(table[8]);show_74hc595();break;
  73.                          case 9:send_data_74hc595(table[9]);show_74hc595();break;
  74.                          case 10:send_data_74hc595(table[0]);show_74hc595();break;
  75.                  
  76.                  }
  77.                          }      
  78. //模塊程序
  79. void GetDistanceL()
  80. {
  81.             
  82.   TH0 = 0;
  83.         TL0 = 0;
  84.         TrigL=0;      
  85.   TrigL=1;                                      
  86.   Delay(0.001);
  87.   TrigL=0;
  88.   while(!EchoL);               
  89.          TR0=1;                            //開啟計(jì)數(shù)
  90.   while(EchoL);                       
  91.          TR0=0;                                //關(guān)閉計(jì)數(shù)
  92.   //timeL=TH0*256+TL0;
  93.         // timeL *= 12/11.0592;
  94.   //s=(timeL*1.7)/100;     //算出來是CM
  95.         distL=((TH0*256+TL0)*0.034)/2;
  96.       
  97. }
  98. void GetDistanceR()
  99. {      
  100.         TH0 = 0;
  101.         TL0 = 0;
  102.         TrigR=0;
  103.   TrigR=1;                                       
  104.         Delay(0.001);
  105.   TrigR=0;
  106.   while(!EchoR);               
  107.          TR0=1;                           
  108.   while(EchoR);                       
  109.          TR0=0;                              
  110.   //timeR=TH0*256+TL0;
  111.   //s=(timeR*1.7)/100;     //算出來是CM
  112.         distR=((TH0*256+TL0)*0.034)/2;
  113. }
  114. void set()
  115. {
  116. TMOD=0x21;
  117.         TH0=0;
  118.         TL0=0;
  119.         ET0=1;
  120.         EA=1;
  121. }

  122. void main()
  123. {
  124.         while(1)
  125.         {      
  126. set();
  127. GetDistanceL();
  128. GetDistanceR();
  129. Nixie();

  130.         }
  131. }
復(fù)制代碼


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

使用道具 舉報(bào)

沙發(fā)
ID:356571 發(fā)表于 2022-3-24 13:32 | 只看該作者
超聲波改變距離數(shù)碼管無反應(yīng),求大佬們支個(gè)招
回復(fù)

使用道具 舉報(bào)

板凳
ID:161164 發(fā)表于 2022-3-25 00:41 | 只看該作者
1. Delay(0.01) = Delay(0), Delay(X) X只可以是0~65535的正整數(shù)
2. TrigL=1;到TrigL=0;之間要最少要有10us延時(shí),弄個(gè)i=3;while(i--);就夠了(unsigned int i)
3. 由于Trig啟動(dòng)不成功,程序在while(!Echo)那里卡死了
4. Nixie();只接受0~10, 也有可能是distL和dist大于10所以沒反應(yīng)
5. switch(distR%11)switch(distL%11)加個(gè)取余看看

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院一区二区 | av在线三级| 国产精品区二区三区日本 | 欧美精产国品一二三区 | 欧美久久久电影 | 中文在线播放 | 欧美一区二区精品 | 91精品国产一区二区三区 | 夜夜操av| 亚洲精品一区二区三区蜜桃久 | 国产一区二区三区久久久久久久久 | 欧美日韩久久精品 | 国产一区二区三区四区 | 久久国色 | 成人在线免费 | 四虎成人在线播放 | 日韩成人免费视频 | 第一福利社区1024 | 99re视频精品 | 99精品欧美一区二区三区综合在线 | 99久久精品国产麻豆演员表 | 91偷拍精品一区二区三区 | 97超碰成人 | 国产四区 | 成人免费视屏 | 久久国产精99精产国高潮 | 91传媒在线播放 | 亚洲美女视频 | 久久国产一区二区三区 | 视频1区2区 | 最新中文字幕久久 | 欧美成人精品一区二区男人看 | 日韩二三区 | 欧美国产日韩一区 | 国产精品成人在线观看 | 欧美日韩精品久久久免费观看 | 久久久久久久国产 | 亚洲视频在线一区 | 欧美精品一区二区三区在线播放 | 国产一区不卡 | 极品一区 |