欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1646|回復: 1
收起左側

步進電機按鍵調整的單片機C語言程序問題

[復制鏈接]
ID:610895 發表于 2019-10-5 21:16 | 顯示全部樓層 |閱讀模式
設定的參數tt代表半周期,step代表脈沖個數,范圍(50~200),仿真時按鍵調整的時候tt的調整一切正常,step增大調整也正常,step減小調整的時候就變成了一條直線,不再計數了,如果一開始就進行step減小調整,有時候也能正常調整。問題到底出在哪里?

單片機源程序如下:
#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;
    }
}



回復

使用道具 舉報

ID:235200 發表于 2019-10-6 00:03 | 顯示全部樓層
沒看到你的主函數呀,Manual是不是你的主函數?如果是的話,要把名字改為main
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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