我上網(wǎng)查了很久,找了很多資料都沒有解決問題。最后在現(xiàn)實中操作一遍后得出結論:
#include<reg51.h>
sbit RLAYL=P1^0;
sbit RLAYE=P1^1;
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
P1=0xfe;
while(1)
{
P1=0xfe;
delay(2000);
P1=0xff;
delay(2000);
}
}
第一種方法是利用PLAYL的特性而制作的,自己上網(wǎng)查天特性。
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
sbit PLAYE=P1^0;
//void delay(uint z);
void main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1);
}
void timer0() interrupt 1
{
TH0=(65536-45873)/256;
TL0=(65536-45873)%256;
num++;
if(num==80)
{
num=0;
PLAYE=~PLAYE;
}
}
第二種方法是用到定時器,用普通的延時沒用的。我試過,這也是因為PLAYE按鍵的特性。
加油!單片機沒有什么難的,難的堅持不懈的決心。! |