欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 紅外傳感器+51單片機(jī)循跡小車程序問題 [打印本頁]

作者: 但走一個6    時間: 2021-4-9 22:09
標(biāo)題: 紅外傳感器+51單片機(jī)循跡小車程序問題
采用的是L298n電機(jī)驅(qū)動,通電后紅外傳感器燈是正常的,可以識別黑白線,黑線不亮其他亮,但是電機(jī)一動不動,求大佬幫看下程序有什么問題

單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char   
  3. #define uint  unsigned int

  4. uint PWM_R=0,PWM_L=0,t=0;

  5. sbit inputL=P2^7;
  6. sbit inputR=P2^6;
  7. sbit LB=P2^3;   
  8. sbit LF=P2^2;         
  9. sbit RB=P2^1;         
  10. sbit RF=P2^0;         


  11. void stop(void);
  12. void Timer0Init(void);
  13. void scan(void);
  14. void Timer0(void);

  15. void main()
  16. {
  17.         Timer0Init();  
  18.         EA=1;     
  19.         while(1)
  20.         {
  21.                 scan();
  22.                 Timer0();
  23.         }        
  24. }

  25. void stop(void)
  26. {
  27.         LF=0;
  28.         LB=0;   
  29.         RF=0;
  30.         RB=0;
  31. }

  32. void Timer0Init()  
  33. {
  34.         TMOD|=0X01;

  35.         TH0=(65536-100)/256;        
  36.         TL0=(65536-100)%256;        
  37.         ET0=1;
  38.         TR0=1;               
  39. }

  40. void Timer0() interrupt 1
  41. {
  42.         TH0=(65536-100)/256;
  43.         TL0=(65536-100)%256;
  44.         if(t<PWM_L)
  45.                 LF=1;
  46.         else
  47.                 LF=0;
  48.         if(t<PWM_R)
  49.                 RF=1;
  50.         else
  51.                 RF=0;
  52.         t++;
  53.         if(t>=100)
  54.                 t=0;        
  55. }

  56. void scan()        
  57. {
  58.           if(inputL==1&&inputR==1)
  59.           {
  60.                         PWM_R=0;
  61.                         PWM_L=0;
  62.                         stop();
  63.            }
  64.           if(inputL==0&&inputR==1)
  65.           {
  66.                         PWM_R=0;
  67.                         PWM_L=70;
  68.            }
  69.           if(inputL==1&&inputR==0)
  70.           {
  71.                         PWM_R=70;
  72.                         PWM_L=0;
  73.            }
  74.             if(inputL==0&&inputR==1)
  75.           {
  76.                         PWM_R=40;
  77.                         PWM_L=40;
  78.            }
  79. }

復(fù)制代碼

作者: 但走一個6    時間: 2021-4-10 09:14
頂下,馬上就要比賽了
作者: wqqfE    時間: 2021-4-10 16:59
程序沒問題的話,一般問題就出在外部接線
作者: Secret丶    時間: 2021-4-10 19:02
你仔細(xì)看看你的程序,你是不是最后一個子函數(shù)寫錯了判斷條件,應(yīng)該是
if(inputL==0&&inputR==0)
          {
                        PWM_R=40;
                        PWM_L=40;
           }
作者: 但走一個6    時間: 2021-4-11 10:48
wqqfE 發(fā)表于 2021-4-10 16:59
程序沒問題的話,一般問題就出在外部接線

昨晚寫了個很簡單的測試程序
  1. #include<reg52.h>

  2. sbit IN1 = P1^2;
  3. sbit IN2 = P1^3;
  4. sbit IN3 = P1^6;
  5. sbit IN4 = P1^7;
  6. sbit EN1 = P1^4;
  7. sbit EN2 = P1^5;

  8. void main()
  9. {
  10.         IN1 = 0;
  11.         IN2 = 1;
  12.         IN3 = 1;
  13.         IN4 = 0;
  14.         while(1);
  15. }
復(fù)制代碼


但是燒到單片機(jī)里面小車依然不動,我覺得應(yīng)該是單片機(jī)里面的程序根本沒有被執(zhí)行,觀察了下買的51單片機(jī)的最小系統(tǒng)板子,少了一個叫晶振的東西,白色的有兩個腳的零件,請問是少了這個晶振的原因嗎?
作者: 但走一個6    時間: 2021-4-11 10:50
Secret丶 發(fā)表于 2021-4-10 19:02
你仔細(xì)看看你的程序,你是不是最后一個子函數(shù)寫錯了判斷條件,應(yīng)該是
if(inputL==0&&inputR==0)
         ...

