找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8598|回复: 24
打印 上一主题 下一主题
收起左侧

51单片机扫地机器人程序与Proteus仿真原理图

  [复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


电路原理图如下:


单片机源程序如下:
  1. /**************************************************************************************
  2. 实现现象:下载程序后数码管显示0,按下矩阵按键上的按键显示对应的数字
  3.                         S1-S4:0-3
  4.                         S5-S8:4-7
  5.                         S9-S12:8-B
  6.                         S13-S16:C-F。
  7. 注意事项:如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。                                                                                                                                                                  
  8. ***************************************************************************************/

  9. #include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器
  10. #include "lcd.h"

  11. typedef unsigned int u16;          //对数据类型进行声明定义
  12. typedef unsigned char u8;
  13. u16 i=0;
  14. u16 k=0;


  15. sbit D1=P2^0;
  16. sbit D2=P2^1;
  17. sbit D3=P2^2;
  18. sbit D4=P2^3;
  19. sbit D5=P2^4;
  20. sbit D6=P2^5;

  21. sbit CW1=P3^0;
  22. sbit CW2=P3^1;
  23. sbit CW3=P3^2;
  24. sbit CL1=P3^3;
  25. sbit CL2=P3^4;
  26. sbit CL3=P3^5;
  27. sbit CL=P3^6;
  28. sbit ST=P3^7;



  29. void delay(u16 i)
  30. {
  31.         while(i--);        
  32. }
  33. MOTO_INIT()
  34. {
  35.    D1=1;
  36.    D2=0;
  37.    D3=1;
  38.    D4=0;
  39.    D5=1;
  40.    D6=0;
  41.    CW1=1;
  42.    CW2=1;
  43.    CW3=1;
  44. }
  45. void zhi(void)
  46. {
  47. CW1=1;
  48. CW2=1;
  49. }

  50. void zuo(void)
  51. {
  52. CW1=0;
  53. CW2=1;
  54. }
  55. void you(void)
  56. {
  57. CW1=1;
  58. CW2=0;
  59. }
  60. void tui(void)
  61. {
  62. CW1=0;
  63. CW2=0;
  64. }



  65. void InitTimer0(void)
  66. {
  67.     TMOD = 0x11;            // 设置定时器0.1工作在
  68.     TH0 = 0x3C;
  69.     TL0 = 0x0B0;
  70.     TH1 = 0x0FF;
  71.     TL1 = 0x9C;
  72.     EA = 1;
  73.     ET0 = 1;
  74.     TR0 = 1;
  75.     ET1 = 1;
  76.     TR1 = 1;
  77. }
  78. void Timer0Interrupt(void) interrupt 1
  79. {
  80.     TH0 = 0x3C;               //定时时间
  81.     TL0 = 0x0B0;
  82.         ST=~ST;                                               //ADC0808开始信号脉冲
  83.            CL1=~CL1;                                    //步进1的脉冲
  84.         CL2=~CL2;                                        //步进2的脉冲
  85.         i++;                                                //标志位(控制步进电机3)
  86.         if(i==20)                                        //i=20进入一次
  87.         {CL3=~CL3;i=0;k++;}                        //(0-135) 45d度  k 脉冲计数
  88.         if(k==4)
  89.     {k=0;CW3=~CW3;}                            //掉头
  90. }


  91. void Timer1Interrupt(void) interrupt 3
  92. {
  93.       TH1 = 0x0FF;
  94.       TL1 = 0x9C;
  95.       CL=~CL;
  96. }
  97. void main()
  98. {        

  99. MOTO_INIT();
  100. InitTimer0();
  101.         while(1)
  102.          {
  103.          if(P1>0X84)
  104.          tui();
  105.          if(P1>0X80&&P1<0X84)
  106.          zuo();
  107.          else
  108.          zhi();
  109.      }                                       
  110. }
复制代码

Keil5代码与Proteus8.8仿真下载:
扫地机器人 (2).zip (474.24 KB, 下载次数: 298)

评分

参与人数 1黑币 +20 收起 理由
admin + 20 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏18 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:1004155 发表于 2022-2-5 22:28 | 只看该作者
这份资料很有用感谢楼主的分享
回复

使用道具 举报

板凳
ID:956872 发表于 2022-2-6 09:59 来自手机 | 只看该作者
怎么自动充电?我感觉扫地机最重要的就是回充功能啊
回复

使用道具 举报

地板
ID:474195 发表于 2022-3-21 22:08 | 只看该作者
PEB188 发表于 2022-2-6 09:59
怎么自动充电?我感觉扫地机最重要的就是回充功能啊

这个只是大学设计水平,自动回冲的可以用ros 或者 视觉标签电子标签识别

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:1020981 发表于 2022-4-23 17:21 | 只看该作者
有代码讲解吗
回复

使用道具 举报

6#
ID:474195 发表于 2022-5-4 20:51 | 只看该作者

恩。。。。。 兄弟,这个不难的,你得自己看。
回复

使用道具 举报

7#
ID:1024234 发表于 2022-5-8 13:55 | 只看该作者
请问楼主有没有实物图?方便提供一下怎么硬件连接吗?
回复

使用道具 举报

8#
ID:1025326 发表于 2022-5-13 20:14 | 只看该作者
楼主,我这怎么仿真运行不起来
回复

使用道具 举报

9#
ID:1025326 发表于 2022-5-13 20:24 | 只看该作者
抱歉,找到方法了
回复

使用道具 举报

10#
ID:1025326 发表于 2022-5-17 08:14 | 只看该作者
请问这个顶部电机是做什么用的呢?看不太懂
回复

使用道具 举报

11#
ID:474195 发表于 2022-5-23 15:58 | 只看该作者
csg3998 发表于 2022-5-17 08:14
请问这个顶部电机是做什么用的呢?看不太懂

吸尘
回复

使用道具 举报

12#
ID:1032648 发表于 2022-6-6 16:30 来自手机 | 只看该作者
你好,我想问一下这个有用到传感器吗
回复

使用道具 举报

13#
ID:474195 发表于 2022-6-14 20:21 | 只看该作者
51_chuan 发表于 2022-5-8 13:55
请问楼主有没有实物图?方便提供一下怎么硬件连接吗?

没有实物的
回复

使用道具 举报

14#
ID:474195 发表于 2022-6-14 20:21 | 只看该作者
15924518853 发表于 2022-6-6 16:30
你好,我想问一下这个有用到传感器吗

没有的 实质上就是控制多路步进电机
回复

使用道具 举报

15#
ID:1033314 发表于 2022-6-15 11:17 | 只看该作者
您好,请问这个是各电路分别控制上面的各个电机吗,各电路分别是控制哪个电机呢?整个扫地机器人的运行逻辑是...?谢谢
回复

使用道具 举报

16#
ID:474195 发表于 2022-6-17 14:31 | 只看该作者
strive6666 发表于 2022-6-15 11:17
您好,请问这个是各电路分别控制上面的各个电机吗,各电路分别是控制哪个电机呢?整个扫地机器人的运行逻辑 ...

原理图与程序 很清晰,也不难,自己看看就懂,拒绝回答这种提问
回复

使用道具 举报

17#
ID:63541 发表于 2022-6-21 16:57 | 只看该作者
这份资料很有用感谢楼主的分享
回复

使用道具 举报

18#
ID:1045672 发表于 2022-9-23 15:30 | 只看该作者
这份资料很有用感谢楼主的分享
回复

使用道具 举报

19#
ID:824664 发表于 2023-3-15 08:24 | 只看该作者
大家风范,内容丰富,学习感谢。
回复

使用道具 举报

20#
ID:1074130 发表于 2023-4-25 23:41 | 只看该作者
超级棒超级有用 谢谢
回复

使用道具 举报

21#
ID:366877 发表于 2023-4-27 07:32 | 只看该作者
由于没有避障传感器和归位充电功能,这不能讲是扫地机器人,只能讲是多路电机控制系统。
回复

使用道具 举报

22#
ID:1074495 发表于 2023-4-29 11:53 | 只看该作者
这个可以做电量降低到一定程度后,自动到固定的地方充电就好了!!!
回复

使用道具 举报

23#
ID:474195 发表于 2023-8-13 10:48 | 只看该作者
51_chuan 发表于 2022-5-8 13:55
请问楼主有没有实物图?方便提供一下怎么硬件连接吗?

没有的哦
回复

使用道具 举报

24#
ID:474195 发表于 2023-8-13 10:49 | 只看该作者
wdgao 发表于 2023-4-27 07:32
由于没有避障传感器和归位充电功能,这不能讲是扫地机器人,只能讲是多路电机控制系统。

这么说也没有问题,定位不一样
回复

使用道具 举报

25#
ID:474195 发表于 2023-8-13 10:50 | 只看该作者
滑动的憨憨 发表于 2023-4-29 11:53
这个可以做电量降低到一定程度后,自动到固定的地方充电就好了!!!

是的,可以的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表