新人求助,盡力了,第一次接觸這方面,然后課程作業有需求。在b站看了很多,跟著視頻下的軟件,根據零基礎做的仿真,然后又一步一步去查串口是什么,但是現在我是完全搞不懂了,就是串口輸入指令那個藍牙RXT,TXT也亮了一下,藍牙應該沒問題吧為啥輪子不轉呢,求大佬幫忙看看是線路哪里出錯了嗎(ps:程序不是自己寫的,up主友情分享愛了,所以應該是本人跟著程序連的線路錯了)
單片機源程序如下:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit LB=P0^0; //左邊馬達下接口 out2
- sbit LF=P0^1; //左上 out1
- sbit RB=P0^2; //右下 out4
- sbit RF=P0^3; //右上 out3
- void stop()
- {
- LF=0;
- LB=0;
- RF=0;
- RB=0;
- }
- void forward()
- {
- LF=1;
- LB=0;
- RF=1;
- RB=0;
- }
- void back()
- {
- LF=0;
- LB=1;
- RF=0;
- RB=1;
- }
- void left()
- {
- LF=0;
- LB=1;
- RF=1;
- RB=0;
- }
- void right()
- {
- LF=1;
- LB=0;
- RF=0;
- RB=1;
-
- }
- void Com_Int(void) interrupt 4
- {
- uchar receive_data;
- EA = 0;
- if(RI == 1)
- {
- RI=0;
- LF=0;
- RF=0;
- LB=0;
- RB=0;
- receive_data = SBUF;
- switch(receive_data)
- {
- case ('1'):
- forward();break;
- case ('2'):
- back();break;
- case ('3'):
- left();break;
- case ('4'):
- right();break;
- case ('0'):
- stop();break;
- }
- }
- EA = 1;
- }
-
- void UsartConfiguration()
- {
- SCON=0X50; //SCON 是一個特殊功能寄存器,用以設定串行口的工作方式、接收/發送控制以及設置狀態標志
- TMOD=0X20;
- PCON=0X00;
- TH1=0Xfd;
- TL1=0Xfd; //波特率為9600算出來的fd
- TR1= 1;
- ES = 1;
- EA = 1;
- }
- void main()
- {
- UsartConfiguration();
- while(1);
- }
復制代碼 |