亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 電動機(jī)控制程序 求各位大神給予指點(diǎn)和幫助啊!!! [打印本頁]

作者: 563524748    時(shí)間: 2014-8-23 21:42
標(biāo)題: 電動機(jī)控制程序 求各位大神給予指點(diǎn)和幫助。。!

#include<reg52.h>
#define uchar unsigned char
#define uint  unsigned int
sbit P36=P3^6;
sbit P37=P3^7;
sbit P27=P2^7;
sbit Key=P0^2;
uchar Current_Level,Dest_Level;
uint i=0,M=0,N=0;
void DelayMS(uint dly);
void Key_scan(void);
void DcMonitor(void)
{
  if(Current_Level<Dest_Level)
  {
   M=Dest_Level-Current_Level;
   P27=1;
   P36=1;
   P37=0;
   Key_scan();
   for(i=N;i>0;i--)
   {
    Current_Level++;
   }
  }
else if(Current_Level>Dest_Level)
  {
   M=Current_Level-Dest_Level;
   P27=1;
   P36=0;
   P37=1;
   Key_scan();
   for(i=N;i>0;i--)
   {
    Current_Level--;
   }
  }
else
  {
   P27=0;
   P36=0;
   P37=0;
  }
}
void Key_scan(void)
{
  while(N<M)
  {while(Key==0)
   {
    DelayMS(10);
    if(Key==1)
    break;
    while(Key==0);
    N++;
   }
  }
}
void DelayMS (uint dly)
{
uint a,b;
for(a=dly;a>0;a--)
  for(b=247;b>0;b--);
}
void main()
{
P27=0;
P36=0;
P37=0;
  if(P1!=0XFF)
  {
   switch(P1)
   {
    case 0XFE:Dest_Level=5;DcMonitor();break;
    case 0XFD:Dest_Level=4;DcMonitor();break;  
    case 0XFB:Dest_Level=3;DcMonitor();break;
    case 0XF7:Dest_Level=2;DcMonitor();break;
    case 0XEF:Dest_Level=1;DcMonitor();break;
   }
  }
}
我想模擬的過程是這樣的:按下K1,電機(jī)開始轉(zhuǎn)動,右邊的開關(guān)采集到一個(gè)低電平信號之后,電機(jī)停止轉(zhuǎn)動,再按下K5,電機(jī)又開始轉(zhuǎn)動,開關(guān)采集到4個(gè)低電平信號之后,電機(jī)停止轉(zhuǎn)動,再按下K3,電機(jī)反向轉(zhuǎn)動,開關(guān)采集到兩個(gè)信號之后,電機(jī)停止轉(zhuǎn)動。這個(gè)有點(diǎn)類似電梯的控制,程序應(yīng)該怎么改才能實(shí)現(xiàn)這樣的效果啊,求各位幫助,一起討論。!


作者: hujia    時(shí)間: 2014-8-23 23:44
那你現(xiàn)在發(fā)的這個(gè)程序能實(shí)現(xiàn)哪些功能?
作者: hujia    時(shí)間: 2014-8-23 23:45
最好把仿真的工程文件傳上來,我在本地幫你,仿真一下看看
作者: 563524748    時(shí)間: 2014-8-24 09:47
hujia 發(fā)表于 2014-8-23 23:45
最好把仿真的工程文件傳上來,我在本地幫你,仿真一下看看

現(xiàn)在只能實(shí)現(xiàn)按鍵按下了,電機(jī)開始轉(zhuǎn)動,開關(guān)采集到信號之后,電機(jī)停止。先按K1,電機(jī)轉(zhuǎn),開關(guān)采集一個(gè)信號,電機(jī)停止;再按K5,開關(guān)采集5個(gè)信號之后電機(jī)停止;再按K3,電機(jī)轉(zhuǎn)(還是原來的方向,沒有反向轉(zhuǎn)),開關(guān)采集3個(gè)信號之后電機(jī)停止。和我之前描述的過程不大一樣,這里面的問題是程序沒有把上一次按鍵按下的數(shù)值保存下來,供下一次使用,您給指點(diǎn)指點(diǎn)。!
作者: 563524748    時(shí)間: 2014-8-24 09:54
563524748 發(fā)表于 2014-8-24 09:47
現(xiàn)在只能實(shí)現(xiàn)按鍵按下了,電機(jī)開始轉(zhuǎn)動,開關(guān)采集到信號之后,電機(jī)停止。先按K1,電機(jī)轉(zhuǎn),開關(guān)采集一個(gè)信 ...


C.zip (11.75 KB, 下載次數(shù): 8)
作者: 明白    時(shí)間: 2014-8-24 11:54
void main()
{
P27=0;
P36=0;
P37=0;
        while(1)
        {
          if(P1!=0XFF)
          {
                   switch(P1)
                   {
                    case 0XFE:Dest_Level=5; N=0;break;
                    case 0XFD:Dest_Level=4; N=0;break;  
                    case 0XFB:Dest_Level=3; N=0;break;
                    case 0XF7:Dest_Level=2; N=0;break;
                    case 0XEF:Dest_Level=1; N=0;break;
                   }
          }
         DcMonitor();
        }
}
作者: 563524748    時(shí)間: 2014-8-24 15:38
明白 發(fā)表于 2014-8-24 11:54
void main()
{
P27=0;

我試了一下,可以仿真我說的功能了,我明白什么個(gè)意思了,謝謝你了。。!




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1