當前位置:編程學習大全網 - 編程軟體 - 51單片機,L298N模塊,按下按鈕,電機快速轉動5秒,然後緩慢轉動5秒,最後停止。程序(中斷,定時器)怎麽寫?

51單片機,L298N模塊,按下按鈕,電機快速轉動5秒,然後緩慢轉動5秒,最後停止。程序(中斷,定時器)怎麽寫?

# include & ltreg 51 . h & gt;

#定義uchar無符號字符

uchar stepd[]={0x01,0x03,0x02,0x06,0x04,0xc0,0x08,0x 09 };

uchar num=0,FX = 0;

sbit key1=p3^0;

sbit key2=p3^1;

sbit key3=p3^2;

無符號整數fcnt,scnt,ft,ST;

void t0isr()中斷1

{

if(ft & gt;0)

{

TH0 =(65536-fcnt)/256;

TL0 =(65536-fcnt)% 256;

ft-;

}

其他

{

TH0 =(65536-fcnt)/256;

TL0 =(65536-fcnt)% 256;

ST-;

}

if(ft = = 0 & amp;& ampST = = 0)TR0 = 0;

P2 = stepd[數字];

if(FX = = 0){ num++;num % = 8;}

if(fx==1)

{

if(num = = 0)num = 7;

else num-;

}

}

主()

{

TMOD = 0x 01;

fcnt = 5000

scnt = 10000;

TH0 =(65536-fcnt)/256;

TL0 =(65536-fcnt)% 256;

TR0 = 1;

ET0 = 1;

EA = 1;

while(1)

{

if(key1==0)

{

while(key 1 = = 0);

TR0 = ~ TR0

ft = 1000;

st = 500

}

if(key2==0)

{

while(key 2 = = 0);

FX = 0;

}

if(key3==0)

{

while(key 3 = = 0);

FX = 1;

}

}

}

  • 上一篇:跪求編程題答案,感激不盡,在線等…各位大神幫幫忙?
  • 下一篇:如果妳是企業的招聘人員,妳認為壹名數控技術操作人員應該具備什麽條件?
  • copyright 2024編程學習大全網