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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32智能小車程序(尋跡+計時)

[復制鏈接]
跳轉到指定樓層
樓主
ID:614806 發表于 2020-12-12 17:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include "delay.h"
  2. #include "key.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "usart2.h"
  6. #include "string.h"
  7. #include "timer.h"
  8. #include "exti.h"
  9. #include "usmart.h"
  10. #include "led.h"



  11. #define RIGHT_V  350
  12. #define LEFT_V 385

  13. extern u32 time;

  14. u16 right_v=RIGHT_V;
  15. u16 left_v=LEFT_V;
  16. u8 last_state=0;
  17. u8  fseg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  18. u8  segbit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
  19. u8  disbuf[4]={0,0,0,0};
  20. u8 LED[8];        //用于LED的8位顯示緩存
  21. unsigned char  LED_0F[] =
  22. {// 0         1          2           3        4         5          6           7        8         9          A           b        C    d          E    F    -
  23.         0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8C,0xBF,0xC6,0xA1,0x86,0xFF,0xbf
  24. };
  25. void LED4_Display (void);       
  26. void LED_OUT(u8 X);




  27. void LED4_Display (void)
  28. {
  29.         unsigned char  *led_table;          // 查表指針
  30.         u8 i;
  31.         //顯示第1位
  32.         led_table = LED_0F + LED[0];
  33.         i = *led_table;

  34.         LED_OUT(i);                       
  35.         LED_OUT(0x01);               

  36.         RCLK=0;
  37.         RCLK=1;
  38.         //顯示第2位
  39.         led_table = LED_0F + LED[1];
  40.         i = *led_table;

  41.         LED_OUT(i);               
  42.         LED_OUT(0x02);               

  43.         RCLK = 0;
  44.         RCLK = 1;
  45.         //顯示第3位
  46.         led_table = LED_0F + LED[2];
  47.         i = *led_table;

  48.         LED_OUT(i);                       
  49.         LED_OUT(0x04);       

  50.         RCLK = 0;
  51.         RCLK = 1;
  52.         //顯示第4位
  53.         led_table = LED_0F + LED[3];
  54.         i = *led_table;

  55.         LED_OUT(i);                       
  56.         LED_OUT(0x08);               

  57.         RCLK = 0;
  58.         RCLK = 1;
  59. }



  60. void LED_OUT(u8 X)
  61. {
  62.         u8 i;
  63.         for(i=8;i>=1;i--)
  64.         {
  65.                 if (X&0x80) DIO=1; else DIO=0;
  66.                 X<<=1;
  67.                 SCLK = 0;
  68.                 SCLK = 1;
  69.         }
  70. }

  71. void zhixing()
  72. {
  73.           TIM_SetCompare2(TIM3,right_v);
  74.                 TIM_SetCompare3(TIM3,left_v);
  75. }
  76. void youzhuan()
  77. {
  78.     TIM_SetCompare2(TIM3,right_v+350);//youlun
  79.                  TIM_SetCompare3(TIM3,left_v-385);
  80. }
  81. void zuozhuan()
  82. {
  83.     TIM_SetCompare2(TIM3,right_v-350);//youlun
  84.                  TIM_SetCompare3(TIM3,left_v+350);
  85. }
  86. void stop()
  87. {
  88.     TIM_SetCompare2(TIM3,899);//youlun
  89.                  TIM_SetCompare3(TIM3,899);
  90. }



  91. int main(void)
  92. {
  93.   u8 t=5;       
  94.   u32 l=0;         
  95.         delay_init();                     //延時函數初始化          
  96.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
  97.         uart_init(115200);         
  98.         usart2_init(115200);
  99.         TIM3_PWM_Init(899,0);         //不分頻。PWM頻率=72000000/900=80Khz                                          //初始化與LED連接的硬件接口
  100.         TIM4_Int_Init(4000-1,2000-1);
  101.         HONGWAI();
  102.   
  103.          
  104.   LED_Init();

  105.         LED[0]=0;
  106.         LED[1]=0;
  107.         LED[2]=0;
  108.         LED[3]=0;
  109.   LED4_Display ();
  110.         while((zuo==0)||(zhong==0)||(you==0))
  111.         {
  112.                         zhixing();
  113.         }
  114.         BEEP=0;
  115.         delay_ms(500);
  116.         BEEP=1;
  117.         time=0;
  118.   while(time!=5)
  119.   {   stop();
  120.                
  121.                   LED[0]=(t-time)%10;
  122.                         LED[1]=0;
  123.                         LED[2]=0;
  124.                         LED[3]=0;
  125.                   LED4_Display ();
  126.         }
  127.   time=0;       
  128.   zhixing();
  129.         delay_ms(300);
  130.         while(1)
  131.         {       
  132.                 LED[0]=time%10;
  133.                 LED[1]=(time/10)%10;
  134.                 LED[2]=(time/100)%10;
  135.                 LED4_Display ();
  136.     if((zuo==0)&&(zhong==1)&&(you==0))
  137.                 {
  138.                   zhixing();
  139.                         last_state=0;
  140.                 }
  141.                 else if((zuo==1)&&(you==0))
  142.                 {
  143.                   zuozhuan();
  144.                         last_state=1;
  145.                 }
  146.                 else if((you==1)&&(zuo==0))
  147.                 {
  148.                   youzhuan();
  149.                         last_state=2;
  150.                                                     
  151.                 }
  152.                 else if((zuo==1)&&(zhong==1)&&(you==1))
  153.                 {
  154.                         l=time;
  155.                   stop();
  156.                         BEEP=0;
  157.                         delay_ms(500);
  158.                         BEEP=1;
  159.                         while(1)
  160.                         {
  161.                                  LED[0]=l%10;
  162.                                 LED[1]=(l/10)%10;
  163.                                 LED[2]=(l/100)%10;
  164.                                 LED4_Display ();        
  165.                         }
  166.                 }
  167.                 else if((zuo==0)&&(zhong==0)&&(you==0))
  168.                 {
  169.                    switch(last_state)
  170.                          {
  171.                                  case 0:zhixing();break;
  172.                                  case 1:zuozhuan();break;
  173.                                  case 2:youzhuan();break;
  174.                          }
  175.                                  
  176.                 }
  177.        
  178.         }       
  179. }
