亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 基于51單片機(jī)的隨機(jī)抽獎(jiǎng)器。十萬火急! 求幫助 [打印本頁]

作者: 徐呵呵    時(shí)間: 2018-3-28 18:47
標(biāo)題: 基于51單片機(jī)的隨機(jī)抽獎(jiǎng)器。十萬火急! 求幫助
人工方式,按下開始按鈕,能輸出3~8個(gè)的隨機(jī)數(shù)(隨機(jī)數(shù)需要兩位數(shù)的),并顯示出來。例如:我選定中獎(jiǎng)人數(shù)是3人,數(shù)字范圍是50,按下抽獎(jiǎng)鍵后,你的顯示應(yīng)該是諸如25 36 17 之類的三個(gè)數(shù)字,一共6位數(shù)。求大神幫忙,真的急!!!!!

作者: yzwzfyz    時(shí)間: 2018-3-28 21:59
做一個(gè)1-50的計(jì)數(shù)器,永遠(yuǎn)一直循環(huán),
設(shè)置一個(gè)緩沖區(qū)放8個(gè)數(shù)據(jù)
當(dāng)有鍵按下是,取出計(jì)數(shù)器的的數(shù)放入緩沖區(qū),事先多敲幾次鍵,讓緩沖區(qū)中充滿這樣的數(shù),這些數(shù)字可以認(rèn)為的隨機(jī)的。注意每次放不同的位置。
現(xiàn)在開始:按下后,從緩沖區(qū)中取出你所要的數(shù)據(jù)即可,同事再被補(bǔ)入一個(gè)。
這只是較方便的一種。你可以想像出許多種隨機(jī)的方式。
作者: 的花朵    時(shí)間: 2018-3-28 23:58
送給樓主,剛寫的,我也是初學(xué),可能有些不太完善的地方,但是你說的功能都實(shí)現(xiàn)了,數(shù)碼管為共陰,位選使用了138
  1. #include"reg52.h"
  2. #include"stdlib.h"                        //   //包含隨機(jī)數(shù)函數(shù)的頭文件

  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. #define max 50                   //max
  6. #define min 1                                //min
  7. uint a,c,d,e,f=0;
  8. uchar code smgduan[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
  9. DisplayData[8];
  10. bit gg;
  11. sbit LSA=P2^2;
  12. sbit LSB=P2^3;
  13. sbit LSC=P2^4;
  14. sbit k1=P3^0;                        //按鍵
  15. sbit k2=P3^1;       
  16. void inittimer()
  17. {
  18. TMOD|=0x11;                               
  19. TH0=(65535-1000)/256;
  20. TL0=(65535-1000)%256;
  21. EA=1;
  22. ET0=1;
  23. TR0=1;
  24. }
  25. void delay(uint x)
  26. {
  27. while(x--);
  28. }
  29. void DigDisplay()                        //138位選
  30. {
  31.         uchar i;
  32.         for(i=0;i<8;i++)
  33.         {
  34.                 switch(i)         
  35.                 {
  36.                         case(0):
  37.                                 LSA=0;LSB=0;LSC=0; break;
  38.                         case(1):
  39.                                 LSA=1;LSB=0;LSC=0; break;
  40.                         case(2):
  41.                                 LSA=0;LSB=1;LSC=0; break;
  42.                         case(3):
  43.                                 LSA=1;LSB=1;LSC=0; break;
  44.                         case(4):
  45.                                 LSA=0;LSB=0;LSC=1; break;
  46.                         case(5):
  47.                                 LSA=1;LSB=0;LSC=1; break;
  48.                         case(6):
  49.                                 LSA=0;LSB=1;LSC=1; break;
  50.                         case(7):
  51.                                 LSA=1;LSB=1;LSC=1; break;       
  52.                 }
  53.                 P0=DisplayData[7-i];
  54.                 if(c>=200){c=0;};

  55.                 P0=0x00;
  56.         }               
  57. }
  58. void datapros()          //段選
  59. {
  60.         DisplayData[0] = smgduan[a/10];                               
  61.         DisplayData[1] = smgduan[a%10];                                 
  62.         DisplayData[2] = 0x40;
  63.         DisplayData[3] = smgduan[d/10];                               
  64.         DisplayData[4] = smgduan[d%10];       
  65.         DisplayData[5] = 0x40;
  66.         DisplayData[6] = smgduan[e/10];                               
  67.         DisplayData[7] = smgduan[e%10];
  68. }
  69. void main()
  70. {       
  71.         double b;
  72.         inittimer();
  73.         haha:for(b=0;b<50000000;b++)
  74.                 {
  75.                         srand(b);
  76.                         a = rand()%49+1;
  77.                         srand(c);
  78.                         d = rand()%49+1;
  79.                         srand(b-c);
  80.                         e = rand()%49+1;
  81.                         datapros();
  82.                         if(k1==0)
  83.                         {
  84.                         delay(1000);if(k1==0)
  85.                         {
  86.                         TR0=0;;while(k2){DigDisplay();};TR0=1;
  87.                         }
  88.                         }
  89.                         delay(5500);                        //更改括號(hào)內(nèi)數(shù)字來更改刷新速度
  90.                 }
  91.                 goto haha;
  92. }
  93. void init()interrupt 1
  94. {
  95. TH0=(65535-1000)/256;
  96. TL0=(65535-1000)%256;
  97. DigDisplay();
  98. c++;
  99. }
復(fù)制代碼



作者: 的花朵    時(shí)間: 2018-3-29 00:38
祖國(guó)的花朵 發(fā)表于 2018-3-28 23:58
送給樓主,剛寫的,我也是初學(xué),可能有些不太完善的地方,但是你說的功能都實(shí)現(xiàn)了,數(shù)碼管為共陰,位選使用 ...

數(shù)組里0x00那個(gè)是沒有用到的哈,上個(gè)程序留下的,沒注意到,不妨礙顯示
作者: 的花朵    時(shí)間: 2018-3-29 22:49
祖國(guó)的花朵 發(fā)表于 2018-3-29 00:38
數(shù)組里0x00那個(gè)是沒有用到的哈,上個(gè)程序留下的,沒注意到,不妨礙顯示

沒有考慮到相同情況。。。。

作者: ironTonySTK    時(shí)間: 2018-5-26 20:39
這個(gè)應(yīng)該可以用

應(yīng)用實(shí)例9 電子抽獎(jiǎng)系統(tǒng).rar

83.23 KB, 下載次數(shù): 50

電子抽獎(jiǎng)系統(tǒng)






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