|
首先要謝謝你的回復(fù)我會(huì)測試后回復(fù)于你,下面是本人寫的就是按住按鍵時(shí)電機(jī)有動(dòng),松手就是反轉(zhuǎn)。想請大俠順便看一下本人哪里的錯(cuò)了,可以好好向你們學(xué)習(xí)學(xué)習(xí)。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,b;
sfr P3M0 = 0xB2;
sfr P3M1 = 0xB1;
sbit MA = P3^2;
sbit MB = P3^3;
sbit LED1 = P3^0;
sbit LED2 = P3^1;
sbit KEY1 = P3^4;
sbit KEY2 = P3^5;
void delayms(uchar x)
{
uchar i,j;
do
{
for(i=12;i>0;i-- )
for(j=169;j>0;j-- );
}
while(--x);
}
void sw_12()
{
if(KEY1==0)//正轉(zhuǎn)
{
delayms(10);
if(KEY1==0)
{
MA=~MA;MB=~MB;LED1=~LED1;LED2=~LED2;
}
while(KEY1==0);
}
}
void sw_13()
{
if(KEY2==1)//正轉(zhuǎn)
{
delayms(10);
if(KEY2==1)
{
MA=1;MB=0;LED1=1;LED2=0;
}
// while(KEY2==1);
}
}
void sw_14()
{
if(KEY2==0)//正轉(zhuǎn)
{
delayms(10);
if(KEY2==0)
{
MA=0;MB=1;LED1=0;LED2=1;
}
while(KEY2==0);
}
}
void main()
{
P3M0 = 0x0C;
P3M1 = 0x00;
//P3=0xff;
MA=1;MB=1;LED1=1;LED2=1;
while(1)
{
sw_12();
sw_13();
sw_14();
/*switch(b)
{
case 1:MA=0;MB=1;LED1=0;LED2=1;break;
case 2:MA=1;MB=0;LED1=1;LED2=0;b=0;break;
}*/
}
} |
評分
-
查看全部評分
|