欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 步進電機代碼 [打印本頁]

作者: jkkuia    時間: 2017-12-4 18:33
標題: 步進電機代碼
#include <STC89C5xRC.H>
sbit PA = P1^0;
sbit PB = P1^1;
sbit PC = P1^2;
sbit PD = P1^3;
unsigned int MS =0;
unsigned char KeyNum,FormKeyNum=0;
unsigned char MotorDIR=0;
unsigned char Motorfeq=0;
unsigned int x ;
unsigned char KeyScan(void)          ;
void main(){
   PA=1;
   PB=PC=PD=0;
   TMOD=0x01;
   TH0=64536/265;
   TL0=64536%265;
   ET0=1;
   EA=1;
   TR0=1;
   while(1){
KeyNum=KeyScan();
  if(KeyNum==1&&FormKeyNum==0) {
  if(Motorfeq<1000)Motorfeq++;}
   else if(KeyNum==2&&FormKeyNum==0) {
  if(Motorfeq>0)Motorfeq--;}
   else if(KeyNum==3&&FormKeyNum==0) {
  if(MotorDIR==0)MotorDIR=1;
  else MotorDIR=0;}
  FormKeyNum=KeyNum;  
   }
}
void Timer0INT() interrupt 1{
TH0=64536/256;
TL0=64536%256;
MS++;
if(MS>1000/Motorfeq){
    MS=0;
        if(MotorDIR){
       
        if(PA&&PB==0&&PC==0&&PD==0)x=1;
   else if(PA==0&&PB&&PC==0&&PD==0)x=2;
   else if(PA==0&&PB==0&&PC&&PD==0)x=3;
   else if(PA==0&&PB==0&&PC==0&&PD)x=4;
           switch(x)  {
           case 1:PA=0;PB=1;break;
           case 2:PB=0;PC=1;break;
           case 3:PC=0;PD=1;break;
           case 4:PD=0;PA=1;break;
                  }
                  
                   }
                   else{
        if(PA&&PB==0&&PC==0&&PD==0)x=1;
   else if(PA==0&&PB&&PC==0&&PD==0)x=2;
   else if(PA==0&&PB==0&&PC&&PD==0)x=3;
   else if(PA==0&&PB==0&&PC==0&&PD)x=4;
           switch(x)  {
           case 1:PA=0;PD=1;break;
           case 2:PD=0;PC=1;break;
           case 3:PC=0;PB=1;break;
           case 4:PB=0;PA=1;break;
                  }
                                   
                   }          }
                                         }
unsigned char KeyScan(){
if(P0==0xFD)return 1;
else if(P0==0xFB)return 2;
else if(P0==0xF7)return 3;
else return 0;
}






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