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

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

QQ登錄

只需一步,快速開始

搜索
查看: 8229|回復(fù): 18
收起左側(cè)

51單片機(jī)三路搶答器仿真加源程序

  [復(fù)制鏈接]
ID:372961 發(fā)表于 2018-8-5 18:21 | 顯示全部樓層 |閱讀模式
protues仿真圖:
QQ圖片20180805181641.png QQ截圖20180805181558.png

實(shí)物圖:
IMG_0263.JPG IMG_0264.JPG

單片機(jī)程序源碼:
  1. /*******************************************************************************
  2. *  標(biāo)題:                           三路搶答器                                  *
  3. *  時(shí)間                      2018年8月5日17:59:20                                                   *
  4. *                                                                                                                                                           *
  5. *  實(shí)驗(yàn)說明:在10s的時(shí)間內(nèi),三位選手進(jìn)行按鍵搶答,如果1號(hào)搶答,那么數(shù)碼管將顯示*
  6. 1號(hào)選手的號(hào)碼。并且蜂鳴器響,以此類推。如果10s時(shí)間到,蜂鳴器響,選手 *
  7. 無法進(jìn)行搶答                                                                                    *                                                      
  8. ********************************************************************************
  9. * 實(shí)驗(yàn)心得:做法相對(duì)簡單,注意共陰數(shù)碼管還是共陽數(shù)碼管                                                             *
  10. ********************************************************************************/

  11. #include <reg52.h>

  12. //IO口定義
  13. #define GPIO_DIG P0
  14. #define GPIO_SHOW P2

  15. sbit LSA=P3^0;
  16. sbit beep=P1^5;
  17. sbit K1=P3^1;
  18. sbit K2=P1^0;
  19. sbit K3=P1^1;
  20. sbit K4=P1^2;

  21. //--定義全局變量--//
  22. typedef unsigned int u16;
  23. unsigned char code DIG_CODE[18]={
  24. 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  25. 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0xff};
  26. //0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
  27. unsigned int Ge=0;
  28. unsigned int Shi=1;
  29. unsigned int num=0;
  30. unsigned int Res=10;
  31. unsigned int flag=0;

  32. //全局函數(shù)
  33. void DigDisplay();

  34. void delay(u16 i)
  35. {
  36.         while(i--);      
  37. }

  38. void main()
  39. {
  40.     TMOD = 0x01;
  41.     TH0 = 0x3C;
  42.     TL0 = 0x0B0;
  43.     EA = 1;
  44.     ET0 = 1;
  45.     TR0 = 1;
  46.         DigDisplay();


  47. }


  48. void DigDisplay()
  49. {
  50.         unsigned char i;
  51.         unsigned int j;
  52.         while(1)
  53.         {
  54.         for(i=0;i<2;i++)
  55.         {
  56.                 switch(i)         //位選,選擇點(diǎn)亮的數(shù)碼管,
  57.                 {
  58.                         case(0):
  59.                                 LSA=0;
  60.                                 GPIO_DIG=DIG_CODE[Shi];//發(fā)送段碼
  61.                                 break;//顯示第0位
  62.                         case(1):
  63.                                 LSA=1;
  64.                                 GPIO_DIG=DIG_CODE[Ge];//發(fā)送段碼
  65.                                 break;//顯示第1位
  66.                 }
  67.                
  68. /****************************************************************************/
  69. /*消隱函數(shù)要在數(shù)碼管更新頻率很快的條件下,才起作用,手動(dòng)更換數(shù)碼管位選完全達(dá)不到這么快的速度,因此在這種情況下也是沒必要用消隱的  */
  70.                 j=10;                                                 //掃描間隔時(shí)間設(shè)定
  71.                 while(j--);        
  72.                 GPIO_DIG=0x00;//消隱
  73.                 }
  74.         if(K1==0)
  75.         {
  76.                 Res=10;
  77.                 flag=0;
  78.         }

  79.     else if(K2==0)
  80.         {
  81.                 GPIO_SHOW=~DIG_CODE[1];
  82.                 while(1)
  83.                 {
  84.                 beep=~beep;
  85.                 delay(10);
  86.                 if(K1==0)
  87.                 {
  88.                  Res=10;
  89.                  flag=0;
  90.                  GPIO_SHOW=~DIG_CODE[17];
  91.                  break;        
  92.                 }
  93.                 }

  94.         }

  95.         else if(K3==0)
  96.         {
  97.                 GPIO_SHOW=~DIG_CODE[2];
  98.                 while(1)
  99.                 {
  100.                 beep=~beep;
  101.                 delay(10);
  102.                 if(K1==0)
  103.                 {
  104.                  Res=10;
  105.                  flag=0;
  106.                  GPIO_SHOW=~DIG_CODE[17];
  107.                  break;
  108.                 }        
  109.                 }
  110.         }

  111.         else if(K4==0)
  112.         {
  113.                 GPIO_SHOW=~DIG_CODE[3];
  114.                 while(1)
  115.                 {
  116.                 beep=~beep;
  117.                 delay(10);
  118.                 if(K1==0)
  119.                 {
  120.                  Res=10;
  121.                  flag=0;
  122.                  GPIO_SHOW=~DIG_CODE[17];
  123.                  break;
  124.                 }        
  125.                 }
  126.         }

  127.         }


  128. }

  129. void Int1() interrupt 1
  130. {
  131.         TMOD = 0x01;
  132.     TH0 = 0x3C;
  133.     TL0 = 0x0B0;
  134.         num++;

  135.         if(num==20)
  136.         {
  137.                 num=0;
  138.                 flag++;
  139.                 Res--;
  140.                 Ge=Res%10;
  141.                 Shi=Res/10;               
  142.         }
  143.         
  144.         if(flag==10)
  145.         {
  146.                 while(1)
  147.                 {
  148.                 beep=~beep;
  149.                 delay(10);

  150.                 if(K1==0)
  151.             {
  152.                 Res=10;
  153.                 flag=0;
  154.                 break;
  155.             }
  156.                 }
  157.         }        
  158. }
