久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3401|回復: 6
收起左側

電動機控制程序 求各位大神給予指點和幫助。。。

[復制鏈接]
ID:59839 發表于 2014-8-23 21:42 | 顯示全部樓層 |閱讀模式
QQ截圖20140823212706.png
#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,電機開始轉動,右邊的開關采集到一個低電平信號之后,電機停止轉動,再按下K5,電機又開始轉動,開關采集到4個低電平信號之后,電機停止轉動,再按下K3,電機反向轉動,開關采集到兩個信號之后,電機停止轉動。這個有點類似電梯的控制,程序應該怎么改才能實現這樣的效果啊,求各位幫助,一起討論!!

回復

使用道具 舉報

ID:26188 發表于 2014-8-23 23:44 來自手機 | 顯示全部樓層

回帖獎勵 +1

那你現在發的這個程序能實現哪些功能?
回復

使用道具 舉報

ID:26188 發表于 2014-8-23 23:45 來自手機 | 顯示全部樓層
最好把仿真的工程文件傳上來,我在本地幫你,仿真一下看看
回復

使用道具 舉報

ID:59839 發表于 2014-8-24 09:47 | 顯示全部樓層
hujia 發表于 2014-8-23 23:45
最好把仿真的工程文件傳上來,我在本地幫你,仿真一下看看

現在只能實現按鍵按下了,電機開始轉動,開關采集到信號之后,電機停止。先按K1,電機轉,開關采集一個信號,電機停止;再按K5,開關采集5個信號之后電機停止;再按K3,電機轉(還是原來的方向,沒有反向轉),開關采集3個信號之后電機停止。和我之前描述的過程不大一樣,這里面的問題是程序沒有把上一次按鍵按下的數值保存下來,供下一次使用,您給指點指點。!
回復

使用道具 舉報

ID:59839 發表于 2014-8-24 09:54 | 顯示全部樓層
563524748 發表于 2014-8-24 09:47
現在只能實現按鍵按下了,電機開始轉動,開關采集到信號之后,電機停止。先按K1,電機轉,開關采集一個信 ...


C.zip (11.75 KB, 下載次數: 8)
回復

使用道具 舉報

ID:19715 發表于 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();
        }
}
回復

使用道具 舉報

ID:59839 發表于 2014-8-24 15:38 | 顯示全部樓層

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品揄拍一区二区久久国内亚洲精 | 中文字幕日韩一区 | 日批免费看 | 欧美日韩精品影院 | 国产精品18hdxxxⅹ在线 | 99av成人精品国语自产拍 | 亚洲一区av | 国产在线观看一区二区 | 国产精品久久午夜夜伦鲁鲁 | 一级毛片在线视频 | 久久久久久久久99 | 国产成人自拍一区 | 91极品视频 | 精品一区二区不卡 | 特黄视频 | 欧美亚洲国产一区二区三区 | 亚洲欧美激情国产综合久久久 | 国产亚洲一区二区三区 | 观看av| 久久久久国产一区二区三区 | 久久久久国 | 午夜av毛片 | 91视频在线| 成人老司机 | 久久综合久久综合久久综合 | 欧美日韩亚洲一区 | 精品99久久久久久 | 美女操网站 | 日韩av一区二区在线观看 | 日本免费小视频 | 亚洲成人中文字幕 | аⅴ资源新版在线天堂 | 欧美在线一级 | 精品亚洲一区二区三区 | xx性欧美肥妇精品久久久久久 | 久久亚洲欧美日韩精品专区 | 狠狠综合久久av一区二区小说 | 久久国产区 | 国产精品一区在线 | 国产成人精品免费视频大全最热 | 亚洲一区 中文字幕 |