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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)尋跡小車PROTEUS仿真及代碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:687441 發(fā)表于 2020-3-28 01:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
四路尋跡小車仿真,液晶顯示小車行駛狀態(tài)
包括直行,小右轉(zhuǎn),大右轉(zhuǎn),小左轉(zhuǎn),大左轉(zhuǎn)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>//52頭文件
  2. #include <lcd.h>//液晶顯示配置文件
  3. unsigned char pwm_left_val; //左電機(jī)占空比值 取值范圍0-170,0最快
  4. unsigned char pwm_right_val; //右電機(jī)占空比值取值范圍0-170 ,0最快
  5. unsigned char pwm_t;//周期

  6. void delay(unsigned int z)//毫秒級(jí)延時(shí)
  7. {
  8.         unsigned int x,y;
  9.         for(x = z; x > 0; x--)
  10.                 for(y = 114; y > 0 ; y--);
  11. }       
  12. /*小車前進(jìn)*/
  13. int forward()
  14. {
  15.         pwm_left_val=100;
  16.         pwm_right_val=100;
  17.         left_motor_go; //左電機(jī)前進(jìn)
  18.         right_motor_go; //右電機(jī)前進(jìn)
  19. }
  20. /*小車小左轉(zhuǎn)*/
  21. int xiaoleft_run()
  22. {
  23.         pwm_left_val=170;
  24.         pwm_right_val=100;
  25.         left_motor_go; //左電機(jī)前進(jìn)
  26.         right_motor_go; //右電機(jī)前進(jìn)
  27. }
  28. /*小車大左轉(zhuǎn)*/
  29. void daleft_run()
  30. {
  31.         left_motor_stops; //左電機(jī)停止
  32.         right_motor_go; //右電機(jī)前進(jìn)
  33. }
  34. /*小車小右轉(zhuǎn)*/
  35. int xiaoright_run()
  36. {
  37.         pwm_left_val=100;
  38.         pwm_right_val=170;
  39.         left_motor_go; //左電機(jī)前進(jìn)
  40.         right_motor_go; //右電機(jī)前進(jìn)
  41. }
  42. /*小車大右轉(zhuǎn)*/
  43. void daright_run()
  44. {
  45.         right_motor_stops;//右電機(jī)停止
  46.         left_motor_go;    //左電機(jī)前進(jìn)
  47. }
  48. //定時(shí)器0中斷
  49. void timer0() interrupt 1
  50. {
  51.         pwm_t++;//周期計(jì)時(shí)加
  52.         if(pwm_t == 255)
  53.                 pwm_t = EN1 = EN2 = 0;
  54.         if(pwm_left_val == pwm_t)//左電機(jī)占空比       
  55.                 EN1 = 1;               
  56.         if(pwm_right_val == pwm_t)//右電機(jī)占空比
  57.                 EN2 = 1;                         
  58. }
  59. void main()
  60. {
  61.         for(;;)        //死循環(huán)
  62.         {
  63.                 if(key == 0)// 實(shí)時(shí)檢測(cè)S2按鍵是否被按下
  64.                 {
  65.                         delay(5); //軟件消抖
  66.                         LCDInit();
  67.               DisplayString(0x0,0,"Left's Go");
  68.                   break;                //退出FOR死循環(huán)
  69.                 }
  70.         }
  71.         delay(1000);//延時(shí)1秒
  72.         TMOD |= 0x02;//8位自動(dòng)重裝模塊
  73.         TH0 = 220;
  74.         TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
  75.         TR0 = 1;//啟動(dòng)定時(shí)器0
  76.         ET0 = 1;//允許定時(shí)器0中斷
  77.         EA        = 1;//總中斷允許
  78.         while(1)
  79.         {
  80.                 //為0 沒(méi)有識(shí)別到黑線 為1識(shí)別到黑線
  81.                 if(left2_led == right1_led)
  82.                 {
  83.                         forward();//前進(jìn)
  84.                         WriteCmd(LCD_CLS);
  85.                         DisplayString(0x0,0,"forward");
  86.                         delay(200);
  87.                 }
  88.                 else if(left1_led == 0 && left2_led == 1 && right1_led== 0 && right2_led== 0 )//左邊觸線,小左轉(zhuǎn)修正
  89.                         {
  90.                                 xiaoleft_run();
  91.                                 WriteCmd(LCD_CLS);
  92.                             DisplayString(0x0,0,"Turn Left small");
  93.                             delay(200);
  94.                         }
  95.                 else if(left1_led == 1 && left2_led == 1 && right1_led== 0 && right2_led== 0 )//最左邊觸線,大左轉(zhuǎn)修正
  96.                         {
  97.                             daleft_run();
  98.                                 WriteCmd(LCD_CLS);
  99.                             DisplayString(0x0,0,"Turn Left big");
  100.                             delay(200);
  101.                         }
  102.                 else if(left1_led == 0 && left2_led == 0 && right1_led== 1 && right2_led== 0 )//右邊觸線,小右轉(zhuǎn)修正
  103.                         {
  104.                             xiaoright_run();
  105.                                 WriteCmd(LCD_CLS);
  106.                             DisplayString(0x0,0,"Turn Right small");
  107.                             delay(200);
  108.                         }       
  109.            else if(left1_led == 0 && left2_led == 0 && right1_led== 1 && right2_led== 1 ) //最右邊觸線,大右轉(zhuǎn)修正
  110.                     {
  111.                             daright_run();
  112.                                 WriteCmd(LCD_CLS);
  113.                             DisplayString(0x0,0,"Turn Right big");
  114.                             delay(200);
  115.                     }       
  116.                 }               
  117.         }
