花樣流水燈的設(shè)計(jì)_第1頁(yè)
花樣流水燈的設(shè)計(jì)_第2頁(yè)
花樣流水燈的設(shè)計(jì)_第3頁(yè)
花樣流水燈的設(shè)計(jì)_第4頁(yè)
花樣流水燈的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

...wd......wd......wd...摘要計(jì)算機(jī)技術(shù)的飛速開(kāi)展和提高,把我們帶入了嶄新的時(shí)代,現(xiàn)在,計(jì)算機(jī)的應(yīng)用已經(jīng)深入到千家萬(wàn)戶。單片微型計(jì)算機(jī)是制作在一塊集成電路芯片上的計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。單片機(jī)在現(xiàn)在社會(huì)有著廣泛的應(yīng)用,小到人們的日常電子用品,大到航天飛機(jī)、宇宙飛船,上面都有單片機(jī)的廣泛應(yīng)用。單片機(jī)具有體積小、功能強(qiáng)大、低功耗、應(yīng)用廣泛等特點(diǎn)。以AT公司的芯片AT89C51單片機(jī)來(lái)實(shí)現(xiàn)流水燈的設(shè)計(jì)。本系統(tǒng)由單片機(jī)控制,I/O口接LED的負(fù)極,而LED的正極則直接與5V電源相連。通過(guò)I/O口輸出的低電平點(diǎn)亮LED燈。因此可以通過(guò)控制單片機(jī)的I/O口的電平上下以到達(dá)控制LED,從而實(shí)現(xiàn)不同把戲的流水燈的目的。關(guān)鍵詞:LED,單片機(jī),上下電平變化ABSTRACTTherapiddevelopmentofcomputertechnologyandimproving,bringustothenewera,now,theapplicationofcomputerhasbeendeepintothethousands.Singlechipmicrocomputerismadeonanintegratedcircuitchipcomputer,hereinafterreferredtoassinglechipmicrocomputer.SCMhasbeenwidelyusedinthepresentsociety,smalltoPeople'sDailyelectronicproducts,bigtoaerospaceaircraft,spacecraft,abovehasthewideapplicationofsingle-chipmicrocomputer.SCMhassmallvolume,powerfulfunction,lowpowerconsumption,wideapplication,etc.ATthecompany'schipAT89C51single-chipmicrocomputertorealizethewaterlampdesign.Thissystemcontrolledbysinglechipmicrocomputer,I/OportsconnecttheLEDthecathode,andLEDtheanodeisdirectlyconnectedto5Vpowersupply.ThroughtheI/Oportoutputlowlevellightleds.SoyoucansinglechipmicrocomputercontrolthroughtheI/OportstocontrolLED,thelevelofhighandlowsoastorealizethepurposeofthedifferentpatternofflowingwaterlight.Keywords:LED,MCU,HighandLowoutputleve目錄第1章引言11.1研究背景及意義11.2國(guó)內(nèi)外研究現(xiàn)狀以及本系統(tǒng)的重點(diǎn)問(wèn)題11.3本文章節(jié)安排2第2章系統(tǒng)設(shè)計(jì)方案論證32.1控制器模塊方案論證32.2鍵盤(pán)模塊方案42.3電源模塊方案4第3章系統(tǒng)硬件設(shè)計(jì)方案53.1系統(tǒng)設(shè)計(jì)框圖53.2硬件電路設(shè)計(jì)53.2.1電源電路53.2.2單片機(jī)89C52最小系統(tǒng)63.2.3按鍵電路133.3.4LED燈電路13第4章程序設(shè)計(jì)及軟件仿真154.1軟件設(shè)計(jì)框圖154.2軟件開(kāi)發(fā)平臺(tái)選擇154.3軟件系統(tǒng)功能模塊164.3.1初始化模塊164.3.2延時(shí)函數(shù)174.3.3定時(shí)器控制模塊174.3.4鍵盤(pán)掃描模式174.3.5LED燈輸出控制模塊184.4程序調(diào)試仿真194.4.1仿真平臺(tái)介紹194.4.2仿真測(cè)試19第5章硬件調(diào)試215.1硬件設(shè)計(jì)215.2硬件調(diào)試215.2.1下載功能調(diào)試215.2.2LED電路測(cè)試215.2.3模式選擇功能調(diào)試225.2.4速度加減功能調(diào)試225.2.5復(fù)位電路調(diào)試225.2.6穩(wěn)定性測(cè)試22總結(jié)23致謝25參考文獻(xiàn)26附錄27附錄一:原理圖27附錄二:硬件實(shí)物28附錄三:程序代碼29第1章引言1.1研究背景及意義現(xiàn)如今,隨著集成化芯片的飛速開(kāi)展,分立元件或數(shù)字邏輯電路正逐步被集成電路所取代,而單片機(jī)作為一種集成電路,其價(jià)格低廉,且可靠性強(qiáng)、控制簡(jiǎn)單但控制方法多樣。單片機(jī)在我們的日常生活和工作中無(wú)處不在、無(wú)處不有:家用電器中的電子表、洗衣機(jī)、電飯褒、豆?jié){機(jī)、電子秤;住宅小區(qū)的監(jiān)控系統(tǒng)、電梯智能化控制系統(tǒng);汽車(chē)電子設(shè)備中的ABS、GPS、ESP、TPMS;醫(yī)用設(shè)備中的呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,病床呼叫系統(tǒng);公交汽車(chē)、地鐵站的IC卡讀卡機(jī)、滾動(dòng)顯示車(chē)次和時(shí)間的LED點(diǎn)陣顯示屏;電腦的外設(shè),如鍵盤(pán)、鼠標(biāo)、光驅(qū)、打印機(jī)、復(fù)印件、機(jī)、調(diào)制解調(diào)器;計(jì)算機(jī)網(wǎng)絡(luò)的通訊設(shè)備;智能化儀表中的萬(wàn)用表,示波器,邏輯分析儀;工廠流水線的智能化管理系統(tǒng),成套設(shè)備中關(guān)鍵工作點(diǎn)的分布式監(jiān)控系統(tǒng);導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上的各種儀表等等。有資料說(shuō)明:2007年全球單片機(jī)的產(chǎn)值到達(dá)151億美元,我國(guó)單片機(jī)的銷(xiāo)售額到達(dá)400億元人民幣,我國(guó)每年單片機(jī)的需求量達(dá)50至60億片,是全球單片機(jī)的最大市場(chǎng)??梢哉f(shuō)單片機(jī)已經(jīng)滲透到了我們生活的各個(gè)領(lǐng)域。1.2國(guó)內(nèi)外研究現(xiàn)狀以及本系統(tǒng)的重點(diǎn)問(wèn)題單片機(jī)自從問(wèn)世以來(lái)便得到了廣泛的應(yīng)用,單片機(jī)以其體積小、重量輕、功耗低、功能強(qiáng)、數(shù)據(jù)在芯片內(nèi)部傳輸速度較快、可靠性高、程序運(yùn)行速度快、抗干擾能力強(qiáng)等優(yōu)勢(shì)迅速得到了人們的青睞,被廣泛應(yīng)用于測(cè)控系統(tǒng)、數(shù)據(jù)采集、智能儀器儀表、機(jī)電一體化產(chǎn)品、智能接口電路、計(jì)算機(jī)通信和單片機(jī)多級(jí)系統(tǒng)等領(lǐng)域。而在流水燈的控制系統(tǒng)中,單片機(jī)更是取代了傳統(tǒng)流水燈的分立元件設(shè)計(jì),成為該系統(tǒng)的核心部件。傳統(tǒng)設(shè)計(jì)的流水燈,電路復(fù)雜,且可靠性較差,并且把戲單一;而單片機(jī)控制的流水燈,把戲紛繁多樣,且易于修改;硬件電路比分立元件的設(shè)計(jì)簡(jiǎn)單很多,本錢(qián)也極為低廉。因此,單片機(jī)控制的流水燈必將在流水燈領(lǐng)域掀起一場(chǎng)大革命。本文中所設(shè)計(jì)的系統(tǒng)為基于51單片機(jī)的把戲流水燈控制系統(tǒng)。該系統(tǒng)由一塊單片機(jī)通過(guò)C語(yǔ)言編程來(lái)實(shí)現(xiàn)控制功能??煽壳异`活性高、適用范圍廣、且變換的把戲繁多,同時(shí)也適用于霓虹燈以及交通燈等領(lǐng)域。本文將詳細(xì)介紹該對(duì)該系統(tǒng)的設(shè)計(jì)。1.3本文章節(jié)安排第1章介紹了論文的研究背景及意義,對(duì)主要研究的技術(shù)指標(biāo)和章節(jié)安排進(jìn)展了說(shuō)明。第2章對(duì)本系統(tǒng)的設(shè)計(jì)方案的各個(gè)設(shè)計(jì)模塊進(jìn)展比擬論證,得到了適合本文的設(shè)計(jì)方案。第3章提出了系統(tǒng)設(shè)計(jì)框圖以AT89S52單片機(jī)為主控制器,通過(guò)鍵盤(pán)來(lái)設(shè)控制流水燈的模式與流水燈的快慢。第4章根據(jù)設(shè)計(jì)方案,設(shè)計(jì)了軟件設(shè)計(jì)框圖,并對(duì)各個(gè)模塊的主要算法進(jìn)展說(shuō)明。第5章利用protues進(jìn)展軟硬件設(shè)計(jì)仿真,并進(jìn)展實(shí)物制作,驗(yàn)證實(shí)物的性能指標(biāo)。第6章對(duì)本文研究的內(nèi)容和工作進(jìn)展總結(jié),查找缺乏并作出展望。第2章系統(tǒng)設(shè)計(jì)方案論證2.1控制器模塊方案論證方案一:使用FPGA,讓第一個(gè)燈先亮,然后通過(guò)移位,依次點(diǎn)亮其他的燈,便形成了流水燈。初始狀態(tài)時(shí),所有燈都不亮,每來(lái)一個(gè)時(shí)鐘脈沖CLK,計(jì)數(shù)器就加1.每當(dāng)判斷出計(jì)數(shù)器中的數(shù)值到達(dá)25000000時(shí),就會(huì)點(diǎn)亮一個(gè)燈,并進(jìn)展移位,F(xiàn)PGA輸出的數(shù)據(jù)就應(yīng)該先是10000000,隔一秒就編程110000000一直變化到11111111,這樣就依次點(diǎn)亮所有的燈,也就形成了流水燈。而當(dāng)當(dāng)8個(gè)燈都被點(diǎn)亮?xí)r,需要一個(gè)操作使得所有的燈都恢復(fù)為初始狀態(tài),即:燈都不亮,然后再一次流水即可。如果是右移位,就會(huì)出現(xiàn)右流水現(xiàn)象。反之就是左流水。方案二:使用單片機(jī),將LED的正極接電源,負(fù)極接單片機(jī)的I/O,然后當(dāng)單片機(jī)的I/O口輸出低電平時(shí),即點(diǎn)亮LED燈,然后通過(guò)移位指令讓其他LED依次點(diǎn)亮,即形成流水效果。假設(shè)是左移指令,即為左流水;右移指令則為右流水。在數(shù)控方面,單片時(shí)機(jī)優(yōu)于CPLD或FPGA器件,因?yàn)榇颂幹皇怯糜诹魉疅艨刂疲恍枰叩乃俣纫约皽?zhǔn)確度,且上述兩種期間控制起來(lái)也比單片機(jī)麻煩,因此沒(méi)有必要選用價(jià)格昂貴的CPLD和FPGA器件。而單片機(jī)則不同,因?yàn)閱纹瑱C(jī)在技術(shù)領(lǐng)域已經(jīng)相當(dāng)成熟,市面上流通有型號(hào)與品牌繁多的單片機(jī),各種參考文獻(xiàn)也非常多,且價(jià)格低廉,只需要幾元人民幣,因此用單片機(jī)控制會(huì)較為劃算。其次,單片機(jī)的編程方式較為多樣,可選用普及度很高的C語(yǔ)言或匯編語(yǔ)言進(jìn)展編程,在這一點(diǎn)上也優(yōu)于CPLD和FPGA器件。因此,最終決定采取單片機(jī)控制的方案。由于單片機(jī)的高電平的電位為大于2V,低電平電位為小于0.8V,而供電的電源為5V,且一般的LED的耐壓為3-4V,因此,假設(shè)直接將I/O口與LED相連,有可能會(huì)燒壞LED,因此需要串聯(lián)分壓電阻。阻值大約為220-300Ω??紤]到PCB的布局布線,因此打算采用P0口和P2口來(lái)驅(qū)動(dòng)LED燈。但因?yàn)镻0口的驅(qū)動(dòng)能力較弱,因此需要在P0口外部提供的強(qiáng)上拉。因此采取接阻值為10kΩ的排阻的方法來(lái)提供這個(gè)強(qiáng)上拉。2.2鍵盤(pán)模塊方案方案一:采用獨(dú)立式按鍵電路,每個(gè)按鍵單獨(dú)占有一根I/O接口線,每個(gè)I/O口的工作狀態(tài)互不影響,此類(lèi)鍵盤(pán)采用端口直接掃描方式。缺點(diǎn)為當(dāng)按鍵較多時(shí)占用單片機(jī)的I/O口數(shù)目較多。方案二:采用標(biāo)準(zhǔn)4×4鍵盤(pán),此類(lèi)鍵盤(pán)采用矩陣式行列掃描方式,優(yōu)點(diǎn)是當(dāng)按鍵較多時(shí)可降低占用單片機(jī)的I/O口數(shù)目。本系統(tǒng)只需要三個(gè)按鍵,分別為控制模式按鍵,流水燈變換速度加,流水燈變換速度減,因此本系統(tǒng)采用獨(dú)立式按鍵即可滿足系統(tǒng)要求,降低開(kāi)發(fā)難度和硬件本錢(qián)。2.3電源模塊方案由于系統(tǒng)的單片機(jī)和LED燈的電壓都只需要5V,不需要多種電壓,因此直接采用市場(chǎng)上現(xiàn)有的220V轉(zhuǎn)5V的電源,通過(guò)DC線連接系統(tǒng)的火牛頭為系統(tǒng)供電。第3章系統(tǒng)硬件設(shè)計(jì)方案3.1系統(tǒng)設(shè)計(jì)框圖根據(jù)系統(tǒng)設(shè)計(jì)方案的論證,設(shè)計(jì)出如圖3-1所示的系統(tǒng)設(shè)計(jì)框圖,下面依次介紹各個(gè)模塊的具體設(shè)計(jì)實(shí)現(xiàn)細(xì)節(jié)。圖3-1系統(tǒng)設(shè)計(jì)框圖3.2硬件電路設(shè)計(jì)3.2.1電源電路本設(shè)計(jì)需要用到5V供電,考慮采用USB轉(zhuǎn)DC電源線接5V,1A開(kāi)關(guān)電源以提供穩(wěn)定的電壓,參加一個(gè)6腳自鎖開(kāi)關(guān)控制電路通斷。單片機(jī)的40腳接至VCC,20腳接至GND,電路圖如圖3-2所示,圖中J1為DC火牛頭。圖3-2電源電路圖3.2.2單片機(jī)89C52最小系統(tǒng)本系統(tǒng)采用的核心控制模塊是常用的單片機(jī)型號(hào):89C52。下面簡(jiǎn)要介紹該單片機(jī)的特點(diǎn)和使用方法。單片機(jī)簡(jiǎn)介1.單片機(jī)內(nèi)部構(gòu)造MCS-51構(gòu)造的單片機(jī)內(nèi)部采用模塊式構(gòu)造,其構(gòu)造組成框圖如圖3-3所示。由圖可見(jiàn),該系列單片機(jī)主要由隨機(jī)數(shù)據(jù)存儲(chǔ)器〔RAM〕、程序存儲(chǔ)器〔ROM〕、中央處理器〔CPU〕、輸入輸出口、串行口、內(nèi)置的定時(shí)器/計(jì)數(shù)器、中斷控制、總線控制、以及時(shí)鐘電路通過(guò)總線連接而成。CPU是單片機(jī)內(nèi)部的核心器件,分為運(yùn)算器和控制器兩大局部,此外還有面向控制的未處理功能。STC89C52中有512字節(jié)的隨機(jī)數(shù)據(jù)存儲(chǔ)器(RAM),可通過(guò)片外擴(kuò)展來(lái)提升RAM容量。存儲(chǔ)器(ROM),是用來(lái)存儲(chǔ)程序的存儲(chǔ)器,在STC89C52中集成了8K字節(jié)的FLASH存儲(chǔ)器,如果片內(nèi)的容量不夠,還可擴(kuò)展至64KB。中斷系統(tǒng):具有5個(gè)中斷源,2級(jí)中斷優(yōu)先權(quán)。定時(shí)器/計(jì)數(shù)器:片內(nèi)集成了3個(gè)16位的定時(shí)器/計(jì)數(shù)器T0、T1、T2,具有四種工作方式串行口:一個(gè)全雙工異步串行口,具有四種工作方式,可進(jìn)展串口通信,擴(kuò)展并行I/O口,還可以與多個(gè)單片機(jī)相連以構(gòu)成多級(jí)系統(tǒng)。特殊功能存放器(SFR):共有26個(gè)特殊功能存放器,用于CPU對(duì)片內(nèi)各功能部件進(jìn)展管理和監(jiān)視。特殊功能存放器實(shí)際上是片內(nèi)各個(gè)功能部件的控制存放器和狀態(tài)存放器,這些特殊功能存放器映射在片內(nèi)RAM區(qū)80H-FFH的地址區(qū)內(nèi)。圖3-3MCS-51內(nèi)部構(gòu)造2.STC89C52引腳構(gòu)造目前,STC89C52多采用DIP-40封裝,即雙列直插,共40個(gè)引腳的封裝方式。此外,還有44引腳的PLCC和LQFP封裝〔都為表貼元件〕。其中40個(gè)引腳根據(jù)功能的不能可分為3類(lèi):(1)、電源及時(shí)鐘引腳——VCC、GND;XTAL1、XTAL2。(2)、控制引腳——PSEN非、ALE/PROG非、EA非/Vpp、RST〔即復(fù)位〕。(3)、I/O口引腳——P0、P1、P2、P3,為4個(gè)8為I/O口的外部引腳。3.單片機(jī)時(shí)鐘介紹單片機(jī)執(zhí)行的指令均是在CPU控制的時(shí)序控制電路的控制下進(jìn)展的,各種時(shí)序均與時(shí)鐘周期有關(guān)。(1)、時(shí)鐘周期時(shí)鐘周期是單片機(jī)時(shí)鐘控制信號(hào)的根本時(shí)間單位。假設(shè)時(shí)鐘晶體的振蕩頻率為fosc,則時(shí)鐘周期Tosc=1/fosc.如fosc=12MHz,Tosc=83.3ns。(2)、機(jī)器周期CPU完成一個(gè)根本操作所需要的時(shí)間稱為機(jī)器周期。單片機(jī)中通常把執(zhí)行一條指令的過(guò)程分為幾個(gè)機(jī)器周期。每個(gè)機(jī)器周期完成一個(gè)根本操作,如取指令、讀或?qū)憯?shù)據(jù)等。STC89C52單片機(jī)每12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期。即Tcy=12/fosc.假設(shè)fosc=12MHz,Tcy=1us。STC89C52單片機(jī)的一個(gè)機(jī)器周期包括12個(gè)時(shí)鐘周期,分為6個(gè)狀態(tài),S1-S6。每個(gè)狀態(tài)又分為兩拍:P1和P2。因此,一個(gè)機(jī)器周期中的12個(gè)時(shí)鐘周期表示為S1P1、S1P2、S2P1、S2P2、...、S6P2。(3)、指令周期指令周期是執(zhí)行一條指令所需的時(shí)間。STC89C52單片機(jī)中指令按字節(jié)來(lái)分,可分為單字節(jié)、雙字節(jié)、三字節(jié)指令,因此執(zhí)行一條指令的時(shí)間也有所不同。對(duì)于簡(jiǎn)單的單字節(jié)指令,取出指令立即執(zhí)行,只需要一個(gè)機(jī)器周期的時(shí)間。而有些復(fù)雜的指令則需要兩個(gè)或多個(gè)指令周期。從指令的執(zhí)行時(shí)間看,單字節(jié)和雙字節(jié)指令一般為單機(jī)器周期和雙機(jī)器周期,三字節(jié)指令是雙機(jī)器周期,只有乘除法指令占用4個(gè)機(jī)器周期。復(fù)位電路設(shè)計(jì)(1)、復(fù)位操作當(dāng)STC89C52單片機(jī)進(jìn)展復(fù)位操作時(shí),PC存放器初始化為0000H,使STC89C52單片機(jī)從程序存儲(chǔ)器的0000H單元開(kāi)場(chǎng)執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行出錯(cuò)或者操作錯(cuò)誤使得系統(tǒng)處于“死鎖〞狀態(tài)時(shí),按復(fù)位鍵使得RST腳為高電平,使STC89C52單片機(jī)拜托當(dāng)前狀態(tài)而重啟程序。出PC存放器外,復(fù)位操作還對(duì)其他一些存放器有影響,例如SP、Acc、PSW、DPTR等。(2)、復(fù)位電路復(fù)位電路就是把電路恢復(fù)到起始狀態(tài)的電路。能夠在系統(tǒng)上電時(shí)給予復(fù)位信號(hào),并且會(huì)一直等到系統(tǒng)的電源不再改變?yōu)橹共艜?huì)撤離所給的復(fù)位信號(hào),這就是復(fù)位電路的功能所在。復(fù)位后的CPU的主要特征是各IO口呈現(xiàn)高電平。對(duì)于單片機(jī)而言根本的復(fù)位操作是將單片機(jī)的復(fù)位引腳RST上給定一個(gè)高電平信號(hào)并讓該信號(hào)維持在2個(gè)機(jī)器周期以上,便可觸發(fā)系統(tǒng)復(fù)位中斷從而將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:按鍵復(fù)位和上電復(fù)位。首先是按鍵復(fù)位:復(fù)位電路最簡(jiǎn)單的方式就是通過(guò)按鍵復(fù)位直接在單片機(jī)復(fù)位引腳RST上參加高電平。單片機(jī)的復(fù)位引腳接至電阻R1一端,電阻R1另外一端接地。電路如下所示。常用的途徑是在復(fù)位引腳端和正電壓之間安裝復(fù)位按鍵。當(dāng)給一個(gè)力使按鍵被壓迫向下,單片機(jī)的復(fù)位方位就會(huì)保持VCC。假設(shè)保持按下10ms即可讓系統(tǒng)實(shí)現(xiàn)復(fù)位,如圖3-4所示。圖3-4按鍵復(fù)位圖3-5上電復(fù)位圖3-6混合模式第二個(gè)是上電復(fù)位:上電復(fù)位的電路圖如圖3-5所示,具體實(shí)現(xiàn)方式如下:系統(tǒng)上電瞬間單片機(jī)復(fù)位引腳RST電壓時(shí)間變化曲線如圖3-7所示。從曲線上易得當(dāng)系統(tǒng)在一剎那完成上電,根據(jù)電容工作原理特性,它兩端的Uc1不可能實(shí)現(xiàn)迅猛的變化,故電源電壓全部加到R1上,然后電容C1開(kāi)場(chǎng)充電,時(shí)間常數(shù)T=R1*C1,此時(shí)電容電壓逐漸增加,R1兩端電壓逐漸降低,如果R1兩端電壓從高電平到低電平持續(xù)時(shí)間到達(dá)2個(gè)機(jī)器周期,即可實(shí)現(xiàn)單片機(jī)復(fù)位。圖3-7Urst電壓時(shí)間曲線在本設(shè)計(jì)中采用了按鍵復(fù)位和上電復(fù)位的兩種模式〔如圖3-6所示〕上電復(fù)位完成系統(tǒng)初始化,同時(shí)增加的手動(dòng)按鍵復(fù)位可以方便調(diào)試使用。時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路用于產(chǎn)生單片機(jī)工作時(shí)所必需的控制信號(hào),STC89C52單片機(jī)的內(nèi)部電路正是在時(shí)鐘電路的控制下嚴(yán)格按時(shí)序執(zhí)行指令進(jìn)展工作的。在執(zhí)行指令時(shí),CPU首先到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)鐘電路產(chǎn)生一系列控制信號(hào)完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號(hào)有兩類(lèi),一類(lèi)用于對(duì)片內(nèi)各個(gè)功能部件的控制;另一類(lèi)用于對(duì)片外存儲(chǔ)器或I/O口的控制。(1)、內(nèi)部時(shí)鐘方式STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,它的輸入端為芯片的XTAL1腳,輸出端為XTAL2腳。這兩個(gè)引腳跨界石英晶體和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電路的電容C1和C2通常選擇30pF。該電容的大小會(huì)影響振蕩器頻率的上下,振蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的范圍通常是1.2-12MHz。STC89C52通常采用12MHz的石英晶體。晶體的頻率越高,系統(tǒng)的時(shí)鐘頻率越高,單片機(jī)的運(yùn)行速度也就越快。但運(yùn)行速度快對(duì)存儲(chǔ)器的速度要求就越高,對(duì)PCB電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應(yīng)盡可能安裝得離單片機(jī)近一些以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用溫度穩(wěn)定性好的電容。(2)、外部時(shí)鐘方式外部時(shí)鐘方式使用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號(hào),通常用于多片STC89C52單片機(jī)同時(shí)工作,以便于多片單片機(jī)之間的同步,一般為地獄12MHz的方波。外部時(shí)鐘源直接接到XTAL1端,XTAL2端懸空。(3)、時(shí)鐘信號(hào)的輸出當(dāng)使用片內(nèi)振蕩器時(shí),XTAL1、XTAL2引腳還能為應(yīng)用系統(tǒng)中的其他芯片提供時(shí)鐘,但需要增加驅(qū)動(dòng)能力。(4)、晶振電路在單片機(jī)最小系統(tǒng)晶振的作用是給單片機(jī)輸入時(shí)鐘信號(hào),這個(gè)時(shí)鐘信號(hào)就是單片機(jī)的工作速度。單片機(jī)工作的最小時(shí)間計(jì)量單位就是由晶振決定的。電路圖如圖3-4所示。晶振電路電容選擇的原則為:(1)、C1,C2,因?yàn)槊恳环N晶振都有各自的特性,所以最好按制造廠商所提供的數(shù)值選擇外部元器件。(2)、在誤差允許的區(qū)域內(nèi),C1和C2值都是越小,實(shí)現(xiàn)的功能就越準(zhǔn)確,如果C1和C2值比正常數(shù)值大時(shí),可能會(huì)使振蕩器更加穩(wěn)定,可是也會(huì)增加響應(yīng)的時(shí)間。圖3-8晶振電路本系統(tǒng)的單片機(jī)最小系統(tǒng)的時(shí)鐘電路采用圖3.8所示的晶振電路,其中晶振選用12MHz石英晶體振蕩器,接至單片機(jī)的XTAL1和XTAL2腳,兩個(gè)電容選用30p瓷片電容。通過(guò)上述具體方案的設(shè)計(jì)論證,本系統(tǒng)設(shè)計(jì)了如圖3-9所示的最小系統(tǒng)。圖3-9單片機(jī)最小系統(tǒng)程序下載電路在實(shí)際制作實(shí)物的還需要增加一個(gè)下載電路模塊,方便調(diào)試下載。程序下載電路中包含一個(gè)4pin排針,分別接至Vcc、單片機(jī)的10腳〔RXD/P3.0〕、單片機(jī)的11腳〔TXD/P3.1)、GND。在下載程序時(shí),需采用STC公司的USB下載器,下載器的VCC腳接排針VCC腳;下載器的RXD腳接排針的TXD腳;下載器的TXD腳連接排針的RXD腳;下載器的GND腳接排針的GND腳,然后用STC公司的ISP軟件選擇keil編譯生成的hex文件,即可將程序燒寫(xiě)到單片機(jī)中。電路如圖3-10所示。圖中P2即為4pin排針。圖3-10下載接口電路3.2.3按鍵電路按鍵選擇彈片開(kāi)關(guān),電路由3個(gè)彈片開(kāi)關(guān)組成。3個(gè)彈片開(kāi)關(guān)的一段依次接至單片機(jī)的1〔P1.0〕、2〔P1.1〕、3〔P1.3〕腳;另一端共地。功能依次為模式切換、加快運(yùn)行速度、減慢運(yùn)行速度,電路如圖3-11所示。圖3-11按鍵電路3.3.4LED燈電路將16個(gè)LED的負(fù)極依次與單片機(jī)的P1口和P2口的16個(gè)I/O口相接,正極則與5V電源相接。但由于直接相接可能會(huì)燒壞發(fā)光二極管,因此需要串聯(lián)電阻。限流電阻的阻值根據(jù)設(shè)計(jì)經(jīng)歷及現(xiàn)有電阻取值為220Ω.由于為了便于設(shè)計(jì)PCB電路板時(shí)布局布線,故此處的電阻采用貼片0805封裝。此外,由于P0口的驅(qū)動(dòng)能力較弱,無(wú)法直接驅(qū)動(dòng)8個(gè)發(fā)光二極管,應(yīng)選擇在P0口的I/O和發(fā)光二極管的負(fù)極之間接入10kΩ的共陽(yáng)排阻以提供一個(gè)強(qiáng)上拉。電路圖如圖3-12中P1即為10kΩ共陽(yáng)排阻。圖3-12LED電路第4章程序設(shè)計(jì)及軟件仿真4.1軟件設(shè)計(jì)框圖如圖4-1所示為本系統(tǒng)的軟件實(shí)現(xiàn)流程圖。圖4-1軟件流程4.2軟件開(kāi)發(fā)平臺(tái)選擇軟件設(shè)計(jì)的開(kāi)發(fā)平臺(tái)采用美國(guó)keilSoftware公司出品的Keiluvision4。Keiluvision4是美國(guó)keilsoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編語(yǔ)言相比,C語(yǔ)言在功能上、構(gòu)造性、可讀性、可維護(hù)性上有明顯的又是,因而易學(xué)易用。keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境將這些局部組合在一起。運(yùn)行keil軟件需要win98、NT、win2000、winXP等操作系統(tǒng)。假設(shè)使用C語(yǔ)言進(jìn)展編程,keil將是不二之選,即使是使用匯編語(yǔ)言編程,keil方便易用的集成環(huán)境以及強(qiáng)大的軟件仿真調(diào)試工具也能讓開(kāi)發(fā)者事半功倍。4.3軟件系統(tǒng)功能模塊本系統(tǒng)采用構(gòu)造化模塊程序設(shè)計(jì),所謂“模塊〞,實(shí)質(zhì)上就是具有一定功能、相對(duì)獨(dú)立的程序段。在編程過(guò)程中首先將所要完成的各個(gè)功能分別按模塊編寫(xiě)和調(diào)試,所有模塊調(diào)試成功以后,再將各個(gè)模塊連接整合在一起形成系統(tǒng)。模塊化程序設(shè)計(jì)的主要特點(diǎn)是:?jiǎn)蝹€(gè)模塊比一個(gè)完整的程序更容易編寫(xiě)、查錯(cuò)和測(cè)試;模塊化程序可以實(shí)現(xiàn)共享,一個(gè)模塊化程序可被多個(gè)任務(wù)在不同的條件下調(diào)用;把輸入/輸出封裝起來(lái),可以使程序減少不必要的修改;這樣的設(shè)計(jì)有利于程序代碼的優(yōu)化和共享,而且便于設(shè)計(jì)、調(diào)試和維護(hù),可以增強(qiáng)系統(tǒng)的可靠性。本系統(tǒng)的主要模塊有:初始化模塊、延時(shí)模塊、定時(shí)器控制模塊、鍵盤(pán)掃描模式、LED燈輸出控制模塊,下面依次簡(jiǎn)要介紹。4.3.1初始化模塊根據(jù)本系統(tǒng)的設(shè)計(jì)要求,當(dāng)系統(tǒng)上電之后,LED燈并不亮,只有進(jìn)入模式切換之后才有變換,因此需要對(duì)系統(tǒng)的控制參數(shù),比方模式標(biāo)志位、速度變量進(jìn)展初始化,其代碼如下:voidInitialCPU(void){RunMode=0x00;TimerCount=0;SystemSpeedIndex=10;Delay1ms(500);SetSpeed(SystemSpeedIndex);}4.3.2延時(shí)函數(shù)系統(tǒng)控制流水燈的變換主要是通過(guò)延時(shí)函數(shù)的延時(shí)時(shí)間長(zhǎng)短來(lái)做出相應(yīng)的反映,因此設(shè)置一個(gè)延時(shí)函數(shù)是控制速度的關(guān)鍵,其代碼如下:voidDelay1ms(unsignedintcount){ unsignedinti,j; for(i=0;i<count;i++) for(j=0;j<120;j++);}其中,count為時(shí)間控制參數(shù)。4.3.3定時(shí)器控制模塊由于單片機(jī)資源有限,通過(guò)利用中斷來(lái)檢測(cè)按鍵,提高單片機(jī)的時(shí)鐘利用率,其代碼如下:voidInitialTimer2(void){T2CON=0x00; //16BitAuto-ReloadModeTH2=RCAP2H=0xFC; //重裝值,初始值 TL2=RCAP2L=0x18;ET2=1; //定時(shí)器2中斷允許TR2=1; //定時(shí)器2啟動(dòng)EA=1;}4.3.4鍵盤(pán)掃描模式鍵盤(pán)掃描主要是利用IO口讀取的參數(shù)與0相與,然后進(jìn)展比擬,判斷是哪個(gè)鍵輸入了控制信號(hào),比擬之后返回相應(yīng)的值,返回值被另一個(gè)鍵盤(pán)反響函數(shù)得到相應(yīng)的控制信號(hào)。其代碼分為兩局部,一局部為掃描局部,一局部為輸出控制信號(hào),掃描局部如下:unsignedcharKeyTemp,CheckValue,Key=0x00;CheckValue=P1&0x07;if(CheckValue==0x07)return0x00;Delay1ms(10);KeyTemp=P1&0x07;if(KeyTemp==CheckValue)return0x00;if(!(CheckValue&0x01))Key|=0x10;if(!(CheckValue&0x02))Key|=0x20;if(!(CheckValue&0x04))Key|=0x40;returnKey;輸出控制信號(hào)核心算法如下:if(Key&0x10){LEDDirection=1;LEDIndex=0;LEDFlag=1;}if(Key&0x20){if(SystemSpeedIndex>0){--SystemSpeedIndex;SetSpeed(SystemSpeedIndex);}if(Key&0x40){if(SystemSpeedIndex<28){++SystemSpeedIndex;SetSpeed(SystemSpeedIndex)4.3.5LED燈輸出控制模塊LED燈的輸出信號(hào)進(jìn)展一次性賦值,P2口直接與低八位相與得到相應(yīng)所設(shè)定的信號(hào),P0口先將數(shù)據(jù)進(jìn)展左移八位,然后在進(jìn)展相與得到相應(yīng)所設(shè)定的信號(hào)。其相與代碼如下〔只選取了兩種流水模式的代碼〕:{P2=~(LEDStatus&0x00FF);P0=~((LEDStatus>>8)&0x00FF);}其根據(jù)模式賦予不同的輸出值代碼如下:voidMode_0(void){P2=0xFF;P0=0xFF;}voidMode_1(void){LEDShow(0x0001<<LEDIndex);LEDIndex=(LEDIndex+1)%16;}voidMode_2(void){LEDShow(0x8000>>LEDIndex);LEDIndex=(LEDIndex+1)%16;}4.4程序調(diào)試仿真4.4.1仿真平臺(tái)介紹仿真平臺(tái)采用英國(guó)Labcenterelectronics公司開(kāi)發(fā)的EDA工具軟件proteus。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比擬好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。4.4.2仿真測(cè)試首先,在proteus里編輯原理圖,如圖4-2所示,然后再在單片機(jī)屬性中導(dǎo)入從keil中生成的hex文件即可進(jìn)展仿真。圖4-2仿真電路第5章硬件調(diào)試5.1硬件設(shè)計(jì)用Altiumdesigner6-9,將事先畫(huà)好的原理圖的網(wǎng)格導(dǎo)入PCB文檔,然后對(duì)元件進(jìn)展布局和布線設(shè)計(jì),最終得到的PCB電路板如圖5-1所示。圖5-1PCB布線圖5.2硬件調(diào)試5.2.1下載功能調(diào)試將STC公司的USB下載器與4pin排針P2相接,然后翻開(kāi)ISP軟件,選擇對(duì)應(yīng)的hex文件,設(shè)置好com口、芯片型號(hào)、波特率之后,點(diǎn)擊開(kāi)場(chǎng)下載,觀察到程序成功地?zé)浀搅藛纹瑱C(jī)中。然后拔掉下載器,接通電源,可以看到流水燈正常運(yùn)行,說(shuō)明下載功能已通過(guò)。5.2.2LED電路測(cè)試接通電路后仔細(xì)觀察,發(fā)現(xiàn)沒(méi)有從頭至尾都不亮的燈,說(shuō)明LED電路已通過(guò)。5.2.3模式選擇功能調(diào)試接通電源,流水燈開(kāi)場(chǎng)運(yùn)行,然后按動(dòng)彈片開(kāi)關(guān)1,即S2,如果能正常切換模式,則說(shuō)明這局部的功能已通過(guò)。觀察到當(dāng)按下模式切換按鍵時(shí),流水燈的運(yùn)行模式改變,由正轉(zhuǎn)變?yōu)榉崔D(zhuǎn),說(shuō)明這局部已通過(guò)。5.2.4速度加減功能調(diào)試當(dāng)流水燈以正常速度運(yùn)行時(shí),按下彈片開(kāi)關(guān)2,即S3,觀察到流水燈的運(yùn)行速度明顯加快,說(shuō)明加速功能已通過(guò)。按下彈片開(kāi)關(guān)3,即S4,觀察到流水燈的速度回歸正常速度,再按一下,發(fā)現(xiàn)流水燈的運(yùn)行速度變慢,說(shuō)明減速功能也已通過(guò)。5.2.5復(fù)位電路調(diào)試先讓流水燈運(yùn)行一段時(shí)間,然后按下復(fù)位按鍵,彈片開(kāi)關(guān)4,即S1,觀察到流水燈中止當(dāng)前運(yùn)行狀態(tài),又回到最初的運(yùn)行狀態(tài)。說(shuō)明復(fù)位電路也通過(guò)。5.2.6穩(wěn)定性測(cè)試接通電源,讓程序持續(xù)運(yùn)行較長(zhǎng)時(shí)間,發(fā)現(xiàn)PCB電路板無(wú)嚴(yán)重發(fā)熱情況,且程序也沒(méi)有出現(xiàn)所得的“跑飛〞現(xiàn)象,仍可實(shí)現(xiàn)模式切換、加速減速、復(fù)位功能,即一切正常。說(shuō)明穩(wěn)定性較強(qiáng),穩(wěn)定性測(cè)試已通過(guò)??偨Y(jié)1.總結(jié)分析根據(jù)屢次實(shí)物測(cè)試的結(jié)果,可以確定該設(shè)計(jì)已到達(dá)設(shè)計(jì)任務(wù)的要求。首先,本設(shè)計(jì)使用51單片機(jī)實(shí)現(xiàn)了流水燈的設(shè)計(jì)。其次,該設(shè)計(jì)實(shí)現(xiàn)了通過(guò)按鍵來(lái)改變流水燈運(yùn)行模式的功能、實(shí)現(xiàn)了通過(guò)按鍵來(lái)改變流水燈運(yùn)行速度的任務(wù)要求。且經(jīng)過(guò)長(zhǎng)時(shí)間不連續(xù)運(yùn)行的穩(wěn)定性測(cè)試后,電路板無(wú)大量發(fā)熱情況,且程序運(yùn)行也正常,沒(méi)有出現(xiàn)所謂的“跑飛〞情況,說(shuō)明該系統(tǒng)的穩(wěn)定度較高用萬(wàn)用表測(cè)量LED兩端的電壓和電流可以得到結(jié)論,即理論局部闡述的對(duì)于LED限流電阻的計(jì)算較為準(zhǔn)確。萬(wàn)用表測(cè)到的LED兩端的壓降為1.9V,通過(guò)的電流約為8.6mA,小于額定電流10mA,因此安全度也較高。且在程序的設(shè)計(jì)上也到達(dá)了設(shè)計(jì)任務(wù)的要求,即實(shí)現(xiàn)了流水燈運(yùn)行模式7檔可調(diào)、加速運(yùn)行16個(gè)檔位可調(diào)、減速運(yùn)行16個(gè)檔位可調(diào)。2.有待解決的問(wèn)題仔細(xì)總結(jié)分析過(guò)后,發(fā)現(xiàn)硬件方面存在的問(wèn)題是焊工有待改良,有些元件給的錫太多,有些元件的錫太少,這樣會(huì)造成潛在的不穩(wěn)定因素。而且在制板的時(shí)候,有些線因?yàn)楦g的問(wèn)題導(dǎo)致線寬有變化,這樣會(huì)造成電阻的突變,也容易產(chǎn)生寄生電容,也是不穩(wěn)定因素。PCB電路板在設(shè)計(jì)的過(guò)程中未將VCC和GND的線額外加粗,這樣容易導(dǎo)致因?yàn)殡娮杼?,電路板發(fā)熱嚴(yán)重的現(xiàn)象。且在進(jìn)展布局布線的時(shí)候,電路板的布局和走線不夠緊湊,導(dǎo)致設(shè)計(jì)出來(lái)的PCB電路板尺寸較大,不夠小巧,造成了不必要的浪費(fèi)。至于軟件代碼方面,則是沒(méi)有參加消抖程序,這樣容易造成誤操作。3.收獲與體會(huì)通過(guò)本次系統(tǒng)設(shè)計(jì)任務(wù),讓我明白了耐心細(xì)致的重要性。雖然最終結(jié)果比擬成功,但是成功的路是坎坷的。就拿PCB電路板的制作過(guò)程來(lái)說(shuō)吧,中途因?yàn)樵谶M(jìn)展熱轉(zhuǎn)印操作的時(shí)候操作不當(dāng),導(dǎo)致前兩塊PCB電路板的制作都以失敗告終,轉(zhuǎn)印溫度設(shè)置不夠,導(dǎo)致碳粉附著不夠牢,在腐蝕的時(shí)候不停地往下掉,浪費(fèi)了兩塊覆銅板。然后在焊的時(shí)候由于烙鐵溫度太高,且烙鐵與覆銅板的接觸時(shí)間太長(zhǎng),導(dǎo)致有好幾個(gè)發(fā)光二極管被燙壞,然后不停地測(cè)試,重新焊接浪費(fèi)了較多時(shí)間。有些焊盤(pán)的錫太多,有些焊盤(pán)的錫又太少,使得PCB電路板的反面看起來(lái)很丑。在做產(chǎn)品的時(shí)候,不僅需要良好的性能,美觀的外表也很重要。上述這些問(wèn)題說(shuō)到底都是經(jīng)歷缺乏所導(dǎo)致的,在以往的學(xué)習(xí)過(guò)程中,我只重視對(duì)理論的學(xué)習(xí),而忽略了對(duì)實(shí)踐能力的培養(yǎng),而實(shí)踐能力的缺乏在這次畢業(yè)設(shè)計(jì)過(guò)程中得到了充分的暴露。以前一直都覺(jué)得,學(xué)好了理論就行,以后我們是做設(shè)計(jì)工作的,因此,像手工焊接技術(shù)、制板技術(shù)這一類(lèi)的實(shí)踐技能不太重要,因此不需要加以訓(xùn)練。但在這次畢業(yè)設(shè)計(jì)的過(guò)程中,現(xiàn)實(shí)給了我當(dāng)頭一棒。也讓我明白了實(shí)踐有時(shí)候比理論更重要,因?yàn)槔碚撋系闹R(shí)都是建設(shè)在較為理想的情況下的,可等到要付諸實(shí)踐的時(shí)候才發(fā)現(xiàn),很多事情其實(shí)跟學(xué)到的不一樣,如果實(shí)踐經(jīng)歷缺乏的話往往就會(huì)瞬間傻眼。我即將走上工作崗位,這種情況是萬(wàn)萬(wàn)不能有的。因?yàn)橛萌藛挝徊粌H僅會(huì)考察我的理論知識(shí)水平,還會(huì)考察我的實(shí)踐動(dòng)手操作能力,如果只知道紙上談兵的話是很難找到理想的工作的。畢竟我們是工科生,工科生就是要以實(shí)際應(yīng)用為主。如果實(shí)踐能力不夠強(qiáng),到了工作崗位上,當(dāng)面對(duì)一個(gè)大的工程工程的時(shí)候是無(wú)法順利完成任務(wù)的,這對(duì)我整個(gè)的一個(gè)職業(yè)生涯極為不利。因此我必須加強(qiáng)對(duì)實(shí)踐能力的培養(yǎng),不能只知道死鉆理論。畢竟實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。脫離的實(shí)踐的理論是很難站得住腳的。而且在設(shè)計(jì)PCB電路板的過(guò)程中,我從同學(xué)教師那兒以及各種文獻(xiàn)資料中學(xué)到了許多設(shè)計(jì)PCB電路板的小技巧以及本卷須知。以前一直都認(rèn)為,設(shè)計(jì)PCB電路板只是用軟件對(duì)元器件進(jìn)展一個(gè)簡(jiǎn)單布局,然后只需要把線連起來(lái)就行了。但是現(xiàn)在我明白了這項(xiàng)工作并沒(méi)有這么簡(jiǎn)單。光是布局中就有許多本卷須知,如果只是隨便布布局的話會(huì)影響PCB電路板的穩(wěn)定度,這在工業(yè)生產(chǎn)中是絕對(duì)不允許的。我還學(xué)到了一些焊接的小技巧,以前的我是沒(méi)有方法焊接表貼的元件的,但是經(jīng)過(guò)這段時(shí)間的練習(xí),我已經(jīng)可以焊接表貼的元器件了,這也算是對(duì)實(shí)踐能力的一種提升吧。致謝四年的大學(xué)生活即將步入尾聲,我即將進(jìn)入社會(huì),自食其力。四年的艱辛跋涉,四個(gè)月的精心準(zhǔn)備,課程設(shè)計(jì)即將完成,心里理應(yīng)感到輕松,但是在設(shè)計(jì)過(guò)程中遇到的種種問(wèn)題經(jīng)常讓我輾轉(zhuǎn)反側(cè),想到即將步入工作崗位的我,還有如此多缺乏之處,我的心里總是感到重重壓力。一次次地泡在圖書(shū)館的書(shū)海中,一次次地修改程序,一次次地修改PCB電路圖,一下下地敲打鍵盤(pán),其中的艱辛難以訴說(shuō)。但是,這段時(shí)間的艱辛是值得的,我將終生難忘。畢業(yè)設(shè)計(jì)即將完成,需要感謝的人有很多,他們的無(wú)私幫助讓我瞬間成長(zhǎng)了很多。首先,要感謝我的指導(dǎo)教師陳芳教師,我能夠順利完成此次畢業(yè)設(shè)計(jì),離不開(kāi)她的悉心指導(dǎo)。雖然工作繁忙,但是陳芳教師從選題、開(kāi)題、修改到最終完成,她都不厭其煩地啟發(fā)我,給了我很多幫助以及指點(diǎn)。假設(shè)沒(méi)有陳芳教師的點(diǎn)撥,我將很難完成此次畢業(yè)設(shè)計(jì)任務(wù)。在此,我要向陳芳教師致以最衷心的感謝。我也要感謝電子科技大學(xué)成都學(xué)院所有教育過(guò)我的教師,我的知識(shí)是你們傳授給我的,你們是我不斷成長(zhǎng)的源動(dòng)力。感謝我的父母,是他們無(wú)微不至的關(guān)心以及長(zhǎng)期以來(lái)的支持支撐著我不斷前進(jìn),他們就是我的精神支柱。感謝我的室友和同學(xué)們,與你們度過(guò)了4年的美好時(shí)光,給我留下了很多終生難忘的美好回憶。你們?cè)谶@次畢業(yè)設(shè)計(jì)的過(guò)程中也幫了我很大的忙,提供應(yīng)了我很多文獻(xiàn)資料,如果沒(méi)有你們的資料,我將會(huì)走很大的彎路。還要感謝學(xué)校給我提供這么好的環(huán)境,讓我安心求學(xué)。感謝論文中設(shè)計(jì)到的學(xué)者們,沒(méi)有你們的研究成果,我將很難完本錢(qián)次畢業(yè)設(shè)計(jì)。最終,我要感謝身邊所有的幫助過(guò)我的人,感謝你們。參考文獻(xiàn)[1]劉和平.PIC16F87X單片機(jī)使用軟件與接口技術(shù)C語(yǔ)言及其應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002[2]李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2000[3]劉利民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1999[4]康華光.電子技術(shù)根基(數(shù)字局部第五版),高等教育出版社,2005[5]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編.北京理工大學(xué)出版社,2005[6]田良,王堯.綜合電子設(shè)計(jì)與實(shí)踐.東南大學(xué)出版社,2002[7]吳戈,李玉峰.案例學(xué)單片機(jī)C語(yǔ)言開(kāi)發(fā).人民郵電出版社,2008[8]劉坤,宋戈,趙紅波.51單片機(jī)C語(yǔ)言應(yīng)用開(kāi)發(fā)技術(shù)大全.人民郵電出版社,2008[9]侯玉寶,陳忠平,李成群.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真.電子工業(yè)出版社,2008[10]劉坤,高征紅.Protel99SE電路設(shè)計(jì)實(shí)例教程.清華大學(xué)出版社,2008[11]郭惠,解書(shū)鋼.Protel99SE常用功能與應(yīng)用實(shí)例精講.電子工業(yè)出版社,2008[12]8-bitMicrocontrollerWith4KBytesFlashAT89C51.ATMEL,2000[13]8-bitMicrocontrollerWith8KBytesFlashAT89LV51.ATMEL,2000附錄附錄一:原理圖附錄二:硬件實(shí)物附錄三:程序代碼#include<REG52.H>unsignedcharRunMode;voidDelay1ms(unsignedintcount){unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}unsignedcharGetKey(void){unsignedcharKeyTemp,CheckValue,Key=0x00;CheckValue=P1&0x07;if(CheckValue==0x07)return0x00;Delay1ms(10);KeyTemp=P1&0x07;if(KeyTemp==CheckValue)return0x00;if(!(CheckValue&0x01))Key|=0x10;if(!(CheckValue&0x02))Key|=0x20;if(!(CheckValue&0x04))Key|=0x40;returnKey;}unsignedintTimerCount,SystemSpeed,SystemSpeedIndex;voidInitialTimer2(void){T2CON=0x00; //16BitAuto-ReloadModeTH2=RCAP2H=0xFC; //重裝值,初始值 TL2=RCAP2L=0x18;ET2=1; //定時(shí)器2中斷允許TR2=1; //定時(shí)器2啟動(dòng)EA=1;}unsignedintcodeSpeedCode[]={1,2,3,5,8,10,14,17,20,30,40,50,60,70,80,90,100,120,140,160,180,200,300,400,500,600,700,800,900,1000};//30voidSetSpeed(unsignedcharSpeed){SystemSpeed=SpeedCode[Speed];}voidLEDShow(unsignedintLEDStatus){P2=~(LEDStatus&0x00FF);P0=~((LEDStatus>>8)&0x00FF);}voidInitialCPU(void){RunMode=0x00;TimerCount=0;SystemSpeedIndex=10;}unsignedintLEDIndex=0;bitLEDDirection=1,LEDFlag=1;voidMode_0(void){P2=0xFF;P0=0xFF;}voidMode_1(void){LEDShow(0x0001<<LEDIndex);LEDIndex=(LEDIndex+1)%16;}voidMode_2(void){LEDShow(0x8000>>LEDIndex);LEDIndex=(LEDIndex+1)%16;}voidMode_3(void){if(LEDDirection)LEDShow(0x0001<<LEDIndex);elseLEDShow(0x8000>>LEDIndex);if(LEDIndex==15)LEDDirection=!LEDDirection;LEDIndex=(LEDIndex+1)%16;}voidMode

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論