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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1050|回復: 0
打印 上一主題 下一主題
收起左側

基于51單片機的測障礙小車程序 可以測距,測角度

[復制鏈接]
跳轉到指定樓層
樓主
ID:371387 發表于 2019-3-16 19:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. sbit p30=P3^0;
  2. sbit p20=P2^0;
  3. sbit p32=P3^2;
  4. uint n;
  5. //紅外波
  6. void delay(uint t, uchar i)
  7. {        for(;t>0;t--)
  8.                 { for(;i>0;i--); }                                         
  9. }

  10. void time0() interrupt 1
  11. {n++;
  12.   if(n>=308)
  13.         {        p30=0;
  14.                 if(n==616)        
  15.                         n=0;
  16.         }
  17.   else  p30=~p30;
  18. }
  19. void inter1() interrupt 2
  20. {p20=0;
  21. delay(8000,125);//0.5S
  22. }
  23. void main()
  24. {
  25.         TMOD=0X02;TH0=0XF3;TL0=0XF3;
  26.         ET0=1;TR0=1;
  27.         EX1=1;IT1=1;
  28.         PX1=1;
  29.         EA=1;
  30.         while(1)
  31.                 {p20=1;p30=0;
  32.                 }
  33. }







  34.   P31=~P31;
  35. }

  36. void Delay_1ms(uint j)
  37. { uchar i=0;
  38.     for(;j>0;j--)
  39.       for(i=0;i<125;i++);
  40. }

  41. void fashong()
  42. { uchar k;
  43. ET0=1;TR0=1;
  44. Delay_1ms(3);
  45. for(k=0;k<jianhao;k++)
  46. {ET0=0;TR0=0;P31=0;
  47. Delay_1ms(1);
  48. ET0=1;TR0=1;
  49. Delay_1ms(1);
  50. }
  51. ET0=0;TR0=0;P31=0;
  52. Delay_1ms(3);
  53. }

  54. void  key()
  55. {if(p32==0)
  56. {jianhao=1;flag=1;}
  57. if(p33==0)
  58. {jianhao=2;flag=1;}
  59. if(p34==0)
  60. {jianhao=3;flag=1;}
  61. if(p35==0)
  62. {jianhao=4;flag=1;}

  63. }

  64. void main()
  65. {

  66. TMOD=0X02;TH0=0XF3;TL0=0XF3;EA=1;P31=0;jianhao=0;
  67. while(1)
  68.   {//p20=1;p21=1;p22=1;p23=1;
  69. // p24=0;p25=0;p26=0;p27=0;
  70. p32=1;p33=1;p34=1;p35=1;
  71.     // P1=a[jianhao];
  72.          key();
  73.      if(flag)
  74.         { p27=0;
  75.         fashong();
  76.          flag=0;}
  77.          p27=1;
  78.         }
  79. }






  80. //角度測量
  81. #include"reg51.h"
  82. #define uchar unsigned char
  83. #define uint unsigned int
  84. uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  85. uchar code segnode[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
  86. #define digport P0
  87. #define dataport P1
  88. #define wordport P2
  89. #define r 45
  90. sbit  eoc= P3^3;
  91. sbit  clk= P3^4;
  92. sbit  start= P3^6;
  93. sbit  oe= P3^7;
  94. bit flag;
  95. uchar a[4]={0xff,0xff,0xff,0xff};//黑屏
  96. uchar dig=0x01;

  97. void delay(uint t)
  98. {for(;t<0;t--);}

  99. /*void display()
  100. {
  101.         uchar i;
  102.                 wordport=0xff;
  103.         for(i=0;i<4;i++)
  104.                 {
  105.                
  106.                         wordport=a[i];
  107.                         digport=dig<<1;
  108.                         delay(300);
  109.                  }
  110. }*/
  111. void Display(void)
  112. {
  113.         uchar i,k,select=0x01;
  114.        for(i=0;i<=5;i++)
  115.              { digport=select;
  116.                            wordport=a[i];
  117.                select<<=1;
  118.                             for(k=0;k<=100;k++)//改
  119.                                 {;}
  120.                  }

  121. }
  122. void time0() interrupt 1
  123. {        clk=~clk; }               
  124. void chuli()
  125. {                        
  126.         unsigned long  int da;
  127.         //eoc=0;
  128.         start=1;
  129.         oe=1;
  130.         da=dataport;
  131.         delay(10);
  132.         oe=0;
  133. //        da=da*196;
  134.     if(da<127)a[3]=0xbf;//128改127//127.5=127
  135.     if(da>=127)a[3]=0xff;
  136. //        if(da<5000||da>45000){da=0;}
  137.    
  138.     if(a[3]==0xff) {da=da-127;        da=da*1961;} //}if(da>49000)da=50000;}
  139.     if(a[3]==0xbf) {da=128-da;        da=da*1961;}//128改127
  140.    
  141.         da=da*r;
  142.         if(da>9000000)da=9000000;
  143.         a[0]=seg[da/10000%10];
  144.         if((da/1000%10)>5)
  145.         a[0]=seg[da/10000%10+1];
  146.         a[1]=segnode[da/100000%10];
  147.         a[2]=seg[da/1000000];
  148.         start=0;        
  149.         delay(10);
  150. }

  151. void main(void)
  152. {   uchar k;
  153.         delay(30);
  154. //        IT1=1;EX1=1;
  155.         TMOD=0x02;TH0=253;TL0=253;
  156.         TR0=1;ET0=1;PT0=1;
  157.         EA=1;
  158.         //eoc=0;
  159.         start=0;
  160.         start=1;
  161.         start=0;
  162.         for(;;)
  163.         {               
  164.                 if(eoc)        chuli();
  165.                 for(k=0;k<100;k++)
  166. {        Display();}
  167.         }
  168.         
  169. }        

復制代碼

可以測距,測角度
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产精品人人爽夜夜爽 | 亚州精品天堂中文字幕 | 日韩av在线不卡 | 日韩国产专区 | 国产欧美精品区一区二区三区 | 久久最新 | 中文字幕成人网 | 99热.com| 国产精品色 | 国产不卡一区在线观看 | 一区二区三区精品 | 国产日韩一区二区三区 | 在线日韩视频 | www久久久 | 涩涩导航 | www国产亚洲精品久久网站 | 人碰人操 | 日本电影免费完整观看 | 日韩在线中文字幕 | 国产极品91 | 日韩欧美高清dvd碟片 | 久久精品国产精品青草 | 伊人久久综合 | 精品一二三区在线观看 | 国产高清亚洲 | 国产精品1区 | 久久99网| 中文字幕一区二区三区乱码在线 | 亚洲自拍一区在线观看 | 色婷婷亚洲国产女人的天堂 | 久久久久国产成人精品亚洲午夜 | 视频在线观看一区二区 | 日韩视频一级 | 欧产日产国产精品视频 | 九九伊人sl水蜜桃色推荐 | 亚洲 日本 欧美 中文幕 | 色欧美综合| 999www视频免费观看 | 精品国模一区二区三区欧美 | 欧美一区二区三区在线观看 | av香港经典三级级 在线 |