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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2022|回復: 0
打印 上一主題 下一主題
收起左側

位置控制程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:147079 發表于 2016-11-9 18:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//接線:主板的VCC +12V GND分別接位置對象的+5V +V GND;
//主板中插上位置對象控制板,信號接口接對象的信號接口,CLK_mcu,K1,K2分別接CPU的P14,P15,P16;
// JD1接到MCU的P1口 獨立鍵盤的KEY接口接到MCU的P1口 短路帽打在右方。
// KEY0- 右運動0.25MM; KEY1- 左運動0.25MM;
// KEY2- 右運動1cm; KEY3- 左運動1cm;
// KEY4- 右運動5cm; KEY5- 左運動5cm;
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

sbit en=P1^0;                  // 定義P1.0口
sbit rst=P1^1;                 // 定義P1.1口
sbit ccw=P1^2;                 // 定義P1.2口
sbit hf=P1^3;                  // 定義P1.3口
sbit clk=P1^4;                 // 定義P1.4口
sbit k1=P1^5;                  // 定義P1.5口
sbit k2=P1^6;                  // 定義P1.6口


void ShortDelay(void)
{ uchar x,y;
  for(x=0;x<5;x++)
     for(y=0;y<125;y++)
              _nop_();
  return;
}


void outclk(uint a)
{  uint i,j;

while(a--)
    { en=1;                  // 定義P1.0口
      rst=1;                 // 定義P1.1口
      if((k1&k2)!=0)         // K1,K2限位置判斷
        {clk=1;
         for(i=150;i>0;i--)           //200
         for(j=150;j>0;j--);           //200
         clk=0;  
        }
      else {rst=1;en=0;}  
    }   

}

uchar  key(void)
{uchar key_num;

   if( ( P2 & 0x3f) != 0x3f )        //判斷按鍵
   {
       ShortDelay();                //消除抖動
       if( ( P2 & 0x3f ) != 0x3f )
           {

          switch ( P2 & 0x3f )             //將按鍵碼轉換成鍵值
          {  
             case  0x3e: return  key_num=01;  
             case  0x3d: return  key_num=02;
             case  0x3b: return  key_num=03;
             case  0x37: return  key_num=04;
             case  0x2f: return  key_num=05;
             case  0x1f: return  key_num=06;
             default :   return  key_num=00;
          }
           }
          
   }
   return key_num;
}

  char code dx516[3] _at_ 0x003b;  
void main(void)
{ uchar b;

while(1)
{

   b= key();
   switch(b)
      {                //4步走1CM設定走5Cm 半應該是200的為了調整誤差所以少4步 (10CM為多8步)
        case 00:rst=1;break;//0
        case 01:ccw=1; outclk(1);break;//1    右運動1步
        case 02:ccw=0; outclk(1);break;//2    左運動1步
        case 03:ccw=1; outclk(40);break;//3          右運動1CM
        case 04:ccw=0; outclk(40);break;//4   左運動1CM
        case 05:ccw=1; outclk(196);break;//5   右運動5CM
        case 06:ccw=0; outclk(196);break;//6  左運動5CM
        default:break;
          }
}
}


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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