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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

2.4G無線遙控車制作 STC15單片機源程序

[復制鏈接]
跳轉到指定樓層
樓主
遙控采用STM32F1系列單片機,資料中有關于手柄的原理圖,接收端的車用的STC15L408的單片機。因為是小組合作的項目所以兩個單片機是不同的。整體的思路還是很簡單的。后面附上實物圖。(遙控器的PCB圖如果要直接打板的話需要有點小修改,原理圖我修改了但是板子沒有更新過去)

制作出來的實物圖如下:


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "stc15f2k60s2.h"
  2. #include "nrf.h"
  3. #include "oled.h"
  4. #include "usart.h"
  5. #include "motor.h"

  6. #define L_UPPER_LIMIT                                                240                                        //調節占空比
  7. #define R_UPPER_LIMIT                                                215
  8. unsigned char Count_200ms = 0;
  9. unsigned char Count_10ms = 0;

  10. /************************************ 函數聲明 *******************************************/
  11. void Timer0Init(void);
  12. void Timer2Init(void);
  13. void Task_5Hz(void);
  14. void Task_100Hz(void);

  15. void main()
  16. {
  17.         Motor_Init();
  18.         Uart_Init();                                //串口初始化
  19.         NRF24L01_Init();                //NRF初始化
  20.         NRF24L01_Check();
  21.         OLED_Init();
  22.         OLED_Clear();
  23.         Timer0Init();        
  24.         Timer2Init();
  25.         
  26.         while(1)
  27.         {
  28.                 if(Count_200ms >= 100)
  29.                 {
  30.                         Count_200ms = 0;
  31.                         Task_5Hz();
  32.                 }
  33.                
  34.                 if(Count_10ms >= 10){
  35.                         Count_10ms = 0;
  36.                         Task_100Hz();
  37.                 }        
  38.         }
  39. }

  40. /**********************************************************************************
  41. * 函   數:Task_5Hz()
  42. * 功   能:200ms執行一下里面的任務
  43. * 備   注:
  44. **********************************************************************************/
  45. void Task_5Hz()
  46. {
  47.         Car_StaSet();
  48.         PWM_Set();
  49.         OLED_ShowNum(0, 4, PWMAA, 3, 16);
  50.         OLED_ShowNum(64, 4, PWMBB, 3, 16);
  51. }

  52. /**********************************************************************************
  53. * 函   數:Task_100Hz()
  54. * 功   能:10ms執行一下里面的任務
  55. * 備   注:
  56. **********************************************************************************/
  57. void Task_100Hz()
  58. {
  59.         NRF_24L01();
  60.         MoreThanMAX_Tim();
  61. }

  62. /**********************************************************************************
  63. * 函   數:Timer0Init()
  64. * 功   能:定時器0配置
  65. * 備   注:
  66. **********************************************************************************/
  67. void Timer0Init(void)                //100微秒@11.0592MHz
  68. {
  69.         EA = 1;
  70.         AUXR |= 0x80;                //定時器時鐘1T模式
  71.         TMOD &= 0xF0;                //設置定時器模式
  72.         TL0 = 0xAE;                //設置定時初值
  73.         TH0 = 0xFB;                //設置定時初值
  74.         TF0 = 0;                //清除TF0標志
  75.         TR0 = 1;                //定時器0開始計時
  76.         ET0 = 1;
  77. }


  78. /**********************************************************************************
  79. * 函   數:Timer2Init()
  80. * 功   能:定時器2配置
  81. * 備   注:
  82. **********************************************************************************/
  83. void Timer2Init(void)                //50微秒@11.0592MHz
  84. {
  85.         AUXR |= 0x04;                //定時器時鐘1T模式
  86.         T2L = 0xD7;                //設置定時初值
  87.         T2H = 0xFD;                //設置定時初值
  88.         AUXR |= 0x10;                //定時器2開始計時
  89.         IE2 |= 0x04;
  90. }


  91. /**********************************************************************************
  92. * 函   數:tim0()
  93. * 功   能:定時器0中斷
  94. * 備   注:
  95. **********************************************************************************/
  96. void tim0() interrupt 1
  97. {
  98.         static unsigned int i = 0;
  99.         
  100.         Count_200ms++;
  101.         Count_10ms++;
  102.         i++;
  103.         if(i >= 200){                                        //2S
  104.                 i = 0;
  105.                 MAX_Tim++;
  106.         }
  107. }

  108. void tim2() interrupt 12
  109. {
  110.         static unsigned int PWMA = 0;
  111.         static unsigned int PWMB = 0;
  112.         
  113.         PWMA++;
  114.         PWMB++;
  115.         
  116.         if(PWMA >= L_UPPER_LIMIT)
  117.                 PWMA = 0;
  118.         if(PWMB >= R_UPPER_LIMIT)
  119.                 PWMB = 0;
  120.         
  121.         if(PWMA <= PWMAA)
  122.                 ENA = 1;
  123.         else
  124.                 ENA = 0;
  125.         
  126.         if(PWMB <= PWMBB)
  127.                 ENB = 1;
  128.         else
  129.                 ENB = 0;
  130. }
復制代碼

所有資料51hei提供下載:
2.4G無線遙控車.7z (1.56 MB, 下載次數: 90)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:411864 發表于 2020-2-17 15:34 | 只看該作者
我想要你搖桿和旋鈕的鏈接
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩视频在线播放 | 亚洲精品一区二区三区中文字幕 | 在线中文视频 | 日本高清aⅴ毛片免费 | 中文字幕国产精品 | 国产在线中文字幕 | 色综合视频 | 欧美精品一区二区三区蜜桃视频 | 丁香婷婷综合激情五月色 | 国产精品99久久久久久www | 激情毛片| 免费一级欧美在线观看视频 | 福利视频一区 | 色综合色综合网色综合 | 亚洲精选一区 | 亚洲成人激情在线观看 | 人成精品| 一区二区三区欧美在线观看 | 成人精品国产一区二区4080 | 精品产国自在拍 | 国产精品1区2区 | 中文av字幕| 欧美日本韩国一区二区 | 91精品国产91久久综合桃花 | 久久久tv| 91婷婷韩国欧美一区二区 | 丁香五月网久久综合 | 亚洲精品免费视频 | 狠狠涩| 亚洲一区二区在线 | 欧美精品综合 | 日韩免费av| 成人在线播放网站 | 这里只有精品99re | 亚洲国产小视频 | 亚洲成人一区二区三区 | 国产精品99久久久久久宅男 | 亚洲高清在线 | 国产九一精品 | 一级做a爰片久久毛片免费看 | 成人性视频免费网站 |