標題: 按鍵控制漸快的流水燈,最慢為1s的間隔,最快為100ms的間隔,每按一次加快100ms [打印本頁]

作者: alskdj55555    時間: 2018-5-8 22:55
標題: 按鍵控制漸快的流水燈,最慢為1s的間隔,最快為100ms的間隔,每按一次加快100ms
按鍵控制漸快的流水燈,最慢為1s的間隔,最快為100ms的間隔,每按一次加快100ms

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>                //定義特殊功能寄存器的頭文件
  2. #include<intrins.h>
  3. #define NOP _nop_()
  4. #ifndef _Dly_nms_h__
  5. #define _Dly_nms_h__                                                                                                //K1位變量定義
  6. typedef unsigned char Uchar;                                        //數(shù)據(jù)類型重命名
  7. unsigned int a=0;
  8. void Dly_nms(unsigned int time)         //延時函數(shù)
  9. {unsigned char i;
  10. for(;time>0;time--)
  11.   {for(i=0;i<247;i++)
  12.                 {NOP;}
  13.   }
  14. }
  15. #endif   
  16. void INT0sev() interrupt 0                                //外中斷0的函數(shù)                                       
  17. {                while(K1==0);                        //等待按鍵釋放
  18.                 if(a<900)
  19.                         a=a+100;
  20.                 IE0=0;                                                //清中斷標志
  21. }

  22. void main()                                                //主函數(shù)
  23. {
  24.         unsigned char C,b=0;
  25.         C=0xFE;
  26.         EA=1;EX0=1;IT0=1;                //外中斷0初始化
  27.         for(;;)                                                        //循環(huán)函數(shù)
  28.         {
  29.                 P1=C;                                                //數(shù)據(jù)輸出
  30.                 C=_crol_(C,1);                //循環(huán)左移
  31.                 Dly_nms(1000-a);        //調(diào)用延時函數(shù)
  32.         }
  33. }
復制代碼

所有資料51hei提供下載:
按鍵控制漸快的流水燈,最慢為1s的間隔,最快為100ms的間隔,每按一次加快100ms.zip (62.38 KB, 下載次數(shù): 36)



作者: zjj518    時間: 2019-12-17 11:00
這是用定時器的嗎
作者: vhgvjh    時間: 2020-12-29 19:50
按鍵控制漸慢的流水燈,最快為100ms的間隔,每按一次減慢150ms,最慢1.05秒的間隔。用一數(shù)碼管顯示速度級別
作者: vhgvjh    時間: 2020-12-29 19:50
可以教我怎么改嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1