1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

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

QQ登錄

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

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

步進(jìn)電機(jī)按鍵調(diào)整的單片機(jī)C語(yǔ)言程序問(wèn)題

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

單片機(jī)源程序如下:
#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ù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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