#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(1) { if(key==0) { for(j=10;j>0;j--) for(i=248;i>0;i--); if(key==0) led=0; delay(2000); led=1; } } } void delay (uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }
已經(jīng)幫你修改好了,而且在51hei單片機(jī)開發(fā)板上測(cè)試通過了,
你這個(gè)程序延時(shí)2秒的那個(gè)函數(shù)都是錯(cuò)的,我?guī)湍阈薷牧艘幌拢瑓⒖嫉谋菊搲贫ǖ?延時(shí)函數(shù)編寫那一帖
還有就是你那個(gè)主函數(shù)在邏輯上也有問題
修改過的程序在下面 我這里已經(jīng)測(cè)試通過了:
#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) //判斷是否有鍵按下否則不往下執(zhí)行 { ; } { 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++); } }
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |