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

標題: 新手請教 利用中斷定時器來加速步進電機 [打印本頁]

作者: cisforcer    時間: 2012-11-9 23:17
標題: 新手請教 利用中斷定時器來加速步進電機

對中斷定時器一知半解, 抄襲了下面的程序, 怎么修改成能夠修改成加速步進電機

 

#include <reg52.h>

 unsigned char code F_Rotation[]={0x01,0x05,0x04,0x06,0x02,0x0a,0x08,0x09}; 

 main()

   TMOD |=0x01;   //定時器設置 1ms in 12M crystal
   IE= 0x82;        //打開中斷     
   ET0 = 1;
   TR0=1;
   while(1)
   {  
      
   }
}
 void Timer0(void) interrupt 1 using 1
{
   static unsigned char Cnt;

   TH0=(65536-55000)/256;
   TL0=(65536-55000)%256;
  
   if(Cnt<8)   Cnt++;
   else      Cnt=0;
   P3=F_Rotation[Cnt];  
 }


作者: 青蘋果    時間: 2012-11-10 10:14

1、修改定時器的時間

 

 void Timer0(void) interrupt 1 using 1
{
   static unsigned char Cnt;

   TH0=(65536-55000)/256;
   TL0=(65536-55000)%256;
  
   if(Cnt<8)   Cnt++;
   else      Cnt=0;
   P3=F_Rotation[Cnt];  
 }


作者: 青蘋果    時間: 2012-11-10 10:16

2、修改那個8

 

 void Timer0(void) interrupt 1 using 1
{
   static unsigned char Cnt;

   TH0=(65536-55000)/256;
   TL0=(65536-55000)%256;
  
   if(Cnt<8)   Cnt++;
   else      Cnt=0;
   P3=F_Rotation[Cnt];  
 }


作者: 青蘋果    時間: 2012-11-10 10:18

你上你可以測試一下如果可以那最好

 

我個人不用C

 

不過感覺下面這個地方是不是要加上大括號?

 

  if(Cnt<8)   Cnt++;
   else   

  

 Cnt=0;
   P3=F_Rotation[Cnt];  


作者: cisforcer    時間: 2012-11-16 18:43
  這個是取步進電機 4根信號線的數組的   不能修改的
以下是引用青蘋果在2012-11-10 10:16:05的發言:

2、修改那個8

 

 void Timer0(void) interrupt 1 using 1
{
   static unsigned char Cnt;

   TH0=(65536-55000)/256;
   TL0=(65536-55000)%256;
  
   if(Cnt<8)   Cnt++;
   else      Cnt=0;
   P3=F_Rotation[Cnt];  
 }


作者: cisforcer    時間: 2012-11-16 18:44
不加大括號的 如果CNT 小于8 則 cnt++ ,P0取數組CNT 否則 CNT等于0
以下是引用青蘋果在2012-11-10 10:18:41的發言:

你上你可以測試一下如果可以那最好

 

我個人不用C

 

不過感覺下面這個地方是不是要加上大括號?

 

  if(Cnt<8)   Cnt++;
   else   

  

 Cnt=0;
   P3=F_Rotation[Cnt];  


作者: cisforcer    時間: 2012-11-16 18:46
修改這個數值諾 感覺應該是對的
以下是引用青蘋果在2012-11-10 10:14:24的發言:

1、修改定時器的時間

 

 void Timer0(void) interrupt 1 using 1
{
   static unsigned char Cnt;

   TH0=(65536-55000)/256;
   TL0=(65536-55000)%256;
  
   if(Cnt<8)   Cnt++;
   else      Cnt=0;
   P3=F_Rotation[Cnt];  
 }


作者: ahshmj    時間: 2012-11-16 22:19
以下是引用cisforcer在2012-11-16 18:44:59的發言:
以下是引用青蘋果在2012-11-10 10:18:41的發言:

你上你可以測試一下如果可以那最好

 

我個人不用C

 

不過感覺下面這個地方是不是要加上大括號?

 

  if(Cnt<8)   Cnt++;
   else   

  

 Cnt=0;
   P3=F_Rotation[Cnt];  

不用C?用什么?匯編?






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