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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13138|回復(fù): 30
打印 上一主題 下一主題
收起左側(cè)

DIY 循跡小車(加入步進電機、超聲波)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1 發(fā)表于 2013-6-2 01:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. 小車程序 采用C8051f020芯片
  2. #include
  3. #include

  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. #define SYSCLK 22118400
  7. sfr PH0=0xFA;
  8. sfr PH1=0xFB;
  9. sbit IN1=P3^0;
  10. sbit IN2=P3^1;
  11. sbit IN3=P3^2;
  12. sbit IN4=P3^3;
  13. sbit S1=P2^0;
  14. sbit S2=P2^1;
  15. sbit S3=P2^2;
  16. sbit S4=P2^3;
  17. sbit S5=P2^4;
  18. sbit S6=P2^5;

  19. uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
  20. uint num,temp,left,right,t,r,ge,shi,bai,qian;


  21. void SYSCLK_init() //時鐘初始化
  22. {
  23. int i;
  24. OSCXCN=0x67;
  25. for(i=0;i<256;i++);
  26. while(!(OSCXCN&0x80));
  27. OSCICN=0x88;
  28. }

  29. void IO_init() //IO口初始化
  30. {
  31. XBR0=0x10;
  32. XBR1=0x00;
  33. XBR2=0x40;
  34. P0MDOUT=0xff;
  35. P3MDOUT=0xff;
  36. }

  37. void PCA_int_init() //PCA0初始化
  38. {
  39. PCA0MD=0x08; //使用系統(tǒng)時鐘 禁止中斷
  40. PCA0CPM0=0xc2;
  41. PCA0CPM1=0xc2;
  42. PCA0CN=0x40;
  43. PCA0L=0x00;
  44. PCA0H=0x00;
  45. PCA0CPL0=0x00; //設(shè)置PCA0CP0脈沖寬度
  46. PCA0CPH0=240;
  47. PCA0CPL1=0x00; //設(shè)置PCA0CP1脈沖寬度
  48. PCA0CPH1=240;
  49. }

  50. void T_init() //定時器初始化
  51. {
  52. IE=0x82;
  53. TMOD=0x01;
  54. TH0=(65536-18432)/256;
  55. TL0=(65536-18432)%256;
  56. TR0=0;
  57. }

  58. void delay1ms(uint z) //延時函數(shù)
  59. {
  60. uint x,y,i;
  61. for(y=z;y>0;y--)
  62. {
  63. for(x=0;x<10;x++)
  64. for(i=0;i<221;i++);
  65. }
  66. }

  67. void control() //方向控制
  68. {
  69. num=P2;
  70. num=num&0x3f;
  71. switch(num)
  72. {
  73. case 0x0c: //001100 011110 111111
  74. case 0x1e:
  75. case 0x3f:
  76. {
  77. PH0=0xa0; //左路電機
  78. PH1=0xa0; //右路電機
  79. } break;
  80. case 0x0e: //001110 001111 011111
  81. case 0x0f:
  82. case 0x1f:
  83. {
  84. PH0=0xa0;
  85. PH1=0x00;
  86. } break;
  87. case 0x06: //000110 000111
  88. case 0x07:
  89. {
  90. PH0=0xa0;
  91. PH1=0x00;
  92. } break;
  93. case 0x01: //000011 000001
  94. case 0x03:
  95. {
  96. PH0=0xb8;
  97. PH1=0x00;
  98. } break;
  99. case 0x1c: //011100 111100 111110
  100. case 0x3c:
  101. case 0x3e:
  102. {
  103. PH0=0x90;
  104. PH1=0xa0;
  105. } break;
  106. case 0x18: //011000 111000
  107. case 0x38:
  108. {
  109. PH0=0x80;
  110. PH1=0xa0;
  111. } break;
  112. case 0x30: //110000 100000
  113. case 0x20:
  114. {
  115. PH0=0x60;
  116. PH1=0xb8;
  117. } break;
  118. case 0x00: //000000
  119. {
  120. if(PH0<H1)
  121. {
  122. PH0=0x00;
  123. PH1=0x70;
  124. }
  125. if(PH0>H1)
  126. {
  127. PH0=0x70;
  128. PH1=0x00;
  129. }
  130. } break;
  131. }

  132. }

  133. void display(uchar qian,uchar bai,uchar shi,uchar ge) //數(shù)碼管顯示函數(shù)
  134. {
  135. if(qian!=0)
  136. {
  137. P4=0xef;
  138. P7=table[qian];
  139. delay1ms(2);
  140. }
  141. if(qian!=0||bai!=0)
  142. {
  143. P4=0xdf;
  144. P7=table[bai];
  145. delay1ms(2);
  146. }
  147. if(qian!=0||bai!=0||shi!=0)
  148. {
  149. P4=0xbf;
  150. P7=table[shi];
  151. delay1ms(2);
  152. }
  153. P4=0x7f;
  154. P7=table[ge];
  155. delay1ms(2);
  156. }

  157. void main() //主函數(shù)
  158. {
  159. WDTCN=0xde; //關(guān)閉看門狗
  160. WDTCN=0xad;
  161. SYSCLK_init();
  162. IO_init();
  163. PCA_int_init();
  164. T_init();
  165. IN1=0;
  166. IN2=1;
  167. IN3=0;
  168. IN4=1;
  169. TR0=1; //打開定時器
  170. while(1)
  171. {
  172. control();
  173. display(qian,bai,shi,ge);
  174. if(temp==1)
  175. {
  176. temp=0;
  177. ge=shi=bai=qian=0;
  178. display(qian,bai,shi,ge);
  179. for(r=0;r<5;r++)
  180. {
  181. P6=0x00;
  182. delay1ms(1000);
  183. P6=0xff;
  184. delay1ms(1000);

  185. }
  186. IN2=1;
  187. IN4=1;
  188. TR0=1;
  189. }
  190. }
  191. }

  192. void timer0() interrupt 1
  193. {
  194. TH0=(65536-18432)/256;
  195. TL0=(65536-18432)%256;
  196. t++;
  197. if(t==100)
  198. {
  199. t=0;
  200. ge++;
  201. if(ge==10) //秒計數(shù)
  202. {
  203. ge=0;
  204. shi++;
  205. }
  206. if(shi==10)
  207. {
  208. shi=0;
  209. bai++;
  210. }
  211. if(bai==10)
  212. {
  213. bai=0;
  214. qian++;
  215. }
  216. if(qian==10)
  217. ge=shi=bai=qian=0;
  218. }
  219. if(shi==5)
  220. {
  221. IN2=0;
  222. IN4=0;
  223. TR0=0;
  224. temp=1;
  225. }
  226. }