復(fù)制代碼
0.png

全部資料51hei下載地址:
三路搶答器.rar (49.57 KB, 下載次數(shù): 170)

評(píng)分

參與人數(shù) 2黑幣 +65 收起 理由
楊雪飛 + 15 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:89286 發(fā)表于 2018-8-5 21:06 | 顯示全部樓層
thanks for sharing
回復(fù)

使用道具 舉報(bào)

ID:437183 發(fā)表于 2018-12-3 15:50 | 顯示全部樓層
想問一下是怎樣在proteus里操作的?為什么按了沒反應(yīng)?
回復(fù)

使用道具 舉報(bào)

ID:439965 發(fā)表于 2018-12-6 11:04 來自手機(jī) | 顯示全部樓層
左上角控制按鈕是不是沒有用
回復(fù)

使用道具 舉報(bào)

ID:442132 發(fā)表于 2018-12-11 19:00 | 顯示全部樓層
可是仿真蜂鳴器響,是聽不到的
回復(fù)

使用道具 舉報(bào)

ID:372961 發(fā)表于 2018-12-28 17:02 | 顯示全部樓層
饕客 發(fā)表于 2018-12-6 11:04
左上角控制按鈕是不是沒有用

對(duì)的,左上角的本來是想當(dāng)復(fù)位按鈕,但是沒有給這個(gè)按鈕功能,所以按了沒用
回復(fù)

使用道具 舉報(bào)

ID:372961 發(fā)表于 2018-12-28 17:03 | 顯示全部樓層
day9520 發(fā)表于 2018-12-11 19:00
可是仿真蜂鳴器響,是聽不到的

可以聽到噠,好像是噗噗噗的聲音
回復(fù)

使用道具 舉報(bào)

