版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電子時(shí)鐘及抽獎(jiǎng)機(jī)姓 名:學(xué) 號(hào):系 別:物理與電子信息工程系專 業(yè):電子科學(xué)與技術(shù)年 級(jí):09級(jí)指導(dǎo)教師:白炳良2012年5月目錄1摘要:32關(guān)鍵字:33設(shè)計(jì)任務(wù)33.1 兩種抽獎(jiǎng)方式33.2 擴(kuò)展功能34設(shè)計(jì)方案34.1 設(shè)計(jì)思路34.2 方案比較與論證34.3 系統(tǒng)結(jié)構(gòu)框圖45各功能模塊設(shè)計(jì)45.1 顯示模塊原理45.2 參數(shù)at算55.3 獨(dú)立式按鍵模塊55.4 總系統(tǒng)原理圖66軟件設(shè)計(jì)76.1 I/O 口分配 76.2 隨機(jī)數(shù)算法86.3 秒產(chǎn)生算法86.4 按鍵掃描86.5 顯示掃描87流程圖888程序清單129調(diào)試要點(diǎn)279.1 硬件調(diào)試279.2 軟件調(diào)試279.3 結(jié)果分析及設(shè)
2、計(jì)工作總結(jié)2710參考文獻(xiàn)及附件2710.1 參考文獻(xiàn)2810.2 元器件清單2811PC阪圖28281摘要:本設(shè)計(jì)由單片機(jī)AT89S52芯片和LED共陽(yáng)數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)由單片機(jī)控制的四位顯示設(shè)計(jì),設(shè)計(jì)制作同步和單步抽獎(jiǎng)機(jī),在模式鍵、啟動(dòng)鍵,停止鍵的控制下 實(shí)現(xiàn)設(shè)計(jì)集成了時(shí)鐘、秒表、四位抽獎(jiǎng)三種功能于一體。2關(guān)鍵字:AT89S52動(dòng)態(tài)顯示四位抽獎(jiǎng)按鍵掃描隨機(jī)數(shù)秒表3設(shè)計(jì)任務(wù)3.1 兩種抽獎(jiǎng)方式3.1.1 按抽獎(jiǎng)啟動(dòng)鍵時(shí),四位數(shù)碼管以不同的隨機(jī)數(shù)快速滾動(dòng)顯示,按抽獎(jiǎng)停止鍵時(shí),四位隨機(jī)數(shù)停止?jié)L動(dòng)顯示在數(shù)碼管上。3.1.2 按抽獎(jiǎng)啟動(dòng)鍵時(shí),個(gè)位數(shù)碼管以隨機(jī)數(shù)快速滾動(dòng)顯示,按抽
3、獎(jiǎng)停止鍵時(shí),個(gè)位隨機(jī)數(shù)停止?jié)L動(dòng)顯示在數(shù)碼管上;用同樣的方法來(lái)確定十位、百位、千位的隨機(jī)數(shù)。3.2 擴(kuò)展功能電子時(shí)鐘:電子鐘以99時(shí)59分59秒為一個(gè)計(jì)數(shù)周期,在顯示分秒, 時(shí)分模塊化之間切換。4設(shè)計(jì)方案4.1 設(shè)計(jì)思路本設(shè)計(jì)需要實(shí)現(xiàn)兩種方式的抽獎(jiǎng)(即四位同時(shí)抽和逐位抽獎(jiǎng)),因此重點(diǎn)在于由軟件產(chǎn)生隨機(jī)數(shù);而硬件則需由數(shù)碼管來(lái)顯示中獎(jiǎng)結(jié)果以及按鍵來(lái)控制抽獎(jiǎng)模式和啟動(dòng)、停止抽獎(jiǎng)。系統(tǒng)以AT89S52為核心,主要有顯示模塊、按鍵模塊和單片機(jī)軟件控制模塊構(gòu)成。4.2 方案比較與論證數(shù)碼管顯示模塊:方案一:?jiǎn)纹瑱C(jī)輸出數(shù)據(jù)經(jīng)譯碼芯片CD4511進(jìn)行譯碼后直接驅(qū)動(dòng)數(shù) 碼管,數(shù)碼管公共端接9012三極管擴(kuò)流,并
4、通過(guò)單片機(jī)I/O 口控制三極 管的選通,實(shí)現(xiàn)動(dòng)態(tài)顯示。方案二:有單片機(jī)的I/O 口直接驅(qū)動(dòng)數(shù)碼管的段碼,數(shù)碼管的公共端接9012三極管,通過(guò)灌電流的方式點(diǎn)亮數(shù)碼管,也需通過(guò)單片機(jī)I/O 口控制三極管的選通,實(shí)現(xiàn)動(dòng)態(tài)顯示。由于所需I/O 口由AT98S52可直接提供,無(wú)須因?yàn)?I/O 口不夠而用 CD4511來(lái)節(jié)省I/O 口,方案二又較方案一更容易實(shí)惠,所以,我選擇方案二。4.3 系統(tǒng)結(jié)構(gòu)框圖AT89S52單片機(jī)在模式鍵、啟動(dòng)鍵和停止鍵的控制下,由 P1 口輸出數(shù)據(jù), 通過(guò)P2.0、P2.1、P2.2、P2.4進(jìn)行選通,有數(shù)碼管顯示信息。系統(tǒng)框圖:圖2-3系統(tǒng)總框圖5各功能模塊設(shè)計(jì)5.1 顯示模
5、塊原理由單片機(jī)(AT89S52)的弓|腳P1 口輸出中獎(jiǎng)、時(shí)間等數(shù)據(jù)信息,通過(guò)片選信號(hào) P2.0、P2.1、P2.2、P2.4就可在相應(yīng)的數(shù)碼管進(jìn)行顯示。當(dāng)位選信號(hào)P2.0為低電平時(shí),P1 口送出數(shù)據(jù)也為低電平就點(diǎn)亮數(shù)碼管,電流灌進(jìn)單片機(jī)。多位LED顯示,為了簡(jiǎn)化電路,降低成本,將所有位的段選線并聯(lián)在一起,由一個(gè) 8位 I/O 口控制。而共陽(yáng)極公共端分別接一個(gè) 9012,由相應(yīng)的I/O 口線控制9012, 實(shí)現(xiàn)各位數(shù)碼管的分時(shí)選通。段選碼,位選碼每送入一次后延時(shí)10MS因人的視覺暫留時(shí)間為0.1S (100MS,所以每位顯示的時(shí)間不能超過(guò) 20MS并保持延 時(shí)一段時(shí)間,以造成視覺暫留效果,給人
6、看上去每個(gè)數(shù)碼管總在亮。 這種方式稱 為軟件掃描方式。電路如(圖3-1)所示。由于采用的是共陽(yáng)極數(shù)碼管,所以要讓段碼點(diǎn)亮需把 I/O 口置0,例如:段 碼a到g對(duì)應(yīng)的I/O 口是P1.0到P1.6,則要讓數(shù)碼管顯示0到6對(duì)應(yīng)的16進(jìn) 值如圖所示圖3-1顯示電路P1.6,一P1.5P1.4P1.3P1.2P1.1P1.016進(jìn)制010000000C0H111110010F9H201001000A4H301100000B0H4001100199H5001001092H6000001082H圖3-2碼表R1RES2RES2R3P2.0R4RES2h14ES5.2 參數(shù)計(jì)算由于I/O 高電平約等于5V
7、,使用灌電流的方式驅(qū)動(dòng)數(shù)碼管,故選用 PNP型 三極管9012;數(shù)碼管能正常工作的段電流為 3mA-10 mA,壓降為1.7V,三極 管發(fā)射極和集電極的壓降為0.3V ,因此限流電阻的壓降為3.0V ,5VR -5 500所以選用限流電阻的阻值 R=470歐.10mA5.3 獨(dú)立式按鍵模塊獨(dú)立式按鍵是直接用 I/O 口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O 線,每個(gè)按鍵的工作不會(huì)影響其它I/O 口線的狀態(tài)。獨(dú)立式按鍵的典型應(yīng)用如 (圖3-3)所示。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O 口線,因此,在按鍵較多時(shí),I/O 口線浪費(fèi)較大,但本設(shè)計(jì)只用到
8、三個(gè)按鍵,顧采用獨(dú)立式按鍵電路。圖3-3獨(dú)立式按鍵電路5.4 總系統(tǒng)原理圖單片機(jī)(AT89S52)9腳為復(fù)位輸入端。上電復(fù)位,只要 RST引腳上有大于二 個(gè)機(jī)器周期以上的高電平,單片機(jī)(AT89C2051)即復(fù)位。按鍵從單片機(jī)(AT89S52)的P2.0、P2.1、P2.2、P2.4 口接入,當(dāng)按鍵被按下時(shí),相應(yīng)的輸入口就會(huì)輸入低電平 00單片機(jī)(AT89S52)的XTAL1腳、XTAL2腳接一個(gè)由12M晶振和10pf組成的振 蕩電路。為單片機(jī)提供相應(yīng)的時(shí)序。arorb c d c fPg0P7&r Bar5ar4MP2QP2arOTN1 1TNI 7TP Ln-O- O£L
9、 QxrU1 89s52RSTNR&P DXTpy網(wǎng)日1T1XRWR4151 口-彳3216軟件設(shè)計(jì)主程序主要起到一個(gè)導(dǎo)向和決策功能,控制程序的走向。本系統(tǒng)在主程序 中運(yùn)用模塊化結(jié)構(gòu),所有控制量集中處理,提高了處理效率,并在RAMS立各控 制量的映射,方便各功能模塊的編程及修改。運(yùn)用散轉(zhuǎn)結(jié)構(gòu),可實(shí)現(xiàn)無(wú)擾動(dòng)重入。 本設(shè)計(jì)主要有以下幾個(gè)模塊:時(shí)鐘模塊、四位抽獎(jiǎng)模塊、逐位抽獎(jiǎng)模塊。操作說(shuō)明:上電復(fù)位后進(jìn)入數(shù)碼初顯示模塊;按 SW0啟動(dòng),四位數(shù)碼管產(chǎn)生四 位隨機(jī)數(shù),按SW0四位隨機(jī)數(shù)停止(操作可重復(fù));按SW1 一次進(jìn)入抽獎(jiǎng)2模 塊;按SW0啟動(dòng),四位數(shù)碼管最低位產(chǎn)生隨機(jī)數(shù),按SW1最低位停止
10、高位啟動(dòng) 按4次SW1后四位數(shù)碼管均產(chǎn)生隨機(jī)數(shù),按 SW0鍵停止抽獎(jiǎng)(操作可重復(fù)); 按SW1 一次進(jìn)入時(shí)間模塊(可循環(huán))。按RET鍵單片機(jī)復(fù)位。6.1 i/o 口分配1、P2.0、P2.1、P2.2、P2.4作為個(gè)位、十位、百位、千位數(shù)碼管片選。2、P3.0、P3.4、P3.7 作為按鍵接口。3、P1.0到P1.6作為段碼aUg的輸出口6.2 隨機(jī)數(shù)算法在隨機(jī)數(shù)模式下,調(diào)用庫(kù)函數(shù) stdlib . h ,用 dis_bufi =dis_dmrand() %0返回隨機(jī)數(shù)值6.3 秒產(chǎn)生算法將定時(shí)器0定時(shí)5mS每計(jì)數(shù)200次為1S。6.4 按鍵掃描直接判斷按鍵的按下與放開,不采用標(biāo)志位判斷。6.
11、5 顯示掃描顯示掃描采用高、低兩位分開顯示;這樣,在進(jìn)行時(shí)鐘顯示及秒表顯示時(shí)易于處7流程圖Msta=1 :四位同時(shí)抽獎(jiǎng)NN程序清單/*名稱:四位抽獎(jiǎng)機(jī)編寫:小葉日期:2012.5.4平臺(tái):AT89S52*/ #include<reg52.h>#include<intrins.h>#include<stdlib.h>#define uint unsigned int/ 宏定義#define uchar unsigned char/宏定義#define nop _nop_()/*端口定義*/#define disport P0/數(shù)據(jù)端口sbit cs0=P2八0
12、;sbit cs1=P2A1;sbit cs2=P2A4;sbit sw0=P3A0;sbit cs3=P2A2;/獨(dú)立按鍵端口sbit sw1=P3八4;sbit sw2=P3A7;/*定義變量*/uchar data key;/定義鍵值寄存器uchar bdata ekey; /定義鍵沿寄存器uchar bdata lastkey;sbit esw0=ekeyA0;sbit esw1=ekeyA4;sbit esw2=ekeyA7;bit flaflag;/定義閃爍標(biāo)志bit f300flag;bit cj=1;uchar f300t, f200t=200,f100t;/ 閃爍標(biāo)志ucha
13、r msta,ck=0;uchar flasta=5;uchar a,b,c,d,e,g,h;ucharcodedis_dm=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xfc,0x00,0xf0,0x0f;/顯示段碼值uchar dis_buf=0xC0,0xC0,0xC0,0xC0,0xff;/顯示緩沖uchar dis_pointer,pointer;/*函數(shù)聲明void Disply();void Flaply();void KeyScan();void Init_timer0();void choujiang_2()
14、;void dianzishizhong();void dianzishizhongxiaoshi();/*主函數(shù)定義顯示指針*/ 顯示函數(shù)/閃爍函數(shù)/讀鍵函數(shù)/定時(shí)器初始化/抽獎(jiǎng)方式2/電子時(shí)鐘*/ void main() uint i;TMOD=0x11; /定時(shí)器0工作方式1SCON=0x00;TH0=0xec;TL0=0x78;TR0=1;while(1)while(!TF0); /5ms?TF0=0;TH0=0xec; / 定時(shí)器初值重設(shè)TL0=0x78;KeyScan(); /調(diào)用鍵掃描函數(shù),顯示函數(shù)Disply();Flaply();if(f300t+>=100)/f300
15、t=0;/ f300flag=!f300flag;if(f100t+>=600)f100t=0;ck=1;switch(msta)case 0:dis_buf0=0x90;/數(shù)碼顯示初值dis_buf1=0xC0;dis_buf2=0xA4;dis_buf3=0xA4;if(esw0) msta=1;if(esw1) msta=2;if(esw2) msta=3;break;case 1:if(esw0)cj=!cj;if(cj)for(i=0;i<4;i+)/四位數(shù)同時(shí)抽獎(jiǎng)dis_bufi=dis_dmrand()%10;f300t=100;f300t-;if(f300t=0)
16、if(!cj)flasta=4; / if(esw2)/ if(icj)/flasta=4; if(esw1)msta=2;break;case 2:choujiang_2();if(esw2)msta=3;break;case 3: / flasta=5;f200t-;iff200t=0)dianzishizhong();f200t=200;)if(esw1) msta=0;if(esw0)msta=4;break;case 4: if(esw0)msta=3 ;if(esw1)msta=0;/ f200t=200;f200t-;if(f200t=0) +a;if(a>9)a=0;+b
17、;if(b>5)b=0;+c;if(c>9)c=0;+d; if(d>5)d=0;+e;if(e>9)e=0;+g;if(g>9)g=0;dis_buf0=dis_dmc;dis_buf1=dis_dmd;dis_buf2=dis_dme;dis_buf3=dis_dmg;f200t=200;break;default:msta=0;/*抽獎(jiǎng)方式2逐位抽獎(jiǎng)*/void choujiang_2()(switch(pointer) case 0:if(esw0)cj=!cj;if(cj)dis_buf0=dis_dmrand()%10;if(esw1)pointer=
18、1;break;case 1:if(esw0)cj=!cj;if(cj)dis_buf1=dis_dmrand()%10;if(esw1)pointer=2;break;case 2:if(esw0)cj=!cj;if(cj)dis_buf2=dis_dmrand()%10;if(esw1)pointer=3;break;case 3:if(esw0)cj=!cj;if(cj)dis_buf3=dis_dmrand()%10;if(esw1)pointer=0;break;default:break;/*電子時(shí)鐘分秒*/void dianzishizhong()(+a;if(a>9)a=
19、0;+b;if(b>5)b=0;+c;if(c>9)c=0;+d;if(d>5)d=0;+e;dis_buf0=dis_dma;dis_buf1=dis_dmb;dis_buf2=dis_dmc;dis_buf3=dis_dmd;/*定時(shí)器0初始化函數(shù)*/void Init_Timer0(void)TMOD = 0x11;/TH0=0xec;TL0=0x78;/TR0= 1;/)定時(shí)器0工作在方式1定時(shí)器5ms初值開定時(shí)器0/*鍵掃描函數(shù)*/ void KeyScan()uchar kbuf,keyt;P2=0XFF;P3=P3|0X91;kbuf=P3;kbuf=(kbuf
20、&0X91)八0X91;lastkey=kbuf;if(lastkey!=key)/lastkey 為前沿if(keyt-!=0)/lastkey=key;/讀獨(dú)立按建鍵有變化? key為電平,鍵有變,計(jì)數(shù)到?/放棄不穩(wěn)定的鍵)elsekeyt=0X05;/重賦去抖值ekey=(keyAlastkey)&lastkey; /鍵前沿提取key=lastkey;)/*顯示函數(shù)*/void Disply() disport=0xff;P2=0xff;switch(dis_pointer)應(yīng)顯示位case 0: cs0=0;disport=dis_buf0;dis_pointer=1;
21、if(flaflag)Flaply();break;/根據(jù)顯示指針,轉(zhuǎn)相/ 點(diǎn)亮第零位數(shù)碼管/ 點(diǎn)亮第一位數(shù)碼管case 1: cs1=0;點(diǎn)亮第二位數(shù)碼管點(diǎn)亮第三位數(shù)碼disport=dis_buf1;dis_pointer=2;if(flaflag)Flaply();break;/case 2: cs2=0;disport=dis_buf2;dis_pointer=3;if(flaflag)Flaply();break;case 3: cs3=0;/fdisport=dis_buf3;dis_pointer=0;if(flaflag)Flaply();break;default:break
22、;/*閃爍函數(shù)*/void Flaply()(switch(flasta)(case 0: if(f300flag)cs0=1;break;case 1: if(f300flag)cs1=1;break;case 2: if(f300flag)cs2=1;break;case 3: if(f300flag)cs3=1;break;case 4: if(f300flag)cs0=1;/據(jù)閃爍狀態(tài)轉(zhuǎn)相應(yīng)位/ 300ms 至U,關(guān)顯示/ 300ms 至U,關(guān)顯示if(f300flag)cs1=1;if(f300flag)cs2=1;if(f300flag)cs3=1;break;default:break;9調(diào)試要點(diǎn)9.1硬件調(diào)試1、硬件完成后,檢查電路有無(wú)短路、斷
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年《價(jià)值為綱》學(xué)習(xí)心得范例(3篇)
- 課題申報(bào)參考:接受美學(xué)視野下的卞之琳莎學(xué)研究
- 課題申報(bào)參考:教育強(qiáng)國(guó)進(jìn)程中高校繼續(xù)教育高質(zhì)量發(fā)展的保障機(jī)制和推進(jìn)路徑研究
- 2025版房地產(chǎn)銷售代理授權(quán)委托合同3篇
- 二零二五年度物流倉(cāng)儲(chǔ)中心臨時(shí)搬運(yùn)工勞動(dòng)合同書4篇
- 2025版學(xué)校游泳池配套設(shè)施租賃與管理承包合同示范2篇
- 二零二五版藝術(shù)品拍賣師傭金分成合同3篇
- 個(gè)性化離婚合同與起訴狀套裝2024版版B版
- 二零二五年度健康管理與養(yǎng)老服務(wù)業(yè)合作協(xié)議3篇
- 二零二五年度圖書封面及插圖設(shè)計(jì)合同4篇
- 山東鐵投集團(tuán)招聘筆試沖刺題2025
- 真需求-打開商業(yè)世界的萬(wàn)能鑰匙
- 2025年天津市政集團(tuán)公司招聘筆試參考題庫(kù)含答案解析
- GB/T 44953-2024雷電災(zāi)害調(diào)查技術(shù)規(guī)范
- 2024-2025學(xué)年度第一學(xué)期三年級(jí)語(yǔ)文寒假作業(yè)第三天
- 2024年列車員技能競(jìng)賽理論考試題庫(kù)500題(含答案)
- 心律失常介入治療
- 6S精益實(shí)戰(zhàn)手冊(cè)
- 展會(huì)場(chǎng)館保潔管理服務(wù)方案
- 監(jiān)理從業(yè)水平培訓(xùn)課件
- 廣東省惠州市實(shí)驗(yàn)中學(xué)2025屆物理高二第一學(xué)期期末綜合測(cè)試試題含解析
評(píng)論
0/150
提交評(píng)論