久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個按鍵控制LED開關和延時進行模式切換 Proteus仿真程序

[復制鏈接]
跳轉到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit s1=P3^4;
  5. sbit led=P3^3;//


  6. /*****************按鍵掃描用的**********************/
  7. #define  short_key 5     
  8. #define  short_small_key  4   
  9. #define  long_key  100

  10. bit button1_shortflag=0;
  11. bit button1_longflag=0;
  12.   uchar flag=2;



  13.   void time_init()
  14.   {
  15.   TMOD=0x01;//方式1
  16.   TH0=-10000/256;
  17.   TL0=-10000%256;//10ms
  18.   ET0=1;//開定時器0中斷
  19.   TR0=1;//開定時器
  20.   EA=1;//開總中斷
  21.   }

  22. /****************************************/


  23. void getkey_number()
  24. {
  25. static uchar button1_time=0;
  26. static uchar button1_time1=0;
  27.         if(s1==0)
  28.         {
  29.            button1_time>=short_key?(button1_time=short_key):button1_time++;//
  30.                  button1_time1>=long_key?(button1_time1=long_key):button1_time1++;//
  31.         }
  32.     else
  33.                 {
  34.                         if(button1_time1==long_key)
  35.                         {   button1_time1=0;
  36.                             button1_time=0;
  37.                                  button1_longflag=1;        
  38.                         }
  39.                  if(button1_time==short_key)
  40.                  {
  41.                           button1_time=0;
  42.                          button1_time1=0;
  43.                          button1_shortflag=1;
  44.                  }
  45.                 }

  46. }



  47. void main()
  48. {
  49.         static uchar k;
  50. time_init();//定時器開啟
  51.    while(1)
  52.    {           
  53.          
  54. if(button1_shortflag==1)
  55. {
  56.         button1_shortflag=0;
  57.         flag=2;
  58.         if(led==0) led=1;
  59.         else led=0;
  60. }

  61. if(button1_longflag==1)
  62. {
  63. button1_longflag=0;
  64.         if(++k>=2) k=0;
  65.    if(k==0) {flag=1;}
  66.                  else  {flag=0;}
  67. }
  68.    }
  69. }


  70. /****************************************/
  71. void time0() interrupt 1
  72. {
  73. static uchar time=0;
  74.         static uchar m;
  75. TR0=0;

  76. /*************用于按鍵掃描******************/
  77. if(++time>=2)                          
  78. {  time=0;
  79.   getkey_number();
  80. }        
  81. if(flag!=2)
  82. {
  83. if(flag==0)
  84. {
  85.         if(++m>=40)
  86.         {
  87.         m=0; led=!led;
  88.         }
  89. }
  90.         if(flag==1)
  91.         {
  92.         led=0;
  93.         }
  94. }


  95.   TH0=-10000/256;
  96.   TL0=-10000%256;
  97.   TR0=1;



  98. }
復制代碼

仿真程序51hei提供下載:
一個按鍵控制LED開關和延時切換模式.rar (96.23 KB, 下載次數: 13)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品美女在线观看 | 国产精品一区二区久久精品爱微奶 | 91一区二区| 欧美日韩中文在线 | 久久99这里只有精品 | 国产视频一区二区三区四区五区 | 久久久精品天堂 | 精品欧美一区二区在线观看欧美熟 | 日韩一二区 | 日本二区| 成人做爰www免费看视频网站 | 国产精品久久久久久亚洲调教 | 欧美一二三 | 亚洲小说图片 | 亚洲精品66 | 精品视频一区二区三区在线观看 | 国产成人精品综合 | 亚洲在线| 午夜午夜精品一区二区三区文 | 在线一区二区三区 | 国产精品成人在线观看 | 中文字幕精品一区二区三区精品 | 国产一级淫片免费视频 | 天堂国产 | 99热在这里只有精品 | 99色在线视频 | 欧美精品一区二区三区一线天视频 | 日韩一区二区三区在线 | 一区天堂| 成人免费毛片在线观看 | heyzo在线| 一级全黄视频 | 综合色影院 | 性生活毛片 | 欧美日韩成人网 | 九九视频在线观看视频6 | 99综合| 国产精品美女久久久久久不卡 | 久久高清精品 | 国产一区在线看 | 久久久国产一区二区三区 |