wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機雙輪循跡小車控制程序(注釋詳細)

[復制鏈接]
跳轉到指定樓層
樓主
一、概述
本雙輪自動尋跡小車旨在實現對任意給定軌跡的快速精準跟蹤,基于單片機控制技術,整合傳感器檢測、電機驅動及路徑規劃算法,構建具備高穩定性的自動尋跡小車。實物設計聚焦于硬件可靠性、軟件邏輯的高效性及系統整體的安全性,適用于智能物流、教育科研及工業巡檢等場景。
二、硬件設計方案
(一)主控芯片
選用STC89C52RC 單片機(STC 品牌,型號 89C52RC),其具備 8KB Flash ROM、256B RAM、3 個 16 位定時器 / 計數器及 6 個中斷源,支持最高 24MHz 晶振頻率,可滿足多任務實時處理需求。搭配最小系統電路,包括 11.0592MHz 晶振與按鍵復位電路,確保芯片穩定運行。程序下載通過MAX232 電平轉換芯片(MAXIM 品牌,型號 MAX232)連接 PC 端串口,支持 STC-ISP 軟件離線下載。
(二)傳感器模塊
采用TCRT5000 反射式紅外光電傳感器,內置高功率紅外發射管與高靈敏度光電晶體管,檢測距離 4-13cm 可調,抗環境光干擾能力強。內置數模轉換,將紅外信號轉換為數字量,實現對黑色軌跡線的精準識別。
(三)電機驅動模塊
選用L298N 電機驅動芯片,支持雙直流電機驅動,工作電壓 5-46V,最大輸出電流 2A。搭配12V/2000mAh 鋰電池供電,通過 PWM 控制電機轉速。電機選型為RS370直流減速電機(電壓 12V,轉速 3000rpm),滿足雙輪小車的驅動力與速度要求。
(四)電源模塊
    12V 鋰電池經 7809(輸出 9V)、7805(輸出 5V)穩壓芯片,分別為電機驅動、傳感器及單片機系統供電。電容濾波網絡(10μF 貼片電容 + 0.1μF 瓷片電容)降低電源紋波,確保各模塊穩定工作。

三、軟件設計方案
(一)軟件設計與代碼實現
軟件基于 STC89C52 單片機開發,采用 C 語言編程,通過 Keil uVision 環境編譯生成 HEX 文件,利用 STC-ISP 工具下載至單片機。代碼核心邏輯圍繞 5 路紅外傳感器(P0.0-P0.4)的信號采集、電機差速控制及 PWM 調速
(二)傳感器信號采集與狀態編碼
代碼通過 P0 口讀取 5 路紅外傳感器狀態,未檢測到黑線時引腳為高電平(邏輯 1),檢測到黑線時為低電平(邏輯 0)。傳感器狀態被組合為 5 位二進制數存儲于sensorValue變量,中間傳感器觸發時狀態為0b11011(對應十六進制0x1B),右側中間傳感器觸發時為0b11101(0x1D),左側雙傳感器觸發時為0b01111(0x0F)。代碼通過Sensor_Read()函數完成狀態采集,采用逐位賦值方式避免sbit類型直接移位運算,確保邏輯正確性。
(三)電機驅動與 PWM 調速
電機驅動采用 L298N 模塊,通過 P2 口控制轉向邏輯(IN1-IN4),并利用定時器 0 生成 PWM 信號調節轉速(ENA/ENB)。定時器 0 工作于模式 1(16 位自動重裝),配置初值實現約 100μs 定時周期,中斷函數中通過pwmCounter計數器(0-100)生成 100Hz PWM 波形。左右電機占空比由cntPWM1(右電機)和cntPWM2(左電機)控制,直行時占空比設為 40%(cntPWM1=40、cntPWM2=40),偏左時右電機占空比提高至 55%-70%、左電機降低至 40%-55%,通過差速實現轉向。
(四)路徑跟蹤邏輯實現
主函數循環調用XunJi()函數執行路徑控制,通過switch-case語句匹配sensorValue狀態。當狀態為0b00000(全黑)或0b11111(全白)時執行停車邏輯;中間傳感器觸發(0b00100對應的flag=0)時調用Forward()函數雙電機正轉;左側傳感器觸發(如0b10000對應的flag=3)時調用TurnLeft1()函數,右電機正轉、左電機反轉并設置較大轉速差(cntPWM1=55、cntPWM2=70);右側傳感器觸發時則調用TurnRight1()函數,通過右電機反轉、左電機正轉糾正偏移。代碼通過固定轉速差策略實現轉向



