![介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板_第1頁(yè)](http://file4.renrendoc.com/view/d53196cdbfe1286ef674fc20723448f2/d53196cdbfe1286ef674fc20723448f21.gif)
![介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板_第2頁(yè)](http://file4.renrendoc.com/view/d53196cdbfe1286ef674fc20723448f2/d53196cdbfe1286ef674fc20723448f22.gif)
![介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板_第3頁(yè)](http://file4.renrendoc.com/view/d53196cdbfe1286ef674fc20723448f2/d53196cdbfe1286ef674fc20723448f23.gif)
![介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板_第4頁(yè)](http://file4.renrendoc.com/view/d53196cdbfe1286ef674fc20723448f2/d53196cdbfe1286ef674fc20723448f24.gif)
![介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板_第5頁(yè)](http://file4.renrendoc.com/view/d53196cdbfe1286ef674fc20723448f2/d53196cdbfe1286ef674fc20723448f25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要介紹了一種廉價(jià)的應(yīng)用廣泛的MCS-51系列單片機(jī)實(shí)驗(yàn)板,它與傳統(tǒng)的教學(xué)實(shí)驗(yàn)板相比有如下的優(yōu)點(diǎn):(1)價(jià)格低廉。(2)使用簡(jiǎn)單方便,只要有帶RS232串口的PC機(jī)就能進(jìn)行實(shí)驗(yàn)。(3)功能全,基本上具備單片機(jī)常用的接口,例如存儲(chǔ)器、LED數(shù)碼管顯示、鍵盤人機(jī)接口、并行接口、串行接口,等等。本實(shí)驗(yàn)板兼顧學(xué)生單片機(jī)實(shí)驗(yàn)和畢業(yè)設(shè)計(jì)等不同用途,可以做流水燈實(shí)驗(yàn)、鍵盤實(shí)驗(yàn)等一些簡(jiǎn)單實(shí)驗(yàn),在增加一些外圍電路以后,可以進(jìn)行一些實(shí)際應(yīng)用。它具有模塊化硬件結(jié)構(gòu)和簡(jiǎn)單的人機(jī)交互功能并詳細(xì)闡述了系統(tǒng)組成,硬件功能模塊及部分演示程序。該實(shí)驗(yàn)板具有降低設(shè)計(jì)成本,縮短開發(fā)周期,豐富學(xué)生知識(shí),提高設(shè)計(jì)水平等優(yōu)點(diǎn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)板流水燈數(shù)碼管鍵盤
AbstractIntroducingalow-costMCS-51micro-controllerexperimentalboardwhichisbroadlyused,Ithasthefollowingmeritscomparedwiththetraditionalteachingexperimentalboard:(1)thepriceisinexpensive,Itisusedsimplyandconvenient,SolongasthePCmachinehasbeltRS232stringmouth,theexperimentcanbeabletocarriedon(3)entirefunction,Itbasicallyhasthemonolithicintegratedcircuitcommonlyusedconnection,Forexamplememory、LEDnumericalcodetubedemonstration、keyboardman-machineconnection、parallelconnection、serialconnection,andsoon.Thisexperimentalboardgivesdualattentiontothedifferentuses,forexamplethestudentmonolithicintegratedcircuitexperimentandthegraduationproject,candoflowslampexperiment、Keyboardexperimentetcwhichissimpleexperiment,Afterweincreasessomeperipheryelectriccircuits,Wecanuseittocarryonsomepracticalapplications.Thesystemconfiguration,hardwarefunctionmodeandthedemo-programblockdiagramaredescribedindetail.Theexperimentalcircuithascharacteristicssuchasloweringofdesigncost,shorteningdexelopmingcycle,increasingknowledgeofstudents,andraisingofprojectedcapacityetc.Keywords:MCUExperimentalboardFlowslampNumericalcodetubeKeyboard
目錄摘要 IAbstract II第1章緒論 11.1單片機(jī)實(shí)驗(yàn)板的設(shè)計(jì)的意義 11.2本課題所需要做的工作 11.3實(shí)驗(yàn)板的總體設(shè)計(jì) 2第2章實(shí)驗(yàn)板重要器件介紹 32.1AT89C51單片機(jī) 32.2仿真頭介紹 62.3串口通信模塊 72.4LED器件的工作原理 10LED器件發(fā)光的基本原理 102.4.2LED器件的驅(qū)動(dòng) 102.5音樂模塊 112.6鍵盤模塊 12第3章系統(tǒng)實(shí)驗(yàn)板開發(fā)設(shè)計(jì) 143.1流水燈模塊實(shí)驗(yàn)設(shè)計(jì) 143.1.1流水燈的硬件設(shè)計(jì) 143.1.2流水燈的程序設(shè)計(jì) 143.2串口通信模塊實(shí)驗(yàn)設(shè)計(jì) 153.2.1串口通信模塊的硬件設(shè)計(jì) 153.2.2串口通信模塊的程序設(shè)計(jì) 163.3LED顯示模塊實(shí)驗(yàn)設(shè)計(jì) 163.3.1串口通信模塊的硬件設(shè)計(jì) 163.3.2LED模塊的程序設(shè)計(jì) 173.4音樂模塊設(shè)計(jì) 183.4.1音樂模塊的硬件設(shè)計(jì) 183.4.2音樂模塊的程序設(shè)計(jì) 193.5鍵盤模塊設(shè)計(jì) 223.5.1鍵盤模塊的硬件設(shè)計(jì) 223.5.2鍵盤模塊的軟件設(shè)計(jì) 22第4章系統(tǒng)調(diào)試和實(shí)驗(yàn)分析 244.1系統(tǒng)調(diào)試軟件介紹 244.1.1偉福V8/L仿真界面及設(shè)置 244.1.2軟件的調(diào)試 264.2流水燈模塊實(shí)驗(yàn)調(diào)試 284.3串口通信實(shí)驗(yàn)調(diào)試 294.4LED顯示實(shí)驗(yàn)調(diào)試 304.5鍵盤實(shí)驗(yàn)調(diào)試 31結(jié)論 33參考文獻(xiàn) 34附錄1 35附錄2 36附錄3 39致謝 43第1章緒論1.1單片機(jī)實(shí)驗(yàn)板的設(shè)計(jì)的意義目前單片機(jī)利用當(dāng)今先進(jìn)的半導(dǎo)體器件制造技術(shù)以其高可靠性高性能價(jià)格比在工業(yè)控制系統(tǒng)智能化儀器儀表辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用。MCS-51系列單片機(jī)以其優(yōu)越的性能成熟的技術(shù)及可靠性和高性能價(jià)格比成為國(guó)內(nèi)單片機(jī)應(yīng)用領(lǐng)域中的主流[1]。單片機(jī)在智能儀器、工業(yè)控制、機(jī)電一體化等方面應(yīng)用非常廣泛,許多高校工科專業(yè)均開設(shè)了單片機(jī)類的課程。單片微型計(jì)算機(jī)原理是機(jī)制機(jī)電及相關(guān)專業(yè)本科生和研究生必須掌握的一門重要專業(yè)基礎(chǔ)課。而在當(dāng)前形勢(shì)下,實(shí)踐能力和創(chuàng)新精神是對(duì)21世紀(jì)高素質(zhì)人才的基本要求。運(yùn)用現(xiàn)代化的實(shí)驗(yàn)教學(xué)手段,充分利用實(shí)驗(yàn)室現(xiàn)有條件,提高學(xué)生的動(dòng)手能力和創(chuàng)新能力,是單片機(jī)教學(xué)的重要環(huán)節(jié)。以培養(yǎng)學(xué)生的實(shí)踐能力和創(chuàng)新精神為目標(biāo),不斷地改革和完善單片機(jī)實(shí)驗(yàn)教學(xué)的內(nèi)容和方法是激發(fā)學(xué)生學(xué)習(xí)單片機(jī)技術(shù)的學(xué)習(xí)興趣,從而充分發(fā)揮學(xué)生的主觀能動(dòng)性和創(chuàng)造性的主要途徑。而這一切的實(shí)現(xiàn)都需要有一個(gè)適合學(xué)生的單片機(jī)實(shí)驗(yàn)板,多年來由于實(shí)驗(yàn)條件較差等方面的因素,大多數(shù)學(xué)生學(xué)完后仍停留在理論層面上,不能靈活應(yīng)用。多功能單片機(jī)應(yīng)用實(shí)驗(yàn)板是提高學(xué)生動(dòng)手能力,與教學(xué)內(nèi)容緊密結(jié)合,成本低廉的實(shí)驗(yàn)裝置。系統(tǒng)的設(shè)計(jì)立足于教學(xué)大綱,能滿足進(jìn)行教學(xué)中各種實(shí)驗(yàn)的要求。它采用模塊式結(jié)構(gòu),學(xué)生可根據(jù)自己的需要靈活將這些模塊組成一個(gè)系統(tǒng),作為學(xué)習(xí)開發(fā)板使用,增加必要的外圍電路和設(shè)備后,又可作為實(shí)際控制板。1.2本課題所需要做的工作本課題是基于AT89C51的單片機(jī)實(shí)驗(yàn)板,要求能做交通燈實(shí)驗(yàn),鍵盤實(shí)驗(yàn),數(shù)碼顯示實(shí)驗(yàn),串行口實(shí)驗(yàn)等基本實(shí)驗(yàn)還能做一些設(shè)計(jì)開發(fā)性實(shí)驗(yàn)。本課題應(yīng)由硬件和軟件共同組成。硬件應(yīng)充分了解單片機(jī),包括存儲(chǔ)空間,串行口,串行通信等,掌握矩陣鍵盤和LED的靜態(tài)顯示,并要在充分滿足系統(tǒng)可實(shí)現(xiàn)的功能的基礎(chǔ)上考慮到器件的價(jià)格,制版的復(fù)雜度和軟件的實(shí)現(xiàn)難度。軟件應(yīng)了解C51的編程方法,常用的一些編程技巧,調(diào)試運(yùn)行程序,盡量使程序簡(jiǎn)潔,易懂,便于移植,編譯效率高,健壯性好。1.3實(shí)驗(yàn)板的總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)以MCS-51系列單片機(jī)中8031,8051,89C51作為CPU進(jìn)行圖1-1實(shí)驗(yàn)板總體結(jié)構(gòu)框圖系統(tǒng)擴(kuò)展,將數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)器、1/O口擴(kuò)展、串行口通訊、LED顯示、鍵盤與顯示等多種功能模塊集成于一體。系統(tǒng)硬件結(jié)構(gòu)布局如圖1-1所示:系統(tǒng)總電路圖見附錄1。第2章實(shí)驗(yàn)板重要器件介紹2.1AT89C51單片機(jī)本設(shè)計(jì)中采用AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL圖2-1AT89C51引腳圖高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案[2]。1.主要特性8031CPU與MCS-51兼容,4K字節(jié)可編程FLASH存儲(chǔ)器(壽命1000寫/擦循環(huán)),全靜態(tài)工作:0Hz-24KHz,三級(jí)程序存儲(chǔ)器保密鎖定、128*8位內(nèi)部RAM、32條可編程I/O線、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、6個(gè)中斷源、可編程串行通道、低功耗的閑置和掉電模式、片內(nèi)振蕩器和時(shí)鐘電路。2.管腳說明VCC:供電電壓;GND:接地;P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫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門電流。P1口管腳寫入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口被寫“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)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILLP3口也可作為AT89C51的一些特殊功能口。各管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.單片機(jī)機(jī)系統(tǒng)復(fù)位系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。8051單片機(jī)的系統(tǒng)復(fù)位是由RESET引腳來控制的,當(dāng)此引腳與高電平相接超過24個(gè)震蕩周期后,8051即進(jìn)入芯片內(nèi)部復(fù)位的狀態(tài),而且一直在此狀態(tài)下等待。直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部的程序。8051在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重要寄存器設(shè)置為特定的值。2.2仿真頭介紹本課題采用偉福公司的E51/S仿真器進(jìn)行仿真,采用仿真器,可以把實(shí)際硬件系統(tǒng)的單片機(jī)芯片拔掉,把單片機(jī)仿真插頭插入單片機(jī)芯片插座上,整個(gè)開發(fā)系統(tǒng)就取代了單片機(jī)的功能,系統(tǒng)運(yùn)行時(shí),能夠產(chǎn)生和單片機(jī)完全相同的實(shí)時(shí)信號(hào),以實(shí)現(xiàn)對(duì)用戶樣機(jī)系統(tǒng)中的軟,硬件的故障診斷和調(diào)試。偉福仿真器具有以下的特點(diǎn):1.基于不同的單片機(jī)系統(tǒng)的設(shè)計(jì)時(shí),往往需要選擇不同的單片機(jī)(CPU),而偉福仿真軟件WINDOWS版本支持多類CPU仿真。仿真器則采用主機(jī)+仿真頭組合,通過更換不同的仿真頭,可對(duì)各種不同類型的單片機(jī)進(jìn)行仿真。版本功能強(qiáng)大。中文界面,英文界面可任選,用戶源程序的大小不再有任何限制,支持ASM,C,PLM語(yǔ)言混合編程,具有項(xiàng)目管理功能,為用戶的資源共享,課題重組提供強(qiáng)有力的手段。支持點(diǎn)屏顯示,用鼠標(biāo)左鍵點(diǎn)一下源程序中的某一變量,即可顯示該變量的數(shù)值。有豐富的窗口顯示方式,多方位,動(dòng)態(tài)地顯示仿真的各種過程,使用極為便利。3.兩種工作模式,在沒有硬件時(shí),可以通過軟件實(shí)現(xiàn)模擬仿真。
4.集成環(huán)境,編輯、編譯、下載、調(diào)試全部集中在一個(gè)環(huán)境下。多種仿真器,多類CPU仿真全部集成在一個(gè)環(huán)境下??煞抡?1系列,196系列,PIC系列,飛利浦公司的552、LPC764、DALLAS320,華邦438等51增強(qiáng)型CPU。設(shè)計(jì)中要正確選擇晶振,仿真頭晶振和用戶板晶振頻率必須一致,用戶板上的晶振頻率是,所以要把跳線選到,如果沒有正確選擇晶振頻率,則用該仿真器仿真打印時(shí)打印機(jī)出現(xiàn)的是亂碼。POD8X5X仿真頭可配E2000系列,E51系列仿真器,用于仿真INTEL8031/51系列及兼容單片機(jī),可仿真CPU種類8031/32,8051/52,8751/52/54/55/58,89C51/52/55/58,89C1051/2051/4051,華邦的78E51/52/54/58LG的97C51/52/1051/2051。2.3串口通信模塊RS-232C標(biāo)準(zhǔn)是美國(guó)電子工業(yè)協(xié)會(huì)EIA與BELL等公司一起開發(fā)的通信協(xié)議,是最初為遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備DTE與數(shù)據(jù)通信設(shè)備DCE而制定的。目前較廣泛的應(yīng)用與計(jì)算機(jī)與終端或外設(shè)之間的近端連接。1.機(jī)械特性(1)連接器。由于RS-232C標(biāo)準(zhǔn)只規(guī)定了采用一對(duì)物理連接器,但對(duì)連接器本身的物理特性沒有任何定義,因此出現(xiàn)了各種類型的連接器,其中在實(shí)際應(yīng)用中DB-25應(yīng)用比較多,下面就將這兩種連接器作簡(jiǎn)單介紹。引腳信號(hào)1保護(hù)地2發(fā)送數(shù)據(jù)SOUT3請(qǐng)求發(fā)送RTS4清除發(fā)送CTS5數(shù)據(jù)裝置準(zhǔn)備DSR6信號(hào)地7載波檢測(cè)DCD20數(shù)據(jù)終端準(zhǔn)備DCR22響鈴指示RI(2)電纜長(zhǎng)度。傳輸電纜的長(zhǎng)度與傳輸?shù)碾娙萦嘘P(guān)。EIA標(biāo)準(zhǔn)規(guī)定被驅(qū)動(dòng)電路的電容,包括電纜連接電容必須小于2500PF。對(duì)于一個(gè)多芯電纜來說,每英尺電容為40PF~50PF,所以滿足電容特性的電纜長(zhǎng)度最長(zhǎng)為50英尺。RS-232C規(guī)定允許的連接電纜不超過50英尺,但若能保證電纜總電容小于2500PF,則電纜長(zhǎng)度可以超過限定值。2.電器特性微機(jī)見串行通訊時(shí),兩者一般有一定距離,為了克服線路上的電消耗,避免信息出錯(cuò),常用RS-232C電平實(shí)現(xiàn)信號(hào)之間的傳輸。由于RS-232C電平采用負(fù)邏輯,即邏輯“1”:-5~-15V;邏輯“0”:+5~+15V。而TTL的“1”、“0”分別為~5V和~0V,因此需要外接電路實(shí)現(xiàn)電平轉(zhuǎn)換。這種轉(zhuǎn)換常用傳輸線驅(qū)動(dòng)器MC1488和傳輸線接收器MC1489來實(shí)現(xiàn)。MCS-51內(nèi)部含有一個(gè)可編程全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個(gè)同步移位寄存器使用。在進(jìn)行異步通信時(shí),數(shù)據(jù)的發(fā)送和接收分別在各自的時(shí)鐘(TCLK和RCLK)控制下進(jìn)行的,但都必須與字符位數(shù)的波特率保持一致。MCS-51串行口的發(fā)送和接收時(shí)鐘可由兩種方式產(chǎn)生,一種是由主機(jī)頻率fosc經(jīng)分頻后產(chǎn)生,另一種方式是由內(nèi)部定時(shí)器T1或T2的溢出率經(jīng)16分頻后提供。(1)發(fā)送和接收的過程如下:串行口的發(fā)送過程由指令MOVSBUF,A啟動(dòng),即CPU由一條寫發(fā)送緩沖器的指令把數(shù)據(jù)(字符)寫入串行口的發(fā)送緩沖器SBUF(發(fā))中,再由硬件電路自動(dòng)在字符的始、末加上起始位(低電平)、停止位(高電平)及其它控制位(如奇偶位等),然后在移位脈沖SHIFT的控制下,低位在前,高位在后,從TXD端(方式0除外)一位位地向外發(fā)送。串行口的接收與否受制于允許接收位REN的狀態(tài),當(dāng)REN被軟件置“1”后,允許接收器接收。接收端RXD一位位地接收數(shù)據(jù),直到收到一個(gè)完整的字符數(shù)據(jù)后,控制電路進(jìn)行最后一次移位,自動(dòng)去掉啟始位,使接收中斷標(biāo)志RI置“1”,并向CPU申請(qǐng)中斷。CPU響應(yīng)中斷,用一條指令(MOVA,SBUF)把接收緩沖器SBUF(收)的內(nèi)容讀入累加器。TI和RI是由硬件置位的,但需要用軟件復(fù)位。
(2)相關(guān)的寄存器1.SBUF是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù)。兩個(gè)緩沖器只用一個(gè)字節(jié)地址99H,可通過指令對(duì)SBUF的讀寫來區(qū)別是對(duì)接收緩沖器的操作還是對(duì)發(fā)送緩沖器的操作。串行口對(duì)外有兩條獨(dú)立的收發(fā)信號(hào)線RXD(P3.0)TXD(),因此可以同時(shí)發(fā)送、接收數(shù)據(jù),實(shí)現(xiàn)全雙工。2.SCON寄存器用來控制串行口的工作方式和狀態(tài),可按位尋址,其字節(jié)地址為98H。3.PCON中的SMOD用來控制波特率加倍。4.TMOD設(shè)置定時(shí)器1的工作方式,用來產(chǎn)生波特率。5.如果用到中斷,則還需要用到中斷相關(guān)的寄存器IE,IP等。(3)四種工作方式:方式0:
同步移位寄存器方式,其波特率是固定為振蕩頻率fosc的1/12。在這種工作方式下,發(fā)送和接收串行數(shù)據(jù)都通過RXD(P3.0)進(jìn)行,從TXD(P3.1)輸出移位脈沖,控制外部的移位寄存器移位。1幀信息為8位,沒有起始位,停止位。
方式1:
8位UART,1幀信息為10位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位)和一個(gè)停止位“1”,波特率可變,根據(jù)定時(shí)器1的溢出率計(jì)算。
方式2:
9位UART,1幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個(gè)停止位“1”。波特率為振蕩頻率的1/64或1/32
方式3:
9位UART,幀信息為11位,其中一位起始位“0”、八位數(shù)據(jù)位(先低位后高位),一位控制位(第九位)和一個(gè)停止位“1”。波特率可變,根據(jù)定時(shí)器1的溢出率計(jì)算。附加的第9位數(shù)據(jù)為SCON中的TB8的值,它由軟件置位或清零,可作為多機(jī)通信中地址/數(shù)據(jù)信息的標(biāo)志位,也可作為數(shù)據(jù)的奇偶校驗(yàn)。2.4LED器件的工作原理2.4.1LED器件發(fā)光的基本原理發(fā)光二極管(lightemittingdiode,LED),是一種把電能變成光能的特種器件,當(dāng)電流通過它的時(shí)候,便可以產(chǎn)生可視的光。發(fā)光二極管的結(jié)構(gòu)主要由PN結(jié)芯片,電極和光學(xué)系統(tǒng)構(gòu)成。我們知道,發(fā)光是一種能量轉(zhuǎn)化現(xiàn)象。當(dāng)系統(tǒng)受到外界激發(fā)后,會(huì)從穩(wěn)定的低能態(tài)躍遷到不穩(wěn)定的高能態(tài);當(dāng)系統(tǒng)由不穩(wěn)定的高能態(tài)重新回到穩(wěn)定的低能態(tài)時(shí),能量差以光的形式輻射出來,就會(huì)產(chǎn)生發(fā)光現(xiàn)象。當(dāng)在PN結(jié)上加以正向電壓之后,p區(qū)的空穴注入至N區(qū),N區(qū)的電子注入至P區(qū),相互注入的電子與空穴相遇后即產(chǎn)生復(fù)合,這些少數(shù)載流子在結(jié)的注入和復(fù)合中產(chǎn)生輻射而發(fā)光。它是自發(fā)輻射發(fā)光,不需要較高的注入電流產(chǎn)生粒子數(shù)反轉(zhuǎn)分布,也不需要光學(xué)諧振腔,發(fā)射的是非相干光。LED器件的驅(qū)動(dòng)從LED器件的發(fā)光機(jī)理可以知道,當(dāng)向LED器件施加正向電壓時(shí)[9],流過器件的正向電流使其發(fā)光。因此LED的驅(qū)動(dòng)就是要使它的PN結(jié)處于正偏置,同時(shí)為了控制它的發(fā)光強(qiáng)度,還要解決正向電流的調(diào)節(jié)問題。具體的驅(qū)動(dòng)方式有直流驅(qū)動(dòng),恒流驅(qū)動(dòng),脈沖驅(qū)動(dòng)和掃描驅(qū)動(dòng)等,本課題LED器件的驅(qū)動(dòng)為掃描驅(qū)動(dòng)。其中脈沖驅(qū)動(dòng)和掃描驅(qū)動(dòng)原理如下:1.脈沖驅(qū)動(dòng)利用人眼的視覺暫留特性,采用向LED器件重復(fù)通斷供電的方法使之點(diǎn)燃,就是通常所說的脈沖驅(qū)動(dòng)方式。采用這種方式時(shí)應(yīng)該注意兩個(gè)問題:脈沖電流幅值的確定和重復(fù)頻率的選擇。首先,要想獲得與直流驅(qū)動(dòng)方式相當(dāng)?shù)陌l(fā)光強(qiáng)度,脈沖驅(qū)動(dòng)電流的平均值。就應(yīng)該與直流驅(qū)動(dòng)的電流值相同。所以脈沖驅(qū)動(dòng)時(shí),脈沖電流的幅值應(yīng)該比直流驅(qū)動(dòng)電流大T/t倍。其次是脈沖重復(fù)頻率的問題,通過視覺暫留特性的分析,己經(jīng)知道脈沖重復(fù)頻率必須高于24Hz,否則會(huì)產(chǎn)生閃爍現(xiàn)象。脈沖驅(qū)動(dòng)的主要應(yīng)用有兩個(gè)方面:掃描驅(qū)動(dòng)和占空比驅(qū)動(dòng)。2.掃描驅(qū)動(dòng)現(xiàn)行顯示方式多為掃描方式。掃描顯示的原理是基于人類眼睛的視覺暫留效應(yīng):要顯示行輪流顯示,只要刷新頻率不小于24幀/秒,人們不會(huì)有閃爍的感覺。但由于每行顯示占有的時(shí)間相對(duì)的少,所以亮度難于發(fā)揮到最佳值。以每個(gè)掃描周期T掃描16行為例:首先輸出第一行點(diǎn)陣數(shù)據(jù)到列驅(qū)動(dòng)寄存器,再發(fā)出行驅(qū)動(dòng)信號(hào),延時(shí)一段時(shí)間,關(guān)閉行驅(qū)動(dòng)。完成第一行掃描。然后以同樣方式掃描第二行,第三行一直到第l6行,完成一幀的顯示。掃描驅(qū)動(dòng)是通過數(shù)字邏輯電路,使若干LED器件輪流導(dǎo)通,用以節(jié)省控制驅(qū)動(dòng)電路。LED顯示屏是將發(fā)光燈按行或按列布置的,驅(qū)動(dòng)時(shí)也就按行按列驅(qū)動(dòng)。在掃描驅(qū)動(dòng)方式下可以按行掃描,按列控制;也可以按列掃描,按行控制。所謂“掃描”的含義,就是指一行一行地循環(huán)接通整行的LED器件,而不問這一行的哪一列的LED器件是否應(yīng)該點(diǎn)亮,某一列的LED器件是否應(yīng)該點(diǎn)亮,由所謂的列控制電路來負(fù)責(zé)。2.5音樂模塊三極管是一種控制元件,主要用來控制電流的大小,以共發(fā)射極接法為例(信號(hào)從基極輸入,從集電極輸出,發(fā)射極接地),當(dāng)基極電壓Ub有一個(gè)微小的變化時(shí),基極電流Ib也會(huì)隨之有一小的變化,受基極電流Ib的控制,集電極電流Ic會(huì)有一個(gè)很大的變化,基極電流Ib越大,集電極電流Ic也越大,反之,基極電流越小,集電極電流也越小,即基極電流控制集電極電流的變化。但是集電極電流的變化比基極電流的變化大得多,這就是三極管的放大作用。Ic的變化量與Ib變化量之比叫做三極管的放大倍數(shù)β(β=ΔIc/ΔIb,Δ表示變化量。),三極管的放大倍數(shù)β一般在幾十到幾百倍。三極管在放大信號(hào)時(shí),首先要進(jìn)入導(dǎo)通狀態(tài),即要先建立合適的靜態(tài)工作點(diǎn),也叫建立偏置,否則會(huì)放大失真。在三極管的集電極與電源之間接一個(gè)電阻,可將電流放大轉(zhuǎn)換成電壓放大:當(dāng)基極電壓Ub升高時(shí),Ib變大,Ic也變大,Ic在集電極電阻Rc的壓降也越大,所以三極管集電極電壓Uc會(huì)降低,且Ub越高,Uc就越低,ΔUc=ΔUb。蜂鳴器屬于低成本器件,所以在很多設(shè)計(jì)中均采用蜂鳴器來實(shí)現(xiàn)報(bào)警功能。本設(shè)計(jì)中也包含了蜂鳴器電路。由于驅(qū)動(dòng)蜂鳴器需要比較大的驅(qū)動(dòng)電流,所以利用了三極管8550來增加驅(qū)動(dòng)能力。R30主要作為限流保護(hù)電阻,防止電流過大。本設(shè)計(jì)中蜂鳴器采用低電平驅(qū)動(dòng),P0.7輸出低電平將觸發(fā)蜂鳴器,另外P89LPC931的定時(shí)/計(jì)數(shù)器1的溢出翻轉(zhuǎn)也可以驅(qū)動(dòng)蜂鳴器鳴叫。要使用此功能電路,JP4-4需要跳接到BEEP端,如果用戶不使用此功能,可以將JP4-4跳線斷開,就可以將P0.7作為其它功能使用了。2.6鍵盤模塊為了減少鍵盤與單片機(jī)接口時(shí)所占用I/O口線的數(shù)目,在鍵數(shù)較多時(shí),通常都將鍵盤排列成列矩陣式,如圖2-2所示:圖2-2鍵盤排列每一水平線與垂直線的交叉處不相通,而是通過一個(gè)按鍵來連通。利用這種行列矩陣結(jié)構(gòu)只需N個(gè)行線和M個(gè)列線即可組成M乘N個(gè)按鍵的鍵盤,則鍵盤與微機(jī)連線為M加N根。鍵數(shù)越多,這種鍵盤的優(yōu)點(diǎn)越明顯。圖2-2表示4乘4矩陣鍵盤,這個(gè)矩陣鍵盤的四條平行線接到接口的D7~D4,列線接到接口的D3~D0上。在采用這種矩陣式非編碼鍵盤的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行確認(rèn)有無(wú)鍵盤按下的程序段,其工作過程為:CPU由D3~D0口輸出全“0”使所有的列線輸出低電平,然后取出D7~D4的狀態(tài),判斷是否為全“1”,若鍵盤上沒有鍵盤閉合,行,列線之間是斷開的,所有行線D7~D4均為高電平;若有鍵按下閉合時(shí),則對(duì)應(yīng)的行線和列線短路,則行線的輸入即為列線的輸出。當(dāng)確認(rèn)有穩(wěn)定的鍵按下后,下一步就要識(shí)別那一個(gè)按鍵被按下。對(duì)鍵的識(shí)別通常采用逐行(逐列)掃描的查詢法。判斷鍵盤中哪一個(gè)鍵按下,由列線逐列置低電平后,檢查行輸入狀態(tài)。其方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為“1”,則所按下之鍵不在此列。如果不全為“1”,則所按下的必在此列,而且是在與低電平行線相交的交點(diǎn)上的哪個(gè)鍵。最后確定鍵盤上每個(gè)鍵的鍵值。鍵值賦值的最直接辦法是將列,行線按二進(jìn)制順序排列,當(dāng)某一鍵按下時(shí),鍵盤掃描程序執(zhí)行到該列置0電平,讀出各行狀態(tài)為非全“1”狀態(tài),這時(shí)的行列數(shù)據(jù)組合成鍵值。如圖2-2中鍵盤值從左至右,從上至下依次是77、7B、7D、7E;B7、BB、BD、BE;…;E7、EB、ED、EE。這種負(fù)邏輯表示往往不夠直觀,因而采取行列線加反相器或軟件求反的方法把鍵盤改成正邏輯,這時(shí)鍵值依次為88、82、81;48、44、42、41;…;18、14、12、11。不論是正邏輯還是負(fù)邏輯,這種鍵盤的鍵值表示方式分散度大且不等距,用散轉(zhuǎn)指令進(jìn)入鍵處理程序不太方便。對(duì)于不是4乘4或8乘4,8乘8鍵盤,使用也不太容易,所以在許多場(chǎng)合,還需要進(jìn)一步的程序處理,以依次排列鍵值。第3章系統(tǒng)實(shí)驗(yàn)板開發(fā)設(shè)計(jì)3.1流水燈模塊實(shí)驗(yàn)設(shè)計(jì)流水燈的硬件設(shè)計(jì)用5V電源給單片機(jī)供電,并把單片機(jī)的~口與流水燈模塊的8個(gè)引腳用排線連接起來,每個(gè)發(fā)光二極管外接一個(gè)1K電阻,防止電流過大而燒壞發(fā)光二極管。其連法如圖所示:圖3-1流水燈硬件設(shè)計(jì)圖流水燈的程序設(shè)計(jì)用定時(shí)器查詢方式控制P0口流水燈,1s鐘流動(dòng)一次。單片機(jī)的晶振為。用C51編寫程序如下:org0000hajmpstartorg0040hstart:movp1,#0ffhcalldelaycalldelaymovp1,#01hloop:calldelaymova,p1rlamovp1,asjmploopdelay:movr1,#00hdel1:movr6,#00hdjnzr6,$djnzr1,del1ret串口通信模塊實(shí)驗(yàn)設(shè)計(jì)串口通信模塊的硬件設(shè)計(jì)單片機(jī)的、引腳與串口通信模塊中的RS-232的12、1引腳相連,而13、4引腳接到9引腳的連接器的7引腳上,連接器的5腳接電路板的地,連接器的另一端連到PC機(jī)上。圖3-2串口通信模塊的硬件設(shè)計(jì)串口通信模塊的程序設(shè)計(jì)org0000hjmpstartorg0030hstart:movscon,#50h;設(shè)置成串口1方式movtmod,#20h;波特率發(fā)生器T1工作在模式2movpcon,#80h;波特率翻倍為4800*2movth1,#0fah;預(yù)置初值x=256-(fosc*2)/(384*9600)movtl1,#0fahsetbtr1writ:mova,#0afhmovsbuf,amovr5,#09hloop:calldelaydjnzr5,loopajmpwrit;;;;;;;;;;;;;;;;;;;;;;;;;;;;;delay:movr6,#00hdey2:movr7,#00hdjnzr7,$djnzr6,dey2ret3.3LED顯示模塊實(shí)驗(yàn)設(shè)計(jì)串口通信模塊的硬件設(shè)計(jì)把單片機(jī)的~P0.7,~口與LED顯示模塊對(duì)應(yīng)的引腳用排線連接起來,即可進(jìn)行實(shí)驗(yàn)。其連法如圖3-3所示:~是控制數(shù)碼管顯示的數(shù)據(jù)口,而~為數(shù)碼管的位選端,4個(gè)數(shù)碼管采用動(dòng)態(tài)顯示的方法顯示。如圖3-3所示:圖3-3LED顯示模塊LED模塊的程序設(shè)計(jì)設(shè)計(jì)出一個(gè)4位顯示的電子時(shí)鐘,對(duì)于單片機(jī)初學(xué)者來說,設(shè)計(jì)一個(gè)電子時(shí)鐘真的是很有用的,其中要理解的東西有很多,如P0口的數(shù)據(jù)傳送;P2口的位控制,也就是數(shù)碼管的位選通;數(shù)碼管數(shù)字顯示代碼;延時(shí)的處理;數(shù)碼管動(dòng)態(tài)顯示;還有的就是中斷子程序的設(shè)計(jì),感覺這個(gè)是最難的,因?yàn)閱纹瑱C(jī)的計(jì)秒不是人類的大腦思維,如果讓計(jì)算機(jī)實(shí)現(xiàn)1秒后實(shí)現(xiàn)中斷的效果,是最大的難處。還其他的一些知識(shí)的應(yīng)用,及算法的實(shí)現(xiàn),如果以后要擴(kuò)展成一個(gè)電子鬧鐘,可能還要應(yīng)該到中斷優(yōu)先級(jí)相關(guān)的知識(shí)。程序流程圖見圖3-4,程序見附錄2。開始開始設(shè)置T0為16位定時(shí)器給TH0和TL0附初識(shí)值定時(shí)10ms全局中斷和T0中斷顯示時(shí)間圖3-4LED顯示程序流程圖3.4音樂模塊設(shè)計(jì)3.4.1音樂模塊的硬件設(shè)計(jì)圖3-5音樂模塊硬件電路把單片機(jī)的口與唱歌模塊對(duì)應(yīng)的引腳用排線連接起來,其連法如圖3-5所示:音樂模塊的程序設(shè)計(jì)音樂標(biāo)題“八月桂花香”音樂輸出腳
ORG0000H
LJMPSTART
ORG000BH
INC20H;中斷服務(wù),中斷計(jì)數(shù)器加1
MOVTH0,#0D8H
MOVTL0,#0EFH;12M晶振,形成10毫秒中斷
RETI
START:
MOVSP,#50H
MOVTH0,#0D8H
MOVTL0,#0EFH
MOVTMOD,#01H
MOVIE,#82H
MUSIC0:
NOP
MOVDPTR,#DAT;表頭地址送DPTR
MOV20H,#00H;中斷計(jì)數(shù)器清0
MUSIC1:
NOP
CLRA;A清零
MOVCA,@A+DPTR;查表取代碼
JZEND0;是00H,則結(jié)束
CJNEA,#0FFH,MUSIC5;如果是休止符,往下執(zhí)行
LJMPMUSIC3
MUSIC5:
NOP
MOVR6,A;R6=18H音符的頻率
INCDPTRDPTR;加一
MOVA,#0
MOVCA,@A+DPTR;取節(jié)拍代碼送R7
MOVR7,A;R7=30H音符發(fā)音的時(shí)間
SETBR0;啟動(dòng)計(jì)數(shù)
MUSIC2:
NOP
CPL;;是音樂輸出引腳
MOVA,R6
MOVR3,A;;R3=R6=18H
LCALLDEL
MOVA,R7
CJNEA,20H,MUSIC2;;中斷計(jì)數(shù)器(20H)=R7否?
;不等,則繼續(xù)循環(huán)
MOV20H,#00H;等于,則取下一代碼
INCDPTR
LJMPMUSIC1
MUSIC3:
NOP;休止100毫秒
CLRTR0
MOVR2,#0DH;R2=13
MUSIC4:
NOP
MOVR3,#0FFH;R3=255
LCALLDEL
DJNZR2,MUSIC4
INCDPTR
LJMPMUSIC1
END0:
NOP
MOVR2,#0FFH;歌曲結(jié)束,延時(shí)1秒后繼續(xù)
MUSIC6:
MOVR3,#00H
LCALLDEL
DJNZR2,MUSIC6
LJMPMUSIC0
DEL:
NOP
DEL3:
MOVR4,#02H
DEL4:
NOP
DJNZR4,DEL4
NOP
DJNZR3,DEL3
RET
NOP
DAT:
DB18H,30H,1CH,10H
DB20H,40H,1CH,10H
DB18H,10H,20H,10H
DB1CH,10H,18H,40H
DB1CH,20H,20H,20H
DB1CH,20H,18H,20H
DB20H,80H,0FFH,20H
DB30H,1CH,10H,18H
DB20H,15H,20H,1CH
DB20H,20H,20H,26H
DB40H,20H,20H,2BH
DB20H,26H,20H,20H
DB20H,30H,80H,0FFH
DB20H,20H,1CH,10H
DB18H,10H,20H,20H
DB26H,20H,2BH,20H
DB30H,20H,00h3.5鍵盤模塊設(shè)計(jì)3.5.1把鍵盤的8個(gè)引腳接到單片機(jī)的~即可。如圖3-6所示:3-6鍵盤模塊的硬件電路鍵盤模塊的軟件設(shè)計(jì)在第2章我們已經(jīng)介紹了鍵盤的工作原理,因此我們可以設(shè)計(jì)出程序流程圖見圖3-7,程序見附錄3。否否否否否是是是是開始P1口置0第一列清0第一行是否為0第二行是否為0第三行是否為0第四行是否為0第二列清0以下同上計(jì)算按鍵值返回圖3-7鍵盤程序流程圖第4章系統(tǒng)調(diào)試和實(shí)驗(yàn)分析4.1系統(tǒng)調(diào)試軟件介紹偉福V8/L仿真品種多、功能強(qiáng),和國(guó)內(nèi)外同類高檔仿真器功能相比較,軟硬件方面具有多種先進(jìn)特點(diǎn)。1.通用仿真器:主機(jī)+POD組合,通過更換POD,可以對(duì)各種CPL進(jìn)行仿真。為用戶提供了一種靈活的多CPL仿真系統(tǒng)。2.仿真頭內(nèi)置:提高仿真頻率,減小外接插頭體積,可以靈活接插用戶板。3.強(qiáng)大的邏輯分析儀綜合調(diào)試功能:邏輯分析儀由交互式軟件菜單窗口對(duì)系統(tǒng)硬件的邏輯或進(jìn)行同步實(shí)時(shí)采樣,并實(shí)時(shí)在線調(diào)試分析,采樣深度64K,最高時(shí)基采樣頻率達(dá)100M,64路波形的可精確實(shí)時(shí)反映用戶程序運(yùn)行時(shí)的歷史時(shí)間。偉福V8/L仿真界面及設(shè)置1.偉福V8/L軟件在以前的版本基礎(chǔ)上做了增加了許多功能,特別是在窗口管理、項(xiàng)目管理和源文件編輯工具上做了較大改進(jìn),在偉福V8/L環(huán)境下的所有窗口均可以放在窗口的同一塊區(qū)域,各窗口可以直接切換,節(jié)省了窗口的面積,使窗口管理更有效。偉福V8/L還增強(qiáng)了項(xiàng)目管理和源文件編輯方面的功能,使得項(xiàng)目、文件切換更方便,有效地后退、前進(jìn)功能使得修改程序更方便。新增加的書簽窗口和斷點(diǎn)窗口可以有效地管理斷點(diǎn)和書簽,使得程序員無(wú)需在眾多的代碼和斷點(diǎn)中逐行查詢,斷點(diǎn)信息和書簽信息在各自的窗口中顯示一目了然。如圖4-1所示。圖4-1偉福V8/L仿真界面2.仿真器USB口、電源接好,仿真頭對(duì)應(yīng)管腳安裝完畢,打開偉福仿真器集成調(diào)試軟件對(duì)仿真器進(jìn)行設(shè)置,如圖4-2:點(diǎn)擊“好”即進(jìn)入仿真界面。圖4-2仿真器設(shè)置點(diǎn)擊“文件”→“打開文件”,例如:選擇“”,進(jìn)行仿真。軟件的調(diào)試因?yàn)槌绦虼螅诔绦驁?zhí)行期間會(huì)出現(xiàn)亂碼,需要一段段進(jìn)行檢查。首先要保證解碼的正確性,所以單獨(dú)把此段程序進(jìn)行了調(diào)試;另外,LCD顯示屏也應(yīng)進(jìn)行單獨(dú)的測(cè)試,是否好用,以便查找錯(cuò)誤的根源。1.分項(xiàng)調(diào)試⑴解碼調(diào)試這是一個(gè)紅外解碼的過程,根據(jù)編碼的規(guī)則進(jìn)行讀取并轉(zhuǎn)化脈沖信號(hào),在獲得正確的數(shù)字時(shí)蜂鳴器響,并且送到了LCD顯示屏。這是本課題需要解決的最大難題,因?yàn)樗婕傲嗣}沖的時(shí)序,需要計(jì)算很多的時(shí)間參數(shù)。在編譯的時(shí)候沒有出現(xiàn)什么錯(cuò)誤,但是蜂鳴器時(shí)響時(shí)不響,得不到正確的解碼,顯示的都是一些點(diǎn)點(diǎn)或者亂碼。針對(duì)這種情況我做了一下的分析:1.軟件延時(shí)方面不夠準(zhǔn)確;2.在使用參數(shù)方面有沖突;3.對(duì)發(fā)送碼脈沖識(shí)別不準(zhǔn)確[8]。經(jīng)過仔細(xì)的查證,問題出現(xiàn)在定義解碼后的數(shù)據(jù)存儲(chǔ)地址上,即MOVR0,#IRCOM的位置。在未更正之前如下:I5:MOVR2,#0;0.14ms計(jì)數(shù)MOVR0,#IRCOM但是這條語(yǔ)句不應(yīng)出現(xiàn)在這個(gè)位置的,如果這樣的話,R0在每接收一個(gè)字節(jié)后就被重置一次,前面的數(shù)字都被覆蓋,以至于出現(xiàn)解碼的錯(cuò)誤。將MOVR0,#IRCOM放在解碼開始以前就不會(huì)出現(xiàn)這樣的錯(cuò)誤了。MOVR2,#04HMOVR0,#IRCOMI1:JNBIRIN,I2;等待IR信號(hào)出現(xiàn)⑵LCD顯示的調(diào)試模擬LCD顯示一個(gè)漢字“啊”,根據(jù)指導(dǎo)書上的介紹不是一個(gè)難題,此次同樣是沒有出現(xiàn)編譯方面的錯(cuò)誤,但是沒有漢字顯示。調(diào)整了程序中的很多語(yǔ)句也沒有能夠完成顯示的功能,軟件上找不到問題,只能再到硬件上去查找原因了。這時(shí)發(fā)現(xiàn)自己犯下了一個(gè)很大的錯(cuò)誤,BUSY和REQ管腳被接反了,BUSY是一條測(cè)LCD忙閑狀態(tài)的管腳,有語(yǔ)句:SUBI:;寫模塊子程序(單線延時(shí)方式)JBBUSY,SUBI因此,整個(gè)程序就停留在這條語(yǔ)句上不能繼續(xù)執(zhí)行。2.整體的調(diào)試在這兩個(gè)單項(xiàng)的調(diào)試結(jié)束后,我進(jìn)行了整體的軟件設(shè)計(jì)和調(diào)試實(shí)驗(yàn)。由于在兩個(gè)單項(xiàng)調(diào)試上面用到了相同的參數(shù),所以這需要先進(jìn)行統(tǒng)一的參數(shù)變量,尤其是增加的地址變量。比如:為了使顯示的數(shù)字可以從左至右逐字顯示,為了方便我們可以使用寄存器R0-R7,但是,它對(duì)寄存器的要求比較嚴(yán)格,不能在程序中的其他參數(shù)中出現(xiàn),是作為唯一的調(diào)用。在程序中R0-R7都被用到,容易造成混亂,所以就采用了30H作為坐標(biāo)地址的寄存器。⑴編譯程序時(shí),出現(xiàn)了如下圖4-3所示的錯(cuò)誤:圖4-3編譯后出現(xiàn)的問題CJNE語(yǔ)句跳轉(zhuǎn)出了范圍,我做了下面的改動(dòng):CLEAR:CJNEA,#1bH,CHUAJMPIR_SHOW3CHU:JMPIR_OUT這次程序編譯成功。⑵按下K1鍵,顯示屏出現(xiàn)了不規(guī)范的圖形,位置也是不規(guī)律的,所以就在PERFECT子程序下手。出現(xiàn)這樣情況的原因應(yīng)該有兩種可能:一、地址單元不穩(wěn)定,二、行列坐標(biāo)沒有規(guī)范好。原因正如上面所預(yù)料,在這段程序中可以看到,以漢字為單位的行列坐標(biāo)順序被顛倒了,以至于出現(xiàn)了亂碼。如圖4-4。圖4-4編程中出現(xiàn)的問題⑶按下數(shù)字鍵,屏幕可以正確的顯示,但是當(dāng)按下ENTER鍵,顯示的漢字為一片的點(diǎn)點(diǎn)或者隨機(jī)的一些東西。出現(xiàn)這種情況肯定是因?yàn)榇鎯?chǔ)數(shù)字的單元中的內(nèi)容被清除、或者覆蓋,即24H-27H。經(jīng)過查詢,在做分項(xiàng)調(diào)試的時(shí)候,程序初始化的時(shí)候把24H-27H全部付零,在綜合在一起的時(shí)候沒有改正:MOVA,#00HMOVR0,#20HLOOP0:MOV@R0,A;20H-28H清零INCR0CJNER0,#28H,LOOP0改為CJNER0,#24H,LOOP0即可。4.2流水燈模塊實(shí)驗(yàn)調(diào)試按照?qǐng)D3-1進(jìn)行電路板的焊接,焊接完以后按照給出的程序進(jìn)行調(diào)試,調(diào)試結(jié)果如下圖示:從圖4-4我們可以看出P1口各個(gè)引腳每隔一定時(shí)間依次輸出高電平,從爾二極管可以循環(huán)發(fā)光。該實(shí)驗(yàn)可以使我們知道P1口為準(zhǔn)雙向口,P1口的每一位都能獨(dú)立地定義為輸入位或輸出位。做為輸入位時(shí),必須向鎖存器相應(yīng)位寫入“1”,該位才能作為輸入。AT89C51中所有鎖存器在復(fù)位時(shí)均置為“1”,如果后來在口鎖存器寫過“0”,在需要時(shí)應(yīng)寫入一個(gè)“1”,使它作為一個(gè)輸入。圖4-5流水燈實(shí)驗(yàn)調(diào)試結(jié)果圖做完該實(shí)驗(yàn)我們可以學(xué)習(xí)P1口的使用方法和延時(shí)子程序的編寫和使用。4.3串口通信實(shí)驗(yàn)調(diào)試按照?qǐng)D3-2進(jìn)行電路板的焊接,焊接完以后按照給出的程序進(jìn)行系統(tǒng)調(diào)試。本串口程序的功能是:每隔1秒向電腦發(fā)送1次數(shù)據(jù)“AF”。首先設(shè)置串口通信為方式1,波特率為9600,波特率發(fā)生器T1工作在模式2,然后每隔1秒向電腦發(fā)送一次數(shù)據(jù)。在wave6000下編譯此程序,生成文件,通過燒寫器把16進(jìn)制代碼燒到單片機(jī)上。連接好電路,給單片機(jī)通電,在電腦上運(yùn)行串口調(diào)試助手,并選則16進(jìn)制顯示,在顯示區(qū)內(nèi)會(huì)顯示接受到的數(shù)據(jù)。如下圖所示:圖4-6串口實(shí)驗(yàn)調(diào)試結(jié)果圖4.4LED顯示實(shí)驗(yàn)調(diào)試按照?qǐng)D3-3進(jìn)行電路板的焊接,焊接完以后按照給出的程序進(jìn)行系統(tǒng)調(diào)試調(diào)試結(jié)果如下圖所示:圖4-7LED實(shí)驗(yàn)調(diào)試結(jié)果圖該實(shí)驗(yàn)內(nèi)容為利用定時(shí)器1來定時(shí)中斷,控制電子鐘走時(shí),利用實(shí)驗(yàn)臺(tái)上的四個(gè)數(shù)碼管顯示分,秒,做成一個(gè)電子鐘,顯示格式為:分秒該實(shí)驗(yàn)由于有4個(gè)LED,用靜態(tài)顯示則需要的I/O口太多了,故適合于動(dòng)態(tài)顯示,動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮顯示器的各個(gè)位(掃描)。從圖4-6中我們可以看出如上圖所示此刻數(shù)碼管顯示為46分52秒,P1口為輸出數(shù)據(jù),P3口為位選控制某個(gè)數(shù)碼管顯示。做完該實(shí)驗(yàn)可以使我們掌握定時(shí)器的使用和編程方法,了解七段數(shù)碼顯示數(shù)字的原理,掌握用一個(gè)段鎖存器,一個(gè)位鎖存器同時(shí)顯示多位數(shù)字的技術(shù)。4.5鍵盤實(shí)驗(yàn)調(diào)試按照?qǐng)D3-5進(jìn)行電路板的焊接,焊接完以后按照給出的程序進(jìn)行系統(tǒng)調(diào)試,調(diào)試結(jié)果如下圖所示:圖4-8鍵盤實(shí)驗(yàn)調(diào)試結(jié)果圖該實(shí)驗(yàn)是利用實(shí)驗(yàn)板提供的8279,鍵盤電路,數(shù)碼電路,數(shù)碼顯示電路,組成一個(gè)鍵盤分析電路。編寫程序,要求在鍵盤上按動(dòng)一個(gè),就將8279對(duì)此鍵掃描的掃描碼顯示在數(shù)碼管上。從圖4-8中我們可以看出此刻數(shù)碼管上顯示的是4。該實(shí)驗(yàn)可以使我們進(jìn)一步了解8279鍵盤,顯示電路的編程方法。進(jìn)一步了解鍵盤電路工作原理及編程方法。結(jié)論《單片機(jī)原理及應(yīng)用》是一門實(shí)踐性很強(qiáng)的課程,須通過相應(yīng)的實(shí)驗(yàn)及實(shí)踐,來加深理解和鞏固理論知識(shí)。同時(shí)在實(shí)驗(yàn)平臺(tái)上進(jìn)行應(yīng)用電路的設(shè)計(jì),可以提高學(xué)生的理論聯(lián)系實(shí)際的能力。為此我們?cè)O(shè)計(jì)了一套MCS一51單片機(jī)實(shí)驗(yàn)和開發(fā)板。該板在控制成本較低的前提下,把MCS一51單片機(jī)基本的實(shí)驗(yàn)及開發(fā)系統(tǒng),全部集成到一塊較小的電路板上,全部預(yù)留了擴(kuò)展。本實(shí)驗(yàn)板兼顧學(xué)生單片機(jī)實(shí)驗(yàn)和畢業(yè)設(shè)計(jì)等不同用途,可以做流水燈實(shí)驗(yàn)、鍵盤實(shí)驗(yàn)等一些簡(jiǎn)單實(shí)驗(yàn),在增加一些外圍電路以后,可以進(jìn)行一些實(shí)際應(yīng)用。由于本人的理論水平和實(shí)踐經(jīng)驗(yàn)有限以及受研發(fā)條件的限制,本文所做的工作進(jìn)行得非常有限,一些設(shè)想并沒有最終完成,故在某些方面還不盡人意。建議有興趣的同學(xué)可以在單片機(jī)實(shí)驗(yàn)板、編程器、ISP下載線合理的組合方面進(jìn)行研究,因?yàn)榫幙刂破髋浜洗邢螺d編程控制軟件,無(wú)需各種編程器可輕松地將編譯好的代碼下載到開發(fā)板上的CPU中進(jìn)行驗(yàn)證或演示,試驗(yàn)過程中無(wú)需拔插任何電纜和芯片,整個(gè)過程只需利用鼠標(biāo)操作即可,方便快捷。燒寫完畢即可自動(dòng)演示,比ISP使用更方便。同時(shí)也可以使用預(yù)留的ISP接口連接ISP下載頭,對(duì)其他MCU進(jìn)行在系統(tǒng)編程(ISP-InSystemProgramming),對(duì)于產(chǎn)品的軟件調(diào)試或升級(jí),提供快捷的方案。這樣一來,開發(fā)系統(tǒng)又可以作為單獨(dú)的ISP下載線使用了。國(guó)外很多院校都采用這種開發(fā)板??偠灾?,無(wú)論是做單片機(jī)的實(shí)驗(yàn)還是用于設(shè)計(jì)開發(fā);初學(xué)者、或者是具有一定設(shè)計(jì)能力的用戶,本實(shí)驗(yàn)、設(shè)計(jì)系統(tǒng)板都適合他們使用。如增加些輔助電路,本系統(tǒng)板還可以完成更多的實(shí)驗(yàn)、設(shè)計(jì)和開發(fā)。參考文獻(xiàn)[1]李剛.新概念單片機(jī).第一版.天津:天津大學(xué)出版社,2004.[2]鄭學(xué)堅(jiān).微型計(jì)算機(jī)機(jī)原理及應(yīng)用.第三版.北京:清華大學(xué)出版社,1994.
[6]李輝.單片機(jī)的代碼優(yōu)化方法.電子技術(shù)應(yīng)用.1999,7:16-19.[4]陳明熒.單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材.第一版.北京:清華大學(xué)出版社,2004.[5]周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ).第一版.北京:北航大學(xué)出版社,1997.[6]謝淑如.ProtelPCB99SE電路板設(shè)計(jì).第一版.北京:清華大學(xué)出版社,2001.
[7]清源計(jì)算機(jī)工作室.Protel99SE原理圖與PCB設(shè)計(jì).第一版.北京:機(jī)械工業(yè)出版社,2003.[8]許國(guó)安,徐華成.深化實(shí)驗(yàn)教學(xué)改革,注重對(duì)學(xué)生能力的培養(yǎng)[J].實(shí)驗(yàn)技術(shù)與管理,2003,20(2):112-115.[9]李桂平.LED屏幕顯示器的設(shè)計(jì).零陵學(xué)報(bào).2003(9):52-55.[10]郭建勇.小型LED顯示屏的設(shè)計(jì)與實(shí)現(xiàn).電力學(xué)報(bào).1999(2):135-138.[11]周敬利.MCS-51程序空間擴(kuò)展原理.計(jì)算機(jī)工程,2003,29(6):183-815.[12]范贛軍.單片微型計(jì)算機(jī)控制技術(shù).電腦知識(shí)與技術(shù),2004年第32期.[13]吳王平.基于80C51單片機(jī)的計(jì)算機(jī)系統(tǒng)的仿真.電腦知識(shí)與技術(shù),2004年第32期.[14]林占江,林放.電子測(cè)量?jī)x器原理與應(yīng)用.北京:電子工業(yè)出版社.2006年第4期:58-61[15]William.Mcc.SiebertCircuit,SignalsSysterm,1994.[16]RobertG.MiddleetonDesigningelectroniccircuits,1999.[17]KeilElektronikGmbHandKeilSoftwareInc.MON51.PDF-Installingandusingt.2000.附錄1實(shí)驗(yàn)板電路總圖:
附錄2LED顯示實(shí)驗(yàn)程序:second1equ40hsecond2equ41hminute1equ42hminute2equ43horg0000hajmpstartorg000bhjmpzhongduan0org0040hstart:movsecond1,#00hmovsecond2,#00hmovminute1,#00hmovminute2,#00hmovsp,#50hmovtmod,#01hmovth0,#0dchmovtl0,#008hsetbet0setbeasetbtr0loop:calldisplaysjmploop;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;zhongduan0:movth0,#0dchmovtl0,#08hincr2cjner2,#100,end1movr2,#00hincsecond2mova,second2cjnea,#10,end1movsecond2,#00hincsecond1mova,second1cjnea,#6,end1movsecond1,#00hincminute2mova,minute2cjnea,#10,end1movminute2,#00hincminute1mova,minute2cjnea,#6,end1movminute1,#00hend1:reti;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;display:movdptr,#tablemova,second2movca,@a+dptrmovp1,aclrcalldelaysetbmova,second1movca,@a+dptrmovp1,aclrcalldelaysetbp3.1mova,minute2movca,@a+dptrmov
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京課改版歷史八年級(jí)下冊(cè)第2課《新中國(guó)的初步鞏固》聽課評(píng)課記錄
- 人民版道德與法治九年級(jí)上冊(cè)4.2《城鄉(xiāng)差距》聽課評(píng)課記錄
- 招投文件合同范本(2篇)
- 生物燃料鍋爐購(gòu)買合同(2篇)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)《7-2-2用坐標(biāo)表示平移》聽評(píng)課記錄
- 魯人版道德與法治九年級(jí)上冊(cè)9.1《公正律師法律援助》配套聽課評(píng)課記錄
- 湘師大版道德與法治七年級(jí)上冊(cè)2.3《快樂學(xué)習(xí)》聽課評(píng)課記錄
- 道德與法治部編版七年級(jí)上冊(cè)同步聽課評(píng)課記錄《第8課 生命可以永恒嗎》
- 【部編版】八年級(jí)歷史上冊(cè)《鴉片戰(zhàn)爭(zhēng)》公開課 聽課評(píng)課記錄及教學(xué)反思
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)《課題學(xué)習(xí) 關(guān)于勾股定理的研究》聽評(píng)課記錄
- 三廢環(huán)保管理培訓(xùn)
- 財(cái)務(wù)管控的間接成本
- 藏族唐卡藝術(shù)特色分析
- 操作系統(tǒng)課程設(shè)計(jì)報(bào)告
- 護(hù)士團(tuán)隊(duì)的協(xié)作和領(lǐng)導(dǎo)力培養(yǎng)培訓(xùn)課件
- QFD模板含計(jì)算公式計(jì)分標(biāo)準(zhǔn)說明模板
- 醫(yī)院護(hù)理培訓(xùn)課件:《早產(chǎn)兒姿勢(shì)管理與擺位》
- 人工智能在生物醫(yī)學(xué)倫理與法律中的基因編輯與生命倫理問題研究
- 《論文的寫作技巧》課件
- 國(guó)有資產(chǎn)管理辦法-國(guó)有資產(chǎn)管理辦法條例
- 公務(wù)車輛定點(diǎn)維修車輛保養(yǎng)(附彩圖) 投標(biāo)方案
評(píng)論
0/150
提交評(píng)論