流水灯c语言程序延时失败,用c8051f340做控制流水灯实验,程序会卡死在延时函数中 ,只要在那加延时函数程序就只能跑到那,代码如下...
滿意答案
lohboon
2016.07.31
采納率:52%????等級(jí):7
已幫助:1159人
#include "reg52.h"#define uint unsigned int#define uchar unsigned charsbit K1 = P3^2; //獨(dú)立按鍵void Delayms(uint x){ uint i,j; for(i=x;i>0;i--) for(j=100;j>0;j--);}void main(){ uchar x; uint i; uchar temp; uint s=1; //新增一個(gè)值來記錄按鍵值 ,初始化為1 while(1) //大的死循環(huán)一直掃描按鍵變化 { if(K1==0) { Delayms(10); //按鍵去抖動(dòng) if(K1==0) s=0; //按鍵按下此時(shí)是鍵值s=0 } while(s==0) //當(dāng)按鍵第一次按下時(shí)進(jìn)入循環(huán)點(diǎn)亮燈的循環(huán) { temp=0x01; for(i=0;i<8;i++) { P0=~temp; Delayms(100); temp<<=1; // if(K1==0) break; //增強(qiáng)反應(yīng)速度,有按鍵按下立馬跳出 } if(K1==0) //當(dāng)再次按下使鍵值s=1,將不符合點(diǎn)亮的死 { //循環(huán),進(jìn)入判斷按鍵的死循環(huán) Delayms(10); if(K1==0) s=1; } } }}
00分享舉報(bào)
總結(jié)
以上是生活随笔為你收集整理的流水灯c语言程序延时失败,用c8051f340做控制流水灯实验,程序会卡死在延时函数中 ,只要在那加延时函数程序就只能跑到那,代码如下...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。