單片機源程序如下:
  1. #include <reg52.h>          // 包含STC89C52單片機寄存器定義
  2. typedef unsigned int u16;   // 定義無符號16位整數類型
  3. typedef unsigned char u8;   // 定義無符號8位整數類型

  4. // ---------------------- 硬件接口定義 ----------------------
  5. // 電機驅動模塊(L298N)接口
  6. sbit ENA = P2^0;           // 右電機使能引腳(PWM控制轉速)
  7. sbit IN1 = P2^1;           // 右電機方向控制(1=正轉,0=反轉)
  8. sbit IN2 = P2^2;           // 右電機方向控制(1=正轉,0=反轉)
  9. sbit ENB = P2^5;           // 左電機使能引腳(PWM控制轉速)
  10. sbit IN3 = P2^3;           // 左電機方向控制(1=正轉,0=反轉)
  11. sbit IN4 = P2^4;           // 左電機方向控制(1=正轉,0=反轉)

  12. // 紅外傳感器模塊(TCRT5000)接口(5路布局:左外、左中、中間、右中、右外)
  13. // *未探測到黑線時輸出高電平(默認狀態),探測到黑線時輸出低電平*
  14. sbit IR_LeftOuter = P0^0;  // 左側外端傳感器(S1)
  15. sbit IR_LeftMiddle = P0^1; // 左側中間傳感器(S2)
  16. sbit IR_Center = P0^2;     // 中間傳感器(S3)
  17. sbit IR_RightMiddle = P0^3;// 右側中間傳感器(S4)
  18. sbit IR_RightOuter = P0^4; // 右側外端傳感器(S5)

  19. // ---------------------- 全局變量定義 ----------------------
  20. u8 pwmRight = 50;          // 右電機PWM占空比(默認50%,范圍0-100)
  21. u8 pwmLeft = 50;           // 左電機PWM占空比(默認50%,范圍0-100)
  22. u8 sensorValue = 0;        // 傳感器狀態值(5位二進制,高電平=未檢測到黑線)

  23. // ---------------------- 函數聲明 ----------------------
  24. void Timer0_Init();        // 定時器0初始化(PWM生成)
  25. void Motor_Stop();         // 電機停止
  26. void Motor_Forward();      // 電機前進
  27. void Motor_TurnLeft(u8 speed); // 左轉(speed: 0-100 速度差)
  28. void Motor_TurnRight(u8 speed);// 右轉(speed: 0-100 速度差)
  29. void Sensor_Read();        // 讀取傳感器狀態
  30. void Path_Control();       // 路徑控制邏輯

  31. // ---------------------- 主函數 ----------------------
  32. void main() {
  33.     Timer0_Init();          // 初始化定時器0(PWM功能)
  34.     while (1) {
  35.         Sensor_Read();      // 讀取紅外傳感器狀態
  36.         Path_Control();     // 執行路徑跟蹤控制邏輯
  37.     }
  38. }

  39. // ---------------------- 定時器0初始化函數 ----------------------
  40. void Timer0_Init() {
  41.     TMOD &= 0xF0;           // 清除定時器0模式位
  42.     TMOD |= 0x01;           // 設置為模式1(16位自動重裝)
  43.     TH0 = 0xFF;             // 配置100μs定時周期(晶振12MHz時,計數2次)
  44.     TL0 = 0xFE;
  45.     ET0 = 1;                // 使能定時器0中斷
  46.     EA = 1;                 // 使能全局中斷
  47.     TR0 = 1;                // 啟動定時器0
  48. }

  49. // ---------------------- 定時器0中斷函數(PWM生成)----------------------
  50. void Timer0_Interrupt() interrupt 1 {
  51.     static u8 pwmCounter = 0; // PWM周期計數器(0-100,對應100ms周期)
  52.    
  53.     // 右電機PWM控制
  54.     if (pwmCounter < pwmRight) {
  55.         ENA = 1;
  56.     } else {
  57.         ENA = 0;
  58.     }
  59.    
  60.     // 左電機PWM控制
  61.     if (pwmCounter < pwmLeft) {
  62.         ENB = 1;
  63.     } else {
  64.         ENB = 0;
  65.     }
  66.    
  67.     pwmCounter++;
  68.     if (pwmCounter >= 100) { // 周期結束,重置計數器
  69.         pwmCounter = 0;
  70.     }
  71.    
  72.     // 重裝定時器初值
  73.     TH0 = 0xFF;
  74.     TL0 = 0xFE;
  75. }

  76. // ---------------------- 傳感器讀取函數 ----------------------
  77. void Sensor_Read() {
  78.     u8 temp = 0; // 臨時變量,存儲5路傳感器狀態(高電平=1,低電平=0)
  79.    
  80.     // 左外傳感器(P0.0):未檢測到黑線時為1,檢測到為0
  81.     temp |= (IR_LeftOuter ? 1 : 0) << 4; // 最高位(第4位)
  82.     // 左中傳感器(P0.1)
  83.     temp |= (IR_LeftMiddle ? 1 : 0) << 3; // 第3位
  84.     // 中間傳感器(P0.2)
  85.     temp |= (IR_Center ? 1 : 0) << 2; // 第2位(中間位)
  86.     // 右中傳感器(P0.3)
  87.     temp |= (IR_RightMiddle ? 1 : 0) << 1; // 第1位
  88.     // 右外傳感器(P0.4):最低位(第0位)
  89.     temp |= (IR_RightOuter ? 1 : 0) << 0;
  90.    
  91.     sensorValue = temp; // 賦值給全局變量
  92. }

  93. // ---------------------- 路徑控制函數----------------------
  94. void Path_Control() {
  95.     switch (sensorValue) {
  96.         // 中間傳感器觸發(二進制11011 → 十進制27 → 十六進制0x1B)
  97.         case 0x1B:  
  98.             Motor_Forward();
  99.             pwmRight = 60;
  100.             pwmLeft = 60;
  101.             break;
  102.         
  103.         // 左側單傳感器觸發(二進制11101 → 十進制29 → 十六進制0x1D)
  104.         case 0x1D:  
  105.             pwmRight = 70; // 右輪加速
  106.             pwmLeft = 50; // 左輪減速
  107.             Motor_Forward();
  108.             break;
  109.         
  110.         // 全白狀態(二進制11111 → 十進制31 → 十六進制0x1F)
  111.         case 0x1F:  
  112.             Motor_Stop(); // 停車
  113.             break;
  114.         
  115.         default:
  116.             break;
  117.     }
  118. }

  119. // ---------------------- 電機控制函數 ----------------------
  120. void Motor_Forward() {
  121.     IN1 = 1;  // 右電機正轉
  122.     IN2 = 0;
  123.     IN3 = 1;  // 左電機正轉
  124.     IN4 = 0;
  125. }

  126. void Motor_Stop() {
  127.     IN1 = 0;  // 電機停轉
  128.     IN2 = 0;
  129.     IN3 = 0;
  130.     IN4 = 0;
  131. }
