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

標題: DIY 循跡小車(加入步進電機、超聲波) [打印本頁]

作者: admin    時間: 2013-6-2 01:26
標題: DIY 循跡小車(加入步進電機、超聲波)
  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; //使用系統時鐘 禁止中斷
  40. PCA0CPM0=0xc2;
  41. PCA0CPM1=0xc2;
  42. PCA0CN=0x40;
  43. PCA0L=0x00;
  44. PCA0H=0x00;
  45. PCA0CPL0=0x00; //設置PCA0CP0脈沖寬度
  46. PCA0CPH0=240;
  47. PCA0CPL1=0x00; //設置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) //延時函數
  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) //數碼管顯示函數
  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() //主函數
  158. {
  159. WDTCN=0xde; //關閉看門狗
  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) //秒計數
  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. }
復制代碼
飛奔中


跑道


小車全景


安裝后內部

等待下線


電源、驅動、傳感器電路

車底傳感器


電源驅動PCB

超聲波蔽障

超聲波蔽障

步進電機驅動小車


步進電機驅動板+電源




作者: 鮮の水晶葡萄    時間: 2013-7-31 20:26
高手在這里
作者: 申家坤    時間: 2013-8-20 10:58
高手很不錯的制作,謝謝分享。
作者: xi_chang    時間: 2014-5-4 13:35
謝謝分享
作者: LEAVING    時間: 2014-5-5 14:21
學習了~~~~~
作者: 許你晴天柱    時間: 2014-6-2 17:35
厲害,大神!
作者: 終無畏    時間: 2014-7-31 21:05
聽說可以得金幣哇
作者: 終無畏    時間: 2014-8-1 00:37
M幣到手。。。
作者: HADES_YZ    時間: 2014-10-23 21:50
大神,真是不錯啊
作者: xyz2014sxl    時間: 2014-10-25 10:21
很不錯的設計
作者: blj178    時間: 2014-10-27 08:49
學習下
作者: zyqwyh    時間: 2014-11-9 11:01
不錯學 習了
作者: zyqwyh    時間: 2014-11-9 11:05
不錯學習了呀
作者: szzheng    時間: 2014-11-20 11:38
高手!!!!!!!!!
作者: 日日日    時間: 2015-1-6 09:11
大神,有電路圖不
作者: whrui5033    時間: 2015-1-12 13:08
研究研究
作者: heros    時間: 2015-1-20 10:07
學習了
作者: 一把刀    時間: 2015-1-21 21:38
不錯啊,學習了
作者: delay    時間: 2015-1-23 15:20
厲害,高手呀
作者: 蒲公英lhl    時間: 2015-1-31 12:13
好厲害啊
作者: nry928    時間: 2015-4-1 11:08
好像買這些配件來學習學習,給下配件資料別,還有196的學習版什么時候有貨
作者: lb688    時間: 2015-4-3 14:39
學習了。
作者: dzdalong    時間: 2015-4-8 00:01
樓主能分享下電路就更好了   
作者: dzdalong    時間: 2015-4-8 00:02
代碼標注在詳細點就更完美了,
作者: 老大好    時間: 2015-4-8 08:03
樓主,程序和原理圖分享一下謝謝1419214137@qq.com
作者: H全新    時間: 2015-4-8 09:00
值得學習學習  .非常感謝
作者: 單片菜菜機    時間: 2015-4-8 22:04
吊的很!大神啊
作者: 6ningning    時間: 2015-4-12 14:36
做的不錯。
作者: san    時間: 2015-4-13 20:38
我能問一下,超聲模塊可以循跡嗎?要怎么循跡,還有徹底的傳感器是什么?
作者: yyxtj    時間: 2015-4-16 20:37

好東西,學習一下,謝謝!
作者: e介草民    時間: 2017-9-27 11:06
厲害啊樓主




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产中文字幕在线观看 | 亚洲国产午夜 | 毛片一级电影 | 美女爽到呻吟久久久久 | 国产精品美女久久久久aⅴ国产馆 | 亚洲精品自在在线观看 | 欧美久久久久 | 日日干干夜夜 | 国产一区二区三区 | 黄色三级毛片 | 亚洲在线一区 | 99久久精品国产一区二区三区 | 久久久久av| 日韩av免费看 | 久久91精品国产 | 亚洲精品免费视频 | 国产精品美女久久久久久免费 | 国产精品96久久久久久 | 亚洲精品乱码久久久久久按摩观 | 欧美亚洲日本 | 成人毛片一区二区三区 | 玖操| 午夜a级理论片915影院 | 毛片片| 成人在线免费电影 | 毛片视频网址 | 免费精品在线视频 | 欧美一区二区在线免费观看 | 天天看天天爽 | 精品国产一区二区三区久久影院 | 一区在线播放 | www日本在线观看 | 国产电影一区二区在线观看 | 国产乱码精品一品二品 | 久久91精品国产一区二区 | 成人三级视频 | 国产精品久久在线 | 成人国产免费观看 | 精品成人在线观看 | 久久不卡区 | 91佛爷在线观看 |