ID:372961 發(fā)表于 2018-12-28 17:04 | 顯示全部樓層
88877789 發(fā)表于 2018-12-3 15:50
想問一下是怎樣在proteus里操作的?為什么按了沒反應(yīng)?

有反應(yīng)的哦,右下角三個(gè)按鍵
回復(fù)

使用道具 舉報(bào)

ID:457800 發(fā)表于 2018-12-29 09:46 來自手機(jī) | 顯示全部樓層
謝謝啦,
回復(fù)

使用道具 舉報(bào)

ID:666200 發(fā)表于 2019-12-17 14:13 | 顯示全部樓層
shi 和ge 是代表什么意思呢
回復(fù)

使用道具 舉報(bào)

ID:372961 發(fā)表于 2019-12-17 14:51 | 顯示全部樓層
zyn2222 發(fā)表于 2019-12-17 14:13
shi 和ge 是代表什么意思呢

十位和個(gè)位
回復(fù)

使用道具 舉報(bào)

ID:666200 發(fā)表于 2019-12-17 22:23 來自手機(jī) | 顯示全部樓層
zyn2222 發(fā)表于 2019-12-17 14:13
shi 和ge 是代表什么意思呢

好的,懂了,感謝,還有一個(gè)問題就是我接線那個(gè)lsa 接到數(shù)碼管位選那還是138的最低位引腳呢,因?yàn)槲疫B接后他的時(shí)間會(huì)在前四個(gè)數(shù)碼管來回跳,也不知道是為什么
回復(fù)

使用道具 舉報(bào)

ID:779939 發(fā)表于 2020-6-15 14:34 | 顯示全部樓層
非常好。完美實(shí)現(xiàn)了三路搶答的要求
回復(fù)

使用道具 舉報(bào)

ID:732632 發(fā)表于 2020-6-15 17:06 | 顯示全部樓層
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:787765 發(fā)表于 2020-6-23 15:23 | 顯示全部樓層
請(qǐng)問這個(gè)可以用dxp實(shí)現(xiàn)嗎?
回復(fù)

使用道具 舉報(bào)

ID:787765 發(fā)表于 2020-6-23 17:35 | 顯示全部樓層
這個(gè)可以用dxp畫出來嗎?
回復(fù)

使用道具 舉報(bào)

ID:787765 發(fā)表于 2020-6-24 15:26 | 顯示全部樓層
您好,想問下您的三路搶答器的單個(gè)數(shù)碼管是共陰極還是共陽極的呢?我看到代碼里是陰極的代碼,可是我用陽極的才會(huì)顯示,但是中間有一橫是一直亮著的,是什么原因呢?
回復(fù)

使用道具 舉報(bào)

ID:830430 發(fā)表于 2020-10-15 20:14 來自手機(jī) | 顯示全部樓層
請(qǐng)問可以加一個(gè)加分減分功能嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人精品在线观看 | 国产三级一区二区三区 | 香蕉大人久久国产成人av | 日韩精品亚洲专区在线观看 | 日本免费黄色一级片 | 91久久久久久久久久久 | 欧美精品第一页 | 久久久久国产一区二区三区 | 妞干网av| 亚洲欧美日韩在线不卡 | 国产伦精品一区二区三区高清 | 欧美天堂 | 大象视频一区二区 | 天天操妹子 | 欧美1区| 人人爱干| 成人av电影免费在线观看 | 在线观看日本网站 | 日日摸夜夜添夜夜添特色大片 | 在线视频亚洲 | 亚洲伊人精品酒店 | 日韩成人在线视频 | www.精品国产 | 亚洲一区成人 | 91成人精品| 亚洲视频www| 久久久久久久久久久久91 | 91免费观看| 黄色免费三级 | 中国91av | 岛国精品 | av中文在线 | 欧美国产日韩在线观看成人 | 蜜桃视频一区二区三区 | 久久久免费 | 国产露脸国语对白在线 | 久久久视 | 亚洲狠狠 | 色五月激情五月 | 99国产精品99久久久久久粉嫩 | 日本在线免费看最新的电影 |