復制代碼


智能小車.7z

225.94 KB, 下載次數: 34, 下載積分: 黑幣 -5

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

使用道具 舉報

沙發
ID:1 發表于 2020-12-12 18:50 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

板凳
ID:771023 發表于 2020-12-12 22:22 | 只看該作者
太棒了博主
回復

使用道具 舉報

地板
ID:582255 發表于 2021-2-13 23:43 | 只看該作者
樓主能分享一下完整的代碼不
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 夜夜精品浪潮av一区二区三区 | 国产成人影院 | 国产免费看 | 国产不卡在线观看 | 狠狠操天天干 | 亚洲一区二区三区在线视频 | 欧美高清性xxxxhd | 中文字幕不卡视频在线观看 | 欧美精品一区在线 | 午夜小电影 | 91pao对白在线播放 | 免费骚视频 | 毛片入口| 蜜桃av一区二区三区 | 亚洲 欧美 综合 | 999国产精品视频 | 国产精品亚洲片在线播放 | www.亚洲精品 | 欧美性生交大片免费 | 激情福利视频 | 欧美日韩在线一区二区 | 91国内精精品久久久久久婷婷 | 精品视频一区二区三区四区 | 婷婷二区| 欧美日韩精品久久久免费观看 | 亚洲中国字幕 | 2021天天干夜夜爽 | 国产欧美三区 | 久久久久久99 | 欧美日在线 | 激情欧美一区二区三区中文字幕 | 国产a区 | 日韩视频在线免费观看 | 99热在线观看精品 | 久久久这里都是精品 | 麻豆av片| 亚洲视频一区二区三区四区 | 亚洲中午字幕 | 中文av网站 | 国产精品国产a级 | 高清视频一区二区三区 |