![籃球計(jì)時(shí)計(jì)分器單片機(jī)課程設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view14/M0B/3E/09/wKhkGWbVBK6Abz5nAABWGc6RQ58143.jpg)
![籃球計(jì)時(shí)計(jì)分器單片機(jī)課程設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view14/M0B/3E/09/wKhkGWbVBK6Abz5nAABWGc6RQ581432.jpg)
![籃球計(jì)時(shí)計(jì)分器單片機(jī)課程設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view14/M0B/3E/09/wKhkGWbVBK6Abz5nAABWGc6RQ581433.jpg)
![籃球計(jì)時(shí)計(jì)分器單片機(jī)課程設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view14/M0B/3E/09/wKhkGWbVBK6Abz5nAABWGc6RQ581434.jpg)
![籃球計(jì)時(shí)計(jì)分器單片機(jī)課程設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view14/M0B/3E/09/wKhkGWbVBK6Abz5nAABWGc6RQ581435.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)課程設(shè)計(jì)姓名:指導(dǎo)教師:學(xué)科、專(zhuān)業(yè):電氣工程及其自動(dòng)化班級(jí)、學(xué)號(hào):電氣級(jí)班號(hào)答辯日期:年月日
單片機(jī)課程設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)題目:基于C51單片機(jī)的籃球賽計(jì)時(shí)記分器二、給定條件:系統(tǒng)功能設(shè)計(jì)如下:1、計(jì)時(shí)部分:能記錄整個(gè)賽程的比賽時(shí)間,通過(guò)四位一體7段共陽(yáng)LED顯示,其中2位用于顯示分鐘,2位用于顯示秒鐘。設(shè)置兩個(gè)開(kāi)關(guān)用于啟動(dòng)和暫停比賽時(shí)間。2、計(jì)分部分:能隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)賽程中的比分。用4個(gè)7段共陽(yáng)LED顯示比分,每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到0~99分。3、設(shè)置六個(gè)按鍵K1-K6,分別為甲隊(duì)加1分、2分、3分,為乙隊(duì)加1分、2分、3分;4、中場(chǎng)交換比賽場(chǎng)地時(shí),能交換甲、乙兩隊(duì)比分的位置。5、賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開(kāi)始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。比賽時(shí)間結(jié)束時(shí),發(fā)出報(bào)警指令。三、設(shè)計(jì)任務(wù):1、進(jìn)行按鍵接口電路設(shè)計(jì);2、進(jìn)行蜂鳴器接口電路設(shè)計(jì);3、進(jìn)行顯示接口電路設(shè)計(jì);4、繪制出完整的任務(wù)系統(tǒng)電路圖;5、繪制出程序軟件流程圖;6、編制C語(yǔ)言程序(需詳細(xì)注釋?zhuān)┎⒗肞ROTEUS軟件進(jìn)行仿真實(shí)驗(yàn);7、給出籃球賽計(jì)時(shí)計(jì)數(shù)仿真結(jié)果。四、參考資料:1、周潤(rùn)景,張麗娜.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真.北京航空航天大學(xué)出版社,20062、郭天祥.51單片機(jī)C語(yǔ)言教程——入門(mén)、提高、開(kāi)發(fā)、拓展全攻略.電子工業(yè)出版社,2012前言最近幾年來(lái),隨著科技的飛速發(fā)展,單片機(jī)領(lǐng)域正在不斷的走向社會(huì)各個(gè)角落,還帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)運(yùn)作和自動(dòng)控制的單片機(jī)應(yīng)用到系統(tǒng)中,單片機(jī)如今是作為一個(gè)核心部件來(lái)使用,僅掌握單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)其具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善。“單片機(jī)原理及應(yīng)用課程設(shè)計(jì)”是電子類(lèi)專(zhuān)業(yè)的學(xué)科基礎(chǔ)科,它是繼“匯編語(yǔ)言程序設(shè)計(jì)”,“接口技術(shù)”等課程之后開(kāi)出的實(shí)踐環(huán)節(jié)課程。摘要籃球計(jì)時(shí)計(jì)分器是一種應(yīng)用非常廣泛比賽計(jì)時(shí)工具,對(duì)現(xiàn)代社會(huì)越來(lái)越重要。此籃球計(jì)時(shí)計(jì)分器在硬件方面主要采用AT89C51單片機(jī)作為主控核心,由獨(dú)立按鍵、共陽(yáng)數(shù)碼管顯示屏顯示。AT89C51單片機(jī)是美國(guó)ATMEL公司出的,功耗小,電壓可選用4~6V電壓供電;所有程序編寫(xiě)完成后,在Keil軟件中進(jìn)行調(diào)試,確定沒(méi)有問(wèn)題后,燒寫(xiě)到單片機(jī)上進(jìn)行測(cè)試。此設(shè)計(jì)主要由獨(dú)立按鍵采集數(shù)據(jù)到單片機(jī)進(jìn)行處理再通過(guò)數(shù)碼管顯示出來(lái),本論文主要研究了數(shù)碼管及獨(dú)立按鍵,對(duì)硬件連接方案進(jìn)行了詳盡的介紹,在軟件方面算法也進(jìn)行了論述。【關(guān)鍵詞】AT89C51數(shù)碼管獨(dú)立按鍵蜂鳴器目錄第一章工作原理...................................21.1設(shè)計(jì)目標(biāo).......................................21.1.1基本功能 .....................................2第二章硬件設(shè)計(jì)與原理..............................32.1總設(shè)計(jì)框圖 32.2硬件設(shè)計(jì)分析 32.2.1電源的設(shè)計(jì) 32.2.2單片機(jī)最小系統(tǒng) 42.2.3顯示系統(tǒng) 102.2.4按鍵調(diào)整電路 122.2.5蜂鳴器電路 13第三章軟件設(shè)計(jì)與分析 143.1軟件設(shè)計(jì)的組成 143.2源程序 15第四章軟件仿真 264.1PROTEUS簡(jiǎn)介 264.2仿真圖 284.3原理圖 294.4元件清單 304.5硬件結(jié)果圖 31總結(jié) 32致謝 34參考文獻(xiàn) 35第一章工作原理1.1設(shè)計(jì)目標(biāo)1.1.1基本功能1、51單片機(jī)+按鍵+蜂鳴器+數(shù)碼管2、數(shù)碼管:1個(gè)4位一體共陽(yáng)數(shù)碼管、4個(gè)一位共陽(yáng)極數(shù)碼管3、具有48分鐘倒計(jì)時(shí)功能,精確到秒,能夠暫停4、比賽終止時(shí),有聲音和指示燈報(bào)警功能5、能記錄兩隊(duì)分?jǐn)?shù),并且能夠加減功能6、比賽中途能夠交換兩隊(duì)比分7、具有時(shí)間暫停功能8、51單片機(jī)型號(hào):AT89C51單片機(jī)C語(yǔ)言編程第二章硬件設(shè)計(jì)與原理以AT89C51單片機(jī)為核心,起著控制作用。系統(tǒng)包括數(shù)碼管顯示電路、復(fù)位電路、時(shí)鐘電路、按鍵調(diào)整電路和蜂鳴器電路。設(shè)計(jì)思路分為六個(gè)模塊:復(fù)位電路、晶振電路模、AT89C51、數(shù)碼管顯示電路、按鍵調(diào)整電路和蜂鳴器電路這六個(gè)模塊。2.1總設(shè)計(jì)框圖2.2硬件設(shè)計(jì)分析2.2.1電源的設(shè)計(jì)系統(tǒng)電源使用外接直流5伏。USB是通用串行總線(UniversalSerialBus)接口的簡(jiǎn)稱(chēng)。它是目前使用比較廣泛的電腦接口之一,主要版本有1.0、1.1和最新的2.0三種版本。根據(jù)USB總線的工業(yè)標(biāo)準(zhǔn),它可以提供額定功率為5V/500mA的電源供USB設(shè)備使用。2.2.2單片機(jī)最小系統(tǒng)51單片機(jī)是對(duì)目前所有兼容intel8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱(chēng)。該系列單片機(jī)的始祖是intel的8031單片機(jī),后來(lái)隨著技術(shù)的發(fā)展,成為目前廣泛應(yīng)用的8為單片機(jī)之一。單片機(jī)是在一塊芯片內(nèi)集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的基本功能部件的大規(guī)模集成電路,又稱(chēng)為MCU。51系列單片機(jī)內(nèi)包含以下幾個(gè)部件:一個(gè)8位CPU;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4KB的ROM程序存儲(chǔ)器;一個(gè)128B的RAM數(shù)據(jù)存儲(chǔ)器;尋址64KB外部數(shù)據(jù)存儲(chǔ)器和64KB外部程序存儲(chǔ)空間的控制電路;32條可編程的I/O口線;兩個(gè)16位定時(shí)/計(jì)數(shù)器;一個(gè)可編程全雙工串行口;5個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)。如圖2-2所示為AT89C51單片機(jī)基本構(gòu)造,其基本性能介紹如下:圖2-2AT89C51引腳圖AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。AT89C51的主要特性如下表所示:表2-1AT89C51主要功能描述兼容MCS—51指令系統(tǒng)4k字節(jié)可編程閃爍存儲(chǔ)器AT89C51為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的89c51相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(32~39腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P0口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。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門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(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門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)AL脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C51RC由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。單片機(jī)最小原理圖如圖2-2所示:圖2-3單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)說(shuō)明:時(shí)鐘信號(hào)的產(chǎn)生:在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘振蕩電路。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。一般地,電容C2和C3取30pF左右,晶體的振蕩頻率范圍是1.2-12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。單片機(jī)復(fù)位使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài)下,并從這個(gè)狀態(tài)開(kāi)始工作。單片機(jī)復(fù)位條件:必須使9腳加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。2.2.3顯示系統(tǒng)圖2-4四位一體共陽(yáng)極數(shù)碼管圖2-5一位共陽(yáng)極數(shù)碼管2.2.4按鍵調(diào)整電路圖2-6按鍵調(diào)整電路2.2.5蜂鳴器電路圖2-7蜂鳴器電路第三章軟件設(shè)計(jì)與分析3.1軟件設(shè)計(jì)的組成該系統(tǒng)由延時(shí)子函數(shù)、蜂鳴器子函數(shù)、初始化子函數(shù)、調(diào)節(jié)比賽時(shí)間數(shù)碼管顯示子函數(shù)、比賽開(kāi)始數(shù)碼管顯示子函數(shù)、甲隊(duì)得分?jǐn)?shù)碼管顯示子函數(shù)、乙隊(duì)得分?jǐn)?shù)碼管顯示子函數(shù)、按鍵掃描子函數(shù)、定時(shí)器0中斷子函數(shù)、主函數(shù)和數(shù)據(jù)定義這幾部分組成。 圖3-1主程序流程圖圖3-2子程序流程圖3.2源程序#include<reg52.h> //52系列單片機(jī)頭文件#defineucharunsignedchar //宏定義#defineuintunsignedintucharcodesegcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數(shù)碼管段碼ucharcodebitcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80} ; //數(shù)碼管位碼intx=48;inty=00; //秒表計(jì)時(shí),x用于計(jì)分鐘數(shù),y用于計(jì)秒數(shù)ints1=0;ints2=0; //甲乙兩隊(duì)分?jǐn)?shù)控制,score1是甲隊(duì)分?jǐn)?shù),score2是乙隊(duì)分?jǐn)?shù)charCounter=0; //用于計(jì)中斷次數(shù)sbitP07=P0^7; //甲乙隊(duì)交換分?jǐn)?shù)sbitP10=P1^0; //開(kāi)始開(kāi)關(guān)sbitP11=P1^1; //甲隊(duì)加一sbitP12=P1^2; //甲隊(duì)加二sbitP13=P1^3; //甲隊(duì)加三sbitP14=P1^4; //暫停開(kāi)關(guān)sbitP15=P1^5; //乙隊(duì)加一sbitP16=P1^6; //乙隊(duì)加二sbitP17=P1^7; //乙隊(duì)加三sbitP37=P3^7; //蜂鳴器控制voiddelay(uintn) //延時(shí)函數(shù){ucharj; while(n--)//11.5092MHz--113 { for(j=0;j<113;j++); }}voiddisplay() //數(shù)碼管顯示子程序{ P0=segcode[y%10]; //秒鐘個(gè)位送段碼 P2=bitcode[3]; //選中秒鐘個(gè)位 delay(5); //亮5msP2=0x00; //關(guān)位選,防止顯示混亂 P0=segcode[y/10]; //秒鐘十位送段碼 P2=bitcode[2]; //選中秒鐘十位 delay(5);P2=0x00; P0=segcode[x%10]; //分鐘個(gè)位送段碼 P2=bitcode[1]; //選中分鐘個(gè)位 delay(5); P2=0x00; P0=segcode[x/10]; //分鐘十位送段碼 P2=bitcode[0]; //選中分鐘十位 delay(5);P2=0x00; P0=segcode[s1/10]; //分?jǐn)?shù)1的十位送段碼 P2=bitcode[4]; //選中分?jǐn)?shù)1十位 delay(5); //亮5ms P2=0x00; P0=segcode[s1%10]; //分?jǐn)?shù)1的個(gè)位送段碼 P2=bitcode[5]; //選中秒鐘個(gè)位 delay(5);P2=0x00; P0=segcode[s2/10]; //分?jǐn)?shù)2的十位送段碼 P2=bitcode[6]; //選中分?jǐn)?shù)十位 delay(5); P2=0x00; P0=segcode[s2%10]; //分?jǐn)?shù)2的個(gè)位送段碼 P2=bitcode[7]; //選中分?jǐn)?shù)2個(gè)位 delay(5);P2=0x00;}voidjiafen() //定義加分程序{ if(P11==0) //當(dāng)按下P11的時(shí)候 { delay(1); //延時(shí)去抖 while(P11==0) { display(); } s1++; //甲隊(duì)加一分 } if(P12==0) //當(dāng)按下P1_2的時(shí)候 { delay(1); while(P12==0) { display(); } s1+=2; //甲隊(duì)加兩分 } if(P13==0) //當(dāng)按下P13的時(shí)候 { delay(1); while(P13==0) { display(); } s1+=3; //甲隊(duì)加三分 } if(P15==0) //當(dāng)按下P1_4的時(shí)候 { delay(1); //延時(shí)去抖 while(P15==0) { display(); } s2++; //乙隊(duì)加一分 } if(P16==0) //當(dāng)按下P1_5的時(shí)候 { delay(1); while(P16==0) { display(); } s2+=2; //乙隊(duì)加兩分 } if(P17==0) //當(dāng)按下P1_6的時(shí)候 { delay(1); while(P17==0) { display(); } s2+=3;//乙隊(duì)加三分 }}voidjiaohuan() //定義比分交換程序{ intt; //定義中間變量t if(P07==0) //當(dāng)P1_7按下的時(shí)候 { delay(1); //延時(shí)去抖 while(P07==0) { display(); } t=s1; //利用中間變量t,將甲乙兩隊(duì)比分交換 s1=s2; s2=t; display(); //刷新數(shù)碼管 }}voidzanting()//暫停程序{ if(P14==0) //當(dāng)按下P1_5的時(shí)候 { delay(1); while(P14==0) { display(); } EA=0; //cpu不允許中斷 } }voidkaishi(){ if(P10==0) { delay(1); while(P10==0) { display(); } EA=1; //cpu再次允許中斷 } }voidT01()interrupt1{ TH0=0xb8; //重裝 TL0=0x00; Counter++; //計(jì)次數(shù) if(Counter==50) //每個(gè)中斷20ms,計(jì)個(gè)50中斷即1s { y--; //一秒鐘到了,秒表數(shù)字減一 if(y<0) //如果60s減完了,減分鐘數(shù) { x--; //分鐘數(shù)減一 if(x<0) //如果分鐘數(shù)減完了,蜂鳴器響起 { x=0; y=0; while(1) { P37=1; //蜂鳴器想起 display();//刷新數(shù)碼管 } } y=59; //秒表變59 } Counter=0;//重新再計(jì)一秒鐘 }}voidmain() //主函數(shù){ EA=1; ET0=1; //T0中斷允許TMOD=0x01; //工作方式1:16位定時(shí) TH0=0xb8; TL0=0x00; P37=0; //蜂鳴器為關(guān)閉狀態(tài) P10=1; while(P10==1) { display(); } display(); //開(kāi)始的時(shí)候數(shù)碼管顯示初值 if(P10==0) //開(kāi)始鍵按下 { delay(1); while(P10==0) //開(kāi)始鍵按鍵防抖 { display(); } EA=1; //cup中斷允許 TR0=1; //啟動(dòng)定時(shí) while(1) { display(); //數(shù)碼管顯示子程序 zanting(); //暫停子程序 kaishi(); //暫停后重新開(kāi)始子程序 jiafen(); //按鍵加分子程序 jiaohuan(); //分?jǐn)?shù)交換子程序 } }}第四章軟件仿真4.1PROTEUS簡(jiǎn)介ProteusISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:(1)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類(lèi)型有: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)境,如KeilC51uVision2等軟件。(4)具有強(qiáng)大的原理圖繪制功能。可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。PROTEUS是單片機(jī)課堂教學(xué)的先進(jìn)助手。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過(guò)程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無(wú)法相比的大量的元器件庫(kù),提供了修改電路設(shè)計(jì)的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)。4.2仿真圖4.5硬件結(jié)果圖總結(jié)經(jīng)過(guò)近三個(gè)月的努力,終于順利完成了畢業(yè)設(shè)計(jì)。剛開(kāi)始,我們頭緒不是很清楚,不知道從哪里入手,但通過(guò)老師的耐心指導(dǎo)并和同學(xué)認(rèn)真研究設(shè)計(jì)課題,跑圖書(shū)館查資料、確定基本設(shè)計(jì)方案、對(duì)所用芯片功能進(jìn)行查找、調(diào)試、上機(jī)仿真等,經(jīng)歷了一次次的困難,卻積累了很多寶貴的經(jīng)驗(yàn)。在整個(gè)設(shè)計(jì)的過(guò)程中遇到的問(wèn)題主要有以下三點(diǎn),第一:基礎(chǔ)知識(shí)掌握的不牢固,主要表現(xiàn)在一些常用的電路的形式和功能不清楚,對(duì)書(shū)本上的內(nèi)容理解不夠透徹。第二:對(duì)一些常用的應(yīng)用軟件缺少應(yīng)用,體現(xiàn)在畫(huà)電路圖和系統(tǒng)的仿真的時(shí)候,對(duì)這些軟件的操作不熟練,浪費(fèi)了很多時(shí)間。第三:相關(guān)知識(shí)掌握的不夠全面,缺少系統(tǒng)設(shè)計(jì)的經(jīng)驗(yàn)。這次設(shè)計(jì)進(jìn)一步端了我的學(xué)習(xí)態(tài)度,學(xué)會(huì)了實(shí)事求是,嚴(yán)謹(jǐn)?shù)淖黠L(fēng),對(duì)自己要嚴(yán)格要求,不能夠一知半解,要力求明明白白。急于求成是不好的,我有所感受。如果省略了那些必要的步驟,急于求成,不僅會(huì)浪費(fèi)時(shí)間,還會(huì)適得其反。我覺(jué)得動(dòng)手之前,頭腦里必須清楚該怎么做,這一點(diǎn)是很重要的。就目前來(lái)說(shuō),我的動(dòng)手能力雖然差一點(diǎn),但我想,通過(guò)我的不懈努力,在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯人版道德與法治九年級(jí)上冊(cè)8.1《解決爭(zhēng)議從協(xié)商開(kāi)始》配套聽(tīng)課評(píng)課記錄
- 捷運(yùn)物流文員培訓(xùn)
- 統(tǒng)編版四年級(jí)下冊(cè)語(yǔ)文1 古詩(shī)詞三首表格式公開(kāi)課一等獎(jiǎng)創(chuàng)新教案(3課時(shí))
- 中國(guó)農(nóng)業(yè)大學(xué)《數(shù)控技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè) 第二單元 快樂(lè)讀書(shū)吧漫步世界名著花園+公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 青島工學(xué)院《人體工程學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波職業(yè)技術(shù)學(xué)院《營(yíng)銷(xiāo)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京師范大學(xué)《生物科學(xué)動(dòng)態(tài)專(zhuān)題》2023-2024學(xué)年第二學(xué)期期末試卷
- 黃淮學(xué)院《管理學(xué)研究方法與統(tǒng)計(jì)軟件》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江工業(yè)學(xué)院《橋梁施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 加強(qiáng)網(wǎng)絡(luò)空間治理工作的調(diào)研與思考
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
- 高考志愿咨詢(xún)培訓(xùn)課件
- mysql課件第五章數(shù)據(jù)查詢(xún)
- 超濾培訓(xùn)課件
- 熱線電話管理制度
- 《海峽兩岸經(jīng)濟(jì)合作框架協(xié)議》全文
- 紡絲原液制造工(中級(jí))理論考試復(fù)習(xí)題庫(kù)(含答案)
- ArcGIS軟件入門(mén)培訓(xùn)教程演示文稿
- 大梅沙河道河道流量水位
- 人教版初二英語(yǔ)八年級(jí)上冊(cè)全冊(cè)英語(yǔ)單詞表
評(píng)論
0/150
提交評(píng)論