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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

籃球計(jì)分器仿真和單片機(jī)代碼 帶節(jié)次設(shè)置鍵 復(fù)位

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
這是自己在學(xué)單片機(jī)的時(shí)候 寫的一個(gè)籃球計(jì)分器程序 包括protues仿真圖,帶節(jié)次設(shè)置鍵 復(fù)位按鈕等

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg52.h>  
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar secs = 0;
  6. uchar minutes = 1;
  7. uchar LED,num1,num2,num = 4;
  8. uchar  flag1 = 1,flag2 = 0;
  9. uchar m_secs = 24;
  10. uchar key_value = 0;
  11. uchar table[13] = {1,2,3,4,5,6,7,8,9,0,1,2,3};
  12. uchar code LedNum[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  13. uchar scan_kay(void);
  14. void delay(uchar z);
  15. void INT0_Initial(void)
  16. {
  17.     EX0 = 1;
  18.     IT0 = 1;
  19.     EA = 1;
  20.     P1 = 0xF0;
  21. }
  22. void INT0_Interrupt(void) interrupt 0
  23. {
  24.     uchar temp;
  25.     temp = scan_kay();
  26.     if(temp!=0x7f)
  27.     {
  28.         key_value = temp;
  29.     }
  30.     P1 = 0xF0;
  31. }
  32. void Time0_Initial(void)
  33. {
  34.     TMOD = 0x01;
  35.     TH0 = (65536-50000)/256;
  36.     TL0 = (65536-50000)%256;
  37.     ET0 = 1;
  38.     TR0 = 1;
  39.     EA = 1;
  40.     PT0 = 1;
  41.     PX0 = 0;
  42. }
  43. volatile uchar cnt = 0;
  44. void Time0_Interrupt(void) interrupt 1
  45. {
  46.     TH0 = (65536-50000)/256;
  47.     TL0 = (65536-50000)%256;
  48.     cnt ++;
  49. minutes=11;
  50.     if(cnt==15)
  51.     {
  52.         cnt = 0;
  53.         secs --;
  54.         m_secs --;
  55.         if(flag2==1)
  56.         {
  57.             LED = !LED;
  58.         }
  59.         if(flag2==0)
  60.         {
  61.             LED = 0;
  62.         }
  63.     }
  64.     if(secs>60)
  65.     {
  66.         secs = 59;
  67.         minutes --;
  68.     }
  69.     if(m_secs>24)
  70.     {
  71.         m_secs = 23;
  72.         if(flag1==1)
  73.         {
  74.             flag2 = 1;
  75.         }
  76.         if(flag1==0)
  77.         {
  78.             flag2 = 0;
  79.         }
  80.     }
  81.     if(minutes>60)
  82.     {
  83.         minutes = 11;
  84.         m_secs = 24;
  85.         num ++;
  86.     }
  87.     if(num==4)
  88.     {
  89.         num = 1;
  90.     }
  91. }
  92. void HEXTOBCD(void)
  93. {
  94.     table[0] = LedNum[num];
  95.     table[1] = LedNum[m_secs/10];
  96.     table[2] = LedNum[m_secs%10];
  97.     table[3] = LedNum[minutes/10];
  98.     table[4] = LedNum[minutes%10];
  99.     table[5] = LedNum[secs/10];
  100.     table[6] = LedNum[secs%10];
  101.     table[7] = LedNum[num1/100];
  102.     table[8] = LedNum[num1%100/10];
  103.     table[9] = LedNum[num1%10];
  104.     table[10] = LedNum[num2/100];
  105.     table[11] = LedNum[num2%100/10];
  106.     table[12] = LedNum[num2%10];
  107. }
  108. void Display(uchar *str)
  109. {
  110.     uchar i,temp = 0;
  111.     for(i=0;i<13;i++)
  112.     {
  113.         P0 = 0x00;
  114.         _nop_();
  115.         P2 = temp+i;
  116.         P0 = str[i];
  117.         delay(2);
  118.     }
  119. }
  120. uchar i,j;
  121. void delay(uchar z)
  122. {
  123. for(i=1;i<z;i++)
  124.   for(j=1;j<110;j++);
  125. }
  126. void main()
  127. {
  128.     INT0_Initial();
  129.     Time0_Initial();
  130.     delay(10);
  131.     LED = 0;
  132.     while(1)
  133.     {
  134.         switch(key_value)
  135.      {
  136.             case 12:
  137.       {
  138.                 num1 ++;key_value = 0;
  139.                 flag1 = 0;
  140.                 if(num1>255)
  141.           {
  142.                  num1 = 0;
  143.           }
  144.              break;
  145.       }
  146.             case 13:
  147.       {
  148.                 num1 --;key_value = 0;
  149.                 flag1 = 0;
  150.                 if(num1>255)
  151.           {
  152.                  num1 = 255;
  153.           }
  154.              break;
  155.       }
  156.             case 14:
  157.       {
  158.                 num2 ++;key_value = 0;
  159.                 flag1 = 0;
  160.                 if(num2>255)
  161.           {
  162.                  num2 = 0;
  163.           }
  164.              break;
  165.       }
  166.             case 15:
  167.       {
  168.                 num2 --;key_value = 0;
  169.                 flag1 = 0;
  170.                 if(num2>255)
  171.           {
  172.                  num2 = 255;
  173.           }
  174.              break;
  175.       }
  176.             case 1:
  177.       {
  178.              TR0 = 1;
  179.                 key_value = 0;
  180.              break;
  181.       }
  182.             case 2:
  183.       {
  184.                 num1 = 0;num2 = 0;
  185.              num = 4;
  186.                 secs = 0;minutes = 12;
  187.                 m_secs = 24;
  188.                 key_value = 0;
  189.              TR0 = 1;
  190.              break;
  191.       }
  192.             case 3:
  193.       {
  194.             
  195. ……………………

  196. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
籃球計(jì)分器.zip (19.98 KB, 下載次數(shù): 70)


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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:447723 發(fā)表于 2018-12-17 14:24 | 只看該作者
我想添加一個(gè)換場地功能,就是AB兩個(gè)調(diào)換位置要如何設(shè)置???
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美女黄频| 在线看亚洲 | 91国内视频在线 | 欧美一区永久视频免费观看 | 久久国产一区二区三区 | 韩国精品一区二区三区 | 九九av | 国产91丝袜在线熟 | 色偷偷888欧美精品久久久 | 国产精品久久久久久久久免费 | 拍拍无遮挡人做人爱视频免费观看 | 999re5这里只有精品 | 日韩一二区| 精品一区二区三区在线观看国产 | 在线欧美| 午夜一区二区三区在线观看 | a在线观看| 精品美女久久久 | 91夜夜夜| 欧美专区日韩 | 国产精品久久久乱弄 | 日韩一区二区福利视频 | 国产 日韩 欧美 制服 另类 | 色天堂影院 | 国产性网 | 天天操夜夜操 | 高清国产一区二区 | 久久国内精品 | 羞羞色视频| 91在线精品秘密一区二区 | 一级日批片 | 中文字幕一区在线 | 国产一区二区三区久久久久久久久 | 久久久久久久久久久久久91 | 亚洲男人的天堂网站 | 免费在线观看一区二区 | 黄色av网站在线免费观看 | 日韩精品一区二区三区中文在线 | 日本小视频网站 | 欧美精品久久久久 | 在线看av的网址 |