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

QQ登錄

只需一步,快速開始

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

串口發(fā)送數(shù)據(jù)到STC12C5A60S2控制步進(jìn)電機(jī)的正反轉(zhuǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:175798 發(fā)表于 2017-5-6 11:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
串口發(fā)送數(shù)據(jù)到STC12C5A60S2控制步進(jìn)電機(jī)的正反轉(zhuǎn),延時(shí)改了很多次了都不行,可是這個(gè)程序我在51上試了,是可以用的,到底哪里錯(cuò)了?各位大神幫我看看:
#include<12c5a.h>
unsigned char flag;
unsigned char w,i,a;
unsigned int j;

void motor();void motor_z();
void motor_f();

sbit a1=P2^0;                //電機(jī)
sbit b1=P2^1;
sbit c1=P2^2;
sbit d1=P2^3;         

void delay(unsigned char z)
{
        while(z--);
}

void main()
{  
        SCON=0X50;                        //設(shè)置為工作方式1
        TMOD=0X20;                        //設(shè)置計(jì)數(shù)器工作方式2
        PCON=0X80;                        //波特率加倍
        TH1=0XF3;                                //計(jì)數(shù)器初始值設(shè)置,注意波特率是4800的
        TL1=0XF3;
        ES=1;                                                //打開接收中斷
        EA=1;                                                //打開總中斷
        TR1=1;         
        while(1);
        }   
        void ser() interrupt 4
        {  
                RI=0;  
                flag=SBUF;  
                if(flag=='1')  
                {  
                                motor_z();                       
                }  else if(flag=='2')  
                {   
                                motor_f();
                 }  


        }         

void motor_z()
{
                while(1){
                                a1=1;b1=0;c1=0;d1=0;  //1
                                delay(5000);  
                                a1=1;b1=1;c1=0;d1=0;  //2
                                delay(5000);   
                                a1=0;b1=1;c1=0;d1=0;  //3
                                delay(5000);   
                                a1=0;b1=1;c1=1;d1=0;  //4
                                delay(5000);
                                a1=0;b1=0;c1=1;d1=0;  //5
                                delay(5000);   
                                a1=0;b1=0;c1=1;d1=1;  //6
                                delay(5000);  
                                a1=0;b1=0;c1=0;d1=1;  //7
                                delay(5000);
                                a1=1;b1=0;c1=0;d1=1;  //8
                                delay(5000); }
                }

void motor_f()
        {
                 while(1){
                                a1=1;b1=0;c1=0;d1=1;  //8
                                delay(5000);  
                                a1=0;b1=0;c1=0;d1=1;  //7
                                delay(5000);   
                                a1=0;b1=0;c1=1;d1=1;  //6
                                delay(5000);   
                                a1=0;b1=0;c1=1;d1=0;  //5
                                delay(5000);
                                a1=0;b1=1;c1=1;d1=0;  //4
                                delay(5000);   
                                a1=0;b1=1;c1=0;d1=0;  //3
                                delay(5000);  
                                a1=1;b1=1;c1=0;d1=0;  //2
                                delay(5000);
                                a1=1;b1=0;c1=0;d1=0;  //1
                                delay(5000); }
               
                }  

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:175798 發(fā)表于 2017-5-6 12:05 | 只看該作者
我把200~10000內(nèi)的延時(shí)都試了,電機(jī)還是一點(diǎn)反應(yīng)都沒(méi)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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