找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2095|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)60秒計(jì)時(shí)秒表(仿真+程序)

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


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  5. sbit shi=P0^0;
  6. sbit ge=P0^1;
  7. sbit key0 = P1^5;
  8. sbit key1 = P1^6;
  9. sbit key2 = P1^7;
  10. uint num = 0;
  11. bit key0_enter=0;
  12. bit key1_enter=0;
  13. bit key2_enter=0;
  14. void init(void)
  15. {
  16.         ge = 1;
  17.         shi = 1;
  18.         EA = 1;
  19.         IT0 = 1;
  20. }
  21. void delay(uchar ms)
  22. {
  23. uchar i ,j;
  24. for (i=0;i<ms;i++)
  25.          for(j=101;j>0;j--);

  26. }

  27. void key_loop()
  28. {
  29.         if ((key0==0)&&(key0_enter==0))
  30.         {
  31.                 key0_enter=1;
  32.                 EX0=1;

  33.         }
  34.         if(key0==1)
  35.         {
  36.          key0_enter=0;
  37.         }


  38.         if ((key1==0)&&(key1_enter==0))
  39.         {
  40.                 key1_enter=1;
  41.                 EX0=0;

  42.         }
  43.         if(key1==1)
  44.         {
  45.          key1_enter=0;
  46.         }
  47.         if ((key2==0)&&(key2_enter==0))
  48.         {
  49.                 key2_enter=1;
  50.                 num = 0;

  51.         }
  52.         if(key2==1)
  53.         {
  54.          key2_enter=0;
  55.         }
  56. }
  57. void display()
  58. {
  59.         static uchar nms=0;
  60.         static bit wei=0;
  61.          uchar ges=0;
  62.          uchar shis=0;
  63.         nms++;
  64.         if(nms>5)
  65.         {
  66.          nms=0;
  67.          
  68.          
  69.          if(wei)
  70.          {
  71.            shis=(num/10)%10;  
  72.                    ge=0;
  73.                 shi=0;
  74.                 P2=table[shis];
  75.                 shi=1;
  76.                 wei=0;
  77.          }
  78.          else
  79.          {
  80.            ges=num%10;
  81.                 ge=0;
  82.                 shi=0;
  83.                  P2=table[ges];
  84.                            ge=1;
  85.          wei=1;

  86.          }        }
  87. }
  88. void main()
  89. {
  90.   init();
  91.   for(;;)
  92.   {
  93.         key_loop();
  94.         display();
  95.         delay(1);
  96.   }


  97. }

  98. void waibu() interrupt 0
  99. {
  100.         num++;
  101. }
復(fù)制代碼

仿真程序51hei附件下載:
共陽(yáng)極單片機(jī).7z (69.93 KB, 下載次數(shù): 29)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1101845 發(fā)表于 2024-1-3 19:33 | 只看該作者
這是AT89C51板子嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:1107942 發(fā)表于 2024-1-4 12:54 | 只看該作者

這個(gè)就是at89c51的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表