




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于51單片機(jī)的8路搶答器摘 要此次設(shè)計(jì)提出了用at89s52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的搶答器,本方案以at89s52單片機(jī)作為主控核心,與晶振、數(shù)碼管、蜂鳴器等構(gòu)成八路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位電路、時(shí)鐘電路、定時(shí)/中斷等電路,設(shè)計(jì)的八路搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特點(diǎn),還有復(fù)位電路,使其再開(kāi)始新的一輪的答題和比賽,同時(shí)還利用c51語(yǔ)言編程,使其實(shí)現(xiàn)一些基本的功能。本設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。它的功能實(shí)現(xiàn)是比賽開(kāi)始,主持人讀完題之后按下總開(kāi)關(guān),即計(jì)時(shí)開(kāi)始,此時(shí)數(shù)碼管開(kāi)始進(jìn)行20s的倒計(jì)時(shí),直到有一個(gè)選手搶答時(shí),對(duì)應(yīng)的會(huì)在數(shù)碼管
2、上顯示出該選手的編號(hào)和搶答所用的時(shí)間,如果在規(guī)定的20s時(shí)間內(nèi)沒(méi)有做出搶答,則此題作廢,即開(kāi)始重新一輪的搶答。在搶答和回答時(shí)間的最后5s,蜂鳴器都會(huì)給予報(bào)警提示。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、at89s52、搶答器3第一章 前 言單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。 單片機(jī)按其內(nèi)部中央處理器cpu(centralprocessingunit)的字長(zhǎng)分為1位機(jī)、4位機(jī)、8位機(jī)、16位機(jī)等。從1976年8位單片機(jī)誕生以來(lái),單片機(jī)領(lǐng)域中一直是以8位機(jī)為主流機(jī)型,預(yù)計(jì)這種情況還將繼續(xù)下去。因此我們以intel公司的8位機(jī)為例來(lái)談?wù)剢纹瑱C(jī)的發(fā)展歷史。1第一階段
3、單片機(jī)階段(1976年1978年)。這階段的任務(wù)是探索計(jì)算機(jī)的單芯片集成。以intel公司的mcs-48為代表,其cpu、存儲(chǔ)器、定時(shí)器計(jì)數(shù)器、中斷系統(tǒng)、i/o端口、時(shí)鐘以及指令系統(tǒng)都是按嵌入式系統(tǒng)要求專門設(shè)計(jì)的。 參與這階段探索的公司還有motorola、zilog等。2第二階段單片機(jī)的完善階段(1978年一1982年)。計(jì)算機(jī)的單芯片集成探索取得成功后,隨后的任務(wù)就是要完善單片機(jī)的體系結(jié)構(gòu)。作為這一階段的典型代表是inlel公司將mcs48向mcs5l系列的過(guò)渡。它在以下幾個(gè)重要方面奠定了單片機(jī)的體系結(jié)構(gòu)。1.完善的外部總線。有8位數(shù)據(jù)總線、16位地址總線、控制總線及具有多機(jī)通信功能的串行
4、通信接口。2.cpu外圍功能單元的集中管理模式。3.設(shè)置面向工控的位地址空間及位操作方式。4.指令系統(tǒng)突出控制功能。 3第三階段微控制器形成階段(1983年一1990年)。這一階段單片機(jī)的主要技術(shù)發(fā)展方向是滿足測(cè)控對(duì)象要求的外圍電路的增強(qiáng),如ad轉(zhuǎn)換、da轉(zhuǎn)換、高速io口、wdt(程序監(jiān)視定時(shí)器)、dma(高速數(shù)據(jù)傳輸)等,強(qiáng)化了智能控制的特征。 4第四階段微控制器全面發(fā)展階段(1990年以后)。即當(dāng)前的單片機(jī)時(shí)代,其顯著特點(diǎn)是百花齊放、技術(shù)創(chuàng)新。單片機(jī)正在滿足各個(gè)方面的需求從玩具、小家電、工業(yè)控制單元到機(jī)器人、智能儀表,過(guò)程控制,個(gè)人信息終端等無(wú)所不能。隨著微電子技術(shù)、電力電子技術(shù)、傳感器技
5、術(shù)、永磁材料技術(shù)、自動(dòng)控制技術(shù)、微機(jī)應(yīng)用技術(shù)的發(fā)展,使單片微型計(jì)算機(jī)也得到迅速的發(fā)展,單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域故又稱為微控制器。 第二章 各模塊的選擇和論證2.1搶答器顯示模塊選擇顯示模塊主要是顯示搶答的時(shí)間,組別號(hào)碼等。在使用傳統(tǒng)的數(shù)碼管顯示。數(shù)碼管具有:低能耗、低損耗、低壓、壽命長(zhǎng)、耐老化、防曬、防潮、防火、防高(低)溫,對(duì)外界環(huán)境要求低,易于維護(hù),同時(shí)其精度高,稱量快,精確可靠,操作簡(jiǎn)單。數(shù)碼顯示是采用bcd編碼顯示數(shù)字,程序編譯容易,資源占用較少。顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操
6、作者誤解的前提下提供盡可能豐富的信息,全靠軟件來(lái)解決。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫(xiě)簡(jiǎn)單,但占用端口資源多;動(dòng)態(tài)顯示的特點(diǎn)是:顯示穩(wěn)定性沒(méi)靜態(tài)好,程序編寫(xiě)復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法。4位七段數(shù)碼管顯示電路如下圖所示。圖 2-1 4位七段數(shù)碼管顯示電路圖上圖中數(shù)碼管采用的是4位一體七段共陽(yáng)數(shù)碼管,其中ah段分別接到單片機(jī)的p0口,由單片機(jī)輸出的p0口數(shù)據(jù)來(lái)決定段碼值,位選碼com1, com2,com3,com4分別接到
7、單片機(jī)的p2.0,p2.1,p2.2 ,p2.,3,由單片機(jī)來(lái)決定當(dāng)前該顯示的是哪一位。在圖中還有一個(gè)排阻,連接在p0口上,用作p0口的上拉電阻,保證p0口沒(méi)有數(shù)據(jù)輸出時(shí)候處于高電平狀態(tài)。通過(guò)查表法,將其在數(shù)碼管上顯示出來(lái),其中p0口為字型碼輸入端,p2口低4位為字選段輸入段。在這里我們通過(guò)查表將字型碼送給7段數(shù)碼管顯示的數(shù)字。2.2 控制器選擇控制器主要用于對(duì)顯示、搶答、音樂(lè)、計(jì)分等模塊進(jìn)行控制。采用atmel公司的at89s51作為系統(tǒng)控制器的cpu方案。單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可以用軟件編程實(shí)現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使
8、其在各個(gè)領(lǐng)域應(yīng)用廣泛。2.3 鍵盤選擇鍵盤是單片機(jī)不可缺少的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。鍵盤按結(jié)構(gòu)形式可以分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法來(lái)產(chǎn)生鍵碼。在單片機(jī)中使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡(jiǎn)單,成本低廉,非編碼鍵盤的類型很多,常用的有獨(dú)立式鍵盤,行列式鍵盤等。本設(shè)計(jì)采用獨(dú)立式鍵盤鍵盤接口中使用多少根i/o線,鍵盤中就有幾個(gè)按鍵,鍵盤接口使用了8根i/o口線,該鍵盤就有8個(gè)按鍵,這種類型的鍵盤,其按鍵比較少,且鍵盤中各按鍵的工作互不干擾。因此可以根據(jù)實(shí)際需要對(duì)鍵盤中的按鍵靈活的編碼。如圖2-2。最簡(jiǎn)單的編碼方式就是根據(jù)i/o輸入口所直接反映的相
9、應(yīng)按鍵,按下的狀態(tài)進(jìn)行編碼,稱按鍵直接狀態(tài)碼,對(duì)于這樣編碼的獨(dú)立式鍵盤,cpu可以通過(guò)直接讀取i/o口的狀態(tài)來(lái)獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個(gè)值直接進(jìn)行按鍵識(shí)別,這樣形式的鍵盤結(jié)構(gòu)簡(jiǎn)單,按鍵識(shí)別容易。獨(dú)立式鍵盤的缺點(diǎn)是需要占用比較多的i/o口線,當(dāng)單片機(jī)應(yīng)用系統(tǒng)鍵盤中需要的按鍵比較少或i/o口線比較富余時(shí),可以采用這樣類型的鍵盤。 p112345678 圖2-2 獨(dú)立式鍵盤 圖 2-4 搶答按鍵及調(diào)整按鍵2.4 時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。時(shí)鐘電路
10、如下圖所示。圖 2-5 外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容c1,c2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號(hào)頻率的倒數(shù)。圖中時(shí)鐘頻率為12mhz。2.5 復(fù)位電路的設(shè)計(jì) 單片機(jī)的第9腳rst為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如下所示:2.6
11、 報(bào)警電路 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的巨型波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。本文設(shè)計(jì)如下圖所示。圖中單片機(jī)的14腳輸出具有復(fù)合功能,此處用到了單片機(jī)14腳的io端口功能,單片機(jī)通過(guò)內(nèi)部定時(shí)器的操作實(shí)現(xiàn)交替變換的波形輸出驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。 圖 2-7 發(fā)聲電路2.7 at89s52單片機(jī)簡(jiǎn)單概述2.7.1 at89s52單片機(jī)的結(jié)構(gòu)at89s52單片機(jī)是美國(guó)atmel公司生產(chǎn)低電壓,高性能cmo
12、s 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(eprom)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存取技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash 存儲(chǔ)單元,功能強(qiáng)大。at89s52單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。圖2-8為at89s52單片機(jī)的基本組成功能方塊圖。由圖可見(jiàn),在這一塊芯片上,集成了一臺(tái)微型計(jì)算機(jī)的主要組成部分,其中包括cpu、存儲(chǔ)器、可編程i/o口、定時(shí)器/計(jì)數(shù)器、串行口等,各部分通過(guò)內(nèi)部總線相連。下面介紹幾個(gè)主要部分。振蕩器和時(shí)序o
13、sc程序存儲(chǔ)器4 kb rom數(shù)據(jù)存儲(chǔ)器256 b ram/sfr定時(shí)器/計(jì)數(shù)器 2 16 at89s51cpu64 kb總線 擴(kuò)展控制器可編程 i/o可編程全雙工串行口內(nèi)中斷圖 2-8 單片機(jī)結(jié)構(gòu)框圖2.7.2 at89s52單片機(jī)管腳說(shuō)明圖 2-9 at89s52單片機(jī)管腳圖atmel公司的at89s52是一種高效微控制器。采用40引腳雙列直插封裝形式。at89s52單片機(jī)是高性能單片機(jī),因?yàn)槭芤_數(shù)目的限制,所以有不少引腳具有第二功能。vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。p0
14、能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在flash編程時(shí),p0 口作為原碼輸入口,當(dāng)flash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫(xiě)1時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2
15、口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址1時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫(xiě)入1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流。p3口也可作為at89s51的一些特殊功能口,如下表所示:p3口管腳 備選功能p3.0 rxd(串行輸
16、入口)p3.1 txd(串行輸出口)p3.2 int0(外部中斷0)p3.3 int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.7 (外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。ale/:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許端的輸出電平用于鎖存地址的地址字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止
17、ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。psen:外部程序存儲(chǔ)器的選通信號(hào)端。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/vp:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為reset;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:反向振蕩器的輸出,如采用外部時(shí)鐘
18、源驅(qū)動(dòng)器件,應(yīng)不接。第三章 模塊最終方案的設(shè)計(jì)3.1總體設(shè)計(jì)思路主控制器模塊:采用at89s52單片機(jī)控制搶答器顯示模塊:數(shù)碼管顯示電源方案的選擇:采用4.5v電源供電3.2 功能介紹主持人按“搶答開(kāi)始”鍵,立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)20s搶答時(shí)間),如有選手搶答,會(huì)有提示,并會(huì)顯示其號(hào)數(shù),不進(jìn)行搶答查詢,所以第一個(gè)按搶答的選手有效。倒數(shù)時(shí)間到小于5s會(huì)每秒響一下提示音。 如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按“停止”按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按“搶答開(kāi)始”進(jìn)入下次搶答計(jì)時(shí)。如果主持人未按“搶答開(kāi)始”鍵,則無(wú)法按搶答按鍵。3.3 搶答器的軟件設(shè)計(jì) 系統(tǒng)軟件由主程序和int0中斷
19、服務(wù)組成。主程序由驗(yàn)鍵,違規(guī)顯示,倒計(jì)時(shí)等功能子程序組成,系統(tǒng)完成初始化后循環(huán)檢查各個(gè)功能當(dāng)用戶使用某個(gè)功能時(shí),按下相應(yīng)的按鈕(或開(kāi)關(guān))單片機(jī)進(jìn)入相應(yīng)的功能處理。int0中斷服務(wù)程序完成搶答信號(hào)采樣和識(shí)別處理。該智能搶答器以at89s52單片機(jī)為控制核心,控制精度較高,操作誤差主要來(lái)自晶振自身所造成的誤差。其他外圍電路包括復(fù)位電路、時(shí)鐘電路、報(bào)警電路、led顯示電路、搶答按鍵等。該智能搶答器具有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完,復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定;通過(guò)按鍵掃描輸出按鍵信息,并通過(guò)單片機(jī)將它轉(zhuǎn)化為在七段數(shù)碼管上顯示的字形符。單片機(jī)的p1口為8組搶答按鍵的輸入口,p0.0p0.7為數(shù)碼管的段選
20、口,p2.0p2.2為數(shù)碼管的片選口。p3.4為報(bào)警電路的控制口,p3.5為暫停按鈕的控制口,p3.6為開(kāi)始按鈕的控制口,p3.7為復(fù)位按鈕的控制口。 3.4 數(shù)碼顯示數(shù)碼顯示管用來(lái)作為時(shí)間的顯示輸出,一般用7段數(shù)碼顯示管。本次設(shè)計(jì)中采用7段共陽(yáng)數(shù)碼顯示管應(yīng)用簡(jiǎn)單、可靠性高、成本低,作為顯示輸出。連接時(shí)段選信號(hào)接在p0口的p0.0p0.7七個(gè)i/o口上,p1口是準(zhǔn)雙向i/o接口在輸出驅(qū)動(dòng)部分具有驅(qū)動(dòng)4個(gè)ttl負(fù)載的能力,即輸出電流不大于400a,所以在接電阻時(shí)選擇接10k限流電阻。而在位選方面采用p2口的p2.0p2.3用單片機(jī)四個(gè)i/o口作為位選信號(hào)的輸出口。第四章 系統(tǒng)調(diào)試與仿真 系統(tǒng)調(diào)試
21、包括硬件調(diào)試和軟件調(diào)試,而且兩者是密不可分的。我們?cè)O(shè)計(jì)好的硬件電路和軟件程序,只有經(jīng)過(guò)聯(lián)合調(diào)試,才能驗(yàn)證其正確性;軟硬件的配人情況以及是否達(dá)到設(shè)計(jì)任務(wù)的要求,也只有經(jīng)過(guò)調(diào)試,才能發(fā)現(xiàn)問(wèn)題并加以解決、完善,最終開(kāi)發(fā)成實(shí)用產(chǎn)品。硬件調(diào)試分單元電路調(diào)試和聯(lián)機(jī)調(diào)試,單元電路試驗(yàn)在硬件電路設(shè)計(jì)時(shí)已經(jīng)進(jìn)行,這里的調(diào)試只是將其制成印刷電路板后試驗(yàn)電路是否正確,并排除一些加工工藝性錯(cuò)誤(如錯(cuò)線、開(kāi)路、短路等)。這種調(diào)試可單獨(dú)模擬進(jìn)行,也可通過(guò)開(kāi)發(fā)裝置由軟件配合進(jìn)行,硬件聯(lián)機(jī)調(diào)試則必須在系統(tǒng)軟件的配合下進(jìn)行。軟件調(diào)試一般包括分塊調(diào)試和聯(lián)機(jī)調(diào)試兩個(gè)階段。程序的分塊調(diào)試一般在單片機(jī)開(kāi)發(fā)裝置上進(jìn)行,可根據(jù)所調(diào)程序功能
22、塊的入口參量初值編制一個(gè)特殊的程序段,并連同被調(diào)程序功能塊一起在開(kāi)發(fā)裝置上運(yùn)行;也可配合對(duì)應(yīng)硬件電路單獨(dú)運(yùn)行某程序功能塊,然后檢查是否正確,如果執(zhí)行結(jié)果與預(yù)想的不一致,可以通過(guò)單步運(yùn)行或設(shè)置斷點(diǎn)的方法,查出原因并加以改正,直到運(yùn)行結(jié)果正確為止。這時(shí)該 程序功能塊已調(diào)試完畢,可去掉附加程序段。其它程序功能塊可按此法進(jìn)行調(diào)試。程序聯(lián)機(jī)調(diào)試就是將已調(diào)試好的各程序功能塊按總體結(jié)構(gòu)聯(lián)成一個(gè)完整程序,在所研制的硬件電路上運(yùn)行。從而試驗(yàn)程序整體運(yùn)行的完整性、正確性和與硬件電路的配合情況。在聯(lián)調(diào)中可能會(huì)有某些支路上的程序、功能塊因受條件制約而得不到相應(yīng)的輸入?yún)?shù),這時(shí),調(diào)試人員應(yīng)創(chuàng)造條件進(jìn)行模擬調(diào)試。在聯(lián)調(diào)中
23、如發(fā)現(xiàn)硬件問(wèn)題也應(yīng)及時(shí)修正,直到單片機(jī)系統(tǒng)的軟件、硬件全部調(diào)試成功為止。系統(tǒng)調(diào)試完成后,還要進(jìn)行一段時(shí)間的試運(yùn)行,從而檢驗(yàn)系統(tǒng)的穩(wěn)定性和抗干擾能力,驗(yàn)證系統(tǒng)功能是否達(dá)到設(shè)計(jì)要求,是否達(dá)到預(yù)期的效果。4.1 軟件調(diào)試問(wèn)題分析數(shù)碼管顯示問(wèn)題:本次設(shè)計(jì)的最終方案是采用數(shù)碼管顯示屏實(shí)現(xiàn)顯示功能,最初數(shù)碼管顯示不正常,出現(xiàn)閃爍現(xiàn)象。通過(guò)調(diào)試發(fā)現(xiàn)這是由于延時(shí)時(shí)間選擇不當(dāng)會(huì)使人眼產(chǎn)生視覺(jué)暫留效果,每一次顯示時(shí)都必須加入適當(dāng)?shù)臅r(shí)間延時(shí)。由于一開(kāi)始所選用的延時(shí)時(shí)間太短因此出現(xiàn)閃爍現(xiàn)象,在增加顯示延時(shí)之后,數(shù)碼管顯示正常。蜂鳴器異常啟動(dòng)問(wèn)題:蜂鳴器的啟動(dòng)/關(guān)閉是通過(guò)單片機(jī)輸出的控制信號(hào)來(lái)實(shí)現(xiàn)的,當(dāng)前時(shí)間與鬧鐘設(shè)置
24、時(shí)間比較吻合時(shí),單片機(jī)將對(duì)鬧鈴控制口執(zhí)行取反命令,從而啟動(dòng)蜂鳴器發(fā)聲。一開(kāi)始編寫(xiě)程序時(shí),沒(méi)有對(duì)控制口的最初狀態(tài)作正確設(shè)置,由于系統(tǒng)開(kāi)機(jī)復(fù)位后,鬧鈴控制口處于高電平狀態(tài),因此出現(xiàn)一開(kāi)機(jī)蜂鳴器就處于啟動(dòng)狀態(tài)的情況。通過(guò)在主程序最開(kāi)始加入對(duì)鬧鈴控制口取零命令后,蜂鳴器啟動(dòng)/關(guān)閉控制恢復(fù)正常。4.2 proteus 仿真proteus軟件是來(lái)自英國(guó)labcenter electronics公司的eda工具軟件,proteus軟件除了其具有和其它eda工具一樣的原理布圖,pcb自動(dòng)或人工布線及電路仿真的功能外, 其革命性的功能是,他的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型
25、上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出, 還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器,邏輯分析儀等,您不需要?jiǎng)e的,proteus為您建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境!protues的isis是一款labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和ic,并支持單片機(jī),元件庫(kù)齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。該軟件的特點(diǎn):1. 全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢(shì)。2.具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、rs-232動(dòng)態(tài)仿真、c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功
26、能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。3. 目前支持的單片機(jī)類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。4. 支持大量的存儲(chǔ)器和外圍芯片??傊撥浖且豢罴瘑纹瑱C(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真51、avr、pic。第五章 電路板的制作與檢查考慮到本系統(tǒng)所用元器件較少,大部分功能都是通過(guò)軟件編程來(lái)實(shí)現(xiàn),同時(shí)也出于對(duì)畢業(yè)設(shè)計(jì)成本的考慮,因此所用到的板子是自己手工制作的pcb板。在電路板的制作中,首先要進(jìn)行線路的排布。利用protel軟件模擬實(shí)際電路板的線路走向
27、,盡量避免線路出現(xiàn)交叉短路,電源線路盡量安排在電路板的最外圈。pcb板刻錄完成之后,開(kāi)始進(jìn)行焊接工作。焊接完后進(jìn)行電路板檢查,將原線路圖與實(shí)際焊接的電路板進(jìn)行對(duì)比,由于線路不多,所以用萬(wàn)用表的歐姆檔或是短路聲響指示功能來(lái)做焊點(diǎn)的檢測(cè),如此可以避免焊接時(shí)漏焊、虛焊和配線錯(cuò)誤的問(wèn)題,同時(shí)保證了所制作出來(lái)的線路與原設(shè)計(jì)線路的一致性。一般來(lái)說(shuō),造成硬件問(wèn)題的首要問(wèn)題就是焊接了,也就是說(shuō)焊接的好與壞直接響產(chǎn)品的正常運(yùn)行。造成焊接質(zhì)量不高的常見(jiàn)原因是:1. 焊錫用量過(guò)多,形成焊點(diǎn)的錫堆積;焊錫過(guò)少,不足以包裹焊點(diǎn)。2.冷焊。焊接時(shí)烙鐵溫度過(guò)低或加熱時(shí)間不足,焊錫未完全熔化、浸潤(rùn)、焊錫表面不光亮(不光滑),
28、有細(xì)小裂紋。3.夾松香焊接,焊錫與元器件或印刷板之間夾雜著一層松香,造成電連接不良。若夾雜加熱不足的松香,則焊點(diǎn)下有一層黃褐色松香膜;若加熱溫度太高,則焊點(diǎn)下有一層碳化松香的黑色膜。對(duì)于有加熱不足的松香膜的情況,可以用烙鐵進(jìn)行補(bǔ)焊。對(duì)于已形成黑膜的,則要吃凈焊錫,清潔被焊元器件或印刷板表面,重新進(jìn)行焊接才行。4.焊錫連橋。指焊錫量過(guò)多,造成元器件的焊點(diǎn)之間短路。這在對(duì)超小元器件及細(xì)小印刷電路板進(jìn)行焊接時(shí)要尤為注意。5.焊劑過(guò)量,焊點(diǎn)明圍松香殘?jiān)芏?。?dāng)少量松香殘留時(shí),可以用電烙鐵再輕輕加熱一下,讓松香揮發(fā)掉,也可以用蘸有無(wú)水酒精的棉球,擦去多余的松香或焊劑。6.焊點(diǎn)表面的焊錫形成尖銳的突尖。這
29、多是由于加熱溫度不足或焊劑過(guò)少,以及烙鐵離開(kāi)焊點(diǎn)時(shí)角度不當(dāng)浩成的內(nèi)。最小系統(tǒng)的電路不工作,首先應(yīng)該確認(rèn)電源電壓是否正常。用電壓表測(cè)量接地引腳跟電源引腳之間的電壓,看是否符合電源電壓,常用的是5v左右。接下來(lái)就是檢測(cè)復(fù)位引腳的電壓是否正常,ea引腳的電壓要正常為5v左右。第六章 總結(jié)通過(guò)這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長(zhǎng)期積累的過(guò)程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識(shí)和綜合素質(zhì)??傊还軐W(xué)會(huì)的還是學(xué)不會(huì)的的確覺(jué)得困難比較多,真是萬(wàn)事開(kāi)頭難,不知道如何入手。最后終于做完了有種如釋重負(fù)的感覺(jué)。此外,還得出一個(gè)結(jié)論:知識(shí)必須通過(guò)應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會(huì)了,但真正到用的
30、時(shí)候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會(huì)用的時(shí)候才是真的學(xué)會(huì)了。通過(guò)這次課程設(shè)計(jì)懂得了很多,我們自己去圖書(shū)館,上網(wǎng)查資料然后自己和我們這組的成員一起合作商討完成的,原以為會(huì)很簡(jiǎn)單的,但無(wú)論在制作與寫(xiě)作過(guò)程中我們都遇到了理論課上所不曾遇到的問(wèn)題,第一是綜合性太強(qiáng),這次制作與論文不僅涉及到我們以前所學(xué)到的單片機(jī),模擬電子技術(shù),數(shù)字電子技術(shù),高等數(shù)學(xué)等課程的知識(shí)還涉及到很多我們的選修及課外的知識(shí)像實(shí)訓(xùn)課上學(xué)到的手工焊接技術(shù)等等知識(shí)。第二是理論聯(lián)系實(shí)際性太強(qiáng),把所學(xué)的搜集到得知識(shí)運(yùn)用的實(shí)際中不是一件容易的事,不僅由元件從課本上的符號(hào)到實(shí)物的認(rèn)識(shí)還是理論的測(cè)量結(jié)果與實(shí)際值的誤差。在不斷的努力下我們組的
31、課程設(shè)計(jì)終于完成了。在沒(méi)有做課程設(shè)計(jì)以前覺(jué)得課程設(shè)計(jì)只是對(duì)這幾年來(lái)所學(xué)知識(shí)的大概總結(jié),但是真的面對(duì)課程設(shè)計(jì)時(shí)發(fā)現(xiàn)自己的想法基本是錯(cuò)誤的。課程設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。課程設(shè)計(jì)是我們對(duì)所學(xué)知識(shí)理論的檢驗(yàn)與總結(jié),能夠培養(yǎng)和提高設(shè)計(jì)者獨(dú)立分析和解決問(wèn)題的能力;課程設(shè)計(jì)提高了我們理論聯(lián)系實(shí)際的能力更在知識(shí)的鞏固與實(shí)際的操作上的銜接提高了我們的能力,課程設(shè)計(jì)中遇到的困難與挫折以及解決這些問(wèn)題的思路與方法更增加了我們對(duì)以后工作中遇到困難克服解決的信心,也讓我們積累了經(jīng)驗(yàn),為以后的工作打下了良好的基礎(chǔ),同時(shí)也培養(yǎng)了我們遇到突發(fā)狀況要穩(wěn)定冷靜的精神,也培養(yǎng)了我們學(xué)會(huì)怎么
32、與別人合作的方法,怎么解決與合作的伙伴意見(jiàn)不同一時(shí)狀況,為以后怎么和同事相處好奠定了基礎(chǔ)。這次課程設(shè)計(jì)業(yè)也讓我們懂得了分析問(wèn)題,才能解決問(wèn)題的道理,通過(guò)了這次更增加了我們以后能夠干好自己工作的信心。參考文獻(xiàn)、資料索引文獻(xiàn)、資料名稱編著者出版單位protel dxp電路設(shè)計(jì)與制版使用教程單片機(jī)技術(shù)任務(wù)驅(qū)動(dòng)式教程單片機(jī)技術(shù)課程設(shè)計(jì)與項(xiàng)目實(shí)例單片機(jī)原理與應(yīng)用教程單片機(jī)基礎(chǔ)基于proteus的單片機(jī)可視軟硬件仿真還有很多的網(wǎng)上資料等李小堅(jiān)徐進(jìn)強(qiáng) 左翠紅李海濱劉瑞新李廣弟 朱月秀 冷祖祁李全利 遲榮強(qiáng)人民郵電出版社天津大學(xué)出版社中國(guó)電力出版社機(jī)械工業(yè)出版社冶金工業(yè)出版社北京航空航天大學(xué)出版社附 錄 三
33、proteus仿真原理圖圖1 proteus仿真原理#include #define uint unsigned int#define uchar unsigned char/*-共陰極數(shù)碼管編碼表 0 - f顯示-*/unsigned char code table=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e;/*-變量定義-*/sbit start= p36;sbit stop=p35;sbit reset = p37;sbit key1 = p10;sbit key2 =
34、p11;sbit key3 = p12;sbit key4 = p13;sbit key5 = p14;sbit key6 = p15;sbit key7 = p16;sbit key8 = p17;sbit buzzer = p34;bit start_flag = 0;bit stop_flag=0;bit key1_flag = 0;bit key2_flag = 0;bit key3_flag = 0;bit key4_flag = 0;bit key5_flag = 0;bit key6_flag = 0;bit key7_flag = 0;bit key8_flag = 0;bit
35、 reset_flag = 0;bit action = 0;uchar second = 20;uchar timer0_count = 0;uchar number = 0;uchar number_display = 0;/*-延時(shí)函數(shù)-*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*-數(shù)碼管顯示驅(qū)動(dòng)函數(shù)-*/void display(uchar number,uchar second)uchar second_first,second_second;second_first = second / 10;seco
36、nd_second = second % 10;p2 = 0xfe;p0 = tablenumber;delay(2);p2 = 0xfd;p0 = 0x3f;delay(2);p2 = 0xfb;p0 = tablesecond_first;delay(2);p2 = 0xf7;p0 = tablesecond_second;delay(2);/*-開(kāi)始鍵掃描函數(shù)-*/void start_keyscan()if(start = 0)delay(8);if(start = 0)&(!start_flag)start_flag = 1;action = 1;tr0 = 1;elsestart_
37、flag = 0;/*-八位搶答鍵掃描函數(shù)-*/uchar key_scan8()if(key1 = 0)delay(8);if(key1 = 0)&(!key1_flag)key1_flag = 1;number = 1;number_display = number;elsekey1_flag = 0;number = 0;if(key2 = 0)delay(8);if(key2 = 0)&(!key2_flag)key2_flag = 1;number = 2;number_display = number;elsekey2_flag = 0;number = 0;if(key3 = 0
38、)delay(8);if(key3 = 0)&(!key3_flag)key3_flag = 1;number = 3;number_display = number;elsekey3_flag = 0;number = 0;if(key4 = 0)delay(8);if(key4 = 0)&(!key4_flag)key4_flag = 1;number = 4;number_display = number;elsekey4_flag = 0;number = 0;if(key5 = 0)delay(8);if(key5 = 0)&(!key5_flag)key5_flag = 1;number = 5;number_display = number;elsekey5_flag = 0;number = 0;if(key
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售學(xué)校學(xué)區(qū)房合同范本
- 一建培訓(xùn)合同范本
- 年度供貨合同范本
- 供銷總社采購(gòu)合同范例
- 勞動(dòng)工人合同范本
- 公司合作簽合同范本
- 中央新風(fēng)合同范本
- 加盟飯店合同范本
- 中介房租合同范本
- app項(xiàng)目轉(zhuǎn)讓合同范本
- 社會(huì)階層與教育選擇行為分析-深度研究
- 社會(huì)工作行政(第三版)課件匯 時(shí)立榮 第6-11章 項(xiàng)目管理- 社會(huì)工作行政的挑戰(zhàn)、變革與數(shù)字化發(fā)展
- 學(xué)校小賣部承包合同范文
- 2025年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年湖南鐵道職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- DB 63- T993-2011 三江源生態(tài)監(jiān)測(cè)技術(shù)規(guī)范
- 北京市東城區(qū)2025年公開(kāi)招考539名社區(qū)工作者高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025福建福州地鐵集團(tuán)限公司運(yùn)營(yíng)分公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025至2030年中國(guó)電子護(hù)眼臺(tái)燈數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 兒童睡眠障礙治療
- 2025年浙江省溫州樂(lè)清市融媒體中心招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論