【文章內(nèi)容簡介】
高阻。12在MCS-51單片機(jī)系統(tǒng)中,經(jīng)常采用74LS373作為地址鎖存器使用,其連接方法如圖311所示。其中輸入端1D~8D接至單片機(jī)的P0口,輸出端1Q~8Q提供的是地址的低8位,G端接至單片機(jī)的地址鎖存器信號ALE。輸出允許端OE接地表示輸出三態(tài)門一直打開。 圖311 74LS373的結(jié)構(gòu)圖半導(dǎo)體存儲器分為隨機(jī)存取存儲器(Random Access Memory)和只讀存儲器(Read Only Memory)兩大類,前者主要用于存放數(shù)據(jù),后者主要用于存放程序。只讀存儲器的特點(diǎn)是信息一旦寫入之后就不能隨意跟更改,特別是不能在程序運(yùn)行過程中寫入新的內(nèi)容,而只能讀出其中的內(nèi)容,故稱之為只讀存儲器;只讀存儲器的另一個特點(diǎn)是斷電以后信息不會消失,能夠長久保存。只讀存儲器是由MOS管陣列構(gòu)成的,以MOS管的接通或斷開來存儲二進(jìn)制信息。按照程序要求確定ROM存儲陣列中各MOS管狀態(tài)的過程叫做ROM編程。 EPROM2764簡介3. 2764的引腳自從EPROM276芯片被逐漸淘汰后,目前比較廣泛采用的是2764芯片為雙列直插式28引腳的標(biāo)準(zhǔn)芯片,容量為8K8位,其管角如圖312所示。 圖312 2764的引腳其中:A12~A0:13位地址線。D7~D0:8位數(shù)據(jù)線。CE:片選信號,低電平有效。OE:輸出允許信號,當(dāng)OE=0時,輸出緩沖器打開,被尋址單元的內(nèi)容才能被賣出。Vpp:編程電源,當(dāng)芯片編程時,該端加上編程電壓(+25V或+12V);正常使用時,該端加+5V電源。(NC為不用的管腳)。4. 2764的工作時序135.2764在使用時,只能將其所存儲的內(nèi)容讀出,其過程與RAM的讀出十分類似。即首先送出要讀出的單元地址,然后使CE和OE均有效(低電平),則在芯片的D0~D7數(shù)據(jù)線上就可以輸出要讀出的內(nèi)容。其過程的時序關(guān)系如圖313所示 圖313 2764的工作時序EPROM的一個重要特點(diǎn)就是在于它可以反復(fù)擦除,即在其存儲的內(nèi)容擦除后可通過編程(重新)寫入新的內(nèi)容。這就是用戶調(diào)試和修改程序帶來很大的方便。EPROM的編程過程如下:(1)擦除:如果EPROM芯片是第一次使用的新芯片,則它是干凈的。干凈的標(biāo)志通常是一個存儲單元的內(nèi)容都是FFH。若芯片是使用過的,則它需要利用紫外線照射其窗口,以便將其內(nèi)容擦除干凈。一般照射擊15~20min即可擦除干凈。(2)編程:EPROM的編程有兩種方式:標(biāo)準(zhǔn)編程和靈巧編程。標(biāo)誰編程的過程為:將Vcc接+5V電源,Vpp接+21V電源(注意:不同廠家的芯片其編程電壓Vpp是不一樣的),然后輸入需編程的單元地址,在數(shù)據(jù)線上加上要寫入的數(shù)據(jù),使CE保持低電平,OE為高電平。當(dāng)上述信號穩(wěn)定后,在PGM端加上50177。5ms的負(fù)脈沖。這樣就將1個字節(jié)的數(shù)居寫到了相應(yīng)的地址單元中。重復(fù)上述過程,即可將要寫入編程過程。標(biāo)準(zhǔn)編程中,每寫入1個字節(jié)需要50ms左右的時間,對于2764來說共需7~8分鐘時間。而且芯片容量愈大,所需的時間就愈多。另一方面,編程脈沖愈寬,芯片功耗愈大,芯片愈容易損壞。這此,人們提出了另一個編程方式靈巧編程。2764與單片機(jī)的連接圖如圖314示。 圖314 2764與單片機(jī)的連接圖14 數(shù)據(jù)存儲器的擴(kuò)展 數(shù)據(jù)存儲器概述數(shù)據(jù)存儲器即隨機(jī)存取存儲器(Random Access Memory),簡稱RAM,用于存放可隨時修改的數(shù)據(jù)信息。它與ROM不同,對RAM可以進(jìn)行讀、寫兩種操作。RAM為易失性存儲器,斷電后所存信息立即消失。按半導(dǎo)體工藝,RAM分為MOS型和雙極型兩種。MOS型集成度高、功耗低、價格便宜,但速度較慢。雙極型的特點(diǎn)恰好相反。在單片機(jī)系統(tǒng)中多數(shù)采用MOS型數(shù)據(jù)存儲器,使得輸入輸出信號能與TTL相兼容,擴(kuò)展后的信號連接也很方便。按工作方式,RAM分為靜態(tài)(SRAM)和動態(tài)(DRAM)兩種。靜態(tài)RAM只要電源加上,所存信息就能可靠保存。而動態(tài)RAM使用的是動態(tài)存儲單元,需要不斷進(jìn)行刷新以便周期性地再生,才能保存信息。動態(tài)RAM的集成密度大,如集成同樣的位容量,那么動態(tài)RAM所占芯片面積只是靜態(tài)RAM的四分之一。此外動態(tài)RAM的功耗低,價格便宜。由于動態(tài)存儲器要增加刷新電路,因此只適用于較大的系統(tǒng),而在單片機(jī)系統(tǒng)中則很少使用。 靜態(tài)RAM6264簡介6264是8K8位的靜態(tài)數(shù)據(jù)存儲器芯片,采用CMOS工藝制造,為28引腳雙列直插式封裝,其引腳圖如圖315所示。圖315 RAM6264引腳圖需要說明的是,6264有兩個片選信號CE1和CE2,只有當(dāng)CE1=0,CE2=1時,芯片才被選中。在實際應(yīng)用中,往往只用其中1個,而將另一個接成常有效;也可以將系統(tǒng)片選信號以及取反后的信號分別接至CE1和CE2端。 數(shù)據(jù)存儲器擴(kuò)展舉例數(shù)據(jù)存儲器的擴(kuò)展與程序存儲器的擴(kuò)展相類似,不同之處主要在與控制信號的接法不一樣,不用PSEN信號,而用RD和WR信號,且直接與數(shù)據(jù)存儲器的OE端和WE端相連即可。圖316為外擴(kuò)1片6264的連接圖。采用線選法。其地址譯碼關(guān)系為:15A15 A14 A13 A12 A11 A1001所占用的地址為:第一組 4000H~5FFFH (A13=0) 第二組 6000H~7FFFH (A13=1) 圖316 擴(kuò)展一片RAM6264的連接圖 單片機(jī)I/O口的擴(kuò)展(8155擴(kuò)展芯片) 8155的結(jié)構(gòu)和引腳 Intel 8155是一種多功能的可編程的可編程接口芯片,它具有3個可編程I/O(A口和B口是8位,C口是6位)、1個可編程定時器/計數(shù)器和256B的RAM,能方便地進(jìn)行I/O擴(kuò)展和RAM擴(kuò)展,其組成框圖及引腳如圖317所示。圖317 8155引腳和結(jié)構(gòu)圖8155為40腳雙列直插式封裝,其引腳的功能及特點(diǎn)說明如下:RESET:復(fù)位端,高電平有效。當(dāng)RESET端加入5us左右寬的正脈沖時,8155初始化復(fù)位。把A口、B口、C口均初始化為輸入方式。AD0~AD7:三態(tài)地址數(shù)據(jù)總線。采用時方法區(qū)分地址及數(shù)據(jù)信息。通常與MCS51單片機(jī)的P0口相連。其地址碼可以是8155中RAM單元地址或I/O地址。地址信息由ALE的下降沿鎖存到8155的地址鎖存器中,與RD和WR信號配合輸入或輸出數(shù)據(jù)。CE:片選信號端,低電平有效。它與地址信息一起由ALE信號的下降沿鎖到8155的鎖存器中。 IO/M:RAM和I/O接口選擇端。IO/M=0時,選中8155的片內(nèi)RAM,AD0~AD7為RAM16地址(00H~FFH);IO/M=1時,選中8155片內(nèi)3個I/O接口以及命令/狀態(tài)寄存器和定時器/計數(shù)器。AD0~AD7為I/O接口地址,見下表31。表31 8155口地址分配AD7AD0A7 A6 A5 A4 A3 A2 A1 A0選中的寄存器 X x x x x 0 0 0 X x x x x 0 0 1 X x x x x 0 1 0 X x x x x 0 1 1 X x x x x 1 0 0 X x x x x 1 0 1 命令/狀態(tài)寄存器A口(PA0PA7)B口(PB0PB7)C口(PC0PC7)定時器/計數(shù)器低B位寄存器定時器/計數(shù)器高B位寄存器及工作方式2位 RD:讀選通信號端。低電平有效。當(dāng)CE=0、RD=0時,將8155片內(nèi)RAM單元或I/O接口的內(nèi)容傳送到AD0~AD7總線上。WR:寫選通信號端,低電平有效。當(dāng)CE=0、WR=0時,將CPU輸出送到AD0~AD7總線上的信息寫到片內(nèi)RAM單元或I/O借口中。ALE:地址鎖存允許信號端。ALE信號的下降沿將AD0~AD7總線上的地址信息和CE及IO/M的狀態(tài)信息都鎖存到8155內(nèi)部鎖存器中。PA7~PA0:A口通用輸入/輸出線。它由命令寄存器中的控制字來決定輸入/輸出。PA7~PB0:B口通用輸入/輸出線。它由命令寄存器中的控制字來決定輸入/輸出。PC5~PC0:可用編程的方法來決定C口作為通用輸入/輸出線或作A口、B口數(shù)據(jù)傳送的控制應(yīng)答聯(lián)絡(luò)線。TIME IN:定時器/計數(shù)器脈沖輸入端。TIME OUT:定時器/計數(shù)器矩形脈沖或方波輸出端(取決于工作方式)。Vcc:+5電源端。Vss:接地端。 8155的控制字的及其工作方式1)、命令/狀態(tài)字的格式及功能8155的I/O接口的工作方式選擇是通過 對8155內(nèi)部寄存器送命令來實現(xiàn)的,命令寄存器由8位鎖存器組成,只能寫入、不能讀出。命令字每位的定義如下所示:AINTR:A口中斷請求信號ABF:B口緩沖器信號ASTB:A口選通信號BINTR:B口中斷請求信號BBF:B口緩沖滿信號BSTB:B口選通信號8155的狀態(tài)寄存器口地址和命令寄存器相同。與控制字相反,狀態(tài)字寄存器只能讀出、不能寫入,其格式及定義如圖318,319所示:17圖318 8155狀態(tài)字格式圖319 8155狀態(tài)字定義 8155與8031的連接如圖320所示為8155與8031的連接18 圖320 8155與8031的連接 看門狗、報警、復(fù)位和時鐘電路的設(shè)計 看門狗電路的設(shè)計為提高系統(tǒng)的可靠性,由硬件的 “看門狗”。由NE555定時器構(gòu)成的看門狗電路如圖321所示RC6為定時元件,由單穩(wěn)態(tài)電路產(chǎn)生的正脈沖寬度為,C5用于濾除高頻干擾。下面分析看門狗電路的工作原理:當(dāng)系統(tǒng)工作正常時,看門狗電路不起作用。當(dāng)系統(tǒng)運(yùn)行不正常時,8031不能給定時器送去觸發(fā)脈沖,NE555中的單穩(wěn)態(tài)觸發(fā)器就輸出脈寬大于4us的負(fù)脈沖,經(jīng)F6反相后加至8031的復(fù)位端,使系統(tǒng)能可靠地復(fù)位,迅速恢復(fù)正常運(yùn)行狀態(tài)。圖321 看門狗電路19 報警電路的設(shè)計當(dāng)溫度過大地超了給定的溫度時,系統(tǒng)就會發(fā)出報警信號。在這方面的設(shè)計中我們采用了如圖322所示的報警電路。其工作原理是:溫度過高時,經(jīng)反向后使發(fā)光二極管發(fā)光,同時使蜂鳴器發(fā)音,從而達(dá)到報警的日的。 圖322 報警電路在單片機(jī)應(yīng)用系統(tǒng)工作時,除了進(jìn)入系統(tǒng)正常的初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵以重新啟動。所以,系統(tǒng)的復(fù)位電路必須準(zhǔn)確、可靠地工作。另外,單片機(jī)的復(fù)位狀態(tài)與應(yīng)用系統(tǒng)的復(fù)位狀態(tài)又是密切相關(guān)的,因此,必須熟悉單片機(jī)的復(fù)位狀態(tài)。一、復(fù)位單片機(jī)的復(fù)位都是靠外部電路實現(xiàn)的,在時鐘電路工作后,只要在單片機(jī)的RST引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機(jī)器周期)以上的高電平,單片機(jī)便實現(xiàn)初始化狀態(tài)復(fù)位。為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,在設(shè)計復(fù)位電路時,通常使RST引腳保持10ms以上的高電平。只要RST保持高電平,則MCS51單片機(jī)就循環(huán)復(fù)位。單片機(jī)的復(fù)位狀20態(tài)要注意以下幾點(diǎn):6. 復(fù)位是單片機(jī)的初始化操作。其主要功能是把 PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行。7. 復(fù)位操作除了把PC初始化為0000H之外,還對一些特殊功能寄存器(專用寄存器)有影響,它們的復(fù)位狀態(tài)見表32。8. 復(fù)位操作還對單片機(jī)的個別引腳信號有影響,例如把ALE和PSEN信號變?yōu)闊o效狀態(tài),即ALE=0,PSEN=1。但復(fù)位不影響單片機(jī)內(nèi)部的RAM狀態(tài)。表32單片機(jī)的復(fù)位狀態(tài)專用寄存器復(fù)位狀態(tài)專用寄存器復(fù)位狀態(tài)PC0000HTMOD00HACC00HTCON00HB00HTL000HPSW00HTH000HSP07HTL100HDPTR000H0TH100HP0~P3FFHSCON00HIP000000BSBUF不定IE0000000BPCON00000B二、復(fù)位電路從以上的敘述中,我們已經(jīng)清楚復(fù)位電路的設(shè)計原理:在單片機(jī)的 RST引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機(jī)器周期)以上的高電平(為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,通常使 RST引腳保持10ms以上的高電平)。根據(jù)這個原則,采用的電路是:按鍵電平復(fù)位,如圖323所示,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的。 圖323 復(fù)位電路 時鐘電路的設(shè)計時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作。而時序所研究的則是指令執(zhí)行中各信號之間的相互時間關(guān)系。一、 時鐘電路在介紹單片機(jī)引腳時,我們已經(jīng)敘述過有關(guān)振蕩器的概念。振蕩電路產(chǎn)生的振蕩脈沖,并不是時鐘脈沖。這二者既有聯(lián)系又有區(qū)別。在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時鐘信號的同步,還引人公用外部脈沖信號作為各單片機(jī)的振蕩脈沖。二、時鐘信號的產(chǎn)生XTAL1(19腳)是按外部晶體管的一個引腳。在單片機(jī)內(nèi)部,它是一個反相放大器21的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。輸出端為引腳XTAL2,在芯片的外部通過這兩個引腳接晶體震蕩器和微調(diào)電容,形成反饋電路,構(gòu)成一個穩(wěn)定的自激震蕩器。如圖324所示。我們可以用示波器測出XTAL2上的波形。電路中的C1和C2一般取30PF ~12 MHZ,晶體震蕩器的頻率越高,振蕩頻率就越高。振蕩電路產(chǎn)生的振蕩脈沖并不是時鐘信號,而是經(jīng)過二分頻后才作為系統(tǒng)達(dá)到時鐘信號。如圖324所示。在二分頻的基礎(chǔ)上再