




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、xx本科畢業(yè)設(shè)計說明書引 言儀器儀表所采用的電子器件經(jīng)歷了真空管、晶體管和集成電路三個時代;從組成結(jié)構(gòu)、工作原理和功能特點(diǎn)等方面考察,儀器儀表經(jīng)歷了模擬式、數(shù)字式和智能化三個發(fā)展階段,智能儀器是在數(shù)字化的基礎(chǔ)上發(fā)展起來的,是計算機(jī)技術(shù)與儀器儀表相結(jié)合的產(chǎn)物。計算機(jī)是智能儀器的核心,微處理器在智能儀器中的作用主要體現(xiàn)在對測試過程的控制和對測試數(shù)據(jù)的處理兩個方面:對測試過程的控制表現(xiàn)在微處理器可接受來自鍵盤或通訊接口的命令,解釋并執(zhí)行這些命令,從而控制儀器儀表各部分的工作過程,同時對工作狀態(tài)進(jìn)行監(jiān)測;對測試數(shù)據(jù)的處理則表現(xiàn)為硬件電路只須具備最基本的測試能力,向微型計算機(jī)提供原始數(shù)據(jù)。對數(shù)據(jù)的進(jìn)一步
2、加工處理,如信號濾波、數(shù)據(jù)的組裝、運(yùn)算、確定小數(shù)點(diǎn)位置和工程單位、將最終結(jié)果轉(zhuǎn)換成七段碼或顯示器顯示,或按規(guī)定格式從通訊接口輸出等工作均可由專門的軟件來完成。因為具有數(shù)字存儲、運(yùn)算、邏輯判斷能力,可根據(jù)被測參數(shù)的變化自動選擇量程,具有自動校正、自動補(bǔ)償、自尋故障等功能,可以完成需要人類的智慧才能勝任的工作,即具備了一定的“智能”,故稱之為智能儀器。在計算機(jī)技術(shù)和微電子技術(shù)迅猛發(fā)展的推動下,測量技術(shù)與儀器儀表技術(shù)不斷進(jìn)步,相繼誕生了pc儀器、虛擬儀器等微機(jī)化儀器及其自動測試系統(tǒng)。計算機(jī)與現(xiàn)代儀器設(shè)備間的界限日漸模糊,測量領(lǐng)域和范圍不斷拓寬。由于儀器儀表對微計算機(jī)技術(shù)的依賴日益加劇,出現(xiàn)了“計算機(jī)
3、就是儀器”和“軟件就是儀器”的提法。智能儀器由于功能強(qiáng)大、性能優(yōu)越、體積小、操作方便等,在傳統(tǒng)的測量領(lǐng)域得到了廣泛應(yīng)用,并涌現(xiàn)出諸如頻譜分析儀、醫(yī)療監(jiān)護(hù)儀、在線檢測儀、在線分析儀等眾多的新型儀器。pc儀器、自動測試系統(tǒng)、虛擬儀器、現(xiàn)場總線儀器、智能傳感器系統(tǒng)和近年來出現(xiàn)的網(wǎng)絡(luò)化儀器等,大大擴(kuò)展了智能儀器的內(nèi)涵和應(yīng)用領(lǐng)域。隨著人類文明的進(jìn)步和科學(xué)技術(shù)日新月異的發(fā)展,新型的智能儀器還會不斷產(chǎn)生,應(yīng)用領(lǐng)域還將繼續(xù)擴(kuò)大,智能儀器的發(fā)展前景光明燦爛。 通過此次在用8098單片機(jī)設(shè)計智能儀表主控電路中,使我們對智能儀器儀表結(jié)構(gòu)有了一個了解,為我們以后的工作和生活奠定了堅實基礎(chǔ)。第一章 單片機(jī)概述1. 什么
4、叫單片機(jī)所謂單片機(jī)就是將中央處理器(cpu)隨機(jī)存儲器(ram)只讀存儲器(rom/eprom)定時器/計數(shù)器和一些輸入/輸出(i/o)接口電路集成在一塊芯片上的微型計算機(jī),又可稱之為微控制器(microcontroller)。2. 單片機(jī)的特點(diǎn)單片機(jī)的共有特點(diǎn):控制功能強(qiáng);體積??;功耗小;成本低。由于上述優(yōu)越性能,單片機(jī)已在工業(yè)工程領(lǐng)域得到廣泛應(yīng)用。特別是,隨著數(shù)字技術(shù)的發(fā)展,它在很大程度上改變了傳統(tǒng)的設(shè)計方法,在軟件和擴(kuò)展接口支持下,單片機(jī)可以代替以往由模擬和數(shù)字電路實現(xiàn)的系統(tǒng),可使原來許多電路設(shè)計問題轉(zhuǎn)化為程序設(shè)計問題。3. 單片機(jī)的發(fā)展過程單片機(jī)的發(fā)展非常迅速。70年代中期,intel
5、公司推出8位單片機(jī)mcs-48系列,80年代初又推出高檔8位單片機(jī)mcs-51系列。這之后 ,intel公司于1983年推出mcs-96系列單片機(jī),使單片機(jī)的發(fā)展進(jìn)入了一個新階段。mcs-96系列單片機(jī)采用最新的工藝技術(shù),將12萬只以上的晶體管制作在一塊約4cm2的集成電路芯片上,構(gòu)成一種高性能的16位單片微型計算機(jī)。它包括如下一些部件:一個16位的中央處理器cpu、256字節(jié)的片內(nèi)隨機(jī)數(shù)據(jù)存儲器(ram)、2個16位定時器/計數(shù)器、數(shù)字型i/o接口、全雙工串行通行接口、監(jiān)視跟蹤定時器(watch dog)、高速輸入/輸出(i/o)、中斷控制邏輯電路、脈寬調(diào)制器(pwm)以及時鐘信號發(fā)生器與反
6、偏壓發(fā)生器等。mcs-96系列單片機(jī)有三種分類方式:一種是按片內(nèi)有無rom進(jìn)行分類;第二種是按片內(nèi)是否有a/d分類;第三種是按管腳數(shù)目分類(可為48/68)。其中48引腳采用雙列直插式結(jié)構(gòu),陶瓷或塑料封裝;68引腳采用格柵陣列和扁平式結(jié)構(gòu),陶瓷或塑料封裝。16位8096單片機(jī)雖在性能上高于51系列,但是由于價格昂貴,與目前廣泛使用的8位i/o接口芯片匹配較為復(fù)雜,故使其普及及應(yīng)用受到很大限制。1988年底intel公司又推出了具有16位機(jī)性能、8位機(jī)價格的8098單片機(jī),8098單片機(jī)采用內(nèi)部數(shù)據(jù)總線16位,外部數(shù)據(jù)總線8位的準(zhǔn)16位cpu結(jié)構(gòu),從而使8096系列單片機(jī)的應(yīng)用有了飛躍性的突破。
7、第二章 8098單片機(jī)的硬件基礎(chǔ)intel公司推出的8x98單片機(jī)統(tǒng)稱為8098,典型產(chǎn)品包括8398、8795bh和8098,其三者的不同之處在于:8398具有片內(nèi)掩膜rom;8795bh具有8k字節(jié)eprom;8098片內(nèi)無rom(eprom)。其中最為實用的是8098。2.1 8098單片機(jī)的特點(diǎn)(1)16位中央處理器8098中央處理器(cpu)在結(jié)構(gòu)上的最大特點(diǎn),是拋棄了類似mcs-51系列單片機(jī)的只有12個累加器的常規(guī)結(jié)構(gòu),cpu是在特殊功能寄存器(sfr)和片內(nèi)寄存器陣列所構(gòu)成的256個字節(jié)空間內(nèi)進(jìn)行操作。這些寄存器都具有累加器的特殊功能,它們可使cpu對運(yùn)算數(shù)據(jù)進(jìn)行快速交換,并且
8、提供了高速數(shù)據(jù)處理和頻繁的輸入/輸出功能,從而消除了常規(guī)累加器結(jié)構(gòu)的單片機(jī)中存在的瓶頸現(xiàn)象。16位cpu支持位(bit)、字節(jié)(byte)和字(word)操作,在部分指令中還支持32位雙字操作,如32位乘除運(yùn)算。(2) 高效的指令系統(tǒng)8098單片機(jī)指令系統(tǒng)與mcs-51單片機(jī)指令系統(tǒng)相比,不但運(yùn)算速度快,而且編程效率高 。同等運(yùn)算任務(wù)的情況下,8098單片機(jī)的速度比mcs-51系列單片機(jī)(如8031)要高出56倍,并且指令字節(jié)數(shù)還不到8031單片機(jī)的一半。8098單片機(jī)的指令系統(tǒng)可以對帶符號和不帶符號數(shù)進(jìn)行操作,支持16位乘法運(yùn)算、32位除16位除法運(yùn)算和直接字加減運(yùn)算,且有符號擴(kuò)展、數(shù)字規(guī)格
9、化指令(有利于浮點(diǎn)運(yùn)算)等。許多指令既可用雙操作數(shù),也可用三操作數(shù),使用非常靈活。12mhz晶振下一條指令最短執(zhí)行時間為1s,最長(外部操作數(shù)的乘法指令)為9.5s 。(3)脈寬調(diào)制輸出(pwm)與mcs-51系列單片機(jī)相比,8098的獨(dú)到之處之一是脈寬調(diào)制輸出,它可以直接提供一路定周期(12mhz時,64s;6mhz時,128s)可變占空比的脈沖信號,并且這種脈沖信號經(jīng)簡單的輸出可作為具有8位分辨率的數(shù)模(d/a)轉(zhuǎn)換輸出。(4)高速輸入/輸出(hsi/hso)口8098單片機(jī)另一優(yōu)越的i/o性能是無需cpu干預(yù),能自動在8個狀態(tài)周期(12mhz)中處理8個輸入事件和8個輸出事件,可人為設(shè)置
10、某個高速輸出口的觸發(fā)時刻,從而引起cpu對外部事件的中斷服務(wù)。利用高速輸出口的輸出可實現(xiàn)具有16位分辨率的d/a轉(zhuǎn)換功能,高速輸入/輸出(hsi/hso)口尤其適用于測量和產(chǎn)生分辨率高達(dá)2s的脈沖信號。(5)4路10位a/d轉(zhuǎn)換器8098單片機(jī)片內(nèi)有4路a/d轉(zhuǎn)換單元,通過適當(dāng)?shù)耐獠拷涌谔幚?,可使其分辨率更高。?2mhz晶振下,完成一次a/d轉(zhuǎn)換所需時間僅為22s。(6)全雙工串行口8098單片機(jī)的串行口具有可以同時發(fā)送和同時接收的全雙工串行通信功能。另外,它還設(shè)有一個提供串行口的波特率發(fā)生器,并且可以利用hsi/hso構(gòu)成異步全雙工軟件串行口。這個串行口也有4種操作模式,能方便地用于i/o
11、擴(kuò)展,多機(jī)通信及與crt終端等設(shè)備進(jìn)行通信。(7)多用途接口8098單片機(jī)的p0口引腳既可作為數(shù)字輸入口(p0.4p0.7),也可用作a/d轉(zhuǎn)換器的模擬量輸入口。p2口除作標(biāo)準(zhǔn)的i/o口外,還具有一些特殊功能,如:串行口通信功能。p3口和p4口為多路復(fù)用地址/數(shù)據(jù)總線和數(shù)據(jù)總線,它們的引腳內(nèi)部有很強(qiáng)的上拉作用(復(fù)位時呈高阻態(tài))。(8)8個中斷源8098單片機(jī)的8個中斷源對應(yīng)8個中斷矢量,可處理20種中斷事件。(9)16位監(jiān)視定時器(watch dog timer)這是8098較mcs-51系列又一特有功能。它可以在軟件、硬件發(fā)生故障時使系統(tǒng)復(fù)位,恢復(fù)cpu的工作能力。(10)2個16位定時器其
12、中定時器t1在系統(tǒng)中作實時時鐘用,系統(tǒng)運(yùn)行過程中不停地循環(huán)計數(shù);定時器t2受外部事件控制,根據(jù)外部事件計數(shù)。(11)4個軟件定時器4個軟件定時器受高速輸入口控制,一旦到達(dá)預(yù)定時間,設(shè)置相應(yīng)的軟件定時器標(biāo)志,可以激活軟件定時器中斷。(12)寄存器陣列和特殊功能寄存器8098片內(nèi)具有256字節(jié)的寄存器陣列(ram)和特殊寄存器(sfr),其中232字節(jié)為寄存器陣列,它兼有一般微處理器中通用寄存器和高速ram的功能,其余24字節(jié)為特殊功能寄存器。通過它們管理著所有的片內(nèi)i/o口。(13)統(tǒng)一的編址方式8098單片機(jī)的編址與mcs-51系列編址(外部存儲空間ram和rom的地址可以重疊)不同,采用統(tǒng)一
13、編址方式,外部可尋址寄存器空間總共為64k。構(gòu)成系統(tǒng)方便,輸入/輸出指令更為簡練,但存儲空間較mcs-51有所減少。2.2 8098基本結(jié)構(gòu)8098單片機(jī)內(nèi)部結(jié)構(gòu)如圖2-1所示。圖2-1 8098單片機(jī)內(nèi)部結(jié)構(gòu)框圖2.3 cpu結(jié)構(gòu)8098單片機(jī)cpu中的主要器件有:高速寄存器陣列、特殊功能寄存器(sfr)、存儲器控制器和寄存器算術(shù)邏輯單元(ralu)。cpu與外界的通信是通過特殊功能寄存器(sfr)或存儲器控制器進(jìn)行的。2.3.1 cpu總線與mcs-48/51相同,8098單片機(jī)內(nèi)部也采用總線結(jié)構(gòu)。cpu內(nèi)部的一個控制單元和兩條總線將寄存器陣列和ralu 連接起來。其中:地址總線為8位,簡
14、稱a總線;數(shù)據(jù)總線16位,簡稱d總線。d總線只能在寄存器算術(shù)/邏輯部件ralu與寄存器陣列或特殊功能寄存器之間傳輸數(shù)據(jù),而a總線既可用來傳送內(nèi)部地址,又可作為存儲控制器的多重地址/數(shù)據(jù)總線。對片內(nèi)存儲器rom和外部存儲器的訪問都通過存儲器控制器進(jìn)行。2.3.2 片內(nèi)寄存器陣列片內(nèi)寄存器陣列共232字節(jié)ram單元,它可按字節(jié)、字或雙字存取。由于上述任何一個單元都能被ralu 所用,如同cpu有232個累加器一樣。寄存器陣列中的第1個字是專門留作堆棧指針使用的,不能用它來存放數(shù)據(jù)。訪問存儲器陣列和特殊功能寄存器的地址由cpu硬件控制,它們暫存在兩個8位地址寄存器內(nèi)如圖2-2所示。圖2-2 寄存器算
15、術(shù)邏輯運(yùn)算單元(ralu)框圖2.3.3 寄存器算術(shù)邏輯運(yùn)算單元(ralu)8098單片機(jī)的運(yùn)算主要由ralu來完成,其邏輯部件構(gòu)成如圖2-2所示。ralu包括算術(shù)邏輯單元alu和程序狀態(tài)字psw、程序計數(shù)器pc、循環(huán)計數(shù)器及3個暫存寄存器tsc。其中所有寄存器都是16位或17位(16位加符號擴(kuò)展位)。pc附有一個專用增量器,它的用途是cpu每取1個字節(jié)指令之后pc 值自動增1,但程序轉(zhuǎn)移必須由alu來處理。高位字寄存器和低位字寄存器本身帶有移位功能,在需要邏輯移位操作時,都可以不受alu控制而借助于移位邏輯實現(xiàn)。其中,字、字節(jié)移位操作可由高位字寄存器獨(dú)立完成,雙字移位操作時,需高位字寄存器和
16、低位字寄存器共同完成。高位字寄存器也可作為許多指令的暫存寄存器。若有循環(huán)移位操作,則5位“循環(huán)計數(shù)器”進(jìn)行循環(huán)計數(shù),暫存寄存器用作存放兩個操作數(shù)指令的第2個操作數(shù)。在進(jìn)行減法運(yùn)算時,該寄存器存放的減數(shù)輸出取補(bǔ)后,送入alu的“b”輸入端。圖2-2中延時電路用以將16位總線上的數(shù)據(jù)轉(zhuǎn)換成8位總線上的數(shù)據(jù)。當(dāng)要把所有地址和指令送到8位總線上時,就需要借助這個環(huán)節(jié)。此外,有幾個常數(shù)(0,1和2)存放在ralu中,以用于加速某些運(yùn)算,如地址自動增量、求2的補(bǔ)碼、執(zhí)行加1或減1指令。2.4 引腳功能詳述8098芯片引腳的功能如圖2-3所示。圖2-3 8098引腳圖2.4.1 引腳功能說明8098芯片均采
17、用48腳雙列直插封裝形式。引腳功能如下:vcc(38腳) 主電源電壓(+5v)vss(11和37腳) 數(shù)字地(0v),共有2個,同時接地。(46腳) 片內(nèi)ram維持電源(+5v)。單片機(jī)正常工作時,此電源必須接通。在掉電情況下vcc降至0v,當(dāng)vcc尚未降至ram所需規(guī)范電壓值以下時(正常供電),信號起作用,寄存器陣列頂端16個字節(jié)(0f0h0ffh)的內(nèi)容得以維持不變。在掉電期間腳必須保持低電平,在vcc恢復(fù)正常振蕩器工作穩(wěn)定之前,不應(yīng)被拉成高電平。vref(45腳) a/d轉(zhuǎn)換參考電壓(+5v),通常應(yīng)與vss保持同電位。同時也是轉(zhuǎn)換器模擬電路部分及讀p0口所用邏輯電路的供電電壓。vpp(
18、12腳) 片內(nèi)eprom芯片的編程電壓,這是針對8795bh而言。angnd(44腳) a/d轉(zhuǎn)換器的參考地(0v),通常應(yīng)與vss保持同電位。xtal1(36腳) 反相振蕩器和內(nèi)部時鐘三相發(fā)生器的輸入端。xtal2(35腳) 反相振蕩器輸出端。(48腳) 復(fù)位輸入端,低電平有效,2個狀態(tài)周期以上的低電平輸入可使芯片復(fù)位,可同時輸出到其他外部電路。該引腳電平由低到高的正跳變可產(chǎn)生10個狀態(tài)周期的內(nèi)部復(fù)位序列。在此期間psw被清0,2018h單元字節(jié)的內(nèi)容裝入芯片控制寄存器(ccr),最后程序指針指向2080單元。正常運(yùn)行時刻該引腳加高電平。引腳具有內(nèi)部上拉電阻。(39腳) 存儲器類型選擇輸入端
19、,低電平有效。當(dāng)=0時,cpu對外部存儲器操作,當(dāng)=1時,cpu對片內(nèi)存儲器(eprom型芯片)的2000h3fffh單元操作。對于無片內(nèi)eprom的8098而言,該引腳應(yīng)設(shè)置為0。具有內(nèi)部下拉電阻,除非從外部將其拉高,否則將處于0狀態(tài),復(fù)位時鎖存的狀態(tài)。ale/(34腳) 地址鎖存允許或地址輸出有效,由芯片控制器ccr選擇,高電平有效,當(dāng)ale為高電平時,表示地址/數(shù)據(jù)總線上傳送的是存儲器地址,ale下降沿地址鎖存到地址鎖存器中。(33腳) 片外存儲器讀信號(輸出)引腳,低電平有效。用來啟動外部存儲器進(jìn)行讀操作。(14腳) 片外存儲器寫信號(輸出)引腳,低電平有效。用來啟動外部存儲器進(jìn)行寫入
20、操作。ready(16腳) 片外存儲器準(zhǔn)備就緒(輸入)控制信號引腳,高電平有效。當(dāng)cpu訪問外部存儲器時,若ready腳為高電平時,則表示外部存儲器能在規(guī)定的時間內(nèi)完成讀/寫操作。若ready腳為低電平,則表示外部存儲器不能在規(guī)定的時間內(nèi)完成讀/寫操作,cpu需等待。當(dāng)不訪問片外存儲器時,ready信號不起作用,插入總線周期的等待狀態(tài)數(shù)由芯片控制(ccr)控制,對于ready腳,芯片內(nèi)有弱下拉電阻,因此除非外部將其拉低,否則即為高電平。hsi(36腳) 高速輸入(his0his5)引腳,其中his2和his3與兩個高速輸出口共用引腳。hso(510腳) 高速輸出(hso0hso5)引腳,其中h
21、so4、hso5與hsi共用引腳。每個hso引腳都能驅(qū)動一個ttl輸入。p0口(4043腳) 4路高阻輸入引腳,既可作為模擬量輸入(ach4ach7),又可作為數(shù)字量輸入(p04p07)。p2口(1,2,13,47腳) 4位多功能引腳,表示為p20p25,p25可作為數(shù)據(jù)輸入/輸出端口。輸入時,具有高阻態(tài)特性,輸出可驅(qū)動一個ttl輸入,另外,p2口還具有多種控制功能。p3/p4口 均為8位雙向i/o接口,用作地址/數(shù)據(jù)總線接口。地址/數(shù)據(jù)輸入輸出時,p3口傳送低8位字節(jié),p4口傳送高8位字節(jié)。兩個接口均為漏極開路輸入輸出。2.5 特殊功能寄存器和寄存器陣列在8098單片機(jī)內(nèi)部設(shè)置有256個寄存
22、器單元。這些寄存器單元按ram存儲器統(tǒng)一編址,全部用作工作寄存器和特殊功能寄存器,其地址映像采用如圖2-4所示的結(jié)構(gòu)。在指令系統(tǒng)中,內(nèi)部寄存器采用8位地址編碼(00hffh),而外部存儲器采用16位地址編碼(0000hffffh),內(nèi)部寄存器可分為兩組,一是特殊功能寄存器組,另一是寄存器陣列。寄存器算術(shù)/邏輯運(yùn)算單元ralu可對這兩組寄存器中的任何一個直接進(jìn)行操作。下面對這兩組寄存器的功能予以介紹。2.5.1 特殊功能寄存器(sfr)00h17h單元為24個特殊功能寄存器。8098單片機(jī)所有輸入/輸出操作都是通過特殊功能寄存器來控制。其中許多寄存器具有雙重功能,即在讀/寫操作時所表現(xiàn)的作用各不
23、相同。另外,在特殊功能寄存器空間中,有幾個寄存器為保留單元。這些寄存器留作擴(kuò)展或測試用時,若對于這些單元進(jìn)行寫操作,將不能保證得到正確的結(jié)果。特殊功能寄存器陣列開頭的兩個字節(jié)單元內(nèi)容固定為0,稱為零寄存器,可在算術(shù)/邏輯運(yùn)算和比較時提供常數(shù)0。2.5.2 片內(nèi)寄存器陣列在內(nèi)部ram中,除了24個特殊功能寄存器之外,其余各寄存器構(gòu)成寄存器陣列。在232個寄存器陣列中,除18h19h兩個單元作為堆棧指示器外,其余230個單元除不能存放程序代碼之外未作其他限制。寄存器陣列的地址空間映像如圖2-4所示的01ah0ffh單元,其中0f0h0ffh單元為掉電ram寄存器保護(hù)區(qū)。這些寄存器可用來存放數(shù)據(jù)或地
24、址。在存放16位字時,每相鄰的兩個寄存器組成16位的字寄存器,其中偶地址寄存器存放數(shù)據(jù)/地址的低位字節(jié),奇地址寄存器存放數(shù)據(jù)/地址的高位字節(jié)。由于寄存器陣列中所有寄存器均作為累加器使用,直接進(jìn)行各種算術(shù)/邏輯運(yùn)算和移位操作,因此,為用戶使用提供了極大方便,也提高了運(yùn)算和數(shù)據(jù)處理的速度。但須注意,片內(nèi)寄存器陣列空間不具備寄存器間接尋址功能,一般情況下,片內(nèi)間接尋址并無多大必要。圖2-4 8098地址空間映象圖第三章 存儲器在介紹8098系統(tǒng)設(shè)計之前,有必要了解8098系統(tǒng)常用存儲器芯片的種類、結(jié)構(gòu)、性能等。熟悉常用的存儲器芯片對設(shè)計開發(fā)一個既經(jīng)濟(jì)又滿足技術(shù)性能要求的單片機(jī)系統(tǒng)是很重要的。3.1
25、存儲器概述一般情況下,無論是mcs-51系列還是mcs-96系列,在單片機(jī)的內(nèi)部設(shè)置有一定容量的內(nèi)部存儲器(ram/rom)。但是,內(nèi)部存儲器的容量一般都比較小,因此在實際使用時,通常需要在芯片外部進(jìn)行存儲空間擴(kuò)展??捎糜谕獠繑U(kuò)展的存儲器種類較多,但用得比較多的仍是半導(dǎo)體存儲器。 半導(dǎo)體存儲器按其基本存儲單元電路的類型分為mos型存儲器、雙極型存儲器、磁泡存儲器和電荷耦合存儲器等。其中磁泡存儲器和電荷耦合存儲器屬于串行存儲器件,mos型、雙極型存儲器一般為并行存儲器。按存儲信息的功能分類,半導(dǎo)體存儲器又可分為隨機(jī)存儲器(ram)和只讀存儲器(rom)。所謂隨機(jī)存儲器是指在系統(tǒng)運(yùn)行期間隨時可以進(jìn)
26、行寫入或讀出操作。而只讀存儲器是指在芯片制造時,或者使用芯片之前已經(jīng)完成對其寫入操作,使用期間只能進(jìn)行讀出操作。只讀存儲器可分為固定只讀存儲器(rom)、可編程序的只讀存儲器(prom)和可改寫的只讀存儲器(eprom)三種。其中固定只讀存儲器是指其中的信息是在工廠生產(chǎn)時已經(jīng)存入,用戶買回后只能讀出使用,而不能對其進(jìn)行任何寫入或修改??删幊痰闹蛔x存儲器是指存儲器買回時,所存的信息為全“0”或者全“1(即空白)”,用戶可根據(jù)自己的需要,使用專門的電路進(jìn)行一次性的寫入,寫入之后,其中的信息只能讀出使用,而不能進(jìn)行再修改。可改寫的只讀存儲器是指用戶寫入后,可通過專門的方法將其中的信息擦去,然后重新寫
27、入(即改寫)。在聯(lián)機(jī)使用時,其中的內(nèi)容只能讀出,而不能隨機(jī)寫入。隨機(jī)存取存儲器按其基本存儲單元電路的不同可分為mos型和雙極型兩種,其中mos型存儲器又可分為靜態(tài)和動態(tài)兩種。靜態(tài)存儲器是指運(yùn)行時,其中的信息在寫入之后一直保持而不丟失。動態(tài)存儲器則是其中的信息可能丟失。為了不使動態(tài)存儲器中的信息丟失,就需要定期(約2ms)地補(bǔ)充電荷,這一工作通常稱為刷新或者再生。近年來,又出現(xiàn)了一種準(zhǔn)靜態(tài)存儲器,它的內(nèi)部結(jié)構(gòu)與動態(tài)存儲器相似,可減小功耗,但是不需要刷新,因而已開始得到廣泛的應(yīng)用。容量大、功耗低是動態(tài)ram的優(yōu)點(diǎn),但它極易受干擾影響,對外界環(huán)境、工藝結(jié)構(gòu)、控制邏輯以及電源的質(zhì)量要求很高,甚至對溫度
28、的變化也很敏感。由于單片機(jī)系統(tǒng)主要用于工業(yè)現(xiàn)場的實時信號采集和控制,因而其可靠性是第一位的。因此在實際使用時應(yīng)避免使用動態(tài)ram,而優(yōu)先選用靜態(tài)ram。下面介紹與單片機(jī)連接的常用隨機(jī)存儲器ram和只讀存儲器eprom的主要性能和使用方法。 3.1.1 隨機(jī)存儲器隨機(jī)存儲器(random access memory)一般用做單片機(jī)外部數(shù)據(jù)存儲器。常用ram芯片有6116、6264、62128和62256。其中以62128為例介紹。1. 芯片工作原理62128為16k×8位的高集成度的隨機(jī)存儲器。它有28個引腳,采用雙列直插式芯片結(jié)構(gòu),使用單一+5v電源。其芯片引腳圖如圖3-1所示,其工
29、作方式選擇如表3-1所示。圖中a13a0為14位地址信號線,尋址范圍為16k。d7d0為8位數(shù)據(jù)輸入/輸出線,可與單片機(jī)的數(shù)據(jù)總線連接。為片選信號線,可由地址譯碼產(chǎn)生。為寫允許信號線,可與單片機(jī)的寫命令信號線連接,用來控制存儲器的寫入操作,為讀允許信號線,可與單片機(jī)的讀命令信號線連接,用來控制存儲器的讀出。在與單片機(jī)連接時,同樣主要是解決地址分配、數(shù)據(jù)線和控制線的連接問題。在與高速單片機(jī)連接時,還要根據(jù)時序解決速度匹配問題。表3-1 ram 62128引腳功能與工作方式表2. 芯片引腳圖如圖3-1所示。3.1.2 只讀存儲器(eprom)常用eprom芯片有以下幾種:2716、2732、276
30、4、27128、27256和27512。eprom一般有五種工作方式。其中以27128為例介紹。 (1)讀方式。系統(tǒng)一般就工作于這種方式。工作于這種方式的條件是:片選控制線和輸出允許控制線同時為低電平。(2)保持方式。芯片進(jìn)入保持方式的條件是:片選控制線為高電平,輸出為高阻抗懸浮狀態(tài),不占用數(shù)據(jù)總線。(3)編程方式。eprom工作于這種方式的條件是:vpp端施加規(guī)定的電壓,和端施加合適的電平(不同芯片要求不同),這樣就能將數(shù)據(jù)線上的數(shù)據(jù)固化到指定的地址空間。(4)編程校核方式。vpp端保持相應(yīng)的高電壓按讀出方式操作,讀出已固化的內(nèi)容,以校核寫入的內(nèi)容是否正確。(5)編程禁止方式。當(dāng)片選信號無效
31、時輸出成高阻狀態(tài)。圖3-1 ram 62128引腳圖 圖3-2 eprom 27128引腳圖1. 芯片工作原理27128是一種16k×8位的可改寫只讀存儲器。它有28個引腳,采用雙列直插式芯片結(jié)構(gòu),正常工作時,采用單一+5v電源。其引腳圖如圖3-2所示。14位地址線a13a0用于片內(nèi)地址選擇,8位數(shù)據(jù)線d7d0用于數(shù)據(jù)讀出,為片選信號線,用于芯片選擇,為讀允許信號線,與單片機(jī)的讀命令連接,用來控制數(shù)據(jù)讀出。其工作方式選擇如表3-2所示。表3-2 eprom 27128工作方式選擇2. 芯片引腳圖如圖3-2所示。3. 芯片使用注意事項27128也采用hmos工藝制成,因而速度快,最大讀
32、取時間可達(dá)200ns。在28個引腳中,編程脈沖pgm獨(dú)占一個,使用方便。編程寫入時,電壓vpp為21v,若超過22v,芯片可能燒壞,使用時務(wù)必注意。27128也具有靜止等待工作模式。以減少功耗。它的最大正常工作電流為150ma,最大靜止等待電流為45ma。 3.2 譯碼器譯碼法是由譯碼器組成譯碼電路,譯碼電路將地址空間劃分若干塊,其輸出端分別選通一片存儲器芯片,這樣即充分利用存儲空間,又避免了空間分散的特點(diǎn)。1. 常用存儲器容量芯片271627322764271282725627512存儲量2k4k8k16k32k64k芯片6216623262646212862256存儲量2k4k8k16k3
33、2k2. 擴(kuò)展的基本方法:主要是地址總線(ab)、數(shù)據(jù)總線(db)和控制總線(cb)與cpu的連接。例如,擴(kuò)展一片27128 (16k字節(jié))。地址線根數(shù):1k = 210 16k = . 210 = 214 14根 a0a13地址總線 ab:低8位地址a0a7從p3口輸出,由于p3口是復(fù)用口,所以需通過74ls373鎖存。高8位地址a8a13直接從p4口輸出。數(shù)據(jù)總線 db:直接接p3口,即d0d7??刂瓶偩€ cb:與程序存儲器有關(guān)的控制信號有ale地址鎖存信號,接74ls373的g端當(dāng)它高電平時輸出低8位地址,在它的下降沿地址鎖存。存儲器的片選線必須低電平才可工作,通過譯碼器選擇存儲器的尋址
34、范圍。3. 譯碼器譯碼電路是通過譯碼器來實現(xiàn),增加一片譯碼器,譯碼產(chǎn)生片選信號。常用的譯碼器有2-4譯碼器(74ls139)2個輸入變量控制4個輸出端;3-8譯碼器(74ls138)3個輸入變量控制8個輸出端;4-16譯碼器(74ls154)4個輸入變量控制16個輸出端 。譯碼器的邏輯功能是將每個輸入的二進(jìn)制代碼譯成對應(yīng)的輸出高、低電平信號。圖3-3是74ls139集成塊中一個2-4二進(jìn)制譯碼器邏輯圖,表3-3是其真值表。輸入的2位二進(jìn)制碼共有4種狀態(tài),譯碼器將每個輸入代碼譯成對應(yīng)的一根輸出線上的高、低電平信號。例如,當(dāng)輸入代碼ba=10時,對應(yīng)輸出為低電平,其余輸出全為高電平。為使能端,低電
35、平有效。=0時,2-4譯碼器工作;=1時,電路被禁止,輸出全部為高電平,輸出狀態(tài)與輸入數(shù)據(jù)無關(guān)。圖3-4為引腳功能圖。圖3-3 2-4譯碼器內(nèi)部邏輯圖表3-3 74ls139真值表圖3-4 74ls139引腳功能第四章 8098最小系統(tǒng)設(shè)計8098單片機(jī)已廣泛用于工業(yè)測、控系統(tǒng)。任何一個單片機(jī)系統(tǒng)的設(shè)計,首要的問題是該系統(tǒng)的硬件配置(軟件功能也左右著硬件的品種和多寡)。而系統(tǒng)硬件的配置,更多的工作在于各種接口和電路的設(shè)計,如模擬轉(zhuǎn)換電路,伺服驅(qū)動電路等。4.1 8098單片機(jī)系統(tǒng)設(shè)計的要點(diǎn)在單片機(jī)硬件設(shè)計中,最主要的問題是如何安排芯片在整個存儲空間的位置和讀寫操作。因此,在著手進(jìn)行系統(tǒng)硬件設(shè)計
36、之前,有必要說明以下幾點(diǎn):(1)8098單片機(jī)的整個存儲空間中,程序存儲器和數(shù)據(jù)存儲器的存儲空間不可重疊,片內(nèi)片外存儲空間一共可達(dá)64k字節(jié)。(2)用戶外部存儲空間擴(kuò)展的起始地址為2000h,擴(kuò)展的存儲空間的順序一般為epromeepromrami/o芯片。(3)2000h207fh為特殊存儲空間,其中2018h單元存放8098芯片配置字節(jié),2000h2011h單元存放用戶中斷服務(wù)程序入口地址。(4)用戶可以直接使用的內(nèi)部ram空間為00hffh,其中00h17h為特殊功能寄存器。4.2 8098單片機(jī)最小系統(tǒng)設(shè)計存儲器擴(kuò)展時,除必須有eprom、ram芯片外,還必須有鎖存芯片。1. 地址鎖存
37、器存儲器擴(kuò)展時,地址鎖存信號為ale,地址鎖存器可使用帶三態(tài)緩存輸出的八d鎖存器74ls373或8282,也可以使用帶清除端的八d鎖存器74ls273,選擇不同,與單片機(jī)的連接方法不完全相同。74ls373和8282都是透明的帶有三態(tài)門的八d鎖存器。下面介紹一下74ls373的工作原理。當(dāng)74ls373的使能信號線端為低電平時,其內(nèi)部三態(tài)門處于導(dǎo)通狀態(tài),允許q端輸出;當(dāng)端為高電平時,輸出三態(tài)門斷開,輸出端對外電路呈高阻狀態(tài)。因此74ls373用作動作鎖存器時,首先應(yīng)使三態(tài)門的使能信號端為低電平,這時,當(dāng)g輸入為高電平時,鎖存器輸出(q0q7)狀態(tài)和輸入端(d0d7)狀態(tài)相同;當(dāng)g端從高電平返回
38、低電平(下降沿)時,輸入端(d0d7)的數(shù)據(jù)鎖入q0q7中。74ls373的鎖存控制端g可直接與單片機(jī)的鎖存控制信號端ale相連,在ale下降沿進(jìn)行地址鎖存。為了滿足單片機(jī)地址鎖存時序,ale端輸出鎖存控制信號必須加反相器才行。 74ls373引腳圖如圖4-1所示。圖4-1 74ls373引腳結(jié)構(gòu)2. 8098與eprom的接口電路8098與片外存儲器連接時,p4口用作高8位地址總線,負(fù)責(zé)輸出高8位地址碼;p3口用作為低8位地址/數(shù)據(jù)總線,用以首先傳送8位地址碼,隨后再傳送數(shù)據(jù)和程序代碼。8098和27xx系列連接,必須解決低8位地址鎖存問題。這樣在p3口傳送數(shù)據(jù)和程序代碼時,低8位地址由鎖存
39、器提供。圖4-1中的74ls373就是一個地址鎖存器。在8098的總線控制方式設(shè)置成標(biāo)準(zhǔn)總線方式下,8098的ale信號作為鎖存器的鎖存擴(kuò)展信號,其下降沿將地址碼的低8位鎖存起來。如果把總線控制設(shè)置成地址有效選通方式,可用ale信號作為片外存儲器的片選信號。圖4-2 中有8098與eprom 27128的連接電路,27128有14根地址線其高6 位a13a8分別接到8098的p45p40;而低8位a7a0與地址鎖存器74ls373的輸出連接。27128的數(shù)據(jù)通道d7d0直接與p3口連接。為輸出允許引腳,應(yīng)和8098的讀信號相連。27128處于讀方式,其pgm(編程脈沖輸入)和(編程電壓輸入)引
40、腳均應(yīng)接+5v。譯碼器的輸出端接27128的片選控制端。eprom中存有程序代碼以及常數(shù)。程序代碼是根據(jù)程序的運(yùn)行,pc指出代碼的地址單元。自動去讀出的。如果需從eprom中讀出常數(shù),則需用讀指令將數(shù)據(jù)讀入片內(nèi)寄存器陣列。3. 8098與ram的接口電路這里主要介紹8098與外擴(kuò)存儲芯片62128連接方法。62128是16k×8位的靜態(tài)ram。圖4-2中有8098與62128的連接電路。譯碼器的輸出端接62128的片選控制端。8098的端連接ram芯片的輸出允許端,端連接ram芯片的寫允許端。該系統(tǒng)具有16k程序存儲空間和16k數(shù)據(jù)存儲空間。下面是8098最小系統(tǒng)設(shè)計。圖4-2 80
41、98最小系統(tǒng)連接圖27128、62128與8098 接口主要解決兩個問題:一是硬件連接問題;二是根據(jù)實際連接確定芯片的地址。由圖4-2 可確定27128 、62128芯片的地址。27128使用14根地址線a13a0,地址范圍從全“0”到全“1”,由于27128從譯碼器線引出,故地址范圍是00xxxxxxxxxxxxxxb,即0000000000000000b0011111111111111b(0000h3fffh);而62128是從譯碼器線引出,故地址范圍是01xxxxxxxxxxxxxxb,即0100000000000000b0111111111111111b(4000h7fffh)。第五章
42、 8098單片機(jī)擴(kuò)展i/o接口的設(shè)計8098單片機(jī)本身提供給用戶的i/o口線并不多。p0僅有4根引腳(p04p07),只能作輸入用,且具有復(fù)用功能,即可作數(shù)字輸入,也可選擇其中的某個引腳作為模擬輸入。p2口也僅有4根引線p20p22以及 p25,p2口是多功能口,用戶往往選擇其復(fù)用功能。p3口和p4口只能作為系統(tǒng)總線使用。這樣在有些場合,8098本身具有的i/o口滿足不了需要,這就需要8098外擴(kuò)i/o接口。5.1 擴(kuò)展i/o接口時的注意事項i/o接口芯片中,各個功能寄存器的地址是8098外部64k寄存器空間的一部分。8098單片機(jī)在外擴(kuò)i/o接口芯片時,要注意以下幾個問題:(1)分析掌握擴(kuò)展
43、的接口芯片的功能、結(jié)構(gòu)及驅(qū)動方式。如果接口芯片是可編程的,要清楚各個控制字的意義。(2)8098單片機(jī)如何實現(xiàn)對擴(kuò)展芯片的選擇和寄存器的選擇,如何編寫可編程芯片的驅(qū)動程序等。(3)i/o接口的擴(kuò)展總是為了實現(xiàn)某一系統(tǒng)測控及管理功能。例如連接鍵盤、顯示器、驅(qū)動開關(guān)控制電路以及開關(guān)量監(jiān)測等,因此在擴(kuò)展i/o接口芯片時,要考慮與之相連的外設(shè)硬件電路特性,如驅(qū)動功率、電平、干擾抑制及隔離等。(4)設(shè)計驅(qū)動程序要注意,防止總線上的數(shù)據(jù)沖突。5.2 常用并行i/o接口芯片82558255是可編程的通用并行接口芯片,是一種適用于多種微處理器的通用8位并行輸入/輸出接口芯片,它有3個端口,具有3種工作方式,可
44、通過程序改變其功能,因而使用靈活方便,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時的中間接口電路。圖5-1 8255引腳圖8255的引腳如圖5-1所示和8255的內(nèi)部結(jié)構(gòu)流程如圖5-2所示。圖5-2 8255的內(nèi)部結(jié)構(gòu)流程圖5.2.1 8255芯片引腳與內(nèi)部結(jié)構(gòu)及其功能1. 引腳說明8255共有40個引腳,采用雙列直插式封裝,各引腳功能如下:d7d0三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)信息。片選信號,低電平有效時芯片被選中。讀出信號線,低電平有效時允許數(shù)據(jù)輸出。寫入信號線,低電平有效時允許數(shù)據(jù)輸入。vcc+5v電源。pa7pa0a口輸入/輸出線。pb7pb0b口輸入/輸出線。pc7
45、pc0c口輸入/輸出線。reset復(fù)位信號線。a1a0地址線,用來選擇內(nèi)部端口。gnd地線。2. 8255芯片內(nèi)部結(jié)構(gòu)及其功能(1)內(nèi)部結(jié)構(gòu)8255芯片內(nèi)部包含3個8位端口,其中:端口a包含一個8位數(shù)據(jù)輸出鎖存/緩沖器和一個8位數(shù)據(jù)輸入鎖存器;端口b包含一個8位數(shù)據(jù)輸入/輸出、鎖存/緩沖器和一個8位數(shù)據(jù)輸入緩沖器;端口c包含一個輸入鎖存/緩沖器和一個輸入緩沖器。必要時端口c可分為2個4位端口,分別與端口a和端口b配合工作,通常將端口a和端口b定義位輸入/輸出的數(shù)據(jù)端口,而端口c可作為狀態(tài)或控制信息的傳送端口。(2)a組和b組控制部件端口a與端口c的高4位(pc7pc4)構(gòu)成a組,由a組控制部件
46、實現(xiàn)控制功能,端口b與端口c的低4位(pc3pc0),由b組部件實現(xiàn)控制功能。它們各有一個控制單元,可接收來自讀/寫控制部件的命令和cpu通過數(shù)據(jù)總線(d7d0)送來的控制字,并根據(jù)它們來定義各個端口的操作方式。(3)數(shù)據(jù)總線緩沖器這是一個三態(tài)雙向8位數(shù)據(jù)緩沖器,它是8255與cpu之間的數(shù)據(jù)接口。cpu執(zhí)行輸出命令時,可將控制字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖器傳送給8255。cpu執(zhí)行輸入命令時,8255可將狀態(tài)信息或數(shù)據(jù)通過數(shù)據(jù)總線緩沖器向cpu輸入。因此它是cpu與8255之間交換信息的必經(jīng)之路。(4)讀/寫控制部件這是8255內(nèi)部完成讀/寫控制功能的部件,它能接收cpu的控制命令,并根據(jù)它們向
47、片內(nèi)各功能部件發(fā)出操作命令。可接收的控制命令如下:片選信號。由cpu輸入,通常由端口的高位地址碼(a15a2)譯碼得到,有效,表示該8255被選中。,讀、寫控制信號。由cpu輸入,有效,表示cpu讀8255,應(yīng)由8255向cpu傳送數(shù)據(jù)或狀態(tài)信息。有效,表示cpu寫8255,應(yīng)由cpu將控制字或數(shù)據(jù)寫入8255。reset復(fù)位信號。由cpu輸入。reset有效時,清除8255a中所有控制字寄存器內(nèi)容,并將各端口置成輸入方式。a1和a0端口選擇信號。a1a0=00,選擇端口a;a1a0=01,選擇端口b;a1a0=10,選擇端口c;a1a0=11,選擇控制字寄存器。由端口地址a1a0和相應(yīng)的控制
48、信號組合起來可定義各端口的操作方式如表5-1所示。表5-1 8255接口工作狀態(tài)選擇表5.2.2 8255芯片的控制字及其工作方式8255有三種基本工作方式:方式0基本輸入/輸出方式;方式1選通輸入/輸出方式;方式2雙向傳送方式。端口a可處于3種工作方式(方式0,1,2),端口b只可處于兩種方式(方式0和方式1),端口c常常被分成高4位和低4位兩部分,可分別用來傳送數(shù)據(jù)或控制信息。用戶可用軟件來分別定義3個端口的工作方式,可使用的控制字有工作方式控制字和置位/復(fù)位控制字。1. 控制字(1)工作方式控制字格式如圖5-3所示。通過工作方式控制字可將3個端口分別定義為不同方式的組合。圖5-3 825
49、5工作方式控制字格式(2)置位/復(fù)位控制字:只對端口c有效,其使用格式如圖5-4所示。圖5-4 8255置位/復(fù)位控制字格式5.3 8098與鍵盤接口及l(fā)ed顯示接口的擴(kuò)展連接5.3.1 鍵盤輸入接口鍵盤是計算機(jī)系統(tǒng)的重要組成部分,對于一些人工可干預(yù)的單片機(jī)控制系統(tǒng)來說,鍵盤就成為人機(jī)聯(lián)系的必要手段。因此,任何一個人工可干預(yù)的單片機(jī)開發(fā)或應(yīng)用系統(tǒng)必須配置鍵盤輸入設(shè)備。這樣人們就可以隨時將程序、數(shù)據(jù)或隨機(jī)命令輸入到單片機(jī)中。鍵盤由一組按壓式開關(guān)組成,并以陣列的方式進(jìn)行排列。按鍵的數(shù)目根據(jù)需要而定,一般包括數(shù)字鍵、字母鍵、符號鍵和控制功能鍵。目前,功能比較完美的鍵盤是按7位編碼的ascii碼鍵盤。
50、無論是簡單鍵盤還是ascii碼鍵盤,在與計算機(jī)連接時所遇到的問題基本上是一樣的,即按鍵抖動的消除與閉合鍵的識別。1. 消除抖動在一般電路設(shè)計中,按鍵按下閉合后應(yīng)產(chǎn)生一個負(fù)的脈沖。但是由于在按動按鍵時總有一些抖動,因此在負(fù)脈沖的開始和末尾中要出現(xiàn)一些如圖5-5所示的毛齒波。這種毛齒波將影響對按鍵的識別。毛齒波的長短與按鍵開關(guān)的機(jī)械性能有關(guān),一般510ms。除了按鍵抖動之外,還可能有重鍵。所謂重鍵是指一個鍵按下后,緊著又按下一個鍵,或者兩個按鍵“同時”按下。這些都需要采取一定的措施加以消除。目前,用來消除抖動的方法有兩種:一種是用硬件電路來實現(xiàn),即用rc濾波電路濾除抖動;另一種是用軟件延時的方法來
51、解決。硬件濾波實際上是用rc電路的充放電產(chǎn)生一定的延時,而將圖5-5所示波形前后處的毛齒波濾掉。軟件延時則是通過執(zhí)行延時程序來消除按鍵輸入波前后沿處的抖動。圖5-5 按鍵抖動毛齒波采用軟件方法消除抖動和識別鍵碼的流程圖如圖5-6所示。軟件方法就是通過延時來等候波形穩(wěn)定,在波形穩(wěn)定之后查詢鍵碼。在查詢到有按鍵按下之后,延時一段時間(510ms)再查詢一次,查看結(jié)果是否為干擾或者抖動。若這一次查詢到有鍵按下,則說明波形已經(jīng)穩(wěn)定,然后即可判斷閉合鍵的鍵碼。當(dāng)閉合鍵的鍵碼確定之后,再去查詢按鍵是否釋放。待按鍵釋放之后再進(jìn)行處理,這樣即可消除按鍵釋放抖動的干擾。圖5-6 軟件消除抖動和識別鍵碼流程圖5.
52、3.2 led數(shù)碼顯示器接口數(shù)碼led顯示器是單片機(jī)開發(fā)使用的主要顯示設(shè)備之一,它可將單片機(jī)的運(yùn)算結(jié)果、中間結(jié)果、存儲器地址以及存儲器、寄存器中的內(nèi)容用數(shù)碼管顯示出來,從而實現(xiàn)人機(jī)對話。目前,顯示數(shù)碼管常用的有8段led顯示器,下面先簡單介紹led的工作原理,然后再介紹與8098單片機(jī)的連接。1. led結(jié)構(gòu)與工作原理led顯示器的外部結(jié)構(gòu)如圖5-7(a)所示,它由8個發(fā)光二極管構(gòu)成,可用來顯示09、a、b、c、d、e、f、p及小數(shù)點(diǎn)“.”等字符。在數(shù)碼管中,若把各二極管的陽極連接在一起,則稱為共陽極數(shù)碼管;若把各二極管的陰極連接在一起,則稱為共陰極數(shù)碼管,其示意圖如圖5-7(b)所示。當(dāng)某個
53、二極管通導(dǎo)時,相應(yīng)的字段發(fā)光。這樣,若進(jìn)行適當(dāng)?shù)目刂疲鼓承┒O管通導(dǎo),這些通導(dǎo)二極管發(fā)光后就可構(gòu)成一個顯示字符。顯然,每一個字符對應(yīng)有若干個發(fā)光二極管。在共陰極數(shù)碼管中,這若干個導(dǎo)通二極管用“1”表示,其余二極管用“0”表示。將若干個“1”、“0”數(shù)符按一定的順序排列起來,就組成一個8位二進(jìn)制數(shù)(在七段顯示器中為7位)。這個8位二進(jìn)制數(shù)稱為所要顯示字符的顯示代碼。例如在共陰極數(shù)碼管中,二極管排列如圖5-7(b)所示為hgfedcba。這樣,字符1的顯示代碼位00000110,字符6的顯示代碼為011111101,字符f的顯示代碼為01110001,用十六進(jìn)制數(shù)表示,分別為06h,7dh和71
54、h。若要顯示某一字符,就在二極管的陽極按顯示代碼加以高電平,陰極加低電平。這樣,顯示代碼中“1”所對應(yīng)的二極管發(fā)光,構(gòu)成所要顯示的字符。通常將各字符的顯示代碼順序排列起來,存放到存儲器的固定區(qū)域中,這樣就構(gòu)成了各字符的顯示代碼表。顯示代碼表如表5-2所示。圖 5-7 led結(jié)構(gòu)示意圖表5-2 顯示代碼5.3.3 8098單片機(jī)與鍵盤、顯示器的連接圖圖5-8 鍵盤、數(shù)碼管與8098單片機(jī)連接圖由圖5-8可確定8255芯片的地址,8255 接74ls373鎖存器的低兩位地址線,由于8255片選接譯碼器端,故8255的端口地址分配為:端口a為1000000000000000,即8000h;端口b為8
55、001h;端口c為8002h;控制端口為8003h。注意有重疊地址,因為系統(tǒng)小,這樣做可以。通過8255的端口a的低四位(pa0pa3)和端口c的低四位(pc0pc3)構(gòu)成4×4小鍵盤,端口a經(jīng)反相器75452輸出,端口c通過電阻進(jìn)行對按鍵識別輸入到8255中;8255的端口b經(jīng)同相器7407輸出8段數(shù)碼顯示碼,端口a的低6位(pa0pa5)輸出6位led顯示器。這樣就可以構(gòu)成一個8098單片機(jī)與鍵盤、顯示器的連接圖。5.4 鍵盤程序設(shè)計這種鍵盤對按鍵的識別、鍵值的確定都要靠軟件來完成。按鍵的識別方法常用的是掃描法。1. 掃描法鍵盤通常以m行×n列矩陣式排列,通過程序查詢來檢查按下的是哪個鍵,并對此鍵進(jìn)行譯碼。圖5-9是一個4×4非編碼鍵盤的原理圖,鍵盤的矩陣分成四行和四列,其工作過程為:圖5-9 四行四列非編碼鍵盤示意圖(1)尋找有無鍵按下用輸出指令輸出數(shù)據(jù),當(dāng)d4=d5=d6=d7=0時,它使所有的列接地,然后用輸入指令讀入行的信息,檢查輸入各行(d0、d1、d2、d3)是否為0,全為1表示沒有鍵按 下。若有一行的輸入信息為0,說明有鍵按下,需
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州省畢節(jié)市赫章縣2024-2025學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測生物學(xué)試題(含答案)
- 中小學(xué)教師專業(yè)發(fā)展故事征文
- 農(nóng)業(yè)設(shè)施建設(shè)作業(yè)指導(dǎo)書
- 高中英語閱讀理解策略與方法指導(dǎo)
- 年度工作總結(jié)與下一階段工作計劃報告
- 私家車租賃合同協(xié)議書
- 幼兒園大班故事大王評選征文
- 《古希臘文明的歷史與影響:高一歷史教案》
- 申請資金購置新設(shè)備的說明文書
- 智能醫(yī)療大數(shù)據(jù)合作協(xié)議
- 2025春蘇教版(2024)小學(xué)數(shù)學(xué)一年級下冊教學(xué)計劃1
- 2025年南昌工學(xué)院單招職業(yè)適應(yīng)性測試題庫新版
- 五金生產(chǎn)流程
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫附答案
- 2025年湖南理工職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 2024年10月高等教育自學(xué)考試07454傳感器技術(shù)應(yīng)用試題及答案
- 普通高中地理課程標(biāo)準(zhǔn)(2023年版)
- 2018年湖北省襄陽市中考物理試卷
- 波程差與光程差
- 常用測井曲線符號及單位(最規(guī)范版)
- 美國駕駛手冊(中文版)
評論
0/150
提交評論