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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1734|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久免费国产视频 | 午夜天堂精品久久久久 | 亚洲精品在线播放 | 亚洲区一区二区 | 亚洲综合二区 | 黄色在线观看网站 | 欧美成人精品一区 | 精品国产一区二区三区性色 | 91av视频在线观看 | 91国产在线播放 | 91一区二区 | 美女亚洲一区 | 国产一区二区三区 | 欧美成人精品一区二区三区 | 国产 欧美 日韩 一区 | 国产亚洲成av人在线观看导航 | 久久久久久天堂 | 久久综合九色综合欧美狠狠 | av一级久久 | 很黄很污的网站 | 激情在线视频 | 欧美一级在线 | 国产精品一区二 | 狠狠骚 | 99在线免费观看视频 | 久久精品亚洲精品国产欧美 | 国产免费拔擦拔擦8x高清 | 成年人免费看的视频 | 一本一道久久a久久精品综合 | 亚洲欧洲日韩精品 中文字幕 | 成人欧美一区二区三区在线播放 | 黄色片av | 国产精品国产精品 | 自拍偷拍精品 | 色综合色综合 | 国产一区不卡 | 这里精品 | 亚洲 中文 欧美 日韩 在线观看 | 超碰在线播 | 欧美激情久久久 | 97天天干 |