復(fù)制代碼
飛奔中


跑道


小車全景


安裝后內(nèi)部

等待下線


電源、驅(qū)動、傳感器電路

車底傳感器


電源驅(qū)動PCB

超聲波蔽障

超聲波蔽障

步進電機驅(qū)動小車


步進電機驅(qū)動板+電源



評分

參與人數(shù) 1黑幣 +15 收起 理由
564654654 + 15 很給力!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:52482 發(fā)表于 2013-7-31 20:26 | 只看該作者
高手在這里
回復(fù)

使用道具 舉報

板凳
ID:53198 發(fā)表于 2013-8-20 10:58 | 只看該作者
高手很不錯的制作,謝謝分享。
回復(fù)

使用道具 舉報

地板
ID:61326 發(fā)表于 2014-5-4 13:35 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

5#
ID:52919 發(fā)表于 2014-5-5 14:21 | 只看該作者
學(xué)習(xí)了~~~~~
回復(fù)

使用道具 舉報

6#
ID:62522 發(fā)表于 2014-6-2 17:35 | 只看該作者
厲害,大神!
回復(fù)

使用道具 舉報

7#
ID:64606 發(fā)表于 2014-7-31 21:05 | 只看該作者
聽說可以得金幣哇
回復(fù)

使用道具 舉報

8#
ID:64606 發(fā)表于 2014-8-1 00:37 | 只看該作者
M幣到手。。。
回復(fù)

使用道具 舉報

9#
ID:67795 發(fā)表于 2014-10-23 21:50 | 只看該作者
大神,真是不錯啊
回復(fù)

使用道具 舉報

10#
ID:67894 發(fā)表于 2014-10-25 10:21 | 只看該作者
很不錯的設(shè)計
回復(fù)

使用道具 舉報

11#
ID:67573 發(fā)表于 2014-10-27 08:49 | 只看該作者
學(xué)習(xí)下
回復(fù)

使用道具 舉報

12#
ID:68558 發(fā)表于 2014-11-9 11:01 | 只看該作者
不錯學(xué) 習(xí)了
回復(fù)

使用道具 舉報

13#
ID:68558 發(fā)表于 2014-11-9 11:05 | 只看該作者
不錯學(xué)習(xí)了呀
回復(fù)

