版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理與接口技術(shù)課程設(shè)計(jì)(報(bào)告)《單片機(jī)原理與接口技術(shù)》課程設(shè)計(jì)(報(bào)告)題目:基于單片機(jī)籃球比賽計(jì)時(shí)計(jì)分器設(shè)計(jì)摘要隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)控制的球賽計(jì)時(shí)計(jì)分器也應(yīng)運(yùn)產(chǎn)生。本文主要設(shè)計(jì)了籃球比賽計(jì)時(shí)計(jì)分器。該設(shè)計(jì)以AT89C51單片機(jī)為核心元件,主要由計(jì)時(shí)顯示模塊、計(jì)分顯示模塊、定時(shí)報(bào)警、按鍵控制模塊、蜂鳴器系統(tǒng)等部分組成。軟件采用單片機(jī)C語言編寫軟件程序。主要實(shí)現(xiàn)籃球比賽的賽程時(shí)間、賽程定時(shí)、賽程時(shí)間暫停、時(shí)間加快和減慢、以及甲乙雙方隊(duì)伍比分紀(jì)錄等功能。本設(shè)計(jì)具有價(jià)格低廉,性能穩(wěn)定,操作方便,并且易于攜帶等優(yōu)點(diǎn)??梢詰?yīng)用到各類學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計(jì)時(shí)計(jì)分。關(guān)鍵詞:籃球;AT89C51;計(jì)時(shí)計(jì)分器
目錄第1章概述 第1章概述1.1課題背景體育比賽計(jì)時(shí)計(jì)分器是對體育比賽過程中所產(chǎn)生的時(shí)間、比分等數(shù)據(jù)進(jìn)行快速采集記錄、加工處理、傳遞利用的工具?;@球比賽的計(jì)時(shí)計(jì)分器是種得分類型的工具。它由計(jì)時(shí)器等、計(jì)分器等多種電子設(shè)備組成。進(jìn)入21世紀(jì),伴隨著電子,信息通信技術(shù)的應(yīng)用與普及開發(fā),人們對電子技術(shù)的要求也越來越高。目前嵌入式單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,按照歷史性、本質(zhì)性、普遍性要求,嵌入式系統(tǒng)應(yīng)定義為“嵌入到對象體系中的專用計(jì)算機(jī)系統(tǒng)”。對于嵌入式即可分軟件部分和硬件部分,以MCU為核心,就是各種各樣的單片機(jī),是嵌入式硬件部分的實(shí)現(xiàn)方式之一,它主要是因?yàn)榘烟幚砥骱痛鎯ζ鞯炔考稍谝粔K芯片上”。在探索單片機(jī)的發(fā)展道路時(shí),有過兩種模式,即“∑模式”與“創(chuàng)新模式”?!啊颇J健睂⑼ㄓ糜?jì)算機(jī)系統(tǒng)中的基本單元進(jìn)行裁剪后,集成在一個(gè)芯片上,構(gòu)成單片微型計(jì)算機(jī);“創(chuàng)新模式”則完全按嵌入式應(yīng)用要求設(shè)計(jì)全新的,滿足嵌入式應(yīng)用要求的體系結(jié)構(gòu)、微處理器、指令系統(tǒng)、總線方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照創(chuàng)新模式發(fā)展起來的單片形態(tài)的嵌入式系統(tǒng)。MCS-51是在MCS-48探索基礎(chǔ)上,進(jìn)行全面完善的嵌入式系統(tǒng),成為單片嵌入式系統(tǒng)的典型結(jié)構(gòu)體系。雖然籃球比賽中很早就開始研究應(yīng)用了電子計(jì)分器,但通常都是利用模擬電子器件、數(shù)字電子器件或是模擬、數(shù)字混合組成的,其穩(wěn)定性和高準(zhǔn)確度分仍存在一些問題。以單片機(jī)為核心的籃球比賽計(jì)分器,計(jì)分準(zhǔn)確,具有體積小,重量輕,能耗低,價(jià)格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn)。通過此次基于嵌入式單片機(jī)設(shè)計(jì)的籃球計(jì)分屏,可以更清楚地了解單片機(jī)程序設(shè)計(jì)的基本指令功能、編程步驟和技巧,了解AT89C51單片機(jī)的結(jié)構(gòu)和原理,了解基于嵌入式單片機(jī)的相關(guān)外圍電路的設(shè)計(jì)和調(diào)試過程,有助于今后的學(xué)習(xí)和工作生活。1.2課題現(xiàn)狀在國內(nèi)雖然籃球比賽中很早就開始應(yīng)用了電子計(jì)時(shí)計(jì)分器,但通常都是利用模擬電子器件、數(shù)字電子器件或是模擬、數(shù)字混合組成的,其穩(wěn)定性和高準(zhǔn)確度計(jì)時(shí)計(jì)分器仍存在一些問題。隨著科學(xué)技術(shù)的發(fā)展和電子技術(shù)的不斷更新,對其穩(wěn)定和高準(zhǔn)確度計(jì)時(shí)計(jì)分的實(shí)現(xiàn)至今仍是生產(chǎn)和科研的課題。工程技術(shù)的電子化、集成化和系統(tǒng)化促進(jìn)了電子工程技術(shù)的發(fā)展,同時(shí)也促進(jìn)了電子工程技術(shù)在社會各行業(yè)中的廣泛應(yīng)用。隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多單片機(jī)作控制的球賽計(jì)時(shí)計(jì)分系統(tǒng)也就應(yīng)運(yùn)而生,例如用單片機(jī)控制LCD液晶顯示器計(jì)時(shí)計(jì)分器,用單片機(jī)控制LED七段顯示器計(jì)時(shí)計(jì)分等。同時(shí)單片機(jī)在此領(lǐng)域的廣泛應(yīng)用,也大大提高了比賽中計(jì)時(shí)計(jì)分的穩(wěn)定性和準(zhǔn)確性。在國外應(yīng)高水平籃球比賽的要求,完善的籃球賽計(jì)時(shí)計(jì)分系統(tǒng)設(shè)備與現(xiàn)場成績處理,現(xiàn)場大屏幕,電視轉(zhuǎn)播車等多種設(shè)備相連。實(shí)現(xiàn)了高水準(zhǔn)的比賽現(xiàn)場感,表演娛樂觀眾等功能目標(biāo)。1.3設(shè)計(jì)意義單片機(jī)的應(yīng)用是具有高度現(xiàn)實(shí)意義的。單片機(jī)極高的可靠性,微型性和智能性,單片機(jī)已成為工業(yè)控制領(lǐng)域中普遍采用的智能化控制工具,已經(jīng)深深地滲入到我們的日常生活當(dāng)中。通過此次基于單片機(jī)設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分系統(tǒng),我們可以更清楚詳細(xì)的了解單片機(jī)程序設(shè)計(jì)的基本指令功能、編程步驟和技巧來講述單片機(jī)編程,并對MCS-51單片機(jī)的結(jié)構(gòu)和原理進(jìn)行講述,以及基于單片機(jī)開發(fā)應(yīng)用的相關(guān)芯片的工作原理,并且可以在將來的工作和學(xué)習(xí)中加以應(yīng)用。
第2章總體設(shè)計(jì)方案2.1設(shè)計(jì)要求1.結(jié)合單片機(jī)串行口工作原理,用AT89C51設(shè)計(jì)一個(gè)籃球比賽計(jì)時(shí)計(jì)分器。2.能夠記錄整個(gè)賽程的比賽時(shí)間并可同時(shí)用數(shù)碼管顯示。5.能夠通過數(shù)碼管顯示兩隊(duì)的比賽成績。3.擁有鍵盤接口,可通過鍵盤修改當(dāng)前的比賽成績(成績修改包括加減分?jǐn)?shù))。4.能夠隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)比賽中的比賽成績和交換半場時(shí)交換分?jǐn)?shù)。6.比賽剩余10s結(jié)束時(shí),能發(fā)出報(bào)警。2.2方案論證根據(jù)課題要求,介紹以下兩種設(shè)計(jì)方法:第一種是單片機(jī)帶外圍擴(kuò)展,驅(qū)動數(shù)碼管工作的電路,第二種是單片機(jī)直接驅(qū)動數(shù)碼管工作的電路,該電路成本相對較低。兩種電路都以單片機(jī)作為核心元件,不同之處在于計(jì)時(shí)電路。前種計(jì)時(shí)電路主要由按鍵開關(guān)、單片機(jī)AT89C51、譯碼器及LED顯示器構(gòu)成。當(dāng)調(diào)時(shí)開關(guān)按下時(shí)產(chǎn)生一個(gè)低電平,對應(yīng)調(diào)時(shí)控制端的LE輸出高電平,表示可以向CD4511的調(diào)時(shí)發(fā)送數(shù)據(jù),將要顯示數(shù)據(jù)的代碼經(jīng)送到CD4511的另一端,送完后將LE清零。調(diào)時(shí)按鍵開關(guān)每按一次,數(shù)字自動加1。直到調(diào)到需要設(shè)置的時(shí)間即可,時(shí)間設(shè)置完后,啟動定時(shí)器,如果比賽中暫停,按一下暫停鍵即可暫停計(jì)時(shí)。后一種計(jì)時(shí)電路主要由按鍵開關(guān)、單片機(jī)AT89C51及LED顯示器構(gòu)成,單片機(jī)采用+5V,數(shù)碼管采用+15V采用單片機(jī)直接驅(qū)動數(shù)碼管顯示。當(dāng)按下時(shí)間快加按鍵時(shí),計(jì)時(shí)顯示時(shí)間增加;當(dāng)按下時(shí)間快減按鍵時(shí),計(jì)時(shí)顯示時(shí)間較少。啟動定時(shí)器開始倒計(jì)時(shí),如果比賽中裁判叫暫停,則只要按一下暫停鍵,即可暫停計(jì)時(shí)。根據(jù)此次設(shè)計(jì)的實(shí)驗(yàn)條件及設(shè)計(jì)目的,我采用第二種種方案,即單片機(jī)直接驅(qū)動數(shù)碼管工作的電路系統(tǒng)。單片機(jī)的各引腳相應(yīng)的與控制按鍵模塊,報(bào)警模塊,計(jì)時(shí)顯示模塊,計(jì)分顯示模塊直接連接。2.3系統(tǒng)組成與工作原理本系統(tǒng)采用AT89C51作為設(shè)計(jì)的核心原件。由按鍵控制模塊、定時(shí)報(bào)警、計(jì)時(shí)顯示模塊、計(jì)分顯示模塊等部分組成。系統(tǒng)組成框圖如圖2.1所示。圖2.1系統(tǒng)組成框圖工作原理:計(jì)時(shí)電路利用四位一體共陽極LED數(shù)碼管顯示,設(shè)計(jì)了3個(gè)用于啟動和暫停賽程時(shí)間及時(shí)間快加和快減的按鍵,賽程時(shí)間采用倒計(jì)時(shí)方式,比賽開始時(shí)啟動計(jì)時(shí),顯示60s比賽開始倒計(jì)時(shí),計(jì)時(shí)到零為止,比賽開始,每場比賽計(jì)時(shí)10分鐘,比賽暫停時(shí)停止計(jì)時(shí),比賽重新開始時(shí)計(jì)時(shí)繼續(xù),設(shè)計(jì)能夠滿足實(shí)際賽程計(jì)時(shí)的需要。比分顯示利用四位一體共陽極LED數(shù)碼管顯示,設(shè)計(jì)了8個(gè)按鍵用于記錄甲、乙兩隊(duì)的分?jǐn)?shù),比分是通過按鍵來人工控制加分,為了避免人工操作時(shí)失誤錯(cuò)加分,其中2個(gè)用于減分的按鍵,比分顯示時(shí)采用動態(tài)顯示。設(shè)計(jì)1個(gè)按鍵用于交換半場時(shí)也可交換分?jǐn)?shù)位置。另外,還設(shè)計(jì)了定時(shí)報(bào)警系統(tǒng),即比賽時(shí)間倒計(jì)時(shí)10s時(shí),蜂鳴器發(fā)出報(bào)警聲提示。
第3章硬件設(shè)計(jì)3.1系統(tǒng)總體電路設(shè)計(jì)從設(shè)計(jì)的要求來分析該設(shè)計(jì)須包含如下結(jié)構(gòu):AT89C51作為設(shè)計(jì)的核心原件,由按鍵控制模塊、定時(shí)報(bào)警、計(jì)時(shí)顯示模塊、計(jì)分顯示模塊等部分組成。將各模塊電路設(shè)計(jì)匯總成整體電路圖用,從易操作性說,本系統(tǒng)采用12個(gè)獨(dú)立按鍵進(jìn)行輸入,操作程序簡單明了,有效降低了對操作人員的專業(yè)知識要求。本系統(tǒng)具有很好的可維護(hù)性,元器件結(jié)構(gòu)簡單化、模塊化旦發(fā)生故障能保證有效地對故障進(jìn)行檢測、定位,更換相應(yīng)的元器件,使儀器盡快地恢復(fù)正常運(yùn)行。系統(tǒng)總體電路如圖3.1所示。圖3.1系統(tǒng)總體電路3.2單片機(jī)AT89C51簡介本課題中用到的芯片是AT系列中的AT89C51單片機(jī)芯片。AT89C51是一個(gè)低電壓,高性能CMOS8位單片機(jī),內(nèi)含4k字節(jié)的可反復(fù)擦寫的Flash只讀程序存儲器和128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),并且能夠與MCS-51系列單片機(jī)兼容,它是一個(gè)低功耗高性能單片機(jī),38個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/0)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程。單片機(jī)引腳如圖3.2所示。圖3.2AT89C51單片機(jī)引腳圖P0口:P0口作為一個(gè)8位漏級開路雙向I/0口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/0口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/0口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/0口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3特殊功能如表3.1所示。端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(計(jì)時(shí)器0外部輸入)P3.5T1(計(jì)時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)表3.1P3特殊功能表RST復(fù)位輸入:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取值期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.3顯示器模塊顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)兩種。由于這兩種顯示器結(jié)構(gòu)簡單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。液晶顯示器分很多種類,按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類似,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息,如漢字、圖形、圖表等。LED顯示器由8個(gè)發(fā)光二極管組成。其中7個(gè)長條形的發(fā)光管排列成“日”字形,另一個(gè)賀點(diǎn)形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。LED顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED顯示器。顯示方式:點(diǎn)亮LED顯示器有兩種方式:一種是靜態(tài)顯示;另一種是動態(tài)顯示。在本次設(shè)計(jì)采用的是動態(tài)顯示。所謂動態(tài)顯示,就是將要顯示的多位LED顯示器采用一個(gè)8位的段選端口,然后采用動態(tài)掃描一位一位地輪流點(diǎn)亮各位顯示器。本設(shè)計(jì)采用四位一體共陽極LED數(shù)碼管計(jì)時(shí)計(jì)分如圖3.3所示。圖3.3四位一體LED數(shù)碼管3.4報(bào)警器蜂鳴器有兩類3大品種。一類是壓電式,一類是電磁式。電磁式又有兩大品種,鐵振膜式和動圈式,二者原理一樣只是結(jié)構(gòu)不同。所有蜂鳴器都有兩種類型:純蜂鳴器和帶驅(qū)動的蜂鳴器,蜂鳴器都是用音頻信號驅(qū)動的,都是交流驅(qū)動。報(bào)警器工作原理:報(bào)警器的種類很多,比如:揚(yáng)聲器,蜂鳴器等。本次設(shè)計(jì)采用的是電磁式蜂鳴器作為報(bào)警器。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、震動膜片以及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號通過電磁線圈,使得電磁線圈產(chǎn)生了個(gè)磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性的振動發(fā)聲。蜂鳴報(bào)警器如圖3.4所示。圖3.4蜂鳴報(bào)警器3.5按鍵控制模塊本系統(tǒng)設(shè)計(jì)共配置了12個(gè)獨(dú)立按鍵來實(shí)現(xiàn)系統(tǒng)功能的控制,1個(gè)按鍵用來控制比賽時(shí)間的開始和暫停,8個(gè)按鍵用來控制甲、乙兩隊(duì)比賽分?jǐn)?shù)的加減,1個(gè)按鍵用來交換甲、乙兩隊(duì)交換半場時(shí)交換比賽比分位置,2個(gè)按鍵用來控制比賽時(shí)間的快加和快減。按鍵控制電路如圖3.5所示。圖3.5按鍵控制電路
第4章軟件設(shè)計(jì)4.1Keil簡介Keil是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能、結(jié)構(gòu)、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。KeilC51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。4.2軟件總體設(shè)計(jì)系統(tǒng)的軟件主要是根據(jù)硬件電路通過編程來實(shí)現(xiàn)計(jì)時(shí)、計(jì)分等功能,并顯示比分和時(shí)間。本設(shè)計(jì)的軟件由主程序和中斷服務(wù)程序兩部分組成。主程序按要求讀取顯示數(shù)據(jù)到緩存區(qū)、以及實(shí)現(xiàn)按鍵功能。中斷服務(wù)程序包括計(jì)時(shí)過程處理的顯示。具體設(shè)計(jì)程序見附錄。主程序流程圖如圖4.1所示,倒計(jì)時(shí)程序流程圖如圖4.2所示。4.1主程序流程圖4.2倒計(jì)時(shí)程序流程圖
第5章系統(tǒng)調(diào)試5.1Proteus簡介ProteusISIS是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:(1)實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如KeilC51、uVision2等軟件。(4)具有強(qiáng)大的原理圖繪制功能??梢苑抡?1系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境。5.2系統(tǒng)通電運(yùn)行調(diào)試系統(tǒng)調(diào)試主要是運(yùn)用Keil和Proteus完成。需要寫好源程序,畫出原理圖之后,在電腦上進(jìn)行軟件仿真。首先用Keil軟件建新工程,選擇AT89C51單片機(jī),接著新建文檔編輯程序,編輯完后存為.c,把保存的.c文件加入到工程里。點(diǎn)擊Project下的OptionsforTargetSimulator,在彈出對話框的Target項(xiàng)里輸入晶振為12MHz,然后在Output選項(xiàng)里勾上CreateHEXFile。最后編譯程序,Keil軟件會自動生成.hex文件。接著將系統(tǒng)仿真圖在Proteus環(huán)境下畫好,將軟件Keil生成的.hex文件添加到仿真圖單片機(jī)中,運(yùn)行圖如下圖所示。圖5.1比賽開始60s倒計(jì)時(shí)圖5.2比賽開始計(jì)時(shí)10分鐘圖5.3比賽過程甲、乙兩隊(duì)得分
總結(jié)在本次畢業(yè)設(shè)計(jì),我通過基于單片機(jī)AT89C51的設(shè)計(jì)和應(yīng)用,對于單片機(jī)工作原理,功能有了宏觀的了解,并對單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很不順手,看似很簡單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來,是很難的件事,主要原因是我們沒有經(jīng)常動手設(shè)計(jì)過電路。另外單片機(jī)系統(tǒng)的知識似懂非懂,而且很多知識當(dāng)時(shí)弄明白了,現(xiàn)在要用的時(shí)候又不記得,造成我用了大量的時(shí)間去查閱各種資料和程序命令,因此整個(gè)過程時(shí)間安排不合理。由于設(shè)計(jì)的計(jì)劃沒有安排好,設(shè)計(jì)的時(shí)間極為倉促,尤其是在硬件調(diào)試的過程中出現(xiàn)了很大的問題。另外資料的查找也是一大難題,這就要求我們在以后的學(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重要的是我們要學(xué)會把從書本中學(xué)到的知識和實(shí)際的電路聯(lián)系起來,這不論是對我們以后的就業(yè)還是學(xué)習(xí),都會起到很大的促進(jìn)和幫助。課程設(shè)計(jì)是把所學(xué)的知識綜合應(yīng)用的一個(gè)過程,是一個(gè)學(xué)習(xí)、實(shí)踐、探索和創(chuàng)新相結(jié)合的過程,雖然在整個(gè)設(shè)計(jì)過程中,我遇到過許多次失敗的考驗(yàn),憂傷過、彷徨過、急躁過,可當(dāng)自己調(diào)整好心態(tài),從跌倒的地方爬起來繼續(xù)下去,最后取得成功,所得到的不只是成功的喜悅,更是一次鍛煉和升華!
參考文獻(xiàn)[1]倪剛.基于AT89C51智能循跡小車設(shè)計(jì)[J].電子技術(shù)與軟件工程,2014(14):266-269.[2]劉軍.精通STM32F4[M].北京:北京航空航天大學(xué)出版社,2015.[3]曾文兵.基于STM32F407的視頻采集與傳輸系統(tǒng)設(shè)計(jì)[D].武漢:華中師范大學(xué),2016.[4]邊樹海.表具數(shù)字圖像的處理與識別系統(tǒng)的研究[D].沈陽建筑大學(xué),2013.[5]鄭輝.基于MSP430單片機(jī)的智能小車尋跡模塊研究[J].黑龍江大學(xué)電子工程學(xué)院,2013(13):105-107[6]盧慶林.基于單片機(jī)的自動尋跡避障小車設(shè)計(jì)[J].機(jī)械與電子雜志社,2014(7):75.[7]汪正進(jìn).Linux平臺下的無線視頻尋跡小車[J].西安:西安科技大學(xué),2015(1):105-109.[8]楊太任.圖像采集與處理在攝像頭尋跡小車上的應(yīng)用[J].西安:西安電子科技大學(xué),2014(12):52-57.[9]楊建民.電磁導(dǎo)航智能尋跡小車方向控制算法的分析與應(yīng)用[J].中國技術(shù)經(jīng)濟(jì)學(xué)會,2016(33):71-78.[10]任仁凱.光電導(dǎo)航智能小車雙邊尋跡系統(tǒng)設(shè)計(jì)[J].黑龍江省科學(xué)院自動化研究所,2013(10):56-59.[11]\o"Showauthordetails"ZhuW\o"Showauthordetails"Ruan.Designandresearchofsolarphotovoltaicpowergenerationcontrollerbasedonstm32microcontroller[J].AdvancedMaterialsResearch,2013(345):66-69.
附錄程序清單#include<reg51.h>typedefunsignedcharuchar;typedefunsignedintuint;ucharcodeseg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//對應(yīng)數(shù)碼管顯示數(shù)字0-9intm=1,n=0,x=0,y=0,i=0,h=0,k;//定義全局變量并初始化,m,n表示分鐘與秒,x,y表示甲乙兩隊(duì)分?jǐn)?shù)sbitP1_0=P1^0;sbitP1_1=P1^1;sbitP1_2=P1^2;sbitP1_3=P1^3;sbitP1_4=P1^4;sbitP1_5=P1^5;sbitP1_6=P1^6;sbitP1_7=P1^7;sbitP3_0=P3^0;sbitP3_1=P3^1;sbitP3_2=P3^2;sbitP3_3=P3^3;sbitP3_6=P3^6;sbitP3_7=P3^7;voiddelay(uintx)//定義延時(shí)程序,通過設(shè)置參數(shù)x,改變延時(shí)時(shí)間長度{ while(x--){uinty;for(y=0;y<200;y++);}}voiddisplay(inti,intj,intx,inty)//顯示子程序變量i,j分別是分秒,變量x,y是甲乙兩隊(duì)的分?jǐn)?shù){P2=~0xfe;//數(shù)碼管刷新顯示時(shí)間的分鐘十位,調(diào)用延時(shí)程序P0=~seg[i%100/10];delay(1);//延時(shí)數(shù)碼管點(diǎn)亮P2=0x00;P0=0xff;P2=~0xfd;//同上,刷新數(shù)碼管的分鐘位的個(gè)位P0=~seg[i%10];delay(1);P2=0x00;P0=0xff;P2=~0xfb;//同上,刷新數(shù)碼管秒位的十位P0=~seg[j%100/10];delay(1);P2=0x00;P0=0xff;P2=~0xf7;//同上,刷新數(shù)碼管秒位的個(gè)位P0=~seg[j%10];delay(1);P2=0x00;P0=0xff;P2=~0xef;//同上,刷新數(shù)碼管甲隊(duì)分?jǐn)?shù)的十位P0=~seg[x%100/10];delay(1);P2=0x00;P0=0xff;P2=~0xdf;//同上,刷新數(shù)碼管甲隊(duì)分?jǐn)?shù)的個(gè)位P0=~seg[x%10];delay(1);P2=0x00;P0=0xff;P2=~0xbf;//同上,刷新數(shù)碼管乙隊(duì)分?jǐn)?shù)的十位P0=~seg[y%100/10];delay(1);P2=0x00;P0=0xff;P2=~0x7f;//同上,刷新數(shù)碼管乙隊(duì)分?jǐn)?shù)的個(gè)位P0=~seg[y%10];delay(1);P2=0x00;P0=0xff;}voidt0()interrupt1//定義中斷程序,調(diào)用定時(shí)器TO{TH0=0xb1;//對定時(shí)器T0送入初值,THO=0xb1TL0=0x10;//TL0=0X10故定時(shí)器定時(shí)為20毫秒if(n==0)//即每20毫秒調(diào)用一次{ n=60;m--;}i++;if(i==50)//定義i的值為50,即50*20毫秒=1秒{ n--;i=0;}display(m,n,x,y);//調(diào)用數(shù)碼管顯示程序,即每20毫秒刷}voidjiafen()//定義加分程序{if(P1_1==0)//當(dāng)按下P1_1的時(shí)候{ delay(1);//延時(shí)去抖while(P1_1==0);x++;//甲隊(duì)加一分}if(P1_2==0)//當(dāng)按下P1_2的時(shí)候{ delay(1);while(P1_2==0);x+=2;//甲隊(duì)加兩分}if(P1_3==0)//當(dāng)按下P1_3的時(shí)候{delay(1);while(P1_3==0);x+=3;//甲隊(duì)加三分}if(P1_4==0)//當(dāng)按下P1_4的時(shí)候{delay(1);//延時(shí)去抖while(P1_4==0);y++;//乙隊(duì)加一分}if(P1_5==0)//當(dāng)按下P1_5的時(shí)候{delay(1);while(P1_5==0);y+=2;//乙隊(duì)加兩分}if(P1_6==0)//當(dāng)按下P1_6的時(shí)候{delay(1);while(P1_6==0);y+=3;//乙隊(duì)加三分}}voidjianfen()//定義減分程序{if(P3_0==0&&x>0)//當(dāng)按下P3_0并且甲隊(duì)分?jǐn)?shù)大于0的時(shí)候{ delay(1);//延時(shí)去抖while(P3_0==0);x--;//甲隊(duì)減1分}if(P3_1==0&&x>0)//當(dāng)按下P3_1并且乙隊(duì)分?jǐn)?shù)大于0的時(shí)候{delay(1);while(P3_1==0);y--;//乙隊(duì)減1分}}voidtiaoshi()//定義調(diào)時(shí)程序{if(P3_2==0)//當(dāng)按下P3_2的時(shí)候{ delay(1);//延時(shí)去抖if(P3_2==0){ n++;//秒位加1if(n==60)//當(dāng)秒位到60的時(shí)候{ m++;//分位加1,并且秒位變1n=1;}}}if(P3_3==0)//當(dāng)按下P3_3的時(shí)候{ delay(1);if(P3_3==0){ n--;//秒位減一if(n==0)//當(dāng)秒位減到0的時(shí)候,分位減一{ m--;n=59;}}}}voidjiaohuan()//定義比分交換程序{intt;//定義中間變量tif(P1_7==0)//當(dāng)P1_7按下的時(shí)候{ delay(1);//延時(shí)去抖while(P1_7==0);t=x;//利用中間變量t,將甲乙兩隊(duì)比分交換x=y;y=t;display(m,n,x,y);//刷新數(shù)碼管}}voidzanting()//定義暫停程序{if(P1_0==0)//當(dāng)P1_0按下的時(shí)候{ delay(1);//延時(shí)去抖while(P1_0==0);EA=0;//關(guān)中斷,進(jìn)入死循環(huán)while(1){ display(m,n,x,y);if(P1_0==0){ delay(1);while(P1_0==0)EA=1;break;}}}}voidbaojing()//定義報(bào)警程序{if((m==0)&&(n<=10)&&(n>1))//判斷倒計(jì)時(shí)只剩10秒的時(shí)候{ P3_7=1;//使P3_7和P3_6同時(shí)間隔輸出高低電平,點(diǎn)亮發(fā)光二極管和使蜂鳴器蜂鳴P3_6=1;delay(20);P3_7=0;P3_6=0;delay(20);}}voidjieshu()//定義結(jié)束子程序{ M:if(h==1)//當(dāng)時(shí)間條件滿足時(shí),關(guān)閉中斷,數(shù)碼管保持狀態(tài)顯示{ EA=0;delay(20);m=0;n=0;P3_6=1;
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上海建橋?qū)W院單招職業(yè)技能測試題庫含答案詳解
- 2026年上饒職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫附答案詳解
- 2026年海南職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解1套
- 2026年泉州工程職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫附答案詳解
- 煙臺醫(yī)院面試題目及答案
- 三甲醫(yī)院醫(yī)生面試題目及答案
- 2025年招聘天津津彩城投投資管理有限公司面向社會公開選聘備考題庫含答案詳解
- 2025安全生產(chǎn)環(huán)保工作總結(jié)(2篇)
- 2025年廣州醫(yī)科大學(xué)附屬第五醫(yī)院人才招聘計(jì)劃備考題庫完整參考答案詳解
- 2025年復(fù)旦大學(xué)附屬婦產(chǎn)科醫(yī)院招聘超聲科主任備考題庫及一套答案詳解
- 國家開放大學(xué)《機(jī)械設(shè)計(jì)基礎(chǔ)》機(jī)考試題001-009參考答案
- 體外診斷試劑工作程序-全套
- 施工企業(yè)管理課件
- 《大衛(wèi)-不可以》繪本
- DB32 4181-2021 行政執(zhí)法案卷制作及評查規(guī)范
- JJF (蘇) 178-2015 防潮柜溫度、濕度校準(zhǔn)規(guī)范-(現(xiàn)行有效)
- 創(chuàng)傷急救四大技術(shù)共46張課件
- 航?;A(chǔ)知識基礎(chǔ)概念
- 小動物疾病學(xué)考試題
- 2014年9月英國訪問學(xué)者(AV)帶家屬簽證攻略
- 三相自耦變壓器設(shè)計(jì)模版
評論
0/150
提交評論