欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機10秒的秒表proteus仿真設計及源碼 [打印本頁]

作者: 51黑ff    時間: 2016-9-28 13:31
標題: 單片機10秒的秒表proteus仿真設計及源碼
分享一個用51單片機做的10秒的秒表帶proteus仿真工程文件和源程序.下面是原理圖:



源程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit K1 = P3^7;
  5. uchar i,s=0,Key_Flag_Idx=0,shi=0,ge=0;
  6. bit Key_State;
  7. uchar DSY_CODE[]=
  8. {
  9.          0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
  10. };

  11. void DelayMS(uint ms)
  12. {
  13.          uchar t;
  14.         while(ms--)
  15.         {
  16.                  for(t=0;t<120;t++);
  17.         }
  18. }
  19. void qidong()
  20. {
  21.   for(i=1;i<=10;i++)
  22.   {DelayMS(100);
  23.    if(Key_State != K1)
  24.     {
  25.           DelayMS(10);
  26.           Key_State = K1;
  27.           if(Key_State == 0)
  28.             {
  29.               Key_Flag_Idx=(Key_Flag_Idx+1)%3;
  30.                   return;
  31.                 }
  32.         }
  33.    }                  
  34.          ge=(ge+1)%10;
  35.          if(ge==0)shi=shi+1;
  36.          if(shi==6)shi=0;
  37.                  
  38. }

  39. void zhanting()
  40. {
  41.   while(Key_Flag_Idx==2)
  42.   {if(Key_State != K1)
  43.     {
  44.           DelayMS(10);
  45.           Key_State = K1;
  46.           if(Key_State == 0)
  47.             {
  48.               Key_Flag_Idx=(Key_Flag_Idx+1)%3;return;
  49.                 }
  50.     }
  51.    }
  52. }
  53. void main()
  54. {
  55.          P0 = 0x3f;
  56.         P2 = 0x3f;         
  57.         Key_State = 1;        //P3.7引腳的初始狀態為1
  58.         
  59.         while(1)
  60.         {
  61.                  if(Key_State != K1)//若P3.7引腳值有變化,其中K1為P3.7引腳值
  62.                 {
  63.                          DelayMS(10);//消抖
  64.                         Key_State = K1;        //將當前P3.7值賦給Key_State變量
  65.                   if(Key_State == 0) //若當前P3.7值為0,即若有按鍵按下
  66.               {
  67.                     Key_Flag_Idx=(Key_Flag_Idx+1)%3; //按鍵按下次數為...
  68.                    }
  69.                  }
  70.                       switch(Key_Flag_Idx)
  71.                       {
  72.                              case 1:qidong();break;
  73.                             case 2:zhanting();break;
  74.                             case 0:shi=0;ge=0;
  75.                       }                     
  76.         
  77.             P0 = DSY_CODE[shi];
  78.                 P2 = DSY_CODE[ge];
  79.    }

  80.   }
復制代碼

單片機秒表的所有資料打包下載: 秒表.7z (41.01 KB, 下載次數: 66)


作者: wei960818    時間: 2016-12-20 13:42
積分不夠兄弟能發給我么
作者: lxf1414114    時間: 2017-12-7 10:22
左邊的那一位顯示有問題是什么情況?就是不會顯示完整的數字

(RAD(2T]I8@99FS}FW~V7$O.png (66.18 KB, 下載次數: 67)

(RAD(2T]I8@99FS}FW~V7$O.png

作者: liangyanqing    時間: 2017-12-21 09:03
wei960818 發表于 2016-12-20 13:42
**** 作者被禁止或刪除 內容自動屏蔽 ****

我也很想要啊
作者: hijack1    時間: 2018-5-27 17:39
我的顯示不出來怎么辦
作者: 13604743329    時間: 2024-5-26 10:13
用Proteus8.13打開dsn文件





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