使用道具 舉報

14#
ID:69092 發(fā)表于 2014-11-20 11:38 | 只看該作者
高手。。。。。。。!
回復(fù)

使用道具 舉報

15#
ID:71533 發(fā)表于 2015-1-6 09:11 來自手機 | 只看該作者
大神,有電路圖不
回復(fù)

使用道具 舉報

16#
ID:72053 發(fā)表于 2015-1-12 13:08 | 只看該作者
研究研究
回復(fù)

使用道具 舉報

17#
ID:72527 發(fā)表于 2015-1-20 10:07 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報

18#
ID:72570 發(fā)表于 2015-1-21 21:38 | 只看該作者
不錯啊,學(xué)習(xí)了
回復(fù)

使用道具 舉報

19#
ID:72611 發(fā)表于 2015-1-23 15:20 | 只看該作者
厲害,高手呀
回復(fù)

使用道具 舉報

20#
ID:72995 發(fā)表于 2015-1-31 12:13 | 只看該作者
好厲害啊
回復(fù)

使用道具 舉報

21#
ID:75123 發(fā)表于 2015-4-1 11:08 | 只看該作者
好像買這些配件來學(xué)習(xí)學(xué)習(xí),給下配件資料別,還有196的學(xué)習(xí)版什么時候有貨
回復(fù)

使用道具 舉報

22#
ID:74143 發(fā)表于 2015-4-3 14:39 | 只看該作者
學(xué)習(xí)了。
回復(fù)

使用道具 舉報

23#
ID:62670 發(fā)表于 2015-4-8 00:01 | 只看該作者
樓主能分享下電路就更好了   
回復(fù)

使用道具 舉報

24#
ID:62670 發(fā)表于 2015-4-8 00:02 | 只看該作者
代碼標(biāo)注在詳細(xì)點就更完美了,
回復(fù)

使用道具 舉報

25#
ID:74471 發(fā)表于 2015-4-8 08:03 | 只看該作者
樓主,程序和原理圖分享一下謝謝1419214137@qq.com
回復(fù)

使用道具 舉報

26#
ID:76306 發(fā)表于 2015-4-8 09:00 | 只看該作者
值得學(xué)習(xí)學(xué)習(xí)  .非常感謝
回復(fù)

使用道具 舉報

27#
ID:75829 發(fā)表于 2015-4-8 22:04 | 只看該作者
吊的很!大神啊
回復(fù)

使用道具 舉報

28#
ID:68477 發(fā)表于 2015-4-12 14:36 | 只看該作者
做的不錯。
回復(fù)

使用道具 舉報

29#
ID:76862 發(fā)表于 2015-4-13 20:38 | 只看該作者
我能問一下,超聲模塊可以循跡嗎?要怎么循跡,還有徹底的傳感器是什么?
回復(fù)

使用道具 舉報

30#
ID:28571 發(fā)表于 2015-4-16 20:37 | 只看該作者

好東西,學(xué)習(xí)一下,謝謝!
回復(fù)

使用道具 舉報

31#
ID:235962 發(fā)表于 2017-9-27 11:06 | 只看該作者
厲害啊樓主
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91麻豆久久久 | 欧美日韩在线一区二区三区 | 一区二区日韩 | 成人精品在线视频 | 中文字幕一区二区三区在线视频 | aa级毛片毛片免费观看久 | 一级黄色影片在线观看 | 欧美成人激情 | 男人天堂99| 亚洲精品乱码久久久久久久久 | 成人性生交大片免费看r链接 | 久久99国产精品 | 逼逼网| 成人在线视频一区 | 久久精品一二三影院 | 欧美亚洲一级 | 91久色 | 成人福利在线观看 | 日韩一三区| 中文字幕亚洲欧美 | 在线日韩视频 | 日日摸夜夜添夜夜添精品视频 | 日韩中文在线 | 亚洲视频不卡 | 激情五月婷婷综合 | 日本精品一区二区三区视频 | 国产九九九 | 色噜噜狠狠色综合中国 | 国产精品亚洲综合 | 国产日韩电影 | 在线播放国产视频 | 久久久久国产成人精品亚洲午夜 | 国产精品欧美一区二区三区不卡 | 成人一区二区三区在线观看 | 成人精品国产一区二区4080 | 欧美激情久久久 | 国产免费观看视频 | 欧美成人手机在线 | 91久久北条麻妃一区二区三区 | 毛片电影| 免费艹逼视频 |