找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1681|回复: 7
收起左侧

0基础跟着单片机代码和网上视频做的小车仿真但是轮子不动

[复制链接]
ID:1058518 发表于 2022-12-21 01:52 | 显示全部楼层 |阅读模式
新人求助,尽力了,第一次接触这方面,然后课程作业有需求。在b站看了很多,跟着视频下的软件,根据零基础做的仿真,然后又一步一步去查串口是什么,但是现在我是完全搞不懂了,就是串口输入指令那个蓝牙RXT,TXT也亮了一下,蓝牙应该没问题吧为啥轮子不转呢,求大佬帮忙看看是线路哪里出错了吗(ps:程序不是自己写的,up主友情分享爱了,所以应该是本人跟着程序连的线路错了)

单片机源程序如下:
  1. #include<reg52.h>

  2. #define uchar unsigned char
  3. #define uint  unsigned int

  4. sbit LB=P0^0;        //左边马达下接口         out2
  5. sbit LF=P0^1;        //左上                out1
  6. sbit RB=P0^2;        //右下                out4
  7. sbit RF=P0^3;        //右上                out3

  8. void stop()
  9. {
  10.         LF=0;
  11.         LB=0;
  12.         RF=0;
  13.         RB=0;
  14. }

  15. void forward()
  16. {
  17.         LF=1;
  18.         LB=0;
  19.         RF=1;
  20.         RB=0;         
  21. }

  22. void back()
  23. {
  24.         LF=0;
  25.         LB=1;
  26.         RF=0;
  27.         RB=1;        
  28. }

  29. void left()
  30. {
  31.         LF=0;
  32.         LB=1;
  33.         RF=1;
  34.         RB=0;
  35. }

  36. void right()
  37. {
  38.         LF=1;
  39.         LB=0;
  40.         RF=0;
  41.         RB=1;
  42.         
  43. }
  44. void Com_Int(void) interrupt 4
  45. {
  46.         uchar receive_data;        
  47.         EA = 0;
  48.         if(RI == 1)
  49.         {
  50.                 RI=0;
  51.                 LF=0;
  52.                 RF=0;
  53.                 LB=0;
  54.                 RB=0;
  55.                 receive_data = SBUF;
  56.                 switch(receive_data)
  57.                 {
  58.                         case ('1'):
  59.                                 forward();break;
  60.                         case ('2'):
  61.                                 back();break;
  62.                         case ('3'):
  63.                                 left();break;
  64.                         case ('4'):
  65.                                 right();break;
  66.                         case ('0'):
  67.                                 stop();break;
  68.                 }                        
  69.         }               
  70.                 EA = 1;
  71. }
  72.         
  73. void UsartConfiguration()
  74. {        
  75.         SCON=0X50;        //SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志               
  76.         TMOD=0X20;                        
  77.         PCON=0X00;               
  78.         TH1=0Xfd;                    
  79.         TL1=0Xfd; //波特率为9600算出来的fd
  80.         TR1= 1;                                       
  81.         ES = 1;        
  82.             EA = 1;         
  83. }


  84. void main()
  85. {
  86.         UsartConfiguration();        
  87.         while(1);        
  88. }
复制代码
51hei图片20221221015144.png
回复

使用道具 举报

ID:161164 发表于 2022-12-21 17:41 | 显示全部楼层
2022-12-21_173731.png
參考一下
回复

使用道具 举报

ID:1058518 发表于 2022-12-21 22:55 | 显示全部楼层

就是今天我试了好多,这样接线路之后我蓝牙输入1,然后好像我看XCOM那个好像没有接收到,但是那个仿真图里的RTX会亮一下但是轮子还是不动,我现在也不知道到底哪里有问题
图片1.png
回复

使用道具 举报

ID:161164 发表于 2022-12-22 09:24 | 显示全部楼层
COMPIM的设定有设对吗?
2022-12-22_092216.png

回复

使用道具 举报

ID:1058518 发表于 2022-12-22 14:01 | 显示全部楼层
lkc8210 发表于 2022-12-22 09:24
COMPIM的设定有设对吗?

我用的串口是com1和com2,应该没问题吧
1.png
回复

使用道具 举报

ID:1058518 发表于 2022-12-22 15:17 | 显示全部楼层
lkc8210 发表于 2022-12-22 09:24
COMPIM的设定有设对吗?

谢谢大佬帮助,我已经搞定了
回复

使用道具 举报

ID:420836 发表于 2022-12-23 04:40 | 显示全部楼层
你能分享一下你是如何解决这个问题的吗?
回复

使用道具 举报

ID:1058518 发表于 2023-2-12 15:34 | 显示全部楼层
TTQ001 发表于 2022-12-23 04:40
你能分享一下你是如何解决这个问题的吗?

可能有点晚了,我不经常登陆,就是后面线路基本没改我删掉了我的晶振和复位电路,就可以了,当时是在论坛里参考其他老师的线路然后就灵机一动
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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