久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3290|回復: 10
收起左側

為什么單片機按鍵控制電機不動,一直響,求解

[復制鏈接]
ID:858009 發表于 2021-5-18 11:19 | 顯示全部樓層 |閱讀模式
#include <reg51.h>           //頭文件
#define uchar unsigned char
#define uint unsigned int
unsigned char keyval;   //存儲按鍵值
code BeatCode[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};   //正轉
code defeatcode[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //反轉
void delay(uint z); //延時函數
int i;           //變量
sbit S1=P3^0;   //按鍵
unsigned long beats=0;
void StartMotor(unsigned long angle);
unsigned char tmp;
static unsigned char index=0;

void StartMotor(unsigned long angle)
{
        EA=0;
        beats=(angle*4076)/360;
        EA=1;
}
void moveup()
{
        tmp = P1;
        tmp = tmp & 0xF0;
        tmp = tmp | BeatCode[index];                        
        P1 = tmp;
        index++;
        index = index & 0x07;
        beats--;
}
void main()
{
        TMOD=0x01;
        EA=1;
        ET0=1;
        TR0=1;
        TH0=0xF8;
        TL0=0xCD;
        keyval=0;
        StartMotor(10);   //轉動十度
        while(1)
        {
                switch(keyval)
                {
                        case 1:moveup();break;
                }
        }
}
void Time0() interrupt  1
{
        TH0=0xF8;
        TL0=0xCD;
        if((P3&0x0f)!=0x0f)
        {
                delay(5);
                if(S1==0)
                        keyval=1;
        }
}
void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}

回復

使用道具 舉報

ID:277550 發表于 2021-5-18 12:49 | 顯示全部樓層
驅動電壓、電流,是否足夠,不可以直接單片機的IO驅動的
回復

使用道具 舉報

ID:844772 發表于 2021-5-18 15:00 | 顯示全部樓層
moveup() 里面沒有延時啊,步進電機的每步要加個延時,否則轉不起來,頂多抖動發聲。
回復

使用道具 舉報

ID:520967 發表于 2021-5-18 15:05 | 顯示全部樓層
先用指示燈看下控制是否出現錯誤,在查看驅動電流是否足夠
回復

使用道具 舉報

ID:808225 發表于 2021-5-18 18:16 | 顯示全部樓層
普通直流電機,51開發板可以驅動的,建議看看代碼有沒有錯。
回復

使用道具 舉報

ID:858009 發表于 2021-5-18 18:20 | 顯示全部樓層
漠城 發表于 2021-5-18 18:16
普通直流電機,51開發板可以驅動的,建議看看代碼有沒有錯。

編譯代碼沒有出錯
回復

使用道具 舉報

ID:858009 發表于 2021-5-18 18:20 | 顯示全部樓層
devcang 發表于 2021-5-18 12:49
驅動電壓、電流,是否足夠,不可以直接單片機的IO驅動的

使用un2003驅動
回復

使用道具 舉報

ID:858009 發表于 2021-5-18 18:21 | 顯示全部樓層
glinfei 發表于 2021-5-18 15:00
moveup() 里面沒有延時啊,步進電機的每步要加個延時,否則轉不起來,頂多抖動發聲。

加延時就出錯
回復

使用道具 舉報

ID:858009 發表于 2021-5-18 18:22 | 顯示全部樓層
glinfei 發表于 2021-5-18 15:00
moveup() 里面沒有延時啊,步進電機的每步要加個延時,否則轉不起來,頂多抖動發聲。

沒有任何反應
回復

使用道具 舉報

ID:889094 發表于 2021-5-18 21:40 來自觸屏版 | 顯示全部樓層
什么電機都不說一下,怎么判斷?估計是5線4相小電機,換相之間延時要大于100us,這個值要自己試試,從大往小調
回復

使用道具 舉報

ID:889094 發表于 2021-5-18 21:43 來自觸屏版 | 顯示全部樓層
qwettyuio 發表于 2021-5-18 18:21
加延時就出錯

加延時出錯就查出錯的原因
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99免费在线| 欧美精品在线免费 | 久久久精品一区 | 日韩一区二区三区在线观看 | 国产精品国产精品国产专区不片 | 亚洲福利视频网 | 国产成人免费视频网站高清观看视频 | 男人久久天堂 | 久久毛片 | 狠狠艹| 91免费在线看 | 国产精品伦一区二区三级视频 | 国产精品久久久久久吹潮 | 午夜亚洲| 欧美性视频在线播放 | 精品网站999 | 久久极品 | 中文字幕一区二区三区四区 | 日本黄色高清视频 | 亚洲三区在线播放 | 国产午夜精品一区二区三区在线观看 | 欧美性生活一区二区三区 | 一区二区免费 | 日本欧美国产 | 国产精品一卡二卡三卡 | 99久久免费精品国产免费高清 | 国产精品一区二区三区免费观看 | 美女艹b | 中文字幕不卡 | 亚洲综合日韩精品欧美综合区 | 国产高清视频一区二区 | 中文字幕亚洲区一区二 | 男人的天堂久久 | 日韩在线视频一区二区三区 | 日韩欧美国产精品一区二区 | 国产精品视频一区二区三区, | 久久精品99久久 | 粉嫩一区二区三区性色av | 久久国产视频网 | 99久久久国产精品 | 亚洲综合一区二区三区 |