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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3320|回復: 1
收起左側

51單片機記時秒表,暫停、清零、開始 外加矩陣鍵盤定時秒表上限反向計時

[復制鏈接]
ID:303163 發表于 2018-4-7 15:07 | 顯示全部樓層 |閱讀模式
秒表,暫停、清零、開始  外加矩陣鍵盤定時秒表上限反向計時


單片機源程序如下:
  1. #include <reg52.h>

  2. unsigned int code Act_Num[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//不帶下標的數字編碼
  3. unsigned int code Set_Num[] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//帶有下標的數字編碼
  4. unsigned char code BitNumber[] = {0xef,0xdf,0xbf,0x7f};
  5. unsigned int x0,flag = 0,j,num=80,key,key1,k=0,x1;
  6. unsigned char temp, led[4];

  7. sbit KEY = P3^2;
  8. sbit KEY1 = P3^3;

  9. void delay(int time);
  10. void inti();
  11. void inti1();

  12. void main()
  13. {
  14.         unsigned int i;
  15.        
  16.         TMOD = 0x01;
  17.         ET0 = 1;
  18.         EA = 1;
  19.        
  20.         inti();
  21.         inti1();
  22.         while (1)
  23.         {               
  24.                 led[0] = Act_Num[flag/10%10];
  25.                 led[1] = Set_Num[flag%10];
  26.                 led[2] = Act_Num[x1/10%10];
  27.                 led[3] = Act_Num[x1%10];
  28.                 for(i=0;i<4; i++)
  29.                 {
  30.                         P0=0x00;
  31.                         P0=led[i];
  32.       P2=BitNumber[i];
  33.       delay(4);
  34.                         P2=0xff;
  35.           }
  36.         }
  37. }

  38. void time0() interrupt 1
  39. {
  40.         unsigned int i;
  41.         TH0 = 0xff;
  42.         TL0 = 0xa4;
  43.         x0++;
  44.         i++;
  45.         if (x0==10000)
  46.         {
  47.                 x0 =0;
  48.        
  49.                 if (flag==60)
  50.                 {
  51.                         k=1;
  52.                 }
  53.                 else if (flag==0)
  54.                 {
  55.                         k=0;
  56.                 }
  57.                 if (k==1)
  58.                 {
  59.                         flag--;
  60.                 }
  61.                 else
  62.                 {
  63.                         flag++;
  64.                 }
  65.         }
  66.         if (i==100)
  67.         {
  68.                 i=0;
  69.                 if (k==1)
  70.                 {
  71.                         x1--;
  72.                 }
  73.                 else
  74.                 {
  75.                         x1++;
  76.                 }
  77.                 if (x1==60)
  78.                 {
  79.                         x1=0;
  80.                 }
  81.         }
  82. }
  83. void delay(int time)
  84. {
  85.         unsigned int i;
  86.         for (i = 0; i< time;i++)
  87.         {
  88.                
  89.         }
  90. }
  91. void inti()
  92. {
  93.         EA = 1;
  94.         IT0 = 1;
  95.         EX0 = 1;
  96. }
  97. void stop()interrupt 0
  98. {
  99.         if (KEY==0)
  100.         {
  101.                 delay(2);
  102.                 if (KEY==0)
  103.                 {
  104.                         j++;
  105.                         switch(j)
  106.                         {
  107.                                 case 1:
  108.                                         TH0 = 0xff;
  109.                                         TL0 = 0xa4;
  110.                                         TR0 = 1;
  111.                                         break;
  112.                                 case 2:
  113.                                         TR0= 0;
  114.                                         j=0;
  115.                                         num=80;
  116.                                         break;
  117.                         }
  118.                         while(KEY==0);
  119.                 }
  120.         }
  121.         while(!KEY);
  122. }
  123. void inti1()
  124. {
  125.         EA = 1;
  126.         IT1 = 1;
  127.         EX1 = 1;
  128. }
  129. void qinglin()interrupt 2
  130. {
  131.         if (KEY1==0)
  132.         {
  133.                 delay(2);
  134.                 if (KEY1==0)
  135.                 {
  136.                         j=0;
  137.                         TR0=0;
  138.                         flag=0;
  139.                         x1=0;
  140.                 }
  141.                         while(KEY1==0);
  142.         }
  143.         while(!KEY1);
  144. }
復制代碼

所有資料51hei提供下載:
帶分.zip (29.76 KB, 下載次數: 24)


回復

使用道具 舉報

ID:1 發表于 2018-4-7 16:26 | 顯示全部樓層
有原理圖嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 新疆少妇videos高潮 | 一区二区三区在线免费观看 | 小草久久久久久久久爱六 | 国产精品国产三级国产aⅴ中文 | 99福利视频导航 | caoporn视频 | 亚洲欧美久久 | 九九热国产精品视频 | 午夜精品一区二区三区在线视频 | 国产精品日韩欧美一区二区三区 | 日日操夜夜操天天操 | 羞羞色网站 | 国产亚洲精品久久yy50 | 性高湖久久久久久久久 | 日韩一区不卡 | 精品免费看 | 男人影音 | 国产999精品久久久久久绿帽 | 最新中文字幕久久 | 日韩欧美在线视频 | 亚洲一区二区三区福利 | 羞羞网站免费 | 黄色国产视频 | 一级片在线视频 | 偷牌自拍| 欧美最猛黑人xxxx黑人 | 欧美日韩视频一区二区 | 国产传媒在线播放 | 久久久久久久综合色一本 | 91精品久久久久 | 国产精品成人在线 | 免费看的av | 91精品国产综合久久久久久丝袜 | 中文字幕 亚洲一区 | 日韩欧美在线不卡 | 久久久久久国产精品 | 欧美四虎 | www.操.com | 国产成人a亚洲精品 | 夜夜操天天干 | 一区二区久久电影 |