復(fù)制代碼

所有資料51hei提供下載:
尋跡小車.rar (132 KB, 下載次數(shù): 195)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:721016 發(fā)表于 2020-4-15 15:26 | 只看該作者
我想問(wèn)一下proteus仿真的時(shí)候怎么判斷是不是在執(zhí)行循跡啊。顯示屏上一直顯示直行按開(kāi)關(guān)也沒(méi)反應(yīng)。還是說(shuō)proteus看不到這樣的效果
回復(fù)

使用道具 舉報(bào)

板凳
ID:728133 發(fā)表于 2020-5-1 23:08 | 只看該作者
搞好了,沒(méi)有問(wèn)題
回復(fù)

使用道具 舉報(bào)

地板
ID:753887 發(fā)表于 2020-5-22 09:31 來(lái)自手機(jī) | 只看該作者
沒(méi)有電路圖啊
回復(fù)

使用道具 舉報(bào)

5#
ID:772902 發(fā)表于 2021-4-25 15:51 | 只看該作者
這個(gè)尋跡是采用光電還是紅外傳感器啊
回復(fù)

使用道具 舉報(bào)

6#
ID:912376 發(fā)表于 2021-4-28 17:38 | 只看該作者
這個(gè)仿真圖里沒(méi)有尋跡模塊,只是在用開(kāi)關(guān)控制小車前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)
回復(fù)

使用道具 舉報(bào)

7#
ID:940368 發(fā)表于 2021-6-19 12:11 | 只看該作者
請(qǐng)問(wèn)這個(gè)頭文件和液晶顯示配置文件在壓縮包有嗎
回復(fù)

使用道具 舉報(bào)

8#
ID:938892 發(fā)表于 2021-6-19 13:25 | 只看該作者

搞好了,沒(méi)有問(wèn)題
回復(fù)

使用道具 舉報(bào)

9#
ID:945628 發(fā)表于 2021-6-28 21:14 | 只看該作者
能兩個(gè)輪子一起動(dòng)嗎?好多程序都是只能一個(gè)輪子動(dòng)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品高 | 国产免费又色又爽又黄在线观看 | 欧美精品久久 | 欧美日韩国产一区二区三区 | 一级毛片播放 | 精品中文字幕一区二区 | 在线国产小视频 | 亚洲性网 | 国产成人自拍一区 | 亚洲成人精品久久久 | 99久久精品国产毛片 | 99成人 | 国产精品99久久久久久动医院 | 精品成人一区 | 99久久婷婷| 青青草在线视频免费观看 | 国产日韩一区二区 | 日韩在线| 欧美综合网| 精品免费视频一区二区 | 精品一级毛片 | 亚洲精品久久久久久久久久吃药 | 免费久| 日韩视频精品在线 | 日本不卡免费新一二三区 | 久久精品国产99国产精品 | 亚洲在线久久 | 亚洲精品视频久久 | 九九九久久国产免费 | 日韩av免费在线电影 | 国产精品色 | 日日天天 | 久久久美女 | 色视频成人在线观看免 | 欧美三级在线 | 亚洲精品黄色 | 一级毛片免费看 | 久久草在线视频 | 精品乱码一区二区 | www.久久.com | 精品日韩一区二区 |