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

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

QQ登錄

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

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

單片機(jī)按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn)程序,怎么不行呀

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:949074 發(fā)表于 2021-12-19 17:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <REGX51.H>
sbit key1=P1^0;
sbit key2=P1^1;
#define uchar unsigned char
#define uint unsigned int
uchar j;
uchar code steptr[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
uchar code steptl[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
uchar *p;
void delayms(j)
{
        unsigned char i;
        TMOD=0X01;
        for(i=0;i<j;i++)
        {
                TH0=(65536-50000)/256;
                TL0=(65536-50000)%256;
                TR0=1;
                while(!TF0);
                        TF0=0;
        }
}

void key11()
{
        int flag=0;
                if(key1==0&&flag==0)
                {
                        flag=1;
                }
                        if(key1==1&&flag==1)
                        {
                                p=steptr;
                                flag=0;
                        }
}

void key22()
{
        int flag1=0;
                if(key2==0&&flag1==0)
                {
                        flag1=1;
                }
                        if(key2==1&&flag1==1)
                        {
                                p=steptl;
                                flag1=0;
                        }
}

void stepper()
{
        int i=0;
                for(i=0;i<8;i++,p++)
        {
                P2=*p;
                delayms(10);
        }
}

void main()
{
        while(1)
        {
                key11();
                key22();
                stepper();
        }
}

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

使用道具 舉報(bào)

沙發(fā)
ID:993066 發(fā)表于 2021-12-19 19:26 | 只看該作者
/**************************************************************************************
*                         步進(jìn)電機(jī)                                                                                  *

硬件連接:
           P0 -->矩陣鍵盤
                                         DOUT = P3^7;          //輸出
                                         CLK  = P3^6;          //時(shí)鐘
                                         DIN  = P3^4;          //輸入
                                         CS   = P3^5;          //片選
                                         P10   = INA
                                         P11  =  INB
                                         P12  =  INC
                                         P13  =  INB
                                         
                                         OUT A+ A- B+ B-  連接電機(jī)  
                                         
                                         矩陣鍵盤:
                                         0      1      2       3
                                         
                                         4      5      6       7
                                         
                                       
注意事項(xiàng):無(wú)                                                                                                                                                                  
***************************************************************************************/

#include "reg52.h"                       //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include "lcd.h"
#include "key.h"
#include "XPT2046.h"
#include "42Motor.h"

#define u16 unsigned int           //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
#define u8 unsigned char


/*****************************************************************************/
void Display_rate();
/**************************************************************************

/*****************************************************************************/

u8 key_num;
u16 speed;
/*******************************************************************************/
bit dir,m_run;


/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無(wú)
* 輸    出             : 無(wú)
*******************************************************************************/
void main()
{       



       
        while(1)
                                {       
                                                        key_num=KeyDown();                    //讀取鍵值
                                                        switch(key_num)
                                                                {
                                                                        case 0: m_run=~m_run; break;    //開(kāi)/關(guān)
                                                                        case 1: dir=0;        break;    //正轉(zhuǎn)
                                                                        case 2: dir=1;        break;                //反轉(zhuǎn)
                                                                }
                                       
                                                        speed=Read_AD_Data(0x94)/4;       //取ad值
                                                        if(speed>200)      speed-=200;     
                                                        else               speed=1;        //
                                                               
                                                        if(m_run)                 Motor_Run(dir,speed);  //電機(jī)運(yùn)行
                               
                                }       
                               
}
         
/*****************************************************************************/
/*32*/
/*******************************************************************************/
回復(fù)

使用道具 舉報(bào)

板凳
ID:979299 發(fā)表于 2021-12-19 20:01 | 只看該作者
是什么不行啊,程序看上去沒(méi)什么問(wèn)題,配上電路圖大家好分析啊
回復(fù)

使用道具 舉報(bào)

地板
ID:949074 發(fā)表于 2021-12-19 20:25 | 只看該作者
興安xa 發(fā)表于 2021-12-19 20:01
是什么不行啊,程序看上去沒(méi)什么問(wèn)題,配上電路圖大家好分析啊

電路圖沒(méi)問(wèn)題,p1.0,p1.1接按鍵接0v,p2.0-2.3接電機(jī)啟動(dòng)信號(hào)
回復(fù)

使用道具 舉報(bào)

5#
ID:824490 發(fā)表于 2021-12-19 21:05 | 只看該作者
這個(gè)代碼的結(jié)構(gòu),我坦白,我看不明白。。。

回復(fù)

使用道具 舉報(bào)

6#
ID:949074 發(fā)表于 2021-12-19 21:35 | 只看該作者
akesking 發(fā)表于 2021-12-19 19:26
/**************************************************************************************
*                         ...

ok,謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:883242 發(fā)表于 2021-12-19 22:43 | 只看該作者
硬件怎么接的?沒(méi)硬件軟件就是無(wú)根之草。
回復(fù)

使用道具 舉報(bào)

8#
ID:739610 發(fā)表于 2021-12-19 23:03 | 只看該作者
p2.0-2.3是直接驅(qū)動(dòng)步進(jìn)電機(jī)么?需要加驅(qū)動(dòng)電路的  沒(méi)有電路圖  沒(méi)法具體分析  有條件的話用示波器看一下波形
回復(fù)

使用道具 舉報(bào)

9#
ID:949074 發(fā)表于 2021-12-19 23:13 來(lái)自手機(jī) | 只看該作者
00云夢(mèng)澤00 發(fā)表于 2021-12-19 23:03
p2.0-2.3是直接驅(qū)動(dòng)步進(jìn)電機(jī)么?需要加驅(qū)動(dòng)電路的  沒(méi)有電路圖  沒(méi)法具體分析  有條件的話用示波器看一下波 ...

有驅(qū)動(dòng)的,程序沒(méi)問(wèn)題吧
回復(fù)

使用道具 舉報(bào)

10#
ID:949074 發(fā)表于 2021-12-19 23:14 來(lái)自手機(jī) | 只看該作者
Hephaestus 發(fā)表于 2021-12-19 22:43
硬件怎么接的?沒(méi)硬件軟件就是無(wú)根之草。

電路圖沒(méi)問(wèn)題,p1.0,p1.1接按鍵接0v,p2.0-2.3接電機(jī)驅(qū)動(dòng)信號(hào),接驅(qū)動(dòng)板,控制步進(jìn)電機(jī)
回復(fù)

使用道具 舉報(bào)

11#
ID:799986 發(fā)表于 2021-12-19 23:28 | 只看該作者
有驅(qū)動(dòng)的,程序沒(méi)問(wèn)題吧
回復(fù)

使用道具 舉報(bào)

12#
ID:883242 發(fā)表于 2021-12-19 23:29 | 只看該作者
l156613673 發(fā)表于 2021-12-19 23:14
電路圖沒(méi)問(wèn)題,p1.0,p1.1接按鍵接0v,p2.0-2.3接電機(jī)驅(qū)動(dòng)信號(hào),接驅(qū)動(dòng)板,控制步進(jìn)電機(jī)

電機(jī)驅(qū)動(dòng)信號(hào)又是個(gè)啥?
回復(fù)

使用道具 舉報(bào)

13#
ID:844772 發(fā)表于 2021-12-20 08:58 | 只看該作者
這程序是哪里抄來(lái)的啊,至少有2個(gè)問(wèn)題。
1。 void key11()  int flag=0;  // 這個(gè)flag變量要改成 static ,否則按鍵無(wú)效的。另外的一個(gè)也要改。
2。 void stepper()
{
        int i=0;
                for(i=0;i<8;i++,p++) //刪掉p++
        {
                P2=*p; // 改為 P2=*(p+i); 否則只能走8步。
                delayms(10);
        }
}
回復(fù)

使用道具 舉報(bào)

14#
ID:979299 發(fā)表于 2021-12-20 14:02 | 只看該作者
電路沒(méi)問(wèn)題也可以用下面的程序試試
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code FFW[]=
{
        0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
};

uchar code REV[]=
{
        0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};

sbit K1 = P1^0;
sbit K2 = P1^1;

void DelayMS(uint ms)
{
        uchar i;
        while(ms--)
        {
                 for(i=0;i<120;i++);
        }
}

void SETP_MOTOR_FFW(uchar n)
{
        uchar i,j;
        for(i=0;i<5*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                        P2 = FFW[j];
                        DelayMS(25);
                }
        }
}

void SETP_MOTOR_REV(uchar n)
{
        uchar i,j;
        for(i=0;i<5*n;i++)
        {
                 for(j=0;j<8;j++)
                {
                        P2 = REV[j];
                        DelayMS(25);
                }
        }
}

void main()
{
        uchar N = 3;
        while(1)
        {
                 if(K1 == 0)
                {
                         P2 = 0xfe;
                        SETP_MOTOR_FFW(N);
                }
                else if(K2 == 0)
                {
                         P2 = 0xfd;
                        SETP_MOTOR_REV(N);
                }
        }
}
回復(fù)

使用道具 舉報(bào)

15#
ID:994053 發(fā)表于 2021-12-24 14:01 | 只看該作者
這個(gè)程序看不明白
回復(fù)

使用道具 舉報(bào)

16#
ID:407019 發(fā)表于 2021-12-25 14:18 | 只看該作者
void stepper()
{
        int i=0;
                for(i=0;i<8;i++,p++)
        {
                P2=*p;
                delayms(10);
        }
}


修改一下

void stepper()
{
        int i=0;
                for(i=0;i<8;i++)
        {
                P2=*p;
                 p++;
                delayms(5);
        }
}

嘗試一下   
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成年网站 | 国产精品美女久久久久久免费 | 午夜影院在线观看视频 | 中文字幕日韩一区 | 爱爱视频日本 | 久久国产精品偷 | 国产精品高潮呻吟久久 | 免费激情 | a在线观看免费 | 欧美一区中文字幕 | 国产二区三区 | 91精品久久久久久久久中文字幕 | 日本三级网站在线观看 | 亚洲小说图片 | 亚洲国产精品一区二区第一页 | 久久合久久 | 成人免费视频网站在线看 | 久久亚洲经典 | 97精品超碰一区二区三区 | 亚洲精品99 | 男女视频在线观看 | 成人欧美一区二区三区在线播放 | 97超碰在线免费 | 日韩欧美三区 | 亚州精品成人 | 精品欧美一区二区三区久久久 | 国产精品毛片久久久久久久 | 久久久久久一区 | 久久高潮| 国产高清在线精品 | 四虎影音 | 成年视频在线观看福利资源 | 综合激情网 | 在线免费观看一区二区 | 夜久久| 国产中的精品av涩差av | 精品国产一区二区国模嫣然 | 亚洲精品日韩精品 | 婷婷色成人 | 在线观看深夜视频 | 一级毛片免费看 |