8051的問題,可以的話請幫幫忙
//檔名:CH7-2-1.C//目的:P0接LED接正,P1接SW落地,按P1則P0閃爍,再按一次則滅
//未完成
#include <C8051F330.h>
void delay_1m(unsigned int dly); //宣告delay_1m()函數
char one=0;
char zero=0;
unsigned char KeyTemp=0xff;
unsigned char KeyData=0xff;
unsigned int a = 0xff;
main()
{
void KeyScan(void); //按鍵掃描函數
PCA0MD &= ~0x40; //關看門狗
XBR1 = 0x40; //Cossbar Enable
P0MDOUT=0xff; //設定P0.0-7為高電位輸出
while(1)
{
KeyScan(); //掃描按鍵
if(KeyData!=0xff) //按下任何按鍵
{
P0^=KeyData;
KeyData=0xff;
}
}
}
void KeyScan(void)
{
unsigned char KeyStatus;
P1=0xff;
KeyStatus=~P1;
if(KeyStatus!=0)
{
one=0;
if(KeyTemp!=KeyStatus)
{
KeyTemp=KeyStatus;
zero=1;
}
else
{
if(zero<5)
{
zero+=1;
if(zero==5)
KeyData=KeyTemp;
}
}
}
one+=1;
if(one==5)
{
zero=0;
KeyTemp=0xff;
KeyData=0xff;
}
}
以上為我的程式,按p1.0,p0.0亮,按p1.1,p0.1亮,按p1.2,p0.2亮,再按一次p1.0,p0.0熄,再按一次p1.1,p0.1熄……
我想請問,我想改成按p1.0,p0.0閃爍,按p1.1,p0.1閃爍,按p1.2,p0.2閃爍,再按一次p1.0,p0.0熄,再按一次p1.1,p0.1熄……
不能使用計時器,因為這看的書,還沒 有教到計時器,會的請指點或教導一下,謝謝,自學8051卡住很久了
再麻煩會的朋友幫忙一下,這不是功課...是我自已買的書的習題