復制代碼

以上Keil代碼下載: 雙輪循跡小車.7z (20.25 KB, 下載次數: 0)
原理圖:無
PCB:無

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
麻豆影视在线| a网站在线观看| 91麻豆精品国产91久久久久久| 日韩三级毛片| 国产激情在线视频| 四虎国产成人永久精品免费| 黄色片一区二区| 18精品爽视频在线观看| 少妇熟女视频一区二区三区| 视色,视色影院,视色影库,视色网| 国产精品久久久久77777| 日韩黄在线观看| 岛国av一区二区| 日韩av综合在线| 国内外激情在线| 成人欧美一区二区三区1314| 一区二区精品在线观看| 欧美色图自拍| 国产精品啊啊啊| 久久成人国产精品| 久久精品一区二区三区四区五区 | 97se亚洲综合在线| 国产精品无码天天爽视频| 国产91精品入| 亚洲精品国偷自产在线99热| 99久久人妻无码中文字幕系列| 国产福利免费在线观看| 中文字幕第一页久久| 亚洲激情一区二区| 91www在线观看| 老鸭窝毛片一区二区三区| 日产精品久久久一区二区福利| 无码人妻精品一区二区三区9厂 | 老鸭窝毛片一区二区三区| 国产成人久久精品| 中文字幕一区二区人妻| 精品五月天堂| 亚洲欧美在线一区二区| av黄色在线免费观看| 欧美高清另类hdvideosexjaⅴ| 亚洲成人精品影院| 日韩亚洲在线视频| 蜜臀在线观看| 国产欧美一区二区精品性| 亚洲一区二区三区在线观看视频| 91午夜视频| 日本不卡视频在线| 福利视频一区二区三区| 台湾佬成人中文网222vvv| 亚洲视频一区| 国产精品99久久99久久久二8| 亚洲视频久久久| 伊人久久大香线蕉| 欧美剧在线观看| 91video| 香港久久久电影| 亚洲剧情一区二区| 日韩国产第一页| 欧美电影在线观看网站| 欧美va天堂va视频va在线| 黄免费在线观看| 欧美亚洲大片| 亚洲国产精品大全| 久艹在线观看视频| 日本成人福利| 日韩av在线免费观看一区| 中国一级片在线观看| 国产情侣一区二区三区| 亚洲国产精品va在线| 国产又黄又爽又无遮挡| 经典三级久久| 中文字幕日韩在线播放| 免费在线不卡视频| 亚洲a级精品| 欧美激情极品视频| 91成人在线免费| 99热国内精品| 国产成人自拍视频在线观看| 日本高清视频网站| 日韩视频三区| 国产精品初高中精品久久| 国产浪潮av性色av小说| 精久久久久久久久久久| 亚洲7777| 开心丁香婷婷深爱五月| 国产精品视频看| 成人在线观看黄| 色视频在线免费观看| 在线观看不卡视频| 一区二区三区国产福利| av免费播放| 国产精品久久久久精k8| 婷婷激情四射五月天| 亚洲成人三级| 欧美日韩国产一二三| 草草影院第一页| 久久亚洲国产精品尤物| 三级精品视频久久久久| 中文字幕在线观看欧美| 欧美日韩综合| 国产日韩在线一区二区三区| 福利视频网站导航| 欧美—级在线免费片| 四虎影视国产精品| 黄色网址免费在线| 最新中文字幕在线观看视频| 99riav国产精品视频| 日本成人黄色免费看| 久久精品中文字幕| 精品久久久视频| 精品一区二区在线看| 欧美va天堂| 色伦专区97中文字幕| 黄色av网站免费观看| 日韩在线高清| 91热福利电影| 免费观看又色又爽又黄的网站| 成人丝袜18视频在线观看| 青青青青草视频| 1pondo在线播放免费| 欧美日韩国产一区| 久久久久无码国产精品不卡| 激情婷婷综合| 成人午夜在线影院| 福利小视频网站| 亚洲欧美日韩国产综合在线| 国内自拍偷拍视频| 国产成人精选| 欧美大学生性色视频| 亚洲成a人片77777老司机| 四虎884aa成人精品最新| 午夜精品福利在线观看| 四虎www4hu永久免费| k8久久久一区二区三区| 日韩av片网站| 欧美电影网址| 欧美巨乳美女视频| 伊人影院蕉久552| 99热精品国产| 97超碰人人爽| 国精品产品一区| 韩国三级电影久久久久久| 日韩欧美在线综合| 久久欧美一区二区| 亚洲一级片免费观看| 美女久久久久久| 午夜精品在线视频| 国产精品乱码一区二区三区视频| 国产欧美一区二区在线观看| 日本一级大毛片a一| 精品午夜av| 国产成人精品免费视频| 任你操视频在线观看| 亚洲精品伦理在线| 欧洲一级黄色片| 日韩av影院| 91超碰rencao97精品| 久久久久久77777| 欧美日韩美女一区二区| 欧美亚洲精品天堂| 亚欧成人精品| 妞干网在线观看视频| 麻豆蜜桃在线| 久久久精品视频在线观看| 久久7799| 国产精品少妇自拍| 中文字幕在线看高清电影| 免费欧美一区| 久久久com| 国产福利免费在线观看| 国产丝袜一区二区三区免费视频 | 国产夫妻在线| 欧美激情一区二区三区久久久 | 欧美日本免费一区二区三区| 精品免费囯产一区二区三区| 性久久久久久| 日韩国产欧美亚洲| 人人视频精品| 日本乱人伦a精品| h视频在线观看网站| 色菇凉天天综合网| 久久夜色精品国产噜噜亚洲av| 久久国产66| 日本免费黄视频| 国产成人免费| 欧美不卡在线视频| 亚洲一区二区人妻| 国产a视频精品免费观看| 男插女视频网站| 精品欧美午夜寂寞影院| 国产精品视频在线免费观看 | 亚洲日本视频在线观看| 免费欧美日韩国产三级电影| 波多结衣在线观看| 超碰精品在线观看| 99国产在线| 超碰在线国产| 日韩中文字幕av| 99re6在线视频精品免费| 天天亚洲美女在线视频| 久久久久亚洲av成人毛片韩| 极品少妇xxxx精品少妇| 黄色片子免费看| 神马久久一区二区三区| 亚洲乱码国产乱码精品天美传媒| h片在线观看网站| 久久久欧美一区二区| 色先锋影音av| 日韩欧美久久一区| 四虎永久在线精品免费网址| 国产精品成人网| 青娱乐免费在线视频| 老司机久久99久久精品播放免费| 手机在线免费观看毛片| 精品福利网址导航| 秋霞毛片久久久久久久久| 蜜桃传媒在线观看免费进入| 国产成人免费av| 在线视频中文字幕久| 亚洲午夜精品久久久久久久久久久久 | 日韩激情一区| 浴室偷拍美女洗澡456在线| 日本欧美日韩| 91久久精品国产91久久性色tv| www.亚洲.com| 久久久久久久久久久亚洲| 嫩草影院在线观看网站成人| 精品国产sm最大网站免费看| 性欧美69式xxxxx| 欧美性开放视频| 国产视频在线一区| 国产精品成人网| 日韩欧美高清在线观看| 丁香婷婷综合网| 在线免费看视频| 日本不卡一区二区三区| 国产精品一级黄片| 一区二区日本视频| 无套内谢丰满少妇中文字幕 | 国产精品久久国产愉拍| 国产伦精品一区二区三区免费视频| 欧美一区二区视频| 毛片精品免费在线观看| 99re99| 亚洲午夜精品久久久久久性色 | 国产一级不卡毛片| 激情五月综合网| 久久国产精品视频在线观看| 91麻豆精品国产91久久久久推荐资源| 欧美一区亚洲二区| 外国成人直播| 精品一区二区三区视频日产| av色在线观看| 99re视频在线| av资源网在线播放| 高清国产在线一区| 超碰资源在线| 成人h在线播放| 成人免费图片免费观看| 99精品国产一区二区| 7777kkk亚洲综合欧美网站| 91最新在线免费观看| 午夜小视频在线观看| 成人精品视频在线| 欧美videossex| 1卡2卡3卡精品视频| 国产丝袜在线观看视频| 92福利视频午夜1000合集在线观看| 欧美黄色视屏| 国产99在线播放| 345成人影院| 欧美另类一区| 日韩成人一区| 亚洲自拍偷拍二区| 综合激情网...| 国产精品视频一二三四区| 欧美a级网站| 91九色在线观看视频| 日韩a一区二区| 手机视频在线观看| 韩国亚洲精品| 欧美xxxxx少妇| 日韩中文字幕区一区有砖一区 | 三级精品在线观看| 免费网站在线高清观看| 国产精品一级在线| 国产一二三四在线| 国产婷婷一区二区| 亚洲中文字幕一区二区| 亚洲成人精品在线观看| www.男人天堂.com| 91精品久久久久久久久99蜜臂| 91在线资源站| 中文字幕一区电影| 三级av在线| 国产精品青青在线观看爽香蕉 | 国产亚洲a∨片在线观看| bt电影在线| 久久久久成人精品| 日本欧美在线视频免费观看| 亚洲综合国产精品| 欧美最新精品| 天天爱天天做天天操| 久草成人资源| 午夜视频在线网站| 成人精品动漫| 久久av高潮av| 久久综合av| 久久久久亚洲av无码专区首jn| 蜜臀av在线播放一区二区三区| 国产精品精品软件男同| 国产欧美一区二区三区网站| www.麻豆av| 欧美乱熟臀69xxxxxx| 免费电影网站在线观看| 欧美成人亚洲成人| 欧洲不卡av| 精品91免费| 国产图片一区| 一级片黄色免费| 美女国产一区二区| 日韩女优在线观看| 亚洲一区二区av在线| 欧美图片欧美激情欧美精品| 亚洲天天在线日亚洲洲精| 小小水蜜桃在线观看| 国产在线高清精品| 欧美高清你懂的| 国产中文字幕视频在线观看| 亚洲精品韩国| 日本在线一级片| 亚洲欧美色一区| 亚洲精品自拍区在线观看| 亚洲欧洲自拍偷拍| 国产福利在线看| 激情欧美一区二区三区中文字幕| 风间由美一区二区av101| 天天操,天天操| 麻豆一区二区三| 综合网在线观看| 在线日韩国产精品| 羞羞在线视频| 国产精品久久一区主播| 欧美91在线|欧美| 国产一级不卡毛片| 久久草av在线| 在线视频免费观看一区| 91精品婷婷国产综合久久性色| 男人在线视频资源| 91精品视频在线免费观看| 国产精品久一| 色呦色呦色精品| 成人免费av网站| 亚洲国产精品久久人人爱潘金莲| 欧美精品一区二区三区在线播放| 在线资源av| 精品日本一区二区三区在线观看 | 精品久久久久久无| 在线播放网站| 国产在线欧美日韩| 欧美自拍偷拍| 日本美女bbw| 一区二区欧美国产| 深夜免费福利视频| 欧美一级黄色网| 国产精品久久久久久妇女| 青青草精品视频在线观看| 国产麻豆一精品一av一免费 | 欧美性猛交xxxxbbb| 欧美日韩国产va另类| 色在线免费观看| 久久精品.com| 国产自产视频一区二区三区| 国产视频第一页| 精品亚洲国产成av人片传媒| 香蕉视频网站在线观看| 在线国产99| 亚洲综合日韩| 最新中文字幕在线观看视频| 亚洲精品在线观| 尤物网址在线观看| 99re99热| 日韩中文字幕亚洲一区二区va在线| 亚洲精品国产精品国自产网站按摩| 日韩免费视频一区| xxxxx日韩| 久久久久福利视频| 日本不卡一区二区三区| aaa一区二区| 伊人亚洲福利一区二区三区| 9lporm自拍视频区在线| 日韩黄色片视频| 高清国产一区二区| www中文字幕| 欧美激情一区二区三级高清视频| 成人精品国产亚洲| 精品久久久久一区二区| 亚洲欧洲无码一区二区三区| 黄页网站在线免费观看| 91久久精品一区|