已經幫你修改好了,而且在51hei單片機開發板上測試通過了,
你這個程序延時2秒的那個函數都是錯的,我幫你修改了一下,參考的本論壇制定的 延時函數編寫那一帖
還有就是你那個主函數在邏輯上也有問題
修改過的程序在下面 我這里已經測試通過了:
#include <reg51.h>
typedef unsigned int uint;
sbit led=P0^0;
sbit key=P3^2;
sbit sj=P1^4;
void delay(uint z);
void main(void)
{
unsigned char i,j;
sj=0;
while(key==1) //判斷是否有鍵按下否則不往下執行
{
;
}
{
for(j=10;j>0;j--)
for(i=248;i>0;i--);
if(key==0)
led=0;
delay(2000);
led=1;
}
while(key==0)
{
;
}
}
void delay (unsigned int ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<200;j++);
for(j=0;j<102;j++);
}
}
|