昨晚寫了個很簡單的測試程序,但是依然沒反應(yīng),覺得單片機(jī)里面的程序沒有被執(zhí)行,觀察發(fā)現(xiàn)單片機(jī)少了個叫晶振的零件,銀白色有兩個引腳的那個,請問是因為沒有這個晶振的原因嗎?
測試程序如下
  1. #include<reg52.h>

  2. sbit IN1 = P1^2;
  3. sbit IN2 = P1^3;
  4. sbit IN3 = P1^6;
  5. sbit IN4 = P1^7;
  6. sbit EN1 = P1^4;
  7. sbit EN2 = P1^5;

  8. void main()
  9. {
  10.         IN1 = 0;
  11.         IN2 = 1;
  12.         IN3 = 1;
  13.         IN4 = 0;
  14.         while(1);
  15. }
復(fù)制代碼

用的是L298n電機(jī)驅(qū)動
作者: glinfei    時間: 2021-4-11 15:12
1、自己做的系統(tǒng),晶振藏到51下邊,你看不到,但買的最小系統(tǒng)好多在外邊,建議你拿表測一下是不是有輸出就知道系統(tǒng)起振沒。2、測試程序EN1和EN2沒賦值啊,你把它跳線了嗎?還有L298N電源上面的跳線你怎么接的?這兩個跳線沒弄好都不會轉(zhuǎn)的
作者: 但走一個6    時間: 2021-4-11 17:54
glinfei 發(fā)表于 2021-4-11 15:12
1、自己做的系統(tǒng),晶振藏到51下邊,你看不到,但買的最小系統(tǒng)好多在外邊,建議你拿表測一下是不是有輸出就 ...
  1. #include<reg52.h>

  2. sbit IN1 = P1^2;
  3. sbit IN2 = P1^3;
  4. sbit IN3 = P1^6;
  5. sbit IN4 = P1^7;
  6. sbit EN1 = P1^4;
  7. sbit EN2 = P1^5;

  8. void main()
  9. {
  10.         while(1)
  11.         {
  12.                 IN1 = 0;
  13.                 IN2 = 1;
  14.                 IN3 = 1;
  15.                 IN4 = 0;
  16.                 EN1 = 1;
  17.                 EN2 = 1;
  18.         }
  19. }
復(fù)制代碼


你好,這個是我加上的代碼,又燒寫了一遍,L298n的電源跳冒是接好了的,晶振也插上了,但輪子還是不轉(zhuǎn),不知道問題出在哪里

作者: 但走一個6    時間: 2021-4-11 17:55
C:\Users\DELL\Desktop\1.jpg
這個是接線圖
作者: 啊哈哈123    時間: 2021-4-12 16:17
檢查問題:
1、首先判斷程序驅(qū)動有沒有問題,不用先接到L298n 直接測試單片機(jī)引腳 有沒有高低電平變化。
2、1沒問題,那就證明程序驅(qū)動沒問題。在接到L298n上,接好線路測試。

作者: 啊哈哈123    時間: 2021-4-12 16:25
個人猜想: 可能問題是 L298n外接的電源,電機(jī)啟動瞬間電流過大,電源保護(hù),驅(qū)動不了。最簡單辦法,在電源上串個電抗器

作者: glinfei    時間: 2021-4-12 17:30
但走一個6 發(fā)表于 2021-4-11 17:54
你好,這個是我加上的代碼,又燒寫了一遍,L298n的電源跳冒是接好了的,晶振也插上了,但輪子還是不 ...

程序沒看出問題,拍個你的298接線的照片看看。主要看你是雙電源還是用51供電?雙電源別忘共地,如果用51輸出的電,估計轉(zhuǎn)不動電機(jī),但應(yīng)該能聽到發(fā)出噪音。
作者: glinfei    時間: 2021-4-12 17:32
但走一個6 發(fā)表于 2021-4-11 17:54
你好,這個是我加上的代碼,又燒寫了一遍,L298n的電源跳冒是接好了的,晶振也插上了,但輪子還是不 ...

還有個事,檢查一下你的51系統(tǒng)上的en,好多系統(tǒng)給懸空了,所以不運行。
作者: jfmdam    時間: 2021-4-13 21:38
你用萬用表測試一下,你置位的口是不是高電平,然后再看你的驅(qū)動芯片接法,別接錯了,圖也沒有,只能盲猜
作者: hhjjss    時間: 2021-4-25 16:06
但走一個6 發(fā)表于 2021-4-11 10:50
昨晚寫了個很簡單的測試程序,但是依然沒反應(yīng),覺得單片機(jī)里面的程序沒有被執(zhí)行,觀察發(fā)現(xiàn)單片機(jī)少了個叫 ...

晶振的效果是當(dāng)一個時鐘,電流變化是通交流阻直流。
作者: 嘿嘿嘿嘿嘿嘿1    時間: 2021-5-15 23:56
你好  請問為什么我的電機(jī)偶爾可以受紅外模塊控制,偶爾不行




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1