欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
有沒(méi)有大神用l9110s控制四個(gè)直流電機(jī),遇到過(guò)這種問(wèn)題,如下正文
[打印本頁(yè)]
作者:
ahandsomeboy
時(shí)間:
2018-8-13 10:30
標(biāo)題:
有沒(méi)有大神用l9110s控制四個(gè)直流電機(jī),遇到過(guò)這種問(wèn)題,如下正文
已經(jīng)寫(xiě)好的前進(jìn)后退,在一個(gè)函數(shù)中調(diào)用正常,到了另外一個(gè)地方就會(huì)反向,本人用一個(gè)l9110s模塊控制四個(gè)直流電機(jī),左側(cè)兩個(gè)接到一個(gè)馬達(dá)端口,右側(cè)接一個(gè)馬達(dá)端口,效果與用兩個(gè)驅(qū)動(dòng)模塊相同。雙電源供電,開(kāi)發(fā)板P2口前四位控制馬達(dá),有獨(dú)立按鍵和定時(shí)器兩部分。代碼如下:?jiǎn)栴}是,分別將定時(shí)器和按鍵掃描注釋?zhuān)嗤暮瘮?shù)出現(xiàn)的現(xiàn)象不同
#include<reg51.h>
#include<reg51.h>
typedef unsigned int u16; //對(duì)數(shù)據(jù)類(lèi)型進(jìn)行重新聲明定義
typedef unsigned char u8;
#define motor P2//p2口控制四個(gè)馬達(dá),01口控制左側(cè),23口控制右側(cè)
sbit k1=P3^0;//通過(guò)按鍵控制運(yùn)動(dòng)
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
void delay(u16 j)
{
while(j--);
}
void qj()//前進(jìn)
{
motor=0xfa; //0000 1010
}
void ht()//后退
{
motor=0xf5;//0000 0101
}
void yz()//右轉(zhuǎn)彎
{
motor=0x09;//0000 1001
}
void zz()//左轉(zhuǎn)彎
{
motor=0x06;//0000 0110
}
void Timer0Init()//定時(shí)50ms秒,完成后進(jìn)行中斷
{
TMOD|=0X01;//0000 0001方式一
TH0=0x3C;//50ms
TL0=0xB0;
ET0=1;//打開(kāi)定時(shí)器0中斷允許
EA=1;//打開(kāi)總中斷
TR0=1;
}
void keyscan()
{
if(k1==0) //檢測(cè)按鍵K1是否按下
{
delay(1000); //消除抖動(dòng) 一般大約10ms
if(k1==0) //再次判斷按鍵是否按下
{
qj();
}
while(!k1); //檢測(cè)按鍵是否松開(kāi)
}
if(k2==0)
{
delay(1000);
if(k2==0)
{
ht();
}
while(!k2);
}
if(k3==0)
{
delay(1000);
if(k3==0)
{
zz();
}
while(!k3);
}
if(k4==0)
{
delay(1000);
if(k4==0)
{
yz();
}
while(!k4);
}
}
void main()
{
Timer0Init();
while(1)
{
keyscan();
}
}
void Timer0() interrupt 1//interrupt后面無(wú)括號(hào)
{
static u16 i=0;
TH0=0x3C;//50ms
TL0=0xB0;
i++;
if(i==20)
{
qj();
}
if(i==60)
{
i=0;
ht();
}
}
復(fù)制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1