找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

步進電機按鍵調(diào)整的單片機C語言程序問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:610895 發(fā)表于 2019-10-5 21:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
設(shè)定的參數(shù)tt代表半周期,step代表脈沖個數(shù),范圍(50~200),仿真時按鍵調(diào)整的時候tt的調(diào)整一切正常,step增大調(diào)整也正常,step減小調(diào)整的時候就變成了一條直線,不再計數(shù)了,如果一開始就進行step減小調(diào)整,有時候也能正常調(diào)整。問題到底出在哪里?

單片機源程序如下:
#include <reg51.h>
unsigned int tt,step;
sbit PWM=P2^3;
sbit DIR=P2^4;
sbit EN=P2^5;
sbit k7=P3^7;
sbit k8=P3^6;
sbit k9=P2^7;  
sbit k10=P2^6;
void Manual()
        {
         EN=1;
                  tt=5000;
                  step=50;
            while(1)
                        {
                        shoudong();
                        keyscan();
                        }                              
        }
void keyscan()
{
while(1)
{      
        if(k7==0)
                {
                        delay(10);
                        tt=tt+500;
                        if(tt>=5000)
                        {
                                tt=5000;
                  }
                while(!k7);      
                }
        else if(k8==0)
         {      
                delay(10);
                tt=tt-500;
                if(tt<=2500)
                {
     tt=2500;
    }
                while(!k8);
         }
        else if(k9==0)
        {
                delay(10);
                step=step+50;
                if(step>=200)
                {
     step=200;
    }
                while(!k9);
        }
        else if(k10==0)
         {
                delay(10);
                step=step-50;
                if(step<=50)
     {
      step=50;
     }
                while(!k10);
         }         
}
}
void shoudong()
{
  TMOD=0x01;
  TH0=(65536-tt)/256;
  TL0=(65536-tt)%256;
  EA=1;
  ET0=1;
  TR0=1;
}
void zhongduan( ) interrupt 1
{   
    TH0=(65536-tt)/256;
    TL0=(65536-tt)%256;
    PWM=~PWM;
          t++;
          if(t==step)
                {
     t=0;
                 DIR=~DIR;
    }
}



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

使用道具 舉報

沙發(fā)
ID:235200 發(fā)表于 2019-10-6 00:03 | 只看該作者
沒看到你的主函數(shù)呀,Manual是不是你的主函數(shù)?如果是的話,要把名字改為main
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表