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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機超聲波避障小車Proteus仿真程序

  [復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. /* Main.c file generated by New Project wizard
  2. *
  3. * Created:   周五 4月 3 2020
  4. * Processor: AT89C52
  5. * Compiler:  Keil for 8051
  6. */

  7. #include <reg51.h>
  8. #include <stdio.h>
  9. #include <intrins.h>

  10. #define  TX  P1_3
  11. #define  RX  P1_2

  12. #define Forward_L_DATA  180
  13. #define Forward_R_DATA  180        
  14.                            

  15. /*****°′???-í??ó???¨ò?******/
  16. sbit L293D_IN1=P0^0;
  17. sbit L293D_IN2=P0^1;
  18. sbit L293D_IN3=P0^2;
  19. sbit L293D_IN4=P0^3;

  20. sbit L293D_EN1=P0^4;
  21. sbit L293D_EN2=P0^5;

  22. sbit BUZZ=P0^6;


  23. void Delay400Ms(void);


  24. unsigned char disbuff[4]={0,0,0,0};

  25. void Count(void);
  26.                           
  27. unsigned int  time=0;
  28. unsigned long S=0;
  29. bit  flag =0;
  30. bit  turn_right_flag;


  31. //**********************************************************
  32. //oˉêy??3?:Delay1ms(unsigned int i)
  33. //oˉêy1|?ü:?óê±i*1msμ?×ó3ìDò(??ó|óú22.1184Mhz?§??)   
  34. //D?ê?2?êy:unsigned int i
  35. //DD2??μ?÷:?T
  36. //·μ??2?êy:?T
  37. //ê1ó??μ?÷:i?aòa?óê±μ?ê±??3¤?è£?μ¥??ê?MS£?×?′ó?éò??óê±65536 ms
  38. //**********************************************************
  39. void Delay1ms(unsigned int i)
  40. {
  41. unsigned char j,k;
  42. do{
  43.   j = 10;
  44.   do{
  45.    k = 50;
  46.    do{
  47.     _nop_();
  48.    }while(--k);     
  49.   }while(--j);
  50. }while(--i);

  51. }
  52. //**********************************************************
  53. //oˉêy??3?:Delay10us(unsigned char i)
  54. //oˉêy1|?ü:?óê±i*10usμ?×ó3ìDò(??ó|óú22.1184Mhz?§??)   
  55. //D?ê?2?êy:?T
  56. //DD2??μ?÷:?T
  57. //·μ??2?êy:?T
  58. //ê1ó??μ?÷:i?aòa?óê±μ?ê±??3¤?è£?μ¥??ê?US£?×?′ó?éò??óê±250 ms
  59. //**********************************************************
  60. void Delay10us(unsigned char i)
  61. {
  62.    unsigned char j;
  63. do{
  64.   j = 10;
  65.   do{
  66.    _nop_();
  67.    }while(--j);
  68. }while(--i);
  69. }  

  70. //=========================================================================================================================
  71. void Forward()//           ?°??
  72. {

  73.          L293D_IN1=1;
  74.          L293D_IN2=0;
  75.          L293D_IN3=1;
  76.          L293D_IN4=0;
  77. //     PWM_Set(255-Speed_Right,255-Speed_Left);
  78. }
  79. void Stop(void)        //é23μ
  80. {

  81.      L293D_IN1=0;
  82.          L293D_IN2=0;
  83.          L293D_IN3=0;
  84.          L293D_IN4=0;
  85. //         PWM_Set(0,0);
  86. }
  87. void Turn_Retreat()         //oó
  88. {
  89.     L293D_IN1=0;
  90.         L293D_IN2=1;
  91.         L293D_IN3=0;
  92.         L293D_IN4=1;
  93. //        PWM_Set(255-Speed_Right,255-Speed_Left);
  94. }

  95. void Turn_left()         //×ó
  96. {
  97.     L293D_IN1=0;
  98.         L293D_IN2=1;
  99.         L293D_IN3=1;
  100.         L293D_IN4=0;
  101. //        PWM_Set(255-Speed_Right,255-Speed_Left);
  102. }

  103. //=========================================================================================================================
  104. /********?àà?????3ìDò***************/
  105.     void Conut(void)
  106.         {
  107.          time=TH1*256+TL1;
  108.          TH1=0;
  109.          TL1=0;
  110.         
  111.          
  112.                     
  113.                                 
  114.                                 
  115.                                 
  116.                                 
  117.                                 

  118.         S=time*2;
  119.            S=S*0.17;
  120.          if(S<=300)         
  121.          {        
  122.             if(turn_right_flag!=1)
  123.                 {
  124.                     Stop();
  125.                     Delay1ms(5);
  126.                 }
  127.                 turn_right_flag=1;
  128.                
  129.                 P1_7=0;
  130.                 P2_0=0;
  131.                 P0_6=0;

  132.                 Delay1ms(10);
  133.                
  134.                 P1_7=1;
  135.                 P2_0=1;
  136.                 P0_6=1;

  137.            
  138.            
  139.            Delay1ms(5);         
  140.          
  141.            Turn_left();
  142.            Delay1ms(10);           

  143.          }
  144.          else
  145.          {
  146.             turn_right_flag=0;
  147.             
  148.                 Forward();


  149.          }
  150.          
  151.          if((S>=5000)||flag==1)
  152.          {        
  153.           flag=0;
  154.       
  155.          }
  156.          else
  157.          {
  158.       disbuff[0]=S%10;
  159.           disbuff[1]=S/10%10;
  160.           disbuff[2]=S/100%10;
  161.           disbuff[3]=S/1000;
  162.          }
  163.         }

  164. /********************************************************/
  165.      void zd0() interrupt 3                  
  166.   {
  167.     flag=1;                        
  168.         RX=0;
  169.   }

  170. /********3?éù2¨??μ?????3??í?è????3ìDò***************/
  171. void Timer_Count(void)
  172. {
  173.                  TR1=1;                           
  174.              while(RX);                        
  175.              TR1=0;                                
  176.          Conut();                        

  177. }
  178. /********************************************************/
  179.    void  StartModule()                          
  180.   {
  181.           TX=1;                                             
  182.       Delay10us(2);
  183.           TX=0;
  184.   }
  185. /********************************************************/

  186. /*************?÷3ìDò********************/
  187. void main(void)
  188. {
  189.     unsigned char i;
  190.         unsigned int a;
  191.         
  192.         Delay1ms(400);
  193. //        LCMInit()
  194.         Delay1ms(5);
  195.    TMOD=TMOD|0x10;
  196.     EA=1;
  197.     TH1=0;
  198.     TL1=0;         
  199.     ET1=1;            
  200.                                    
  201.         
  202.         
  203.         
  204.         turn_right_flag=0;
  205.         
  206.         BUZZ=0;        
  207.         Delay1ms(50);
  208.         BUZZ=1;
  209.         
  210.          while(1)
  211.           {
  212.                 RX=1;
  213.             StartModule();
  214.         for(a=951;a>0;a--)
  215.             {
  216.                   
  217.                if(RX==1)
  218.                    {
  219.            Timer_Count();
  220.                    }
  221.              }
  222.            }
  223. }

  224. }
