版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
題目:51系列單片機(jī)教學(xué)實(shí)驗(yàn)板硬件設(shè)計(jì)51系列單片機(jī)教學(xué)實(shí)驗(yàn)板硬件設(shè)計(jì)摘要在全國(guó)高等院校電子信息類專業(yè)中,已普遍開(kāi)設(shè)單片機(jī)及其相關(guān)課程?單片機(jī)課程是大中專院校電子類專業(yè)實(shí)踐性?應(yīng)用性和工程性很強(qiáng)的專業(yè)基礎(chǔ)課或?qū)I(yè)選修課?從加強(qiáng)學(xué)生能力培養(yǎng)的要求來(lái)看,這類課程僅在課堂上講授基本原理是不夠的,必須在教學(xué)中加強(qiáng)實(shí)踐環(huán)節(jié),讓學(xué)生有足夠的實(shí)踐機(jī)會(huì)?其中,單片機(jī)實(shí)驗(yàn)板就是一個(gè)很好的學(xué)習(xí)單片機(jī)的工具?目前,市場(chǎng)上單片機(jī)實(shí)驗(yàn)板的種類較多?此次設(shè)計(jì)的實(shí)驗(yàn)板的特點(diǎn)是將各種單元電路合理的拼湊在一塊大印刷電路板上,構(gòu)成一個(gè)有機(jī)的整體?設(shè)計(jì)中利用Protel99SE軟件先設(shè)計(jì)原理圖,然后進(jìn)行元件封裝,PCB出圖,最后是制板?它與傳統(tǒng)的教學(xué)實(shí)驗(yàn)板相比有如下的優(yōu)點(diǎn):⑴價(jià)格低廉;⑵使用簡(jiǎn)單方便,只要有帶RS232串口的PC機(jī)就能進(jìn)行實(shí)驗(yàn);⑶功能全,基本上具備單片機(jī)常用的接口,如數(shù)模轉(zhuǎn)換?模數(shù)轉(zhuǎn)換?存儲(chǔ)器?LED數(shù)碼管顯示?鍵盤(pán)人機(jī)接口?串行接口?溫度傳感器接口等等?采用本仿真開(kāi)發(fā)實(shí)驗(yàn)板,可使初學(xué)者迅速掌握單片機(jī)原理及應(yīng)用,熟悉匯編語(yǔ)言?單片機(jī)C語(yǔ)言?關(guān)鍵詞:單片機(jī);實(shí)驗(yàn)板;接口電路;C語(yǔ)言
51SeriesSingle-chipTeachingExperimentalBoardHardwareDesignAbstract
Nationalinstitutionsofhigherlearningintheprofessionalcategoryofelectronicinformation,hasgenerallybeenthecreationofsingle-chipanditsrelatedprograms.Single-chipcollegeisthecourseprofessionalpracticeofelectronicinstitutions,appliedandengineeringfoundationforastrongprofessionalorprofessionalelectivecourses.Fromtherequirementsofstudentscapacity-buildingperspective,suchcoursesaretaughtonlythebasicprinciplesoftheclassroomisnotenough,wemuststrengthentheteachingpractice,toallowsufficientopportunitytopractice.Amongthem,single-chipexperimentalboardisagoodlearningtoolforthestudents.Atpresent,moretypesofexperimentalplateinthesingle-chipmarket.Thedesignedboardischaracterizedbyavarietyofunitscircuitwillbereasonabletogetheronalargeprintedcircuitboardandthenconstituteanorganicwhole.ThedesignmakeuseofProtel99SEsoftwaretodesignschematicdiagram,andthenpackagingcomponents,PCBmap,andfinallythesystemboard.Itcomparedtothetraditionalteachinghasthefollowingadvantages:⑴Theprizecheap.⑵Useitsimple,thereisaslongasRS232serialportwiththePCmachineswillbeabletocarryoutsuchexperiments.⑶Widefeatures,theboardbasicallyhastheinterfacewithcommonlyusedsingle-chip,full-to-analogconverter,analog-to-digitalconversion,memory,LEDdigitaldisplay,keyboardman-machineinterface,serialinterface,temperaturesensorinterfaceandsoon.Thedevelopmentoftheuseofthesimulationexperimentboard,beginnerscanquicklygrasptheprincipleandapplicationofsingle-chip,andisfamiliarwithassemblylanguage,microcontrollerClanguage.Beginnersusethedevelopmentofthesimulationexperimentboard,canquicklygrasptheprincipleandapplicationofsingle-chip,andarefamiliarwithassemblylanguage,Single-chipClanguage.Keywords:microcomputer;experimentalplate;interfacecircuit;Clanguage目錄TOC\o"1-7"\h\z\u摘要 IAbstract II第一章引言 11.1研究背景和意義 1研究現(xiàn)狀 2本文主要的研究工作 2第二章實(shí)驗(yàn)板硬件電路設(shè)計(jì) 42.1實(shí)驗(yàn)板的MCU選型 42.1.1單片機(jī)選型原則 42.1.2AT89S51單片機(jī)簡(jiǎn)介 52.2實(shí)驗(yàn)板總體簡(jiǎn)介 82.2.1單片機(jī)實(shí)驗(yàn)教學(xué)功能 82.2.2硬件總體邏輯結(jié)構(gòu) 92.3單片機(jī)最小系統(tǒng)的電路說(shuō)明 92.4模數(shù)轉(zhuǎn)換器ADC0809的接口電路 92.4.1ADC0809芯片及內(nèi)部結(jié)構(gòu)簡(jiǎn)介 9信號(hào)引腳 92.4.3MCS-51單片機(jī)與ADC0809的接口 92.4.4轉(zhuǎn)換數(shù)據(jù)的傳送 9數(shù)模轉(zhuǎn)換器DAC0832的接口電路 92.4.1DAC0832簡(jiǎn)介 92.4.2DAC0832的工作方式 92.4.3電壓輸出電路的連接 92.4.4DAC0832與單片機(jī)的連接 9數(shù)據(jù)/程序存儲(chǔ)器24C02 9芯片簡(jiǎn)介 92.5.224C02與單片機(jī)的連接 92.6并行接口芯片8255A的接口電路 92.6.18255A的基本特性 92.6.28255A的外部特性和內(nèi)部結(jié)構(gòu) 9外部引腳 92.6.2.28255內(nèi)部結(jié)構(gòu) 92.6.38255A的編程命令 92.7LCD1602液晶顯示 92.7.1LCD1602的引腳圖 92.7.21602液晶顯示的指令命令 92.7.3LCD1602與單片機(jī)的接口電路 9動(dòng)態(tài)LED顯示與鍵盤(pán) 9數(shù)碼管的分類 9顯示接口簡(jiǎn)介 9靜態(tài)顯示概念 92.8.2.2動(dòng)態(tài)顯示概念 92.8.3動(dòng)態(tài)顯示接口電路 92.9鍵盤(pán)電路 92.9.1鍵盤(pán)簡(jiǎn)介 92.9.2獨(dú)立式按鍵 92.9.2.1獨(dú)立式按鍵結(jié)構(gòu) 92.9.2.2獨(dú)立式按鍵的軟件結(jié)構(gòu) 92.9.3矩陣式鍵盤(pán)的結(jié)構(gòu)及原理 92.9.4鍵盤(pán)的編碼 92.9.5鍵盤(pán)的工作方式 92.9.5.1定時(shí)掃描方式 92.9.5.2中斷掃描方式 92.9.5.3鍵盤(pán)電路 92.10DS18B20溫度傳感器接口 92.10.1DS18B20溫度傳感器簡(jiǎn)介 92.10.2DS18B20的特性? 92.10.3DS18B20的外形和內(nèi)部結(jié)構(gòu) 92.10.4DS1820與單片機(jī)的連接 92.11RS-232串行接口 92.11.1串行通信基本原理 9異步串行通信的字符格式 9串行通信的傳送速率 92.11.2RS-232C總線標(biāo)準(zhǔn) 92.11.3單片機(jī)串口通訊的硬件電路 92.12實(shí)驗(yàn)板蜂鳴器驅(qū)動(dòng)電路 92.14實(shí)驗(yàn)板PCB設(shè)計(jì) 9第三章實(shí)驗(yàn)板軟件設(shè)計(jì)及調(diào)試 9實(shí)驗(yàn)板流水燈程序 9實(shí)驗(yàn)板A/D采樣程序 9實(shí)驗(yàn)板串口程序 9第四章設(shè)計(jì)總結(jié) 9參考文獻(xiàn) 9附錄A 9附錄B 9附錄C 9附錄D 9附錄E 9附錄F 9致謝 9第一章引言我設(shè)計(jì)的這款實(shí)驗(yàn)板最大限度地利用了單片機(jī)軟硬件資源,充分考慮多功能?多用途?高可靠性及可擴(kuò)展性,具有很高的性價(jià)比?有利于調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,在實(shí)踐中快速提高了學(xué)生的設(shè)計(jì)能力?
傳統(tǒng)的單片機(jī)實(shí)驗(yàn)系統(tǒng)因其購(gòu)買成本高?系統(tǒng)使用煩瑣,已經(jīng)越來(lái)越不適合當(dāng)前以培養(yǎng)學(xué)生實(shí)際能力為主要方向的高等教育,本系統(tǒng)可以讓學(xué)生基本上人手一套,使用方便,功能齊全,真正達(dá)到讓學(xué)生理論與實(shí)踐的結(jié)合,深刻學(xué)習(xí)單片機(jī)的理論知識(shí)目的?研究背景和意義完整的單片機(jī)實(shí)驗(yàn)教學(xué)和開(kāi)發(fā)系統(tǒng)應(yīng)包括微型計(jì)算機(jī)?編程器(又叫燒錄器)?軟硬件仿真器?實(shí)驗(yàn)電路板等?編程器用于把編譯好的程序?qū)懭雴纹瑱C(jī)的ROM里面,把寫(xiě)好后的芯片插到實(shí)驗(yàn)板上面進(jìn)行試驗(yàn)?單片機(jī)仿真器用來(lái)實(shí)時(shí)仿真調(diào)試單片機(jī)程序及硬件電路,隨時(shí)發(fā)現(xiàn)問(wèn)題,修改程序,提高編寫(xiě)程序的效率?硬件實(shí)驗(yàn)板,作為單片機(jī)實(shí)驗(yàn)的外圍電路部分,可以進(jìn)行相關(guān)實(shí)驗(yàn)電路的單片機(jī)編程實(shí)驗(yàn),測(cè)試單片機(jī)程序能否實(shí)現(xiàn)實(shí)驗(yàn)電路的功能?目前,單片機(jī)的實(shí)驗(yàn)教學(xué)中存在諸多問(wèn)題,如:⑴單片機(jī)課堂教學(xué)往往多以理論教學(xué)為主,實(shí)驗(yàn)課教學(xué)為輔,實(shí)驗(yàn)教學(xué)也多是進(jìn)行驗(yàn)證性實(shí)驗(yàn)?但單片機(jī)是一門(mén)實(shí)踐性很強(qiáng)的學(xué)科,只學(xué)習(xí)理論不做實(shí)驗(yàn)練習(xí),很難真正地把單片機(jī)方面的知識(shí)理解掌握,也很難真正成為單片機(jī)應(yīng)用領(lǐng)域的高級(jí)人才?⑵學(xué)生實(shí)驗(yàn)時(shí)也存在著不少問(wèn)題,單片機(jī)實(shí)驗(yàn)室由于存在著場(chǎng)地和時(shí)間限制等問(wèn)題,學(xué)生除了上課外,平時(shí)難得有機(jī)會(huì)實(shí)踐?個(gè)人配備單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng),因成本較高,很多學(xué)生無(wú)法承受?同時(shí)一般單片機(jī)實(shí)驗(yàn)箱由于是成品,學(xué)生很難參與到其中的細(xì)節(jié)設(shè)計(jì)中去,一般單片機(jī)實(shí)驗(yàn)箱也只是起驗(yàn)證實(shí)驗(yàn)的作用,學(xué)生動(dòng)手能力很難得到訓(xùn)練與提高?⑶單片機(jī)教材陳舊,實(shí)驗(yàn)設(shè)備不足?落后,一般學(xué)校很少有學(xué)生人手一套實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)進(jìn)行單片機(jī)實(shí)驗(yàn)及開(kāi)發(fā)?實(shí)驗(yàn)板與計(jì)算機(jī)之間用通信電纜連接,可以互相通信?這樣,實(shí)驗(yàn)題目可以與時(shí)俱進(jìn),隨時(shí)更新,根據(jù)學(xué)生知識(shí)能力水平,實(shí)驗(yàn)教學(xué)內(nèi)容可深可淺,更加符合多層次學(xué)習(xí)單片機(jī)的需求?該單片機(jī)實(shí)驗(yàn)教學(xué)仿真系統(tǒng)不僅能勝任于學(xué)生的課程實(shí)驗(yàn)?畢業(yè)設(shè)計(jì)?課外科技活動(dòng)(如電子設(shè)計(jì)競(jìng)賽)等各個(gè)不同的實(shí)驗(yàn)與實(shí)踐階段,并且使用該系統(tǒng)有利于實(shí)驗(yàn)者進(jìn)行自主開(kāi)發(fā)實(shí)驗(yàn),有利于培養(yǎng)學(xué)生的創(chuàng)新精神和創(chuàng)造能力?研究現(xiàn)狀目前單片機(jī)已經(jīng)引起各行業(yè)極大關(guān)注,展現(xiàn)出廣闊的應(yīng)用前景?很多大型公司都設(shè)計(jì)開(kāi)發(fā)并生產(chǎn)專業(yè)的單片機(jī)仿真器,編程器以及單片機(jī)實(shí)驗(yàn)板,以供大中專院校進(jìn)行教學(xué)培訓(xùn)?實(shí)驗(yàn)研究以及個(gè)人學(xué)習(xí)使用?早期的單片機(jī)實(shí)驗(yàn)教學(xué)和開(kāi)發(fā)系統(tǒng),如北京啟東達(dá)愛(ài)思電子生產(chǎn)的達(dá)愛(ài)思系列微機(jī)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng),可以做單片機(jī)?微機(jī)?控制等課程的實(shí)驗(yàn)?上海埃威航空電子(原上海航虹高科技)生產(chǎn)的AEDK51系列單片機(jī)實(shí)驗(yàn)系統(tǒng),包括AEDK51W(AEDK320W)型仿真機(jī)和EXP51實(shí)驗(yàn)板,可以做傳統(tǒng)的單片機(jī)實(shí)驗(yàn),如基本I/O口實(shí)驗(yàn)?定時(shí)計(jì)數(shù)器實(shí)驗(yàn)?A/D和D/A轉(zhuǎn)換實(shí)驗(yàn)?電動(dòng)機(jī)?電子琴?打印機(jī)以及并行擴(kuò)展接口實(shí)驗(yàn)等?南京偉福實(shí)業(yè)開(kāi)發(fā)的偉福單片機(jī)仿真實(shí)驗(yàn)系統(tǒng),由板上仿真器?實(shí)驗(yàn)儀?偉福仿真軟件?開(kāi)關(guān)電源構(gòu)成?其不僅能做傳統(tǒng)的51系列單片機(jī)實(shí)驗(yàn),還提供了強(qiáng)大的邏輯分析?波形輸出和程序跟蹤功能,可以讓學(xué)生直觀地觀察到單片機(jī)內(nèi)部及外部電路工作的波形?上述幾個(gè)公司生產(chǎn)的仿真器大都價(jià)格昂貴,憑學(xué)生個(gè)人的能力是不可能買到的,因而需要設(shè)計(jì)出功能完全,價(jià)格便宜,便于攜帶的實(shí)驗(yàn)板?本文就是論述簡(jiǎn)單實(shí)用實(shí)驗(yàn)板的設(shè)計(jì)與開(kāi)發(fā)?本文主要的研究工作本文的主要工作包括單片機(jī)實(shí)驗(yàn)教學(xué)仿真系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面?鑒于單片機(jī)串行擴(kuò)展總線技術(shù)的發(fā)展,本文的主要研究工作就是設(shè)計(jì)并實(shí)現(xiàn)硬件仿真系統(tǒng)部分的實(shí)驗(yàn)板和根據(jù)單片機(jī)課程實(shí)驗(yàn)教學(xué)的內(nèi)容給出典型的實(shí)驗(yàn)例程?因此,硬件設(shè)計(jì)部分需要完成的工作主要有實(shí)驗(yàn)板原理圖,PCB電路板的繪制設(shè)計(jì)和制作,這也是軟件部分設(shè)計(jì)?調(diào)試和正常運(yùn)行的基礎(chǔ)?其中硬件設(shè)計(jì)需要做的主要工作如下:⑴單片機(jī)最小應(yīng)用系統(tǒng)⑵單片機(jī)基本實(shí)驗(yàn)電路部分;⑶擴(kuò)展多樣化接口軟件部分主要進(jìn)行了以下幾個(gè)方面的工作:⑴使用匯編或C51語(yǔ)言編寫(xiě)單片機(jī)控制通用實(shí)驗(yàn)電路的實(shí)驗(yàn)程序?程序檢查無(wú)誤后可通過(guò)仿真功能實(shí)現(xiàn)對(duì)各部分實(shí)驗(yàn)電路的控制?⑵深入理解實(shí)驗(yàn)板程序,從原理上理解清楚實(shí)驗(yàn)板的工作原理及PC機(jī)傳送的各項(xiàng)操作指令的執(zhí)行情況?⑶PC機(jī)調(diào)試?仿真?實(shí)驗(yàn)板程序?在此使用德國(guó)KEIL公司的KeilC51集成開(kāi)發(fā)環(huán)境uVision3,深入理解該實(shí)驗(yàn)板的應(yīng)用?
第二章實(shí)驗(yàn)板硬件電路設(shè)計(jì)實(shí)驗(yàn)板的MCU選型據(jù)不完全統(tǒng)計(jì),目前全世界微處理器的品種和數(shù)量已超過(guò)1000多種,流行的體系結(jié)構(gòu)達(dá)30多種?其中,8051體系占一多半?生產(chǎn)8051單片機(jī)的半導(dǎo)體廠家有20多家,共350多種衍生品?一個(gè)好的單片機(jī)實(shí)驗(yàn)教學(xué)仿真系統(tǒng)必須有與之適合的MCU,文中選用了ATEMEL公司生產(chǎn)的單片機(jī)AT89S51?2.1.1單片機(jī)選型原則對(duì)于MCU的選擇,主要基于以下幾個(gè)原則:⑴應(yīng)用典型MCS-51單片機(jī)是美國(guó)INTEL公司于1980年推出的產(chǎn)品,典型產(chǎn)品有8031(內(nèi)部沒(méi)有程序存儲(chǔ)器,實(shí)際使用方面已經(jīng)被市場(chǎng)淘汰)?8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,實(shí)際使用方面已經(jīng)被市場(chǎng)淘汰)和8751等通用產(chǎn)品,一直到現(xiàn)在,MCS-51內(nèi)核系列兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品(比如目前流行的SST89E564RD?AT89S51等),各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)?⑵兼容性強(qiáng)8051是早期的最典型的代表作,由于MCS-51單片機(jī)影響極深遠(yuǎn),許多公司都推出了兼容系列單片機(jī),就是說(shuō)MCS-51內(nèi)核實(shí)際上已經(jīng)成為一個(gè)8位單片機(jī)的標(biāo)準(zhǔn)?其他公司的51單片機(jī)產(chǎn)品都是和MCS-51內(nèi)核兼容的產(chǎn)品而已?同樣的一段程序,在各個(gè)單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的?⑶性價(jià)比高任何系統(tǒng)中對(duì)微控制器的選擇都要考慮成本的因素,若忽略成本的因素,使產(chǎn)品的價(jià)格過(guò)高,在市場(chǎng)上將沒(méi)有競(jìng)爭(zhēng)力?為節(jié)省成本,本單片機(jī)實(shí)驗(yàn)板外圍電路多?接口多,所以要求MCU功能強(qiáng)大?根據(jù)以上原則,我們選用了市場(chǎng)上普遍應(yīng)用的ATMEL公司的89S51系列單片機(jī),其應(yīng)用廣泛?兼容性強(qiáng)?功能強(qiáng)大?價(jià)格低廉?AT89S51單片機(jī)簡(jiǎn)介⑴單片機(jī)的特點(diǎn)單片機(jī)芯片的集成度很高,它將微型計(jì)算機(jī)的主要部件都集成在一塊芯片上,具有以下特點(diǎn):①體積小?重量輕?價(jià)格便宜?耗電少;
②根據(jù)工控環(huán)境要求設(shè)計(jì),且許多功能部件集成在芯片內(nèi)部,其信號(hào)通道受外界影響小,故可靠性高,抗干擾性能優(yōu)于采用一般的CPU;③控制功能強(qiáng),運(yùn)行速度快?其結(jié)構(gòu)組成與指令系統(tǒng)都著重滿足工控要求?有豐富的條件分支轉(zhuǎn)移指令和很強(qiáng)的位處理功能及I/O口邏輯操作功能;④片內(nèi)存儲(chǔ)器的容量不可能很大;引腳也嫌少,I/O引腳常不夠用,且兼第二功能以至第三功能,但存儲(chǔ)器和I/O接口都易于擴(kuò)展?⑵單片機(jī)引腳及參數(shù)簡(jiǎn)介AT89S51單片機(jī)是單片機(jī)實(shí)驗(yàn)板的核心部分,以下是AT89S51單片機(jī)的主要參數(shù)及簡(jiǎn)介?①主要性能參數(shù):·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容·4K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器·1000次擦寫(xiě)周期·全靜態(tài)操作:0Hhz-24Mhz·128×8字節(jié)內(nèi)部RAM·32個(gè)可編程I/O口·3個(gè)16位定時(shí)/計(jì)數(shù)器·6個(gè)中斷源圖2-1單片機(jī)引腳圖②引腳功能說(shuō)明:·Vcc:電源電壓·GND:地·P0口:P0是一組8位漏極開(kāi)路雙向I/O口也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口使用時(shí),每位以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用?在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻?Flash編程和程序校驗(yàn)期間P0口接受低8位地址?·P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1口的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電阻)4個(gè)TTL邏輯門(mén)電路?對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流?·P2口:P2是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電阻)4個(gè)TTL邏輯門(mén)電路?在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)?·P3口:P3口是一組帶內(nèi)部上拉電阻的8位雙向I/O口,P1口的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電阻)4個(gè)TTL邏輯門(mén)電路?P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-1所示:表2-1P3口第二功能說(shuō)明端口引腳第二功能RXD9(串行輸入口)TXD(串行輸出口)(外中斷0)(外中斷1)T0(定時(shí)/計(jì)數(shù)器0)T1(定時(shí)/計(jì)數(shù)器1)(外部存儲(chǔ)器寫(xiě)選通)(外部存儲(chǔ)器讀選通)·RST:復(fù)位輸入,當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位?·ALE/:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存器允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘頻率的1/6輸出固定的正脈沖信號(hào),因此它可以對(duì)外輸出時(shí)鐘或用于定時(shí)目的?要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖?對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖()?·:程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S51由外部存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖?在次期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的信號(hào)不出現(xiàn)?·/Vpp:外部訪問(wèn)允許?欲使MCU僅訪問(wèn)外部程序存儲(chǔ)器(地0000H-FFFFH),EA端必須保持低電平(接地)?如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令?·XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端?·XTAL2:振蕩器反相器的輸出端?AT89S51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端,這個(gè)放大器與作為反饋元件的片外時(shí)應(yīng)晶體或陶瓷諧振器,在本實(shí)驗(yàn)板中采用的是內(nèi)部晶振電路?振蕩電路參見(jiàn)下圖:圖2-2內(nèi)部晶振電路圖2-3外部晶振電路實(shí)驗(yàn)板總體簡(jiǎn)介本文設(shè)計(jì)的單片機(jī)實(shí)驗(yàn)教學(xué)仿真系統(tǒng)性能穩(wěn)定,綜合功能極強(qiáng)?它集仿真?編程?實(shí)驗(yàn)于一體,可以進(jìn)行系統(tǒng)全面的單片機(jī)實(shí)驗(yàn)項(xiàng)目的學(xué)習(xí)和應(yīng)用開(kāi)發(fā)?單片機(jī)實(shí)驗(yàn)教學(xué)功能該系統(tǒng)提供了豐富的硬件資源和接口,以方便更好的進(jìn)行單片機(jī)實(shí)驗(yàn)的教學(xué)以及學(xué)生更快更好地學(xué)習(xí)單片機(jī)供了匯編語(yǔ)言或C51的源代碼,是教師進(jìn)行單片機(jī)教學(xué)?學(xué)生提高電子技能的好幫手?該系統(tǒng)可以實(shí)現(xiàn)以下實(shí)驗(yàn)功能:⑴單片機(jī)I/O口控制實(shí)驗(yàn)⑵按鍵中斷實(shí)驗(yàn)⑶定時(shí)器實(shí)驗(yàn)⑷數(shù)碼管動(dòng)態(tài)顯示實(shí)驗(yàn)⑸4×4矩陣鍵盤(pán)識(shí)別實(shí)驗(yàn)⑹電子時(shí)鐘實(shí)驗(yàn)⑺LCD1602液晶顯示控制實(shí)驗(yàn)⑻RS-232串行通信實(shí)驗(yàn)⑼擴(kuò)展存儲(chǔ)器讀寫(xiě)實(shí)驗(yàn)⑽8255并口擴(kuò)展實(shí)驗(yàn)⑾A/D0809轉(zhuǎn)換實(shí)驗(yàn)⑿D/A0832轉(zhuǎn)換實(shí)驗(yàn)⒀DS18B20數(shù)字溫度采集實(shí)驗(yàn)⒁8路發(fā)光二極硬件總體邏輯結(jié)構(gòu)圖2-4系統(tǒng)主板硬件總體邏輯結(jié)構(gòu)圖如上圖所示,這是單片機(jī)實(shí)驗(yàn)板的總體結(jié)構(gòu)圖,它大致說(shuō)明了實(shí)驗(yàn)板所包含的主要功能及擴(kuò)展接口?單片機(jī)最小系統(tǒng)的電路說(shuō)明(1)時(shí)鐘電路系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路?AT89S51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器?引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端?這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器?外接晶體諧振器以及電容C6和C7構(gòu)成并聯(lián)諧振電路,接在放大器圖2-5單片機(jī)晶振電路的反饋回路中?對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低?震蕩器的穩(wěn)定性?起振的快速性和溫度的穩(wěn)定性?因此,此系統(tǒng)電路的選石英晶體振蕩器的值為,電容應(yīng)盡可能的選擇陶瓷,電容值約為25pf?在焊接刷電路板時(shí),石英晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作?(2)復(fù)位電路復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的?由于51單片機(jī)是高電平復(fù)位并且高電平的持續(xù)時(shí)間要大于2個(gè)機(jī)器周期,圖2-6是單片機(jī)上電復(fù)位與手動(dòng)復(fù)位電路圖,其中二極管的作用是:掉電后給電容提供了放電通路,保證再上電是RES引腳為高電平,使CPU可靠復(fù)位?正常工作是二極管反偏,而斷電后Vcc逐漸下降,當(dāng)Vcc=0時(shí),Vcc與地等電位,電容通過(guò)二極管迅速放電,放電通路為C5正極→電源Vcc端(與地等電位)→二極管正極→二極管負(fù)極→C5負(fù)極?按下手動(dòng)復(fù)位按鈕時(shí),電容C通過(guò)R46放電,當(dāng)電容C放圖2-6單片機(jī)復(fù)位電路電結(jié)束后,RES引腳電位由R55?R46分壓比決定?由于R55<<R46,因此RES引腳為高電平,CPU進(jìn)入復(fù)位狀態(tài)?松開(kāi)復(fù)位按鈕,電容C充電,RST引腳電位下降,是CPU脫離復(fù)位狀態(tài)R2的作用在于限制復(fù)位按鈕按下瞬間電容C5的放電電流,避免產(chǎn)生火花,以保護(hù)按鈕的觸點(diǎn)?(3)具有八路發(fā)光二極管顯示各種流水燈?(4)可以完成各種奏樂(lè),報(bào)警等發(fā)聲音類?2.4模數(shù)轉(zhuǎn)換器ADC0809的接口電路2.4.1ADC0809芯片及內(nèi)部結(jié)構(gòu)簡(jiǎn)介ADC0809為8路模擬信號(hào)的分時(shí)采集,片內(nèi)8路模擬選通開(kāi)關(guān),以及相應(yīng)的通道抵制鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100μs左右?ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖如圖2-7所示?圖2-7ADC0809內(nèi)部邏輯結(jié)構(gòu)圖2-7中多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,這是一種經(jīng)濟(jì)的多路數(shù)據(jù)采集方法?地址鎖存與譯碼電路完成對(duì)A?B?C3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器存放?輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連?表2-2為通道選擇表?CBA被選的通道000001010011100101110111IN0IN1IN2IN3IN4IN5IN6IN7信號(hào)引腳ADC0809芯片為28引腳為雙列直插式封裝,其引腳排列見(jiàn)圖2-8?對(duì)ADC0809主要信號(hào)引腳的功能說(shuō)明如下:
IN7~IN0——模擬量輸入通道
ALE——地址鎖存允許信號(hào),對(duì)應(yīng)ALE上跳沿,A?B?C地址狀態(tài)送入地址鎖存器中?START——轉(zhuǎn)換啟動(dòng)信號(hào),START上升沿時(shí),復(fù)位ADC0809;START下降沿時(shí)啟動(dòng)芯片,開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平?A?B?C——地址線?通道端口選擇線,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC?其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見(jiàn)表2-2?CLK——時(shí)鐘信號(hào)?ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳?通常使用頻率為500KHz的時(shí)鐘信號(hào)?EOC——轉(zhuǎn)換結(jié)束信號(hào)?EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束?使用中該狀態(tài)信號(hào)即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用?圖2-8ADC0809引腳圖D7~D0——數(shù)據(jù)輸出線?為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連?D0為最低位,D7為最高?OE——輸出允許信號(hào),用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)?
OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)?Vcc——+5V電源?
Vref+?Vref-——參考電源?參考電壓用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)?其典型值為+5V(Vref+=+5V,Vref-=-5V).2.4.3MCS-51單片機(jī)與ADC0809的接口圖2-9ADC0809與MCS-51單片機(jī)的連接電路連接主要涉及兩個(gè)問(wèn)題?一是8路模擬信號(hào)通道的選擇,二是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送?如圖2-9所示模擬通道選擇信號(hào)A?B?C分別接最低三位地址A2?A3?A4即(??),而地址鎖存允許信號(hào)ALE由和控制?采用中斷方式查詢是否轉(zhuǎn)換完畢,因而在EOC端加一非門(mén)電路進(jìn)行電平的轉(zhuǎn)換?此外,通道地址選擇以作寫(xiě)選通信號(hào)?由于芯片內(nèi)無(wú)時(shí)鐘,可利用單片機(jī)的ALE引腳?由于ALE的頻率是單片機(jī)時(shí)鐘頻率的1/6,如果單片機(jī)的時(shí)鐘頻率采用12MHz,則ALE的輸出頻率為2MHz,再二分頻后是1MHz,正好符合ADC0809對(duì)時(shí)鐘頻率的要求?從圖2-9中可以看到,把ALE信號(hào)與START信號(hào)接在一起了,這樣連接使得在信號(hào)的前沿寫(xiě)入(鎖存)通道地址,緊接著在其后沿就啟動(dòng)轉(zhuǎn)換,節(jié)省轉(zhuǎn)換的時(shí)間?2.4.4轉(zhuǎn)換數(shù)據(jù)的傳送A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理?數(shù)據(jù)傳送的關(guān)鍵問(wèn)題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送?為此可采用下述三種方式?(1)定時(shí)傳送方式對(duì)于一種A/D轉(zhuǎn)換其來(lái)說(shuō),轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的?例如ADC0809轉(zhuǎn)換時(shí)間為128μs,相當(dāng)于6MHz的MCS-51單片機(jī)共64個(gè)機(jī)器周期?可據(jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送?(2)查詢方式A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如ADC0809的EOC端?因此可以用查詢方式,測(cè)試EOC的狀態(tài),即可卻只轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送?(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送?不管使用上述那種方式,只要一旦確定轉(zhuǎn)換完成,即可通過(guò)指令進(jìn)行數(shù)據(jù)傳送?首先送出口地址并以信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受?不管使用上述那種方式,只要一旦確認(rèn)轉(zhuǎn)換結(jié)束,便可通過(guò)指令進(jìn)行數(shù)據(jù)傳送?數(shù)模轉(zhuǎn)換器DAC0832的接口電路D/A轉(zhuǎn)換器的作用是將二進(jìn)制的數(shù)字量轉(zhuǎn)換為相應(yīng)的模擬量?D/A轉(zhuǎn)換器的主要部件是電阻開(kāi)關(guān)網(wǎng)絡(luò),其主要網(wǎng)絡(luò)形式有權(quán)電阻網(wǎng)絡(luò)和R–2R梯形電阻網(wǎng)絡(luò),其工作原理這里不作介紹?集成D/A芯片類型很多,按生產(chǎn)工藝分有雙極型?MOS型等;按字長(zhǎng)分有8位?10位?12位等;按輸出形式分有電壓型和電流型?另外,不同生產(chǎn)廠家的產(chǎn)品,其型號(hào)各不相同?例如,美國(guó)國(guó)家半導(dǎo)體公司的D/A芯片為DAC系列,如DAC0832等;美國(guó)模擬器件公司的D/A芯片為AD系列,如AD558等?2.4.1DAC0832簡(jiǎn)介DAC0832是美國(guó)國(guó)家半導(dǎo)體公司采用CMOS工藝生產(chǎn)的8位D/A轉(zhuǎn)換集圖2-10DAC0832邏輯框圖成電路芯片?它具有與微機(jī)連接簡(jiǎn)單?轉(zhuǎn)換控制方便?價(jià)格低廉等特點(diǎn),因而得到了廣泛的應(yīng)用?圖2-11DAC0832的結(jié)構(gòu)與引腳DAC0832的邏輯結(jié)構(gòu)框圖如圖2-11所示?片內(nèi)有R–2RT型電阻網(wǎng)絡(luò),用于對(duì)參考電壓提供的兩條回路分別產(chǎn)生兩個(gè)電流信號(hào)IOUT1和IOUT2?DAC0832采用8位輸入寄存器和8位DAC寄存器二次緩沖方式,這樣可以在D/A輸出的同時(shí),送入下一個(gè)數(shù)據(jù),以便提高轉(zhuǎn)換速度?每個(gè)輸入數(shù)據(jù)為8位,可以直接與微機(jī)的數(shù)據(jù)總線相連,其邏輯電平與TTL電平兼容?DI7DI0——D/A轉(zhuǎn)換器的數(shù)字量輸入引腳?其中DI0為最低位,DI7為最高位?——片選信號(hào)輸入端,低電平有效?——輸入寄存器的寫(xiě)信號(hào),低電平有效?ILE——輸入寄存器選通信號(hào),高電平有效?ILE信號(hào)和?共同控制選通輸入寄存器?當(dāng)?均為低電平,而ILE為高電平時(shí),LE1=0,輸入數(shù)據(jù)被送至8位輸入寄存器的輸出端;當(dāng)上述三個(gè)控制信號(hào)任一個(gè)無(wú)效時(shí),LE1變高,輸入寄存器將數(shù)據(jù)鎖存,輸出端呈保持狀態(tài)?——從輸入寄存器向DAC寄存器傳送D/A轉(zhuǎn)換數(shù)據(jù)的控制信號(hào),低電平有效?——DAC寄存器的寫(xiě)信號(hào),低電平有效?當(dāng)和同時(shí)有效時(shí),輸入寄存器的數(shù)據(jù)裝入DAC寄存器,并同時(shí)啟動(dòng)一次D/A轉(zhuǎn)換?VCC——芯片電源,其值可在+5+15V之間選取,典型值取+15V?AGND——模擬信號(hào)地?DGND——數(shù)字信號(hào)地?Rfb——內(nèi)部反饋電阻引腳,用來(lái)外接D/A轉(zhuǎn)換器輸出增益調(diào)整電位器?VREF——D/A轉(zhuǎn)換器的基準(zhǔn)電壓,其范圍可在?10+10V內(nèi)選定?該端連至片內(nèi)的R–2RT型電阻網(wǎng)絡(luò),由外部提供一個(gè)準(zhǔn)確的參考電壓?該電壓精度直接影響著D/A轉(zhuǎn)換精度?IOUT1——D/A轉(zhuǎn)換器輸出電流1,當(dāng)輸入全1時(shí),輸出電流最大;當(dāng)輸入為全0時(shí),輸出電流最小,即為0?IOUT2——D/A轉(zhuǎn)換器輸出電流2,它與IOUT1有如下關(guān)系:IOUT1+IOUT2=常數(shù)?D/A轉(zhuǎn)換沒(méi)有形式上的啟動(dòng)信號(hào)?實(shí)際上將數(shù)據(jù)寫(xiě)入第二級(jí)寄存器的控制信號(hào)就是D/A轉(zhuǎn)換器的啟動(dòng)信號(hào)?另外,它也沒(méi)有轉(zhuǎn)換結(jié)束信號(hào),D/A轉(zhuǎn)換的過(guò)程很快,一般還不到一條指令的執(zhí)行時(shí)間?DAC0832的工作方式DAC0832內(nèi)部有兩個(gè)寄存器,能實(shí)現(xiàn)三種工作方式:雙緩沖?單緩沖和直通方式?①雙緩沖工作方式是指兩個(gè)寄存器分別受到控制?當(dāng)ILE?和信號(hào)均有效時(shí),8位數(shù)字量被寫(xiě)入輸入寄存器,此時(shí)并不進(jìn)行A/D轉(zhuǎn)換?當(dāng)和信號(hào)均有效時(shí),原來(lái)存放在輸入寄存器中的數(shù)據(jù)被寫(xiě)入DAC寄存器,并進(jìn)入D/A轉(zhuǎn)換器進(jìn)行D/A轉(zhuǎn)換?在一次轉(zhuǎn)換完成后到下一次轉(zhuǎn)換開(kāi)始之前,由于寄存器的鎖存作用,8位D/A轉(zhuǎn)換器的輸入數(shù)據(jù)保持恒定,因此D/A轉(zhuǎn)換的輸出也保持恒定?②單緩沖工作方式是指只有一個(gè)寄存器受到控制?這時(shí)將另一個(gè)寄存器的有關(guān)控制信號(hào)預(yù)先設(shè)置成有效,使之開(kāi)通,或者將兩個(gè)寄存器的控制信號(hào)連在一起,兩個(gè)寄存器作為一個(gè)來(lái)使用?③直通工作方式是指兩個(gè)寄存器的有關(guān)控制信號(hào)都預(yù)先置為有效,兩個(gè)寄存器都開(kāi)通?只要數(shù)字量送到數(shù)據(jù)輸入端,就立即進(jìn)入D/A轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換?這種方式應(yīng)用較少?2.4.3電壓輸出電路的連接DAC0832以電流形式輸出轉(zhuǎn)換結(jié)果,若要得到電壓形式的輸出,需要外加I/V轉(zhuǎn)換電路,常采用運(yùn)算放大器實(shí)現(xiàn)I/V轉(zhuǎn)換?圖2-12給出了DAC0832的電壓輸出電路?對(duì)于單極性輸出電路,輸出電壓為:式中D為輸入數(shù)字量的十進(jìn)制數(shù)?因?yàn)檗D(zhuǎn)換結(jié)果IOUT1接運(yùn)算放大器的反向端,所以式中有一個(gè)負(fù)號(hào)?若VREF=+5V,當(dāng)D=0255(00HFFH)時(shí),VOUT=-(04.98)V?圖2-12DAC0832的電壓輸出電路(a)單極性輸出;(b)雙極性輸出2.4.4DAC0832與單片機(jī)的連接圖2-13DAC0832與單片機(jī)的連接如圖2-13所示,由于DAC0832內(nèi)部有數(shù)據(jù)鎖存器,其數(shù)據(jù)輸入引腳可直接與CPU的數(shù)據(jù)總線相連?圖中和接地,即DAC0832內(nèi)部的第2級(jí)寄存器接成直通式,只由第1級(jí)寄存器控制數(shù)據(jù)的輸入,當(dāng)和同時(shí)有效時(shí)(ILE始終為有效的高電平),DI7DI0的數(shù)據(jù)被送入其內(nèi)部的D/A轉(zhuǎn)換電路進(jìn)行轉(zhuǎn)換?數(shù)據(jù)/程序存儲(chǔ)器24C02芯片簡(jiǎn)介串行24C02是基于IIC-BUS的存儲(chǔ)器件,遵循二線制協(xié)議,由于其具有接口方便,體積小,數(shù)據(jù)掉電不揮發(fā)等特點(diǎn),在儀器儀表及工業(yè)自動(dòng)化控制中得到大量的應(yīng)用圖2-1424C02管腳配置IIC總線協(xié)議定義如下1?只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送2?在數(shù)據(jù)傳送過(guò)程中當(dāng)時(shí)鐘線為高電平時(shí)數(shù)據(jù)線必須保持穩(wěn)定狀態(tài),不允許有跳變?時(shí)鐘線為高電平時(shí)數(shù)據(jù)線的任何電平變化將被看作總線的起始或停止信號(hào)?表2-3管腳描述管腳名稱功能A0?A1?A2器件地址選擇SDA串行數(shù)據(jù)/地址SCL串行時(shí)鐘WP寫(xiě)保護(hù)Vcc工作電壓GND地起始信號(hào):時(shí)鐘線保持高電平期間數(shù)據(jù)線電平從高到低的跳變作為IIC總線的起始信號(hào)?
停止信號(hào):時(shí)鐘線保持高電平期間數(shù)據(jù)線電平從低到高的跳變作為IIC總線的停止信號(hào)?IIC總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器?任何從總線接收數(shù)據(jù)的器件為接收器,數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的?主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式?通過(guò)器件地址輸入端A0?A1?A2和可以實(shí)現(xiàn)將最多將8個(gè)24C02連接到總線上?2.5.224C02與單片機(jī)的連接24C02與單片機(jī)的接口非常簡(jiǎn)單,如圖2-15所示?就這兩根線(SCL?SDA)連到單片機(jī)IO口上,另外加上10K上拉電阻即可?其它的,有A2?A1?A0三根線,全接地就行了?寫(xiě)保護(hù)端接無(wú)效狀態(tài)?A0,A1,A2為器件地址線,WP為寫(xiě)保護(hù)引腳,SCL,SDA為二線串行接口,符合I2C總線協(xié)議?在一般單片機(jī)系統(tǒng)中,24C02數(shù)據(jù)受到干擾的情況是很少的?圖2-1524C02與單片機(jī)的連接并行接口芯片8255A的接口電路.18255A的基本特性①具有兩個(gè)8位(A口和B口)和兩個(gè)4位(C口高/低4位)并行I/O端口的接口芯片?②能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求?③PC口的使用比較特殊,除作數(shù)據(jù)口外,當(dāng)工作在1方式和2方式時(shí),它的大部分引腳被分配作專用聯(lián)絡(luò)信號(hào);PC口可以進(jìn)行按位控制;在CPU讀取8255A狀態(tài)時(shí),PC口又作1,2方式的狀態(tài)口用等等?2.6.28255A的外部特性和內(nèi)部結(jié)構(gòu)外部引腳8255A是一個(gè)單+5V電源供電,40個(gè)引腳的雙列直插式組件,其外部引線如圖2-16所示?①與系統(tǒng)總線的連接信號(hào)D0~D7:雙向數(shù)據(jù)線,用于CPU向8255A發(fā)送命令?數(shù)據(jù)和8255A向CPU回送狀態(tài)?數(shù)據(jù)和8255A向CPU回送狀態(tài)?數(shù)據(jù)?:讀信號(hào),低電平有效?:寫(xiě)信號(hào),低電平有效?RESET:復(fù)位信號(hào),高電平有效?它清除控制寄存器并將8255A的A?B?C三個(gè)端口均置為輸入方式;輸入寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請(qǐng)求;24條面向外設(shè)信號(hào)線呈現(xiàn)高阻懸浮狀態(tài)?②與外部設(shè)備的連接信號(hào)PA0~PA7:端口A的輸入/輸出線?PB0~PB7:端口B的輸入/輸出線?PC0~PC7:端口C的輸入/輸出線?圖2-168255引腳圖這24根信號(hào)線均可用來(lái)連接I/O設(shè)備和傳送信息?其中,A口和B口只作輸入/輸出的數(shù)據(jù)口用,盡管有時(shí)也利用它們從I/O設(shè)備讀取一些狀態(tài)信號(hào),如打印機(jī)的“忙”(Busy)狀態(tài)信號(hào)?A/D轉(zhuǎn)換器的“轉(zhuǎn)換結(jié)束”(EOC)狀態(tài)信號(hào),但對(duì)A口和B口來(lái)說(shuō),都是作8255A的數(shù)據(jù)口讀入,而不是作8255A的狀態(tài)口讀入的?C口的作用與8255A的工作方式有關(guān),它除了作數(shù)據(jù)口以外,還有其他用途,故C口的使用比較特殊,單獨(dú)介紹如下:a.作數(shù)據(jù)口;b.作狀態(tài)口;c.作專用(固定)聯(lián)絡(luò)(握手)信號(hào)線;d.作按位控制用?.2.28255內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)如圖2-17所示?8255芯片內(nèi)部主要由控制寄存器?狀態(tài)寄存器和數(shù)據(jù)寄器組成,它由以下4個(gè)部分組成?圖2-178255邏輯框圖①數(shù)據(jù)總線緩沖器?這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與CPU系統(tǒng)數(shù)據(jù)總線的接口?②讀/寫(xiě)控制邏輯?讀/寫(xiě)控制邏輯由讀信號(hào)?寫(xiě)信號(hào)?選片信號(hào)以及端口選擇信號(hào)A1?A0等組成?③輸入/輸出端口A?B?C?8255A包括3個(gè)8位輸入輸出端口(port)?每個(gè)端口都有一個(gè)數(shù)據(jù)輸入寄存器和一個(gè)數(shù)據(jù)輸出寄存器?④A組和B組控制電路?控制A?B和C三個(gè)端口的工作方式?表2-48255各端口與寄存器的選擇A1A0讀操作內(nèi)容00001PA→口數(shù)據(jù)總線(→CPU)數(shù)據(jù)00101PB→口數(shù)據(jù)總線(→CPU)數(shù)據(jù)01001PC→口數(shù)據(jù)總線(→CPU)數(shù)據(jù)寫(xiě)操作00010PA口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)00110PB口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)01010PC口←數(shù)據(jù)總線(←CPU)數(shù)據(jù)01110控制寄存器←數(shù)據(jù)總線控制字無(wú)操作情況1××××總線懸浮(三態(tài))0××11總線懸浮01101控制口不能讀2.6.38255A的編程命令(1)方式命令作用:指定8255A的工作方式及其方式下3個(gè)并行端口(PA?PB?PC)的功能,是作輸入還是作輸出?格式:8位,其中最高位是特征位,一定要寫(xiě)1,其余各位定義如下,應(yīng)根據(jù)用戶的設(shè)計(jì)要求填寫(xiě)1或0?表2-58255的工作方式1D6D5D4D3D2D1D0特征位A組工作方式00(方式0)01(方式1)1x(方式2)PA口0(方式0)1(方式1)C口高四位0(輸出)1(輸入)B組工作方式0(方式0)1(方式1)PB口0(輸出)1(輸入)C口低四位0(輸出)1(輸入)Ⅰ.方式0的特點(diǎn)①0方式是一種基本輸入/輸出工作方式?通常不用聯(lián)絡(luò)信號(hào),或不使用固定的聯(lián)絡(luò)信號(hào)?基本I/O方式是指查詢方式傳送,也包括無(wú)條件傳送?②在0方式下,彼此獨(dú)立的兩個(gè)8位和兩個(gè)4位并行口,都能被指定作為輸入或者輸出用,共有16種不同的使用狀態(tài)?③在0方式下不設(shè)置專用聯(lián)絡(luò)信號(hào)線,需要聯(lián)絡(luò)時(shí),可由用戶任意指定C口中的哪根線完成某種聯(lián)絡(luò)功能,這與后面要討論的在1方式?2方式下設(shè)置固定的專用聯(lián)絡(luò)信號(hào)線不同?④雙向I/O,一次初始化只能指定端口(PA?PB和PC)作輸入或輸出,不能指定端口同時(shí)既作輸入又作輸出?Ⅱ.方式1的特點(diǎn)①1方式是一種選通輸入/輸出方式或叫應(yīng)答方式,因此,需設(shè)置專用的聯(lián)絡(luò)信號(hào)線或應(yīng)答信號(hào)線,以便對(duì)I/O設(shè)備和CPU兩側(cè)進(jìn)行聯(lián)絡(luò)?這種方式通常用于查詢(條件)傳送或中斷傳送?數(shù)據(jù)的輸入輸出都有鎖存功能?②PA和PB為數(shù)據(jù)口,而PC口的大部分引腳分配作專用(固定)的聯(lián)絡(luò)信號(hào)的C口引腳,用戶不能再指定作其他作用?③各聯(lián)絡(luò)信號(hào)線之間有固定的時(shí)序關(guān)系,傳送數(shù)據(jù)時(shí),要嚴(yán)格按照時(shí)序進(jìn)行?④輸入/輸出操作過(guò)程中,產(chǎn)生固定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請(qǐng)求之用?狀態(tài)字從PC口讀取?⑤單向傳送?一次初始化只能設(shè)置在一個(gè)方向上傳送,不能同時(shí)作兩個(gè)方向的傳送?Ⅲ.方式2的特點(diǎn)①PA口為雙向選通輸入/輸出或叫雙向應(yīng)答式輸入/輸出?一次初始化可指定PA口既作輸入口又作輸出口?②設(shè)置專用的聯(lián)絡(luò)信號(hào)線和中斷請(qǐng)求號(hào)信線,因此,方式2下可采用中斷方式和查詢方式與CPU交換數(shù)據(jù)?③各聯(lián)絡(luò)線的定義及其時(shí)序關(guān)系和壯態(tài)基本上是在方式1下輸入和輸出兩種操作的組合?方式2是一種雙向選通輸入輸出方式,它把A口作為雙向輸入/輸出口,把C口的5根線(PC3~PC7)作為專用應(yīng)答線,所以,8255A只有A口才有方式2?(2)按位置位/復(fù)位命令作用:指定PC口的某一位(某一個(gè)引腳)輸出高平或低電平?格式:8位,其中最高位是特征位,一定要寫(xiě)0,其余各位的定義如下,應(yīng)根據(jù)用戶的設(shè)計(jì)要求填寫(xiě)1或0.表2-6PC口的置位與復(fù)位0D6D5D4D3D2D1D0特征位不用(寫(xiě)0)位選擇000(C口0位)0001(C口1位)……111(C口7位)1置位(高電平)0復(fù)位(低電平)2.7LCD1602液晶顯示2.7.1LCD1602的引腳圖1602采用標(biāo)準(zhǔn)的16腳接口,如圖2-18,其中:第1腳:VSS為地電源
第2腳:VDD接5V正電源
第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度?
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存圖2-181602的引腳圖器?低電平時(shí)選擇指令寄存器?第5腳:RW為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作?當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址?當(dāng)RS為低電平?RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平?RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)?第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令?第7~14腳:D0~D7為8位雙向數(shù)據(jù)線?第15~16腳:分別為L(zhǎng)CD背光電源正極和LCD背光電源負(fù)極?2.7.21602液晶顯示的指令命令1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字?英文字母的大小寫(xiě)?常用的符號(hào)?和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”表2-71602指令表指令RSR/WD7D6D5D4D3D2D1D0清顯示0000000001光標(biāo)返回000000001×置輸入模式00000001I/DS顯示開(kāi)/關(guān)控制0000001DCB光標(biāo)或字符顯示000001S/CR/L××置功能00001DLNF××置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址(AGG)置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址(ADD)讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址(AG)寫(xiě)數(shù)據(jù)到CGRM或DDRAM10要寫(xiě)的數(shù)據(jù)從CGRAM或DDRAM讀數(shù)據(jù)00要讀的數(shù)據(jù)1602的讀寫(xiě)操作?屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的?(說(shuō)明:1為高電平?0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置
指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H
指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移?高電平表示有效,低電平則無(wú)效指令4:顯示開(kāi)關(guān)控制?D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙指令10:寫(xiě)數(shù)據(jù)指令11:讀數(shù)據(jù)2.7.3LCD1602與單片機(jī)的接口電路LCD1602與單片機(jī)的連接也非常簡(jiǎn)單如圖數(shù)據(jù)端口要接10k左右的上拉電阻?V0端口接一可變電阻,用以調(diào)節(jié)液晶顯示的對(duì)比度?液晶顯示模塊是一個(gè)圖2-191602與單片機(jī)的連接慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效?要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表2-8是LCD1602的內(nèi)部顯示地址.比如第二行第一個(gè)字符的地址是40H,那么是否直接寫(xiě)入40H就可以將光標(biāo)定位在表2-81602內(nèi)部顯示地址00010203040506070809101112131415404142434445464748494A4B4C4D4E4F第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是:01000000B(40H)+10000000B(80H)=11000000B(C0H)動(dòng)態(tài)LED顯示與鍵盤(pán)數(shù)碼管的分類
1)數(shù)碼管結(jié)構(gòu)數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱字段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字09?字符AF?H?L?P?R?U?Y?符號(hào)“”及小數(shù)點(diǎn)“”?數(shù)碼管的外形結(jié)構(gòu)如圖2-20(a)所示?數(shù)碼管又分為共陰極和共陽(yáng)極兩種結(jié)構(gòu),分別如圖2-20(b)和圖2-20(c)所示?
圖2-20數(shù)碼管結(jié)構(gòu)圖(a)外形圖(b)共陰極(c)共陽(yáng)極共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管?共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮?當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮?共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管?共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮?當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮?2)數(shù)碼管工作原理共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起?通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端?當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮?根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符?此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻?3)數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼?對(duì)照?qǐng)D2-20,字型碼各位定義為:數(shù)據(jù)線D0與a字段對(duì)應(yīng),D1與b字段對(duì)應(yīng)……,依此類推?如使用共陽(yáng)極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段亮,數(shù)據(jù)為1表示對(duì)應(yīng)字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對(duì)應(yīng)字段暗,數(shù)據(jù)為1表示對(duì)應(yīng)字段亮?如要顯示“0”,共陽(yáng)極數(shù)碼管的字型編碼應(yīng)為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼應(yīng)為:00111111B(即3FH)?依此類推,可求得數(shù)碼管字形編碼如表2-10所表2-9數(shù)碼管字型編碼表LED七段數(shù)碼管有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式,下面分別加以敘述?顯示接口簡(jiǎn)介靜態(tài)顯示概念靜態(tài)顯示是指數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止這種顯示方式的各位數(shù)碼管相互獨(dú)立,公共端恒定接地(共陰極)或接正電源(共陽(yáng)極)?每個(gè)數(shù)碼管的8個(gè)字段分別與一個(gè)8位I/O口地址相連,I/O口只要有段碼輸出,相應(yīng)字符即顯示出來(lái),并保持不變,直到I/O口輸出新的段碼?采用靜態(tài)顯示方式,較小的電流即可獲得較高的亮度,且占用CPU時(shí)間少,編程簡(jiǎn)單,顯示便于監(jiān)測(cè)和控制,但其占用的口線多,硬件電路復(fù)雜,成本高,只適合于顯示位數(shù)較少的場(chǎng)合?2.8.2.2動(dòng)態(tài)顯示概念動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描?通常,各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)8位的I/O口控制;各位的位選線(公共陰極或陽(yáng)極)由另外的I/O口線控制?動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示,必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼,在另一時(shí)刻選通另一位數(shù)碼管,并送出相應(yīng)的段碼?依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符?雖然這些字符是在不同的時(shí)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人以同時(shí)顯示的感覺(jué)?采用動(dòng)態(tài)顯示方式比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示方式簡(jiǎn)單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時(shí),CPU要依次掃描,占用CPU較多的時(shí)間2.8.3動(dòng)態(tài)顯示接口電路在本實(shí)驗(yàn)板中采用的是共陽(yáng)極數(shù)碼管按位掃描軟件譯碼,各位筆端引腳a~dp并聯(lián)在一起?為了控制各LED數(shù)碼管輪流工作,各顯示為的公共端與位譯碼(采用軟件譯碼時(shí)不用)?鎖存器及驅(qū)動(dòng)電路相連,這樣可一次輸出每一顯示位的筆端代碼和位掃描碼,輪流點(diǎn)亮各LED數(shù)碼管顯示管,實(shí)現(xiàn)按位動(dòng)態(tài)顯示?在動(dòng)態(tài)顯示方式中,各LED數(shù)碼管輪流工作,為了防止出現(xiàn)閃爍現(xiàn)象,LED刷新頻率必須大于25Hz,同一LED數(shù)碼管相臨兩次點(diǎn)亮?xí)r間間隔要小于40ms對(duì)于具有N個(gè)LED數(shù)碼管的動(dòng)態(tài)顯示點(diǎn)亮來(lái)說(shuō),如果LED顯示刷新頻率為f,那么刷新周期為1/f,每一位的顯示時(shí)間為1/(f×N)s?顯然,位數(shù)越多,每一位的顯示時(shí)間就越多,在驅(qū)動(dòng)電流一定的情況下,亮度就越低(正因?yàn)槿绱?在動(dòng)態(tài)LED顯示電路中,需適當(dāng)增大驅(qū)動(dòng)電流,一般取20~35mA,以抵消因顯示時(shí)間圖2-21LED數(shù)碼管顯示短引起的亮度下降)?實(shí)驗(yàn)表明:為了保證一定的亮度,在驅(qū)動(dòng)電流取30mA,每位顯示時(shí)間不能小于1ms?2.9鍵盤(pán)電路2.9.1鍵盤(pán)簡(jiǎn)介機(jī)械式按鍵再按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來(lái)?其抖動(dòng)過(guò)程如圖2-22所示,抖動(dòng)時(shí)間的長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為510ms?在觸點(diǎn)抖動(dòng)期間檢測(cè)按鍵的通與斷狀態(tài),可能導(dǎo)致判圖2-22防抖動(dòng)示意圖斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作,這種情況是不允許出現(xiàn)的?為了克服按鍵觸點(diǎn)機(jī)械動(dòng)所致的檢測(cè)誤判,必須采取去抖動(dòng)措施?這一點(diǎn)可從硬件?軟件兩方面予以考慮?在鍵數(shù)較少時(shí),可采用硬件去抖,而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖?在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路?軟件上采取的措施是:在檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài)?同理,在檢測(cè)到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而可消除抖動(dòng)的影響?2.9.2獨(dú)立式按鍵單片機(jī)控制系統(tǒng)中,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵結(jié)構(gòu)?2.9.2.1獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式按鍵是直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其它I/O口線的狀態(tài)?獨(dú)立式按鍵的典型應(yīng)用如圖2-23所示?獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,因此,在按鍵較多時(shí),I/O口線浪費(fèi)較大,不宜采用?圖2-23獨(dú)立式鍵盤(pán)2.9.2.2獨(dú)立式按鍵的軟件結(jié)構(gòu)獨(dú)立式按鍵的軟件常采用查詢式結(jié)構(gòu)?先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序?2.9.3矩陣式鍵盤(pán)的結(jié)構(gòu)及原理矩陣式鍵盤(pán)由行線和列線組成,按鍵位于行?列線的交叉點(diǎn)上,其結(jié)構(gòu)如圖2-24所示?由圖可知,一個(gè)4×4的行?列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤(pán),顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤(pán)較之獨(dú)立式按鍵鍵盤(pán)要節(jié)省很多I/O口?圖2-24矩陣鍵盤(pán)矩陣式鍵盤(pán)中,行?列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到+5V上?當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行?列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定?這是識(shí)別按鍵是否按下的關(guān)鍵?然而,矩陣鍵盤(pán)中的行線?列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線?列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置?2.9.4鍵盤(pán)的編碼對(duì)于獨(dú)立式按鍵鍵盤(pán),因按鍵數(shù)量少,可根據(jù)實(shí)際需要靈活編碼?對(duì)于矩陣式鍵盤(pán),按鍵的位置由行號(hào)和列號(hào)惟一確定,因此可分別對(duì)行號(hào)和列號(hào)進(jìn)行二進(jìn)制編碼,然后將兩值合成一個(gè)字節(jié),高4位是行號(hào),低4位是列號(hào)?如圖2-24中的8號(hào)鍵,它位于第2行,第0列,因此,其鍵盤(pán)編碼應(yīng)為20H?采用上述編碼對(duì)于不同行的鍵離散性較大,不利于散轉(zhuǎn)指令對(duì)按鍵進(jìn)行處理?因此,可采用依次排列鍵號(hào)的方式對(duì)按排進(jìn)行編碼?以圖中的4×4鍵盤(pán)為例,可將鍵號(hào)編碼為:01H?02H?03H?…?0EH?0FH?10H等16個(gè)鍵號(hào)?編碼相互轉(zhuǎn)換可通過(guò)計(jì)算或查表的方法實(shí)現(xiàn)?2.9.5鍵盤(pán)的工作方式對(duì)鍵盤(pán)的響應(yīng)取決于鍵盤(pán)的工作方式,鍵盤(pán)的工作方式應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU的工作狀況而定,其選取的原則是既要保證CPU能及時(shí)響應(yīng)按鍵操作,又不要過(guò)多占用CPU的工作時(shí)間?通常,鍵盤(pán)的工作方式有三種,即隨機(jī)掃描?定時(shí)掃描和中斷掃描?2.9.5.1定時(shí)掃描方式定時(shí)掃描方式就是每隔一段時(shí)間對(duì)鍵盤(pán)掃描一次,它利用單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生一定時(shí)間(例如10ms)的定時(shí),當(dāng)定時(shí)時(shí)間到就產(chǎn)生定時(shí)器溢出中斷?CPU響應(yīng)中斷后對(duì)鍵盤(pán)進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵,再執(zhí)行該鍵的功能程序?圖2-25定時(shí)掃描方式程序流程圖圖2-25中,標(biāo)志1和標(biāo)志2是在單片機(jī)內(nèi)部RAM的位尋址區(qū)設(shè)置的兩個(gè)標(biāo)志位,標(biāo)志1為去抖動(dòng)標(biāo)志位,標(biāo)志2為識(shí)別完按鍵的標(biāo)志位?初始化時(shí)將這兩個(gè)標(biāo)志位設(shè)置為0,執(zhí)行中斷服務(wù)程序時(shí),首先判別有無(wú)鍵閉合,若無(wú)鍵閉合,將標(biāo)志1和標(biāo)志2置0后返回;若有鍵閉合,先檢查標(biāo)志1,當(dāng)標(biāo)志1為0時(shí),說(shuō)明還未進(jìn)行去抖動(dòng)處理,此時(shí)置位標(biāo)志1,并中斷返回?由于中斷返回后要經(jīng)過(guò)10ms后才會(huì)再次中斷,相當(dāng)于延時(shí)了10ms,因此,程序無(wú)須再延時(shí)?下次中斷時(shí),因標(biāo)志1為1,CPU再檢查標(biāo)志2,如標(biāo)志2為0說(shuō)明還未進(jìn)行按鍵的識(shí)別處理,這時(shí),CPU先置位標(biāo)志2,然后進(jìn)行按鍵識(shí)別處理,再執(zhí)行相應(yīng)的按鍵功能子程序,最后,中斷返回?如標(biāo)志2已經(jīng)為1,則說(shuō)明此次按鍵已做過(guò)識(shí)別處理,只是還未釋放按鍵?當(dāng)按鍵釋放后,在下一次
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州浙江杭州拱墅區(qū)大關(guān)上塘街道社區(qū)衛(wèi)生服務(wù)中心招聘編外聘用人員筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)不銹鋼絲清潔球市場(chǎng)調(diào)查研究報(bào)告
- 2025至2031年中國(guó)鍍鎳快速填平劑行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年聚丙烯塑編布項(xiàng)目可行性研究報(bào)告
- 2025年著色均勻機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)球形水箱行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年模擬型霍爾傳感器項(xiàng)目可行性研究報(bào)告
- 2025年無(wú)刷同步發(fā)電機(jī)項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)安全知識(shí)考試系統(tǒng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年固定式排球柱項(xiàng)目可行性研究報(bào)告
- 消防安全一懂三會(huì)四能
- 建筑施工現(xiàn)場(chǎng)安全警示(案例)
- 起重吊裝工程安全監(jiān)理細(xì)則模版(3篇)
- 2025年中考數(shù)學(xué)一輪教材復(fù)習(xí)-第六章 圓 與圓有關(guān)的概念及性質(zhì)
- 《VAVE價(jià)值工程》課件
- 四川政采評(píng)審專家入庫(kù)考試基礎(chǔ)題復(fù)習(xí)試題及答案(一)
- 分享二手房中介公司的薪酬獎(jiǎng)勵(lì)制度
- 安徽省2022年中考道德與法治真題試卷(含答案)
- GB 4793-2024測(cè)量、控制和實(shí)驗(yàn)室用電氣設(shè)備安全技術(shù)規(guī)范
- 廣電雙向網(wǎng)改造技術(shù)建議書(shū)
- 項(xiàng)目人員管理方案
評(píng)論
0/150
提交評(píng)論