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

QQ登錄

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

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

步進(jìn)電機(jī)不穩(wěn)定,單片機(jī)重啟之后隨機(jī)受控制

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:297250 發(fā)表于 2019-2-24 10:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
求大佬給看看感覺(jué)室程序問(wèn)題把,步進(jìn)電機(jī)我設(shè)了個(gè)p0按下才轉(zhuǎn),但是單片機(jī)重啟之后很隨機(jī),大部分會(huì)一直轉(zhuǎn)不停,多重啟幾次會(huì)能有一次正常受控制的程序在下面,求大佬給看看,拜托~~~

#include "reg52.h"                        
#include<intrins.h>               

typedef unsigned int u16;         
typedef unsigned char u8;

sbit MOTOA = P1^0;
sbit MOTOB = P1^1;
sbit MOTOC = P1^2;
sbit MOTOD = P1^3;
sbit pos=P0^0;         

#define SPEED 800
void delay(u16 i)
{
        while(i--);        
}

void main()
{        
        P1=0X00;
        P0=0XFF;
        while(1)
        {
        if(!pos)
        {        
                MOTOA = 1;
                MOTOB = 0;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 0;
                delay(SPEED);

                MOTOA = 0;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 0;
                MOTOD = 1;
                delay(SPEED);
                                                        
        }
}
                   }

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

使用道具 舉報(bào)

沙發(fā)
ID:285863 發(fā)表于 2019-2-24 11:16 | 只看該作者
!pos 要處理一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:10947 發(fā)表于 2019-2-24 18:02 | 只看該作者
上電要先初始化
回復(fù)

使用道具 舉報(bào)

地板
ID:433613 發(fā)表于 2019-2-24 21:27 | 只看該作者
你的按鍵程序沒(méi)寫(xiě)好吧,我試一下按鍵這樣來(lái)寫(xiě)if(pos == 0){ delay(20); if(pos == 0) { “步進(jìn)電機(jī)的內(nèi)容”} while(pos==0); }
回復(fù)

使用道具 舉報(bào)

5#
ID:433613 發(fā)表于 2019-2-24 21:43 | 只看該作者
或者你可以換一種方式,就是按一下按鍵電機(jī)就轉(zhuǎn),再按一下電機(jī)就停,假設(shè)按鍵接的是p10,先定義pos為0,if(p10==0){delay(5)if(p10==0){(pos=~pos)while(!p10);}}  if(pos){ //步進(jìn)電機(jī)的內(nèi)容}
回復(fù)

使用道具 舉報(bào)

6#
ID:383138 發(fā)表于 2019-2-24 21:54 | 只看該作者
什么單片機(jī)?這種可能性大是單片機(jī)干擾了。1、你改用抗干擾強(qiáng)單片機(jī)試試。2、看看是否電源功率太小,同時(shí)單片機(jī)又和步進(jìn)電機(jī)使用同個(gè)電源,導(dǎo)致電源不穩(wěn)定干擾了單片機(jī)。
回復(fù)

使用道具 舉報(bào)

7#
ID:164602 發(fā)表于 2019-2-25 08:58 | 只看該作者
我個(gè)認(rèn)為,你的按鍵接在P00不好,你有上拉電阻嗎?最好換成除P0外的其它口,可能就好了。
回復(fù)

使用道具 舉報(bào)

8#
ID:158375 發(fā)表于 2019-2-25 10:02 | 只看該作者
調(diào)試程序怎么這樣不在行?
可以把電機(jī)改為燈泡試試,看你的硬件部分是否抗干擾。。。。。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表