找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3923|回復: 3
打印 上一主題 下一主題
收起左側

按鍵控制漸快的流水燈,最慢為1s的間隔,最快為100ms的間隔,每按一次加快100ms

[復制鏈接]
跳轉到指定樓層
樓主
ID:243557 發(fā)表于 2018-5-8 22:55 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
按鍵控制漸快的流水燈,最慢為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);        //調用延時函數(shù)
  32.         }
  33. }
復制代碼

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


評分

參與人數(shù) 1黑幣 +5 收起 理由
15005858438 + 5 絕世好帖!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:666020 發(fā)表于 2019-12-17 11:00 | 只看該作者
這是用定時器的嗎
回復

使用道具 舉報

板凳
ID:870511 發(fā)表于 2020-12-29 19:50 | 只看該作者
按鍵控制漸慢的流水燈,最快為100ms的間隔,每按一次減慢150ms,最慢1.05秒的間隔。用一數(shù)碼管顯示速度級別
回復

使用道具 舉報

地板
ID:870511 發(fā)表于 2020-12-29 19:50 | 只看該作者
可以教我怎么改嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表