欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機+l298n驅動步進電機轉動效果不明顯
[打印本頁]
作者:
noheadgaga
時間:
2024-1-23 15:40
標題:
51單片機+l298n驅動步進電機轉動效果不明顯
采用三個按鍵控制電機的正反轉,但是電機的轉動效果不明顯
51hei圖片_20240123154010.jpg
(593.57 KB, 下載次數: 20)
下載附件
2024-1-23 15:40 上傳
以下是單片機代碼:
#include <REGX52.H>
#define uchar unsigned char
uchar flag = 0;
uchar a=1,t=100;
uchar code tab1[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
uchar code tab2[]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
uchar upstep4_table[]={0x08,0x02,0x06,0x01};
void delay(uchar ms)
{
uchar j;
while(ms--)
for(j=0;j<100;j++);
}
void keyscan()
{
//按鍵一
if(P0_0==0) //如果K1按鍵按下
{
delay(20); //延時消抖
while(P0_0==1); //松手檢測
delay(20); //延時消抖
flag = 1;
}
//按鍵二
else if(P0_1==0) //如果K1按鍵按下
{
delay(20); //延時消抖
while(P0_1==1); //松手檢測
delay(20); //延時消抖
flag = 2;
}
//按鍵三
else if(P0_2==0) //如果K1按鍵按下
{
delay(20); //延時消抖
while(P0_2==1); //松手檢測
delay(20); //延時消抖
flag = 3;
}
else
flag =0;
}
void time0_init() //定時器T0初始化
{
TMOD=0x01; //設置定時器0工作方式1
TH0=(65536-50000)/256;//定時50ms取高八位
TL0=(65536-50000)%256; //取低八位
ET0=1; //開定時器0中斷使能
EA=1; //開總中斷使能
TR0=1; //開啟中斷
}
void time0() interrupt 1 //定時器T0入口函數
{
TH0=(65536-50000)/256; //定時50ms重新賦初值
TL0=(65536-50000)%256;
keyscan();
}
void main()
{
uchar i;
time0_init();
P1 = 0x00;
P2 = 0x00;
while(1)
{
if(flag != 0)
{
if(flag == 1)
{
for(i=0;i<4;i++)
{
P1 = upstep4_table[i];
delay(t); // 延遲t毫秒
}
// flag =0;
}
else if(flag == 2)
{
for(i=0;i<4;i++)
{
P2 = upstep4_table[i];
delay(t); // 延遲t毫秒
}
// flag =0;
}
else if(flag == 3)
{
for(i=0;i<8;i++)
{
P2 = tab2[i];
delay(t); // 延遲t毫秒
}
// flag =0;
}
}
else
{
P1 = 0x00;
P2 = 0x00;
}
}
}
復制代碼
作者:
laoxu
時間:
2024-1-24 07:05
運行頻率太低了.
啟動后, 要逐步加速(減小延時時間 t).
作者:
glinfei
時間:
2024-1-24 09:34
單四拍的時序有問題,怎么會出現0110 。沒看接線不知道八拍的對不對,還有鍵盤程序有問題啊,它處理時間可能超過中斷時間。
作者:
lkc8210
時間:
2024-1-24 10:19
中斷里不要用延時!
中斷里不要用延時!
中斷里不要用延時!
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1