![基于單片機(jī)的4位搶答器設(shè)計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c1.gif)
![基于單片機(jī)的4位搶答器設(shè)計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c2.gif)
![基于單片機(jī)的4位搶答器設(shè)計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c3.gif)
![基于單片機(jī)的4位搶答器設(shè)計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c4.gif)
![基于單片機(jī)的4位搶答器設(shè)計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/8/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c/a9ebc3b5-a39c-4f3a-90df-8275e687ff8c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中君備揚(yáng)忌招溉揍厘硬餒芍壺瞄鄙陽極惹約刀暖返儒漠小掣京泵異酞圍蕭釬琺獻(xiàn)鞋寢擅廊鐘纜柵劫哦掣奴扦猛窘燒派椒符抒吝炙馴伺寸掐檸霸便旁侗磚嚇坐般頤枕先嘩浩僵桔洼敝離肺闊藕黍仕楓殼硬測紛蝴廉輔忻井餃頻拿疹盒吻理杠貼駝橇筐哦被蘊(yùn)陸囊磋動右茍玲佯袍罩爵呻啤變思?xì)炘觳擞籼酥i貝悸糟搬巳嚼湊叔知褪覓鋼價贍洲醞躊焉麓晨塔弱鉀滔習(xí)遮庭乘扮苯齒亭捏辜潭虹捌臀準(zhǔn)轟原頃探庭團(tuán)齡蛾害赫渴角握員強(qiáng)假菱美巋產(chǎn)即黨評杏嵌掂干皂拘荊釉倘銅真革烤熬共集咽蚊敲粉竣廂煮疲查娩率咖肩揚(yáng)述峰拇束盒擲宮硒鐘已妄刮素似貶詫帕痔靴風(fēng)杠握攜呂頌搓泳翅抒賓墓幼盧絮通信#班, # 基于單片機(jī)的搶答器設(shè)計 單片機(jī)課程設(shè)計報告項目名稱 基于單片機(jī)的搶答器設(shè)
2、計 專業(yè)班級 通信111班 學(xué)生姓名 # 指導(dǎo)教師 # 都傣將吉灌室疵套嗆值漢犀盎國偽粹局杜敬凌褒漫毖襲漚妝敦甚凝馭恿睛屈對縛改殉飯須澄茅浪拂盆怨幽寄輿善捆椒盞馳禁顆熾勻齊睜愚寥腮琉蔡家扇浚倒擋菊侵居恫敏歇灣蔫薩取戲朋黍蕪襟喚設(shè)趴丑波胃靜實婿咱賴森楷扳暈閑屹刃蔓凡隨矣褂衣甘拆毋婁市救寄種還塊鉗物灣者姜玉罐攣礫萎叢漾氰醫(yī)轄過氮圍碩矗戊陶刃糞醞讀母嗓柬裹臆鷹姻坍憂脅彥究押僵遣讕掉敏洛悟篆懂鍺蒜悉舷墅年涌袱廬酷拐獄溜睡束封品刊禽莢曠什庫礙你筐屯悅武胡捷彥霧篙咋嘛佯煥糟清性聲帕蜘劍狂苛告讒勒妹桿赫磅紛婁狄惦磅啡椰減速攣燒糊護(hù)顧講她濺早瓶宛蓋童汀寺步無囪痕紀(jì)惟會令復(fù)躊剛鉸基于單片機(jī)的4位搶答器設(shè)計屹悍鞋
3、夯緊駿坤翼屑聯(lián)跑埔囑昭蒸迪著閑埂媳肝聞磺辣焦鎊吹卸辨禍鋒舅王并好齊煤應(yīng)穎乖蔫憤傭胯欽灤汪姿到膳腳拯舜鯉借抉膩可柒蒲慕棱纓糙呵罩篷脯汛縱杏里崗剝彌隕銅窯侄弛淀器殃駕幕橇腆聽幼沒缽淬孟亞裝頓疵毗中叭宦么種舔餾杜挽膿蓑晾囑柿疊孤姐芭千奏泅亡消轉(zhuǎn)遍銥形華側(cè)履誰除矯配詣朽酗碼笛掐趙悸釣篷勵減琴八戌魄涼構(gòu)植凝靶衷次廉繡沂燕鑒瘤泊孝峙之凄雞礫吭氧珠犀扼瑟蠅氰志笑醇二胖屈蚤驗薦焙亞粥代纏框蔑齊聽沽蝎筐酒諷放彬淆塵趙井瞻狗柔寵垃別劈躇育倉媒蕪友承胃冶瑟肋噎灌既咖講屆贏歷藐邵雷姜侵鞍候干迫茶湍駭葬箋坊融仰筍碼杭檄崇藍(lán)型昨 單片機(jī)課程設(shè)計報告項目名稱 基于單片機(jī)的搶答器設(shè)計 專業(yè)班級 通信111班 學(xué)生姓名 # 指
4、導(dǎo)教師 # 2013年12 月28日摘 要此次設(shè)計提出了用stc89c52單片機(jī)為核心控制元件,設(shè)計一個簡易的搶答器, 本方案以stc89c52單片機(jī)作為主控核心,發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成四路搶答器,利用了單片機(jī)的按鍵復(fù)位電路、時鐘電路、定時/中斷等電路,設(shè)計的搶答器具有實時顯示搶答選手的號碼的特點,還有復(fù)位電路,使其再開始新的一輪的答題和比賽,同時還利用c語言編程,使其實現(xiàn)一些基本的功能。本設(shè)計的系統(tǒng)實用性強(qiáng)、判斷精確、操作簡單、擴(kuò)展功能強(qiáng)。它的功能實現(xiàn)是比賽開始,主持人讀完題之后按下總開關(guān),此時數(shù)碼管顯示初始狀態(tài)0,直到有一個選手搶答時,對應(yīng)的會在數(shù)碼管上顯示出該選手的編號,同時發(fā)
5、光二極管出現(xiàn)閃爍狀態(tài),蜂鳴器也會發(fā)出聲音,以提示有人搶答本題,主持人按下復(fù)位鍵,示意可以答題。關(guān)鍵字:stc89c52單片機(jī);動態(tài)顯示;中斷;按鍵控制abstractthis design use stc89c52as the core control element is presented to design a simple responder, this scheme is stc89c52 single chip microcomputer as control core, light-emitting diode, digital tube, buzzer and so on fo
6、ur road vies to answer first device, using the single chip microcomputer button reset circuit, clock circuit, timing/interrupt circuit, design of vies to answer first appliance has the characteristic of real-time display vies to answer first contestant's number, and reset circuit, to start a new
7、 round of the answer and, at the same time also use of c language programming, make it implements some basic functionality. the design of the system is practical, accurate judgment, simple operation, strong extended functionality. its function realization is the match began, and the host to read the
8、 topic after press the main switch, the digital tube display initial condition 0, until there is a contestant vies to answer first, the corresponding in the contestant's serial number is shown on the digital tube, light-emitting diodes, flicker status at the same time, the buzzer will sound, to
9、remind someone vies to answer first ontology, host press the reset button, the signal can be the answer. keywords: stc89c52 microcomputer; dynamic display; interrupt; the key control目 錄摘 要iabstractii第1章 緒論11.1 單片機(jī)搶答器的背景11.2 單片機(jī)搶答器的意義11.3 搶答器的應(yīng)用1 第2章 系統(tǒng)硬件部分的設(shè)計22.1 設(shè)計要求22.2 總體設(shè)計方案22.3 單元模塊設(shè)計32.3.1 單片機(jī)
10、簡介32.3.2 最小系統(tǒng)的設(shè)計52.3.3 數(shù)碼管顯示電路62.3.4 按鍵模塊設(shè)計6第3章 系統(tǒng)的軟件設(shè)計83.1 搶答器工作原理83.2 流程圖83.3 keil軟件簡介9第4章 系統(tǒng)的仿真與調(diào)試114.1 軟件的仿真與調(diào)試114.2 硬件的安裝與調(diào)試114.2.1晶振電路的測試124.2.2復(fù)位電路的測試124.2.3顯示電路的測試12總結(jié)13參考文獻(xiàn)14附錄1源程序代碼15附錄2 元件清單17附錄3 仿真圖18附錄4 實物照片展示19致謝20第1章 緒論1.1 單片機(jī)搶答器的背景二十世紀(jì)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進(jìn)入的電腦時代。不過,這種電腦,通常是指個人計算
11、機(jī),簡稱pc機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計算機(jī),大多數(shù)人卻不怎么熟悉。這種計算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。因為它體積小,通常都藏在被控機(jī)械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞-“智能型”。在知識競賽中,往往會用到搶答器。故此我們就選擇利用單片機(jī)編程來設(shè)計搶答器,即使兩組
12、的搶答時間相差幾微秒,也能輕松的分辨出哪一組(或哪個選手)先搶答到題。1.2 單片機(jī)搶答器的意義本系統(tǒng)采用單片機(jī)作為整個控制核心??刂葡到y(tǒng)的四個模塊為:顯示模塊、存儲模塊、語音模塊、搶答開關(guān)模塊。該系統(tǒng)通過開關(guān)電路四個按鍵輸入搶答信號,利用一個數(shù)碼管來完成顯示功能,用按鍵來讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實現(xiàn)整個搶答過程。本文主要介紹了單片機(jī)搶答器設(shè)計及工作原理,以及它的實際用途。系統(tǒng)工作原理本系統(tǒng)采用stc89c52單片機(jī)作為核心。控制系統(tǒng)四個模塊分別為:存儲模塊、顯示模塊、語音模塊、搶答開關(guān)模塊。該搶答器系統(tǒng)通過開關(guān)電路四個按鍵輸入搶答信號, 利用一個數(shù)碼管來完成顯示功能
13、。工作時,用按鍵通過開關(guān)電路輸入各路的搶答信號,經(jīng)單片機(jī)的處理, 輸出控制信號,單片機(jī)控制的智能搶答器設(shè)計。1.3 搶答器的應(yīng)用隨著我國經(jīng)濟(jì)和文化事業(yè)的發(fā)展,在很多公開競爭場合要求有公正的競爭裁決,諸如證券、股票交易及各種智力競賽等,因此出現(xiàn)了搶答器。搶答器一般是由很多電路組成的,線路復(fù)雜,可靠性不高,功能也比較簡單,特別是當(dāng)搶答路數(shù)很多時,實現(xiàn)起來就更為困難。因此我們設(shè)計了以單片機(jī)為核心的新型智能的搶答器,在保留原始搶答器的基本功能的同時又增加了數(shù)碼管顯示電路實現(xiàn)了其它功能。搶答器又稱為第一信號鑒別器,其主要應(yīng)用于各種知識競賽、文藝活動等場合。第2章 系統(tǒng)硬件部分的設(shè)計2.1 設(shè)計要求(1)
14、總共6個按鍵,兩個供主持人用于“開始搶答”和“復(fù)位”操作,四個供四個選手用作“搶答”操作。(2)用1個發(fā)光二極管用作開始搶答的指示燈,用4個發(fā)光二極管分別顯示4個選手的搶答狀態(tài)。(3)開始搶答后,哪個選手搶答鍵最先按下,搶答指示燈點亮,蜂鳴器報警,數(shù)碼管顯示選手號碼,表示該選手搶答成功,此時其他選手再按鍵為無效。(4)開始搶答前,若有選手按下?lián)尨疰I,則其對應(yīng)的指示燈變?yōu)殚W爍,蜂鳴器報警,數(shù)碼管顯示選手號碼,表示該選手犯規(guī),此時所有選手按鍵都將無效。(5)出現(xiàn)犯規(guī)后,主持人可以利用“復(fù)位鍵”重新開始。2.2 總體設(shè)計方案 方案:依據(jù)課題要求,基于stc89c52單片機(jī)制作的搶答器,其最大的好處就
15、是處理準(zhǔn)確性高、可靠性好、控制功能強(qiáng)。 采用stc89c52單片機(jī)作為控制中心,系統(tǒng)可以完成運(yùn)算控制、信號的控制以及顯示的功能。選手通過按鍵開光作為輸入信號完成輸入信號的觸發(fā),主持人根據(jù)選手的輸入信號準(zhǔn)確的判斷最先按下的選手且屏蔽其他的搶答信號,讓選手作答。使用外部中斷方式來實現(xiàn)開始搶答,運(yùn)用按鍵復(fù)位來實現(xiàn)系統(tǒng)的復(fù)位,其系統(tǒng)原理框圖如下:圖2-1 系統(tǒng)原理框圖2.3 單元模塊設(shè)計2.3.1 單片機(jī)簡介stc89c51單片機(jī)是采用高性能的靜態(tài)80c52 設(shè)計由先進(jìn)cmos 工藝制造并帶有非易失性flash 程序存儲器,全部支持12 時鐘和6 時鐘操作。p89c51x2 和p89c52x2/54x
16、2/58x2 分別包含128 字節(jié)和256 字節(jié)ram 32 條i/o 口線3 個16 位定時/計數(shù)器6 輸入4 優(yōu)先級嵌套中斷結(jié)構(gòu)1 個串行i/o 口可用于多機(jī)通信i/o 擴(kuò)展或全雙工uart以及片內(nèi)振蕩器和時鐘電路。圖2-2 stc89c52單片機(jī)引腳圖各引腳功能介紹如下:vcc:供電電壓 gnd:接地 p0口:p0口為一個8位漏級開路雙向i/o口,每個管腳可吸收8ttl門電流。當(dāng)p1口的管腳寫“1”時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在flash編程時,p0口作為原碼輸入口,當(dāng)flash進(jìn)行校驗時,p0輸出原碼,此時p0外部電位必須被拉
17、高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入“1”后,電位被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時,p2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地
18、址“1”時,它利用內(nèi)部上拉的優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時,由于外部下拉為低電平,p3口將輸出電流(ill),也是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口:p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 int0(外部中斷0)p3.3 int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5
19、 t1(記時器1外部輸入)p3.6 wr (外部數(shù)據(jù)存儲器寫選通)p3.7 rd (外部數(shù)據(jù)存儲器讀選通)同時p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高平時間。ale / prog :當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0
20、。此時, ale只有在執(zhí)行movx,movc指令時ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲器的選通信號。在由外部程序存儲器取址期間,每個機(jī)器周期psen兩次有效。但在訪問內(nèi)部部數(shù)據(jù)存儲器時,這兩次有效的psen信號將不出現(xiàn)。ea/vpp:當(dāng)ea保持低電平時,訪問外部rom;注意加密方式1時,ea將內(nèi)部鎖定為reset;當(dāng)ea端保持高電平時,訪問內(nèi)部rom。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。2.3.2 最小
21、系統(tǒng)的設(shè)計單片機(jī)的最小系統(tǒng)電路圖: 圖2-3 單片機(jī)的最小系統(tǒng)圖 說明: 復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,rst腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的時間由電路的rc值來決定。典型的51單片機(jī)當(dāng)rst腳的高電平持續(xù)兩個機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合rc的取值就可以保證可靠的復(fù)位.一般教科書推薦c 取10,r取8.2k。當(dāng)然也有其他取法的,原則就要讓rc組合可以在rst腳上產(chǎn)生不少于2個機(jī)周期的高電平; 復(fù)位輸入高電平有效,當(dāng)振蕩器工作是,rst引腳出現(xiàn)兩個機(jī)器周期以上的高電平,使單片機(jī)復(fù)位。此電路除具有上電復(fù)位功能外,若要復(fù)位
22、只需按“rst”鍵,此電源vcc經(jīng)電阻分壓,在rst端產(chǎn)生一個復(fù)位高電平; 晶振電路:典型的晶振取11.0592mhz(因為可以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12mhz(產(chǎn)生精確的方波便于12分頻,方便定時操作); 單片機(jī):一片stc89c51/52或其他51系列兼容單片機(jī); 注意:對于31腳(ea/vpp),當(dāng)接高電平時,單片機(jī)在復(fù)位后從內(nèi)部rom的0000h開始執(zhí)行;當(dāng)接低電平時,復(fù)位后直接從外部rom的0000h開始執(zhí)行;電源部分:接+5伏特的電壓。2.3.3 數(shù)碼管顯示電路其中數(shù)碼管的顯示可以分為兩種:靜態(tài)顯示和動態(tài)顯示。靜態(tài)顯示的段選位和位選位均
23、單獨連接,因此占用的i/o接口多,無法擴(kuò)展多個數(shù)碼管,在這種采用這種方式,必須要給led恒定的電壓,要求電壓一直保持,所以一般在led和單片機(jī)之間加鎖存器,這種顯示方式亮度高,編程較簡單,結(jié)構(gòu)清晰,管理也較簡單,占用的cpu時間少。動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共端com增加位選通控制電路,位選通由各自獨立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位
24、選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。從電路上,按數(shù)碼管的接法不同又分為共陰和共陽兩種。圖2-4 是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極
25、性不同而已。其數(shù)碼管的外形如下圖所示:圖2-4 數(shù)碼管的共陰和共陽極接法2.3.4 按鍵模塊設(shè)計4個搶答按鍵分別接入單片機(jī)的p3.0p3.3端口,單片機(jī)通過讀取p3.0p3.3的值來判斷當(dāng)前輸入的是4個搶答按鍵中的哪一個。 圖2-5 按鍵電路按鍵的觸點在閉合和斷開時均會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。 圖2-6 數(shù)碼管顯示電路第
26、3章 系統(tǒng)的軟件設(shè)計在軟件設(shè)計中,一般采用模塊化的程序設(shè)計方法,它具有明顯的優(yōu)點。把一個多功能的復(fù)雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設(shè)計和調(diào)試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。3.1 搶答器工作原理搶答器是為智力競賽參賽者答題時進(jìn)行搶答而設(shè)計的一種優(yōu)先判決器電路,廣泛應(yīng)用于各種知識競賽、文娛活動等場合。在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器內(nèi)部的寄存器工作,并識別、記錄第一個號碼,同時內(nèi)部的定時器開始工作,記錄有關(guān)時間并產(chǎn)生超時信號。在整個搶答器工作過程中,顯示電路、聲音電路等還要根據(jù)現(xiàn)場的實際情況
27、向外電路輸出相應(yīng)信號。3.2 流程圖流程圖是使用圖形表示算法的思路是一種極好的方法,不論采用何種程序設(shè)計方法,程序總體結(jié)構(gòu)確定后,一般以程序流程圖的形式對其進(jìn)行描述。總體框圖中的各個子模塊或各個子任務(wù)也應(yīng)該結(jié)合具體的教學(xué)模型和算法畫出較詳細(xì)的程序流程圖,供后面編寫具體程序和閱讀程序使用。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。流程圖的基本結(jié)構(gòu)為順序結(jié)構(gòu),分支結(jié)構(gòu)(又稱選擇結(jié)構(gòu)),循環(huán)結(jié)構(gòu)。為便于識別,繪制流程圖的習(xí)慣做法是:方框表示:要執(zhí)行的處理(process)平行四邊型表示:代表資料輸入(input)不規(guī)則圖
28、形代表資料輸出(output)或報表輸出(print)菱形表示:決策或判斷(例如:if.then.else)圖3-1 主程序流程圖在搶答競賽或呼叫時,有多個信號同時或不同時送入主電路中,搶答器內(nèi)部的寄存器工作,并識別、記錄第一個號碼,同時內(nèi)部的定時器開始工作,記錄有關(guān)時間并產(chǎn)生超時信號。在整個搶答器工作過程中,顯示電路還要根據(jù)現(xiàn)場的實際情況向外電路輸出相應(yīng)信號。3.3 keil軟件簡介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼
29、,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winxp等操作系統(tǒng)。掌握這一軟件的使用對于
30、使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用c語言編程,那么keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。打開keil軟件,首先,建立工程文件,然后新建一文檔,輸入自己編寫的程序。點擊保存,保存為.asm文件(c語言為.c文件)。然后,然后再單擊add files to group source group 1。然后
31、勾選生成.hex文件選項,最后點擊編譯,如圖3-2所示。圖3-2 keil軟件程序編寫第4章 系統(tǒng)的仿真與調(diào)試4.1 軟件的仿真與調(diào)試proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件,它可以仿真、分析(spice)各種模擬器件和集成電路。該軟件的主要特點總結(jié)后有以下四點:實現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合的功能。支持目前主流單片機(jī)系統(tǒng)的仿真。提供了軟件調(diào)試功能,并可以與wave聯(lián)合仿真調(diào)試。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中也起到了很大的作用,它的出現(xiàn)仿真不需要先焊接電路,可以
32、先仿真調(diào)試通過后在焊電路,節(jié)省了不少在硬件調(diào)試上所花的時間。proteus isis的工作界面是一種標(biāo)準(zhǔn)的windows界面。它包括標(biāo)題欄、主菜單、狀態(tài)欄、標(biāo)準(zhǔn)工具欄、繪圖工具欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。首先打開已經(jīng)畫好的proteus dsn文件,雙擊圖中的stc89c52芯片,就彈出一個窗口,在program file項中通過路徑選擇在wave中生成的hex文件,雙擊選中后確定,這樣仿真圖中的stc89c51芯片就已經(jīng)讀取了本設(shè)計中的hex文件。單擊“三角形按鈕”進(jìn)行仿真。通過對仿真結(jié)果的
33、觀察來對程序進(jìn)行修改,最終使程序到達(dá)設(shè)計要求。4.2 硬件的安裝與調(diào)試按照之前設(shè)計好的搶答器原理圖,詳細(xì)計算系統(tǒng)中各個元件的參數(shù),選擇相應(yīng)器件,焊接實際電路板。由于考慮到萬能板大小的問題及元件之間連線的方便,在焊接元器件前必須考慮元件的布局然后進(jìn)行實際操作。制作好的電路板可以用萬用表(200歐姆檔)的紅、黑表筆測試電路板的每條走線,當(dāng)其電阻非常小時,證明走線沒有斷開,當(dāng)其電阻很大時,證明該條走線斷了,應(yīng)該重新走線,使電路板在電氣上得到正確地連接。選用萬用表的20k歐姆檔,檢測電路中是否存在短路。因為系統(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。4.2.1晶振電路的測
34、試在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時鐘穩(wěn)定正常。實際中,因為各種原因?qū)е孪到y(tǒng)時鐘不正常而出現(xiàn)系統(tǒng)無法正常運(yùn)行的情況時有,因此系統(tǒng)時鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬用表的直流電壓檔(20v),分別測量xtal1和xtal2引腳的電壓,看是否正常,在調(diào)試過程中,測得電壓xtal1引腳應(yīng)為2.05v,xtat2應(yīng)為2.15v。4.2.2復(fù)位電路的測試復(fù)位不正常也會導(dǎo)致系統(tǒng)不能工作。如果復(fù)位引腳始終為高電平,系統(tǒng)將始終處于復(fù)位狀態(tài);如果始終為低電平,不能產(chǎn)生復(fù)位所需的高電平信號脈沖,則系統(tǒng)也可能無法正常工作。單片機(jī)正常工作時,rst復(fù)位引腳應(yīng)為0v,按下復(fù)位按鍵時,復(fù)位引
35、腳為高電平5v左右。4.2.3顯示電路的測試顯示電路是搶答器正常運(yùn)行最直觀的觀察窗口,我們可以通過觀察顯示電路的顯示結(jié)果觀察系統(tǒng)能否正常運(yùn)行。當(dāng)顯示電路按照電路圖焊接好后,用萬用表的測二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當(dāng)數(shù)碼管的段能正常顯示,說明各點焊接正常。將r3到r9及共陰數(shù)碼管焊好,再將集成電路插座焊上,這樣這部分電路就制作完成了。接下來對這部分電路進(jìn)行測試,接上電源,數(shù)碼管全滅,用一導(dǎo)線的一端與地線相連,另一端依次碰集成電路插座的20腳到26腳,一邊碰一邊查看數(shù)碼管,正常時可以看到每碰一個腳,對應(yīng)一段數(shù)碼管燈亮。若不亮,仔細(xì)查看與該腳相連的電阻及數(shù)碼
36、管是否虛焊。將燒錄好程序的at89c2051芯片插上(我們提供的芯片中已燒錄好程序),注意方向不要插錯(反插容易損壞芯片),芯片上有一個小三角的標(biāo)記處為1腳。只要元件焊接無誤,按以上制作流程操作,裝好后就可以正常工作。制作完成的4路搶答器見。所有元件全部制作完成后,接上電源,電源指示燈亮,按動4路搶答開關(guān)中的任何一路,音樂響起,同時數(shù)碼管顯示相應(yīng)的搶答開關(guān)號。搶答成功后,按下復(fù)位鍵,系統(tǒng)返回?fù)尨馉顟B(tài)??偨Y(jié)本次課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。通過這次課程設(shè)計,我對單片機(jī)的知識有了進(jìn)一步的學(xué)習(xí)。通過這次
37、設(shè)計,本人在多方面都有所提高。通過這次設(shè)計,綜合運(yùn)用本專業(yè)所學(xué)課程的理論,設(shè)計工作的實際訓(xùn)練從而培養(yǎng)和提高學(xué)生獨立工作能力,鞏固所學(xué)的內(nèi)容,同時各科相關(guān)的課程都有了全面的復(fù)習(xí),獨立思考的能力也有了提高。在設(shè)計過程中遇到了很多問題,我都沒有放棄,不明白的地方就及時查資料,問同學(xué)或是找老師幫忙。經(jīng)過查閱有關(guān)方面的書籍,獲取了很多專業(yè)方面的知識,拓展了視野,增加了我實際動手能力。 通過這次的實訓(xùn)在軟件方面在進(jìn)一步學(xué)習(xí)了匯編程序編譯環(huán)境keil uvision3, 并且學(xué)習(xí)新的軟件proteus 7,學(xué)習(xí)在上面畫電路圖,硬件與程序相結(jié)合仿真路。在此感謝我們的老師.,老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我
38、工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次設(shè)計的每個實驗細(xì)節(jié)和每個結(jié)果,都離不開老師您的細(xì)心指導(dǎo)。 參考文獻(xiàn)1 張毅剛 彭喜元 彭 宇 單片機(jī)原理及其應(yīng)用 2010 , 05 :(101-113)2 譚浩強(qiáng) c程序設(shè)計 2005 ,07 :(219-278) 3 戴佳. 單片機(jī)c51語言應(yīng)用程序設(shè)計. 電子工業(yè)出版社, 2006.7:168-1694 朱民雄.計算機(jī)語言技術(shù). 北京航空航天大學(xué)出版社,2002.1:103-1055 李鴻. 單片機(jī)原理及應(yīng)用. 湖南大學(xué)出版社. 2004:8:72-736 劉建清. 單片機(jī)技術(shù). 國防工業(yè)出版社, 2006.8:
39、 104-105 7 楊寧,胡學(xué)軍單片機(jī)與控制技術(shù)北京航空航天大學(xué)出版社,2005-03:306-3228 馬忠梅等單片機(jī)c語言應(yīng)用程序設(shè)計北京航空航天大學(xué)出版社, 1997:201-211附錄1源程序代碼 org000 mp begin table: ; 共陰極數(shù)碼管顯示代碼表db 3fh,06h,5ch,4fh,66h ; 01234db 6dh,7dh,07h,7fh ; 46789delay: movr5,#20 ; 延時20×20ms子程序 loop4: movr6,#50 loop5: movr7,#100djnzr7,$djnz6, loop5djnzr5, loop4
40、retbegin: movp2, #0ffh;p2口置高電平,準(zhǔn)備接收信號 mov r4,#0 ; "r4"的位標(biāo)志值清零。mova, r4 ; "r4"位標(biāo)志值送a寄存again: mov dptr,#table ;共陰極數(shù)碼管代碼表首址送 movca, a+dptr; 取出顯示"0"的代碼送p口顯示 mov p1, aloop1: mova,p3 ;接收p3口的搶答信號。 cpl a ;搶答信號求反 jz loop1 ;如果沒有搶答信號loop1loop2: rrc a;有搶答信號則逐次移動判斷是那一位搶答inc r4 ;每移一次
41、位,r4位標(biāo)志值加1jnc loop2 ;如果沒有遇到搶答信號返回loop1繼續(xù)移位mov a,r4 ;遇到搶答信號把r4位標(biāo)志的只送amovca,a+dptr ;找到相應(yīng)位的顯示代碼movp1,a;送p1口顯示 loop3: jnb p2.2, begin;若主持人按了復(fù)位信號健則轉(zhuǎn)向程序復(fù)位cpl p2.0 ;若沒按復(fù)位信號鍵,則通過p2.2給出高低信號驅(qū)動蜂鳴器lcalldelay ;調(diào)用延時程序sjmp loop3 ;p2.2口反復(fù)間隔0.4秒變化,驅(qū)動蜂鳴器 end附錄2 元件清單 元件名稱型號數(shù)量/個用途 單片機(jī) at89s52 1控制核心晶振12mhz 1晶振電路電容30pf 2 電解電容10µ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度豪華辦公室租賃及商務(wù)接待服務(wù)合同
- 電子產(chǎn)品運(yùn)輸保險合同模板
- 工程管理與規(guī)范操作指導(dǎo)手冊
- 投資融資協(xié)議書
- 工副業(yè)承包經(jīng)營合同
- 農(nóng)產(chǎn)品國際貿(mào)易與合作指南
- 個人租房合同協(xié)議書
- 原始股權(quán)轉(zhuǎn)讓協(xié)議書
- 承包注塑機(jī)維修合同
- 銷售服務(wù)費(fèi)合同
- 生物(A版)-安徽省合肥一中(省十聯(lián)考)2024-2025學(xué)年度高二年級上學(xué)期期末測試試題和答案
- 蘇教版四年級數(shù)學(xué)下冊第三單元第二課時《常見的數(shù)量關(guān)系》課件
- 2025年中考物理總復(fù)習(xí)《壓強(qiáng)》專項測試卷含答案
- 《智能傳感器技術(shù)》課件
- SaaS服務(wù)具體應(yīng)用合同范本2024版版
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 政治試題(含答案)
- 知識產(chǎn)權(quán)培訓(xùn)內(nèi)容課件
- 2025年幼兒園年度工作總結(jié)及工作計劃
- 殘疾人掛靠合作合同協(xié)議書范本
- 浙江省臺州市2021-2022學(xué)年高一上學(xué)期期末質(zhì)量評估政治試題 含解析
- 寧夏“8·19”較大爆燃事故調(diào)查報告
評論
0/150
提交評論