|
發布時間: 2018-5-7 13:29
正文摘要:本帖最后由 一束光的旅程 于 2018-5-7 13:30 編輯 機械人一個,現在自學單片機。自己畫了一個板子的原理圖。想實現LED燈閃爍次數的調節。按鍵KS按下,燈開始閃爍,按動TJ,閃爍次數增加。 先編了一個小程序,但 ... |
wulin 發表于 2018-5-7 21:01 謝謝大神, ![]() |
|
給你改了一下,糾正兩處錯誤,增加了減數功能。 #include <reg51.h> //#include <stdio.h>//多余 sbit KS=P0^0; sbit PWM=P1^0; sbit TJ=P3^2; //+鍵 sbit TJ1=P3^3;//-鍵 #define uint unsigned int uint a=1;//初始1 void delays_ms(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=115;j>0;j--); } void main(void) { uint x; P1=0x00; P0=0xFF; while(1)//必須要有主循環 { if(TJ==0) { delays_ms(20); // if(TJ==0);//多了一個分號 if(TJ==0) { if(a<10)//最大數限制 a++; } while(!TJ); } /**********增加減數部分**********/ if(TJ1==0) { delays_ms(20); if(TJ1==0) { if(a>1)//最小數限制 a--; } while(!TJ1); } /********************************/ if(KS==0) { delays_ms(20); if(KS==0) { for(x=a;x>0;x--) { delays_ms(200); PWM=1; delays_ms(200); PWM=0; } while(!KS); } } } } |