欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)電子抽獎(jiǎng)系統(tǒng)源程序+Proteus仿真電路

[復(fù)制鏈接]
ID:752754 發(fā)表于 2020-7-12 10:43 | 顯示全部樓層 |閱讀模式
(二)設(shè)計(jì)要求
1.隨機(jī)產(chǎn)生抽獎(jiǎng)號(hào)碼。
2.可以隨時(shí)啟動(dòng)和停止抽獎(jiǎng)
3.實(shí)時(shí)顯示抽獎(jiǎng)結(jié)果

(三)設(shè)計(jì)方法
   本設(shè)計(jì)由三部分組成:CPU處理模塊,按鍵抽獎(jiǎng)控制模塊,抽獎(jiǎng)信息顯示模塊。其中CPU處理模塊控制所有的電路,當(dāng)抽獎(jiǎng)啟動(dòng)鍵按下后,CPU識(shí)別到按鍵按下,開始持續(xù)產(chǎn)生隨機(jī)數(shù)(抽獎(jiǎng)號(hào)碼),當(dāng)抽獎(jiǎng)停止鍵按下后,CPU識(shí)別到按鍵按下,立刻停止隨機(jī)數(shù)的產(chǎn)生,并在顯示模塊顯示出當(dāng)前隨機(jī)數(shù)(抽獎(jiǎng)號(hào)碼)。

二 硬件設(shè)計(jì)
(一)硬件設(shè)計(jì)方案
   本設(shè)計(jì)使用AT89C51芯片作為主芯片,使用兩個(gè)獨(dú)立按鍵作為抽獎(jiǎng)的啟動(dòng)鍵和停止鍵,以及四位共陰數(shù)碼管作為抽獎(jiǎng)號(hào)碼的顯示模塊。硬件設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單可靠,不需要額外的電路部分節(jié)省了制造生產(chǎn)成本。

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

(三)按鍵電路設(shè)計(jì)
   本設(shè)計(jì)按鍵部分使用兩個(gè)獨(dú)立按鍵,一個(gè)作為抽獎(jiǎng)的啟動(dòng)鍵,一端與接芯片P1.0口相接,一端與地線相接。一個(gè)作為抽獎(jiǎng)的停止鍵,一端與接芯片的P1.4口相接,一端與地線相接。按鍵按下即可送出低電平信號(hào)。如圖三所示。
圖三(按鍵電路)

(四)數(shù)碼管顯示部分
   本設(shè)計(jì)的顯示部分采用7SEG-MPX4-CC,即四位共陰極數(shù)碼管,該數(shù)碼管剛好可以滿足稍復(fù)雜的4位抽獎(jiǎng)號(hào),既確保了有足夠的抽獎(jiǎng)號(hào)數(shù)量同時(shí)又方便記錄和查看。數(shù)碼管的A,B,C,D,E,F,G,DP分別與芯片的P2.0至P2.7相連,以控制數(shù)碼管所顯示的內(nèi)容,而數(shù)碼管的1,2,3,4分別與芯片的P3.0至P3.3相連,用于控制數(shù)碼管所顯示數(shù)字的位置。如圖四所示。


   程序開始后,進(jìn)入while循環(huán)等待按鍵K1的按下,待K1按下后定時(shí)器開始計(jì)時(shí),將TL0,TH0的值分別賦給sum1和sum2,sum1和sum2進(jìn)行除以10取余10和直接取余10后得到不同的個(gè)位數(shù),再以此為數(shù)組下標(biāo)分別從數(shù)組led[ ]中取數(shù)碼管的數(shù)值顯示,在條件循環(huán)while(counter==1)里循環(huán)等待按鍵K2的按下,若K2按下,則跳出while(counter==1)循環(huán),停止隨機(jī)數(shù)的產(chǎn)生,將當(dāng)前隨機(jī)數(shù)一直顯示在數(shù)碼管上,完成一次抽獎(jiǎng)。


(二)各部分代碼分析
1.主函數(shù)
void main()
{
        TMOD=0x01;
        TH0=0x00;
        TL0=0x00;
        EA=1;
        ET0=1;
        TR0=1;
        key();                        
}
主函數(shù),設(shè)定了定時(shí)器的工作方式,定時(shí)器初值,調(diào)用了key函數(shù)。
2.按鍵邏輯函數(shù)
void key()
{
                 while(1)
        {
                        if(k1==0)
                        {
                        counter=1;
                        while(counter==1)
                        {         
                        sum1=TL0;
                        sum2=TH0;
                        display();
                        delay(35);
                        TR0=1;
                        if(k2==0)
                        {break;}
                        }        
                        }
                if(k2==0)
                {

                        P2=0x00;
                        P3=0x00;
                        sum1=TL0;
                        sum2=TH0;
                        TR0=0;
                        if(k1==0)
                        {break;}
                }
                display();                 
        }                        
}
按鍵函數(shù)中設(shè)定了按鍵控制隨機(jī)數(shù)的產(chǎn)生和顯示邏輯,只有K1按下后才會(huì)產(chǎn)生隨機(jī)數(shù),K2按下后會(huì)停止并顯示當(dāng)前隨機(jī)數(shù)。
3.顯示函數(shù)
void display()
{
        P2=led[sum1%10];
        P3=0xfe;
        delay(2);
        P3=0xff;

        P2=led[sum1/10%10];
        P3=0xfd;
        delay(2);
        P3=0xff;

        P2=led[sum2%10];
        P3=0xfb;
        delay(2);
        P3=0xff;

        P2=led[sum2/10%10];
        P3=0xf7;
        delay(2);
        P3=0xff;
        }
顯示函數(shù)通過對(duì)sum1和sum2的運(yùn)算得到個(gè)位數(shù),并以此為下標(biāo)在數(shù)組內(nèi)找到對(duì)應(yīng)數(shù)字從P3口送出。

全部資料51hei下載地址(Proteus仿真+源程序):
基于51單片機(jī)的電子抽獎(jiǎng).zip (64.41 KB, 下載次數(shù): 52)

評(píng)分

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

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:752754 發(fā)表于 2020-7-12 14:31 | 顯示全部樓層
第一次發(fā),謝謝審核小哥
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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