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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3549|回復: 1
打印 上一主題 下一主題
收起左側

51單片機電子抽獎系統源程序+Proteus仿真電路

[復制鏈接]
跳轉到指定樓層
樓主
(二)設計要求
1.隨機產生抽獎號碼。
2.可以隨時啟動和停止抽獎
3.實時顯示抽獎結果

(三)設計方法
   本設計由三部分組成:CPU處理模塊,按鍵抽獎控制模塊,抽獎信息顯示模塊。其中CPU處理模塊控制所有的電路,當抽獎啟動鍵按下后,CPU識別到按鍵按下,開始持續產生隨機數(抽獎號碼),當抽獎停止鍵按下后,CPU識別到按鍵按下,立刻停止隨機數的產生,并在顯示模塊顯示出當前隨機數(抽獎號碼)。

二 硬件設計
(一)硬件設計方案
   本設計使用AT89C51芯片作為主芯片,使用兩個獨立按鍵作為抽獎的啟動鍵和停止鍵,以及四位共陰數碼管作為抽獎號碼的顯示模塊。硬件設計結構簡單可靠,不需要額外的電路部分節省了制造生產成本。

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


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

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


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


(二)各部分代碼分析
1.主函數
void main()
{
        TMOD=0x01;
        TH0=0x00;
        TL0=0x00;
        EA=1;
        ET0=1;
        TR0=1;
        key();                        
}
主函數,設定了定時器的工作方式,定時器初值,調用了key函數。
2.按鍵邏輯函數
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();                 
        }                        
}
按鍵函數中設定了按鍵控制隨機數的產生和顯示邏輯,只有K1按下后才會產生隨機數,K2按下后會停止并顯示當前隨機數。
3.顯示函數
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;
        }
顯示函數通過對sum1和sum2的運算得到個位數,并以此為下標在數組內找到對應數字從P3口送出。

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:752754 發表于 2020-7-12 14:31 | 只看該作者
第一次發,謝謝審核小哥
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷国产精品 | 女人一区 | 91在线免费视频 | 中文字幕成人 | 国产成人精品999在线观看 | 交专区videossex农村 | 成人精品在线 | 伊人伊人 | 99精品国产一区二区青青牛奶 | 久久国内精品 | 亚洲第一成人影院 | 九九热re| 日本韩国欧美在线观看 | 久久国产精品一区二区三区 | 在线欧美日韩 | 一区二区三区免费在线观看 | 在线播放亚洲 | 国产日韩欧美一区 | 午夜免费在线观看 | 在线伊人网 | 91精品午夜窝窝看片 | 亚洲一区不卡 | 国产精品一区免费 | 成人在线观看中文字幕 | 久久精品国产一区二区 | 91成人在线视频 | 国产精品区二区三区日本 | 国产精品免费大片 | 激情六月丁香 | 国产精品一区2区 | 午夜国产 | 欧美亚洲一区二区三区 | 国产蜜臀97一区二区三区 | 国产成人网 | 久久久久久www | 亚洲高清在线 | 黑人精品欧美一区二区蜜桃 | 欧美午夜影院 | 一区二区三区久久久 | 欧区一欧区二欧区三免费 | 亚洲精品粉嫩美女一区 |