復制代碼

我的這個程序目前還存在很多問題,大家幫忙一起完善下吧: 51避障小車仿真.rar (73.42 KB, 下載次數: 341) ,
大家可以參考下面2個做得比較好的,一起學習
http://www.zg4o1577.cn/bbs/dpj-175787-1.html
http://www.zg4o1577.cn/bbs/dpj-200484-1.html

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:750022 發表于 2020-5-13 10:59 | 只看該作者
樓主,可以運行,但是仿真結果怎么觀察,
回復

使用道具 舉報

板凳
ID:698914 發表于 2020-5-13 22:10 | 只看該作者
下載后用什么打開啊  
回復

使用道具 舉報

地板
ID:497556 發表于 2020-6-2 17:24 | 只看該作者
感謝樓主,仿真怎么觀察啊
回復

使用道具 舉報

5#
ID:793926 發表于 2020-6-30 16:37 | 只看該作者
下載后仿真怎么打開
回復

使用道具 舉報

6#
ID:798260 發表于 2020-7-6 13:45 | 只看該作者
程序 出亂碼了啊
回復

使用道具 舉報

7#
ID:89286 發表于 2020-7-28 09:41 | 只看該作者
Thanks for sharing
回復

使用道具 舉報

8#
ID:848219 發表于 2020-12-4 13:43 | 只看該作者
祥子沖沖沖 發表于 2020-5-13 10:59
樓主,可以運行,但是仿真結果怎么觀察,

知道怎樣看仿真了嗎
回復

使用道具 舉報

9#
ID:945628 發表于 2021-7-1 17:36 | 只看該作者
majiedong2020 發表于 2020-5-13 22:10
下載后用什么打開啊

用Keil打開
回復

使用道具 舉報

10#
ID:966389 發表于 2021-10-31 20:13 | 只看該作者
仿真怎么觀察啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本又色又爽又黄的大片 | 色吧色综合 | 亚洲精品一区二区三区蜜桃久 | 国产黄色电影 | 91美女在线观看 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 国产在线精品一区二区 | 久久成人精品视频 | 成人av网站在线观看 | 国产在线精品一区二区 | 亚洲一区二区免费视频 | 午夜精品在线 | 日韩精品一区在线 | 亚洲国产欧美一区二区三区久久 | 久草在线 | 亚洲欧洲激情 | 国产精品国产精品 | 成人影院午夜 | 在线视频成人 | www.av在线| 久久亚洲春色中文字幕久久久 | 在线免费观看a级片 | 黄a免费网络 | 99精品一区二区 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 人人擦人人 | 久久久噜噜噜久久中文字幕色伊伊 | 一区中文字幕 | 精品亚洲一区二区 | 夜夜操操操 | 精品国产乱码久久久久久蜜退臀 | 欧美精品一区在线 | 米奇成人网 | 最新黄色毛片 | 精品熟人一区二区三区四区 | 毛片视频网址 | 波多野结衣精品 | 日韩精品久久一区 | 免费v片 | 成年人在线电影 | 国产精品久久久久久久久久久久 |