畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的智能卡車輛出入管理系統(tǒng)設(shè)計(jì) [附中英文翻譯]_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的智能卡車輛出入管理系統(tǒng)設(shè)計(jì) [附中英文翻譯]_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的智能卡車輛出入管理系統(tǒng)設(shè)計(jì) [附中英文翻譯]_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的智能卡車輛出入管理系統(tǒng)設(shè)計(jì) [附中英文翻譯]_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單機(jī)片的智能卡車輛出入管理系統(tǒng)設(shè)計(jì) [附中英文翻譯]_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、前 言該系統(tǒng)設(shè)計(jì)為非接觸式智能卡車輛出入管理系統(tǒng),用于對(duì)進(jìn)出小區(qū)的車輛進(jìn)行管理,在每個(gè)小區(qū)門(mén)口的車輛進(jìn)出口處設(shè)置車輛管理ic卡該卡機(jī),當(dāng)有車輛進(jìn)出時(shí),司機(jī)持ic卡在讀卡機(jī)的感應(yīng)區(qū)(感應(yīng)距離1米內(nèi))前輕晃一上,瞬間完成該卡工作,并將卡上信息傳至服務(wù)器,判斷該卡的合法性與有效性,由門(mén)衛(wèi)對(duì)車輛牌號(hào)進(jìn)行對(duì)照核實(shí),如該卡為合法的,且與車輛牌號(hào)相符,門(mén)衛(wèi)進(jìn)行手動(dòng)開(kāi)啟道閘放行車輛,車輛通過(guò)后由門(mén)衛(wèi)關(guān)閉道閘,否則,道閘不予開(kāi)啟,駕駛員需與門(mén)衛(wèi)協(xié)商處理。 如果是臨時(shí)來(lái)訪的車輛,駕駛員進(jìn)入小區(qū)大門(mén)前,在入口處領(lǐng)取臨時(shí)卡,車主取卡后,在讀卡機(jī)的感應(yīng)區(qū)(感應(yīng)距離1米內(nèi))晃一下,瞬間完成讀卡工作,并將卡上信息傳至服務(wù)器

2、,門(mén)衛(wèi)開(kāi)啟道閘。車輛離開(kāi)后,道閘關(guān)閉。 門(mén)口處車輛出入管理節(jié)控制模塊將車主持有的ic卡上的信息上傳給管理中已的車輛出入管理系統(tǒng)主機(jī),主機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行分析、存儲(chǔ),以備后查,做到對(duì)進(jìn)出車輛的實(shí)時(shí)監(jiān)控。 1. 軟件功能 車輛管理系統(tǒng)對(duì)控制器、大門(mén)、出入方式等參數(shù)進(jìn)行設(shè)置。 控制器驗(yàn)證進(jìn)出小區(qū)車輛的駕駛員所持ic卡的有效性。 車輛管理系統(tǒng)計(jì)算機(jī)與車輛出入控制器進(jìn)行通訊,接收車輛出入控制器發(fā)出的車輛出入信息。 車輛管理系統(tǒng)對(duì)接收到的數(shù)據(jù)進(jìn)行分析、存儲(chǔ),并顯示車主名、車輛類型、牌號(hào)、出入類型和進(jìn)出時(shí)間等。 住戶車輛的管理、查詢。 ic卡的管理(發(fā)卡、登記、掛失、恢復(fù))、查詢。2. 智能卡的分類智能卡

3、一般可分為接觸式、非接觸式。接觸式智能卡讀卡器必須要有插卡槽和觸點(diǎn)。以供卡片插入接觸電源,有使用壽命短,系統(tǒng)難以維護(hù),基礎(chǔ)設(shè)施投入大等缺點(diǎn),但發(fā)展較早。 非接觸式智能卡又稱射頻卡,是近幾年發(fā)展起來(lái)的新技術(shù)。它成功地將射頻識(shí)別技術(shù)和ic卡技術(shù)結(jié)合起來(lái),將具有微處理器的集成電路芯片和天線封裝于塑料基片之中。讀寫(xiě)器采用兆頻段及磁感應(yīng)技術(shù),通過(guò)無(wú)線方式對(duì)卡片中的信息進(jìn)行讀寫(xiě)并采用高速率的半雙工通信協(xié)議。其優(yōu)點(diǎn)是使用壽命長(zhǎng),應(yīng)用范圍廣,操作方便、快捷,但也存在成本高,讀寫(xiě)設(shè)備復(fù)雜,易受電磁干擾等缺點(diǎn)。目前,非接觸式卡片的有效讀取距離一般為100200mm, 最遠(yuǎn)讀取距離可達(dá)數(shù)米(應(yīng)用在停車場(chǎng)管理系統(tǒng))。

4、 另外目前在國(guó)內(nèi)、外市場(chǎng)上,出現(xiàn)了一種在ic卡基礎(chǔ)上發(fā)展起來(lái)的高科技產(chǎn)品tm卡。該卡可以安全、可靠地使用十年以上,采用單總線通信,不需要讀寫(xiě)設(shè)備輸出電能,與讀寫(xiě)設(shè)備的連接只有外殼的兩極,具有較好的校驗(yàn)、容錯(cuò)、高速數(shù)據(jù)傳輸、保密、數(shù)據(jù)存儲(chǔ)功能。tm卡有效克服了接觸式和非接觸式ic卡易于損壞、鎖卡、讀寫(xiě)設(shè)備復(fù)雜,易受干擾和環(huán)境影響等缺點(diǎn)。除具有上述卡的共同優(yōu)點(diǎn)外,還具有可靠性更高,使用壽命更長(zhǎng),設(shè)備投資更小,維護(hù)方便,環(huán)境適應(yīng)能力強(qiáng)等突出特點(diǎn)。第一章 概述1.1 mcs-51單片機(jī)的特點(diǎn)單片機(jī)(microcontroller, 又稱微控制器)是在一塊硅片上集成了各種部件的微型計(jì)算機(jī)。這些部件包括中

5、央處理器cpu、數(shù)據(jù)存儲(chǔ)器ram、程序存儲(chǔ)器rom、定時(shí)器/計(jì)數(shù)器和多種i/o接口電路。8051單片機(jī)的基本結(jié)構(gòu)見(jiàn)圖1.1。cpuromram定時(shí)器/計(jì)數(shù)器時(shí)鐘電路并行接口串行接口中斷系統(tǒng)圖1.1 8051單片機(jī)的基本結(jié)構(gòu)8051是mcs-51系列單片機(jī)的一個(gè)產(chǎn)品。mcs51系列單片機(jī)是intel公司推出的通用型單片機(jī)。它的基本型產(chǎn)品是8051,8031和8751。這三個(gè)產(chǎn)品只是片內(nèi)程序存儲(chǔ)器的制造工藝不同。8051的片內(nèi)程序存儲(chǔ)器rom為掩飾膜型的,在制造芯片時(shí)已將應(yīng)用程序固化進(jìn)去,使它具有了某種專用功能;8031片內(nèi)無(wú)rom,使用時(shí)需外接rom;8751的片內(nèi)rom是eprom型的,固化的

6、應(yīng)用程序可以方便地改寫(xiě)。以上三個(gè)器件是hmos工藝的。此外還有低功耗基本型的cmos工藝器件80c51,80c31和87c51等,分別與上述器件兼容。cmos具有低功耗的特點(diǎn),如8051功耗約為630mw,而80c31的功耗只有120mw。除片內(nèi)rom類型不同外,8051,8031和8751的其他性能完全相同,其結(jié)構(gòu)特點(diǎn)如下:8位cpu;片內(nèi)振蕩器及時(shí)鐘電路;32根i/o線;外部存儲(chǔ)器rom和ram尋址范圍各64kb;2個(gè)16位的定時(shí)器/計(jì)數(shù)器;5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí);全雙工串行口;布爾處理器。mcs-51系列單片機(jī)已有十多個(gè)產(chǎn)品,其性能如表1-1所列。rom形式片內(nèi)rom/kb片內(nèi)ram

7、/字節(jié)尋址范圍/kbi/o中斷源片內(nèi)rom片內(nèi)eprom外接eprom計(jì)數(shù)器并行口串行口80518751803141282*642*164*81580c5187c5180c3141282*642*164*81580528752803282562*643*164*81680c25287c25280c23282562*643*164*817表1-1 mcs-51系列單片機(jī)性能表表1-1中列出了四組性能上略有差異的單片機(jī)。前兩組屬于同一規(guī)格,都稱為51系列。后兩組為52系列,性能要高于51系列。除了存儲(chǔ)器配置等差別外,8052片內(nèi)rom中還掩膜了basic解釋程序,因而可以直接使用basic程序。此

8、外,87c51和87c52還具有兩極程序保密系統(tǒng)。8051單片機(jī)系列指的是mcs-51系列和其他公司的8051派生產(chǎn)品。這些派生產(chǎn)品是在基本型上增強(qiáng)了各種功能的產(chǎn)品,如高級(jí)語(yǔ)言型、flash型、eeprom、a/d型、dma型、多并行口型、專用接口型和雙控制器串行通信型等。目前這些增強(qiáng)型的8051系列產(chǎn)品都基于cmos工藝,故又稱為8051系列。它們給8位單片機(jī)注入了新的活力,為它的開(kāi)發(fā)應(yīng)用開(kāi)拓了更廣泛的前景。1.2 mcs-51單片機(jī)內(nèi)部結(jié)構(gòu)圖1.2是mcs-51單片機(jī)內(nèi)結(jié)構(gòu)的總框圖。它可以劃分為cpu、存儲(chǔ)器、并行口、串行口、定時(shí)器/計(jì)數(shù)器和中斷邏輯幾部分??刂浦袛?、定時(shí)、串行口特殊功能寄

9、存器pcromi/o口鎖存/驅(qū)動(dòng)器dptrram定 指時(shí) 令與 寄控 存制 器tmpaluaccacc工作寄存器pswsp圖1.2 8051單片機(jī)的內(nèi)部結(jié)構(gòu)框圖1. 中央處理器mcs-51單片機(jī)的中央處理器由運(yùn)算器和控制邏輯組成。同時(shí)還包括中斷系統(tǒng)與部分特殊功能寄存器。2. 存儲(chǔ)器對(duì)8031而言,只有數(shù)據(jù)存儲(chǔ)器ram,而無(wú)rom/eprom部分。8051/8751單片機(jī)中含有程序存儲(chǔ)器rom/eprom。3. i/o端口mcs-51單片機(jī)有4個(gè)并行i/o端口(p0、p1、p2、p3),配置了全雙工串行uart,2個(gè)16位定時(shí)器/計(jì)時(shí)器(mcs-52子系列為3個(gè))。mcs-51內(nèi)部各個(gè)部件都是通

10、過(guò)內(nèi)部單一總線連接,其基本結(jié)構(gòu)仍采用cpu加外圍芯片的結(jié)構(gòu)模式,但在功能單元控制上卻有了重大變化,采用特殊功能寄存器集中控制的方法,為用戶編程提供了極大的方便。1.3 mcs-51單片機(jī)的引腳功能 mcs-51系列單片機(jī)大多數(shù)都為40條引腳雙列直插式器件,采用chmos工藝制造的80c51/80c31除上述封裝形式外,還有方形封裝形式。圖1.3是40引腳的配置圖。引腳除+5v(vcc40腳)和電源地(vss20腳)外,按其功能主要由以下三大部分組成。圖1.3 mcs51引腳配置1.3.1 時(shí)鐘電路xtal1(19腳)芯片內(nèi)部振蕩電路(單級(jí)反相放大器)輸入端。xtal2(18腳)芯片內(nèi)部振蕩電路

11、(單級(jí)反相放大器)輸出端。mcs-51的時(shí)鐘可由內(nèi)部方式或外部方式產(chǎn)生。1. 內(nèi)時(shí)鐘方式利用芯片內(nèi)部振蕩電路,在xtal1、xtal2的引腳上外接定時(shí)元件,內(nèi)部振蕩器便能產(chǎn)生自激振蕩,用示波器可以觀察到xtal2輸出的正弦波,定時(shí)元件可以采用石英晶體和電容組成的并聯(lián)諧振電路,晶體可以在1.2mhz12mhz之間任選,電容可以在20pf60pf之間選擇,通常為30pf左右,電容c1和c2的大小對(duì)振蕩頻率有微小影響,可起頻率微調(diào)作用。在設(shè)計(jì)印制版時(shí),晶體應(yīng)盡可能與單片機(jī)芯片靠近,以減少寄生電容,保證振蕩器的可靠工作,一般采用瓷片電容。2. 外時(shí)鐘方式 xtal1接地,xtal2接外部振蕩器,對(duì)外部

12、振蕩信號(hào)無(wú)特殊要求。由于xtal2端的電平不是ttl電平,故應(yīng)接一上拉電阻。外部振蕩器應(yīng)提供頻率低于12mhz的方波信號(hào)。1.3.2 控制信號(hào)1. rst/vpd(9腳)復(fù)位信號(hào)時(shí)鐘電路工作后,在此引腳上出現(xiàn)兩個(gè)周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)寄存器狀態(tài)如表1-2所示。p0口p3口輸出高電平,初值07h寫(xiě)入堆棧sp,清零程序計(jì)數(shù)器pc和其余特殊功能寄存器。但初始復(fù)位不影響片內(nèi)ram狀態(tài),只要該引腳保持高電平,mcs-51將循環(huán)復(fù)位。rst/vpd從高電平變成低電平時(shí),單片機(jī)將從程序存儲(chǔ)器的0號(hào)地址單元開(kāi)始執(zhí)行程序。另外該引腳還具有復(fù)用功能。將vpd接+5v備用電源,一旦vcc電位

13、突然下降或斷電,能保護(hù)片內(nèi)ram中的信息不會(huì)丟失,復(fù)電后能正常工作。寄存器 內(nèi)容 寄存器 內(nèi)容pc 0000h tmod 00hacc 00h tcon 00hb 00h th0 00hpsw 00h tl0 00hsp 07h th1 00hdptr 0000h tl1 00hp0p3 0ffh scon 00hip xxx00000 sbuf 不定ie 0xx00000 pcon 0xxx0000 表1-2 復(fù)位后內(nèi)部寄存器狀態(tài)mcs-51通常采用上電自動(dòng)復(fù)位和開(kāi)關(guān)復(fù)位兩種方式。上電自動(dòng)復(fù)位在通電瞬間,電容兩端電壓不能突變,reset保持高電平,隨之+5v給電容充電,reset端逐漸降為低

14、電平。reset端從上電開(kāi)始得到一個(gè)完整正脈沖,只要該脈沖能夠保持10ms以上,mcs-51單片機(jī)就能有效復(fù)位,從而實(shí)現(xiàn)上電自動(dòng)復(fù)位。在開(kāi)關(guān)復(fù)位時(shí),只要按下手動(dòng)按鈕,reset端即獲得高電平信號(hào),復(fù)位有效。2. ale/prog(30腳) 地址鎖存信號(hào) 當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),p0口輸出的低8位地址由ale輸出的控制信號(hào)鎖存到片外地址鎖存器,p0口輸出地址低8位后,又能與片外鎖存器傳送信息。換言之,由于p0口做地址/數(shù)據(jù)復(fù)用口,因而p0上的信息究竟是地址還是數(shù)據(jù)完全由ale來(lái)定義。ale高電平期間,p0口上一般出現(xiàn)地址信息,在ale下降沿時(shí),將p0口上地址信息鎖存到片外存儲(chǔ)器;在ale低電平期間p

15、0口上一般出現(xiàn)指令和數(shù)據(jù)信息。平時(shí)不訪問(wèn)片外存儲(chǔ)器時(shí),該端也以1/6的時(shí)鐘頻率固定輸出正脈沖,因而也可做系統(tǒng)中其他芯片的時(shí)鐘源。ale可驅(qū)動(dòng)8個(gè)ttl門(mén)。3. psen(29腳) 片外程序存儲(chǔ)器讀選通psen低電平有效,8051訪問(wèn)片外程序存儲(chǔ)器時(shí),程序計(jì)數(shù)器pc通過(guò)p2口和p0口輸出16位指令地址,psen作為程序存儲(chǔ)器讀信號(hào),輸出負(fù)脈沖將相應(yīng)存儲(chǔ)單元的指令讀出并送到p0口上,供8051執(zhí)行。psen同樣可驅(qū)動(dòng)8個(gè)ttl門(mén)輸入。4. ea/vpp (31腳) 內(nèi)部和外部程序存儲(chǔ)器選擇信號(hào)對(duì)于8051和8751來(lái)說(shuō),內(nèi)部有4kb的程序存儲(chǔ)器,當(dāng)ea為高時(shí),cpu訪問(wèn)程序存儲(chǔ)器有兩種情況:地址小

16、于4k時(shí)訪問(wèn)內(nèi)部存儲(chǔ)器。地址大于4k時(shí)訪問(wèn)外部存儲(chǔ)器。若ea接地,則不使用內(nèi)部程序存儲(chǔ)器,不管地址大小,取指令時(shí)總是訪問(wèn)外部程序存儲(chǔ)器。由此可見(jiàn),8031單片機(jī)(無(wú)內(nèi)部rom型)的ea必須接地。對(duì)于eprom型的單片機(jī),在eprom編程時(shí),此引腳用于施加21v編程電壓vpp。1.3.3 i/o端口mcs-51單片機(jī)有4個(gè)8位i/o端口p0p3:p0口為三態(tài)雙向口,負(fù)載能力為8個(gè)lstt門(mén)電路;p1p3為準(zhǔn)雙向口,負(fù)載能力為4個(gè)lsttl門(mén)電路。1. p0口 (p0.0p0.7,3932腳)為三態(tài)雙向口p0口位結(jié)構(gòu)包括1個(gè)輸出鎖存器,2個(gè)三態(tài)緩沖器,1個(gè)輸出驅(qū)動(dòng)電路和1個(gè)輸出控制端。輸出驅(qū)動(dòng)電路

17、由一對(duì)場(chǎng)效應(yīng)管組成,其工作狀態(tài)受輸出控制端的控制,輸出控制端由一個(gè)與門(mén)、1個(gè)反相器和1個(gè)轉(zhuǎn)換開(kāi)關(guān)mux組成。對(duì)8051/8751來(lái)講,p0口既可作地址/數(shù)據(jù)總線使用,又可作通用i/o端口使用。(1) p0口作地址/數(shù)據(jù)復(fù)用總線使用若從p0口輸出地址或數(shù)據(jù)信息,此時(shí)控制端應(yīng)為高電平,轉(zhuǎn)換開(kāi)關(guān)mux反相器輸出端與輸出級(jí)t1管接通,同時(shí)與門(mén)開(kāi)鎖,內(nèi)部總線上的地址或數(shù)據(jù)信號(hào)通過(guò)與門(mén)去驅(qū)動(dòng)t0管,又通過(guò)反相器去驅(qū)動(dòng)t1管,這時(shí)內(nèi)部總線上的地址或數(shù)據(jù)信號(hào)就傳送到p0口的引腳上;從p0口輸入指令或數(shù)據(jù)時(shí),引腳信號(hào)應(yīng)從輸入三態(tài)緩沖器進(jìn)入內(nèi)部總線。對(duì)8031單片機(jī)來(lái)講,p0口只能作地址/數(shù)據(jù)復(fù)用總線用,不再把它

18、當(dāng)作通用i/o端口使用,它驅(qū)動(dòng)8個(gè)lsttl門(mén)電路。(2) p0口作通用i/o端口使用對(duì)于有內(nèi)部rom的單片機(jī),p0口也可以作通用i/o端口,此時(shí)控制端為低電平,轉(zhuǎn)換開(kāi)關(guān)把輸出級(jí)與鎖存器的q端接通,同時(shí)因與門(mén)輸出為低電平,輸出級(jí)t0管處于截止?fàn)顟B(tài),輸出級(jí)為漏級(jí)開(kāi)路電路,在驅(qū)動(dòng)nmos電路時(shí)應(yīng)外接上拉電阻;作輸入口用時(shí),應(yīng)先將鎖存器寫(xiě)“1”,這時(shí)輸出級(jí)兩個(gè)場(chǎng)效應(yīng)管均截止,可作高阻抗輸入,通過(guò)三態(tài)輸入緩沖器讀取引腳信號(hào),從而完成輸入操作。(3) p0口線上的“讀修改寫(xiě)”功能 一個(gè)三態(tài)緩沖器是為了讀取鎖存器q端的數(shù)據(jù)。q端與引腳的數(shù)據(jù)是一致的。結(jié)構(gòu)上這樣安排是為了滿足“讀修改寫(xiě)”指令的需要,這類指令

19、的特點(diǎn)是:先讀口鎖存器,隨之可能對(duì)讀入的數(shù)據(jù)進(jìn)行修改再寫(xiě)入到端口上。例如:anl p0、a;orl p0、a;xrl p0、a;。 這類指令同樣適用于p1p3口,其操作是:先將口字節(jié)的全部8位數(shù)讀入,再通過(guò)指令修改某些位,然后將新的數(shù)據(jù)寫(xiě)回到口鎖存器中。2. p1口(p1.0p1.7,18腳) 準(zhǔn)雙向口(1)p1口是一個(gè)有內(nèi)部上拉電阻的準(zhǔn)雙向口,p1口的每一位口線能獨(dú)立用作輸入線或輸出線。作輸出時(shí),如將“0”寫(xiě)入鎖存器,場(chǎng)效應(yīng)管導(dǎo)通,輸出線為低電平,即輸出為“0”。因此在作輸入時(shí),必須先將“1”寫(xiě)入口鎖存器,使場(chǎng)效應(yīng)管截止。該口線由內(nèi)部上拉電阻提拉成高電平,同時(shí)也能被外部輸入源拉成低電平,既當(dāng)

20、外部輸入“1”時(shí)該口線為高電平,而輸入“0”時(shí),該口線為低電平。p1口作輸入時(shí),可被任何ttl電路和mos電路驅(qū)動(dòng),由于內(nèi)部上拉電阻,也可以直接被集電極開(kāi)路和漏級(jí)開(kāi)路電路驅(qū)動(dòng),不必外加上拉電阻。p1口可驅(qū)動(dòng)4個(gè)lsttl門(mén)電路。(2)p1口其他功能p1口在eprom編程和驗(yàn)證程序時(shí),它輸入低8位地址;在8032/8052系列中p1.0和p1.1是多功能的,p1.0可作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)觸發(fā)輸入端t2,p1.1可作定時(shí)器/計(jì)數(shù)器2的外部控制輸入端t2ex。3. p2口(p2.0p2.7,2128腳) 準(zhǔn)雙向口(1)p2口作通用i/o端口使用當(dāng)p2口作通用i/o端口使用時(shí),是一個(gè)準(zhǔn)雙向口,

21、此時(shí)轉(zhuǎn)換開(kāi)關(guān)mux 倒向左邊,輸出級(jí)與鎖存器接通,引腳可接i/o設(shè)備,其輸入輸出操作與p1口完全相同。 (2)p2口作地址總線口使用當(dāng)系統(tǒng)中接有外部存儲(chǔ)器時(shí),p2口用于輸出高8位地址a15a8。這時(shí)在cpu的控制下,轉(zhuǎn)換開(kāi)關(guān)mux倒向右邊,接通內(nèi)部地址總線。p2口的口線狀態(tài)取決于片內(nèi)輸出的地址信息,這些地址信息來(lái)源于pch、dph等。在外接程序存儲(chǔ)器的系統(tǒng)中,由于訪問(wèn)外部存儲(chǔ)器的操作連續(xù)不斷,p2口不斷送出地址高8位。例如,在8031構(gòu)成的系統(tǒng)中,p2口一般只作地址總線使用,不再作i/o端口直接連外部設(shè)備。在不接外部程序存儲(chǔ)器而接有外部數(shù)據(jù)存儲(chǔ)器的系統(tǒng)中,情況有所不同。若外接數(shù)據(jù)存儲(chǔ)器容量為2

22、56kb,則可使用movx ri指令由p0口送出8位地址,p2口上引腳的信號(hào)在整個(gè)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器期間也不會(huì)改變,故p2口仍可作通用i/o端口使用。若外接存儲(chǔ)器容量較大,則需用 movx dptr類指令由p0口和p2口送出16位地址。在讀寫(xiě)周期內(nèi),p2口引腳上將保持地址信息,但從結(jié)構(gòu)可知,輸出地址時(shí),并要求p2口鎖存器鎖存“1”,鎖存器內(nèi)容也不會(huì)在送地址信息時(shí)改變。故訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器周期結(jié)束后,p2口鎖存器的內(nèi)容又會(huì)重新出現(xiàn)在引腳上。這樣,根據(jù)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的頻繁程度,p2口仍可在一定限度內(nèi)作一般i/o端口使用。p2口可驅(qū)動(dòng)4個(gè)lsttl門(mén)電路。4. p3口(p3.0p3.7,1017

23、腳)雙功能口(1) p3口作第一功能口(通用i/o端口)使用p3口作通用i/o端口使用時(shí),輸出功能控制線為高電平,與非門(mén)的輸出取決于鎖存器的狀態(tài),此時(shí)鎖存器q端的狀態(tài)與其引腳狀態(tài)是一致的。在這種情況下,p3口的結(jié)構(gòu)和操作與p1口相同。(2) p3口作第二功能口使用p3口的第二功能實(shí)際上就是系統(tǒng)具有控制功能的控制線。此時(shí)相應(yīng)的口線鎖存器必須為“1”狀態(tài),與非門(mén)的輸出由第二功能輸出線的狀態(tài)確定,從而p3口線的狀態(tài)取決于第二功能輸出線的電平。在p3口的引腳信號(hào)輸入通道中有2個(gè)三態(tài)緩沖器,第二功能的輸入信號(hào)取自第一個(gè)緩沖器的輸出端,第二個(gè)緩沖器仍是第一功能的讀引腳信號(hào)緩沖器。p3口可驅(qū)動(dòng)4個(gè)lsttl

24、門(mén)電路,p3口的第二功能定義如表1-3所示??诰€ 第二功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0輸入)p3.3 /int1(外部中斷1輸入)p3.4 t0(外部計(jì)數(shù)器0觸發(fā)輸入)p3.5 t1(外部計(jì)數(shù)器1觸發(fā)輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)表1-3 p3口第二功能定義1.3.4 mcs-51單片機(jī)管腳的應(yīng)用特性1. 端口的負(fù)載能力和接口要求綜上所述,p0口的輸出級(jí)與p1p3口的輸出級(jí)在結(jié)構(gòu)上是不同的,因此他們的負(fù)載能力與接口要求不同。p0口的每個(gè)位口線可驅(qū)動(dòng)8個(gè)lsttl門(mén)輸入,當(dāng)把它

25、當(dāng)作通用i/o端口使用時(shí),輸出級(jí)是漏級(jí)開(kāi)路,故用它去驅(qū)動(dòng)nmos輸入時(shí)需外接上拉電阻;把它當(dāng)作地址/數(shù)據(jù)總線口使用時(shí),它為三態(tài)雙向口,無(wú)需外界再加上拉電阻。p1p3口輸出級(jí)接有內(nèi)部上拉電阻,它的每個(gè)位口線可驅(qū)動(dòng)4個(gè)lsttl門(mén)輸入,輸入端都可以被集電極開(kāi)路或漏級(jí)開(kāi)路電路所驅(qū)動(dòng),無(wú)需再外接上拉電阻。chmos端口只提供幾毫安輸出電流,故當(dāng)作為輸出去驅(qū)動(dòng)一個(gè)普通晶體管的基級(jí)時(shí),應(yīng)在端口與晶體管基級(jí)之間串一個(gè)電阻,以限制高電平輸出時(shí)的電流。2. 系統(tǒng)擴(kuò)展邏輯設(shè)計(jì)的三總線結(jié)構(gòu)mcs-51系統(tǒng)構(gòu)成仍采用傳統(tǒng)微機(jī)系統(tǒng)所采用的三總線結(jié)構(gòu),以方便實(shí)現(xiàn)系統(tǒng)擴(kuò)展的邏輯設(shè)計(jì)。(1) 地址總線a0a15(16位)mc

26、s-51系統(tǒng)允許用戶擴(kuò)展64kb外部程序存儲(chǔ)器和64kb外部數(shù)據(jù)存儲(chǔ)器,故系統(tǒng)必須提供16位地址線。p0口作為地址/數(shù)據(jù)復(fù)用口,在訪問(wèn)外部存儲(chǔ)器時(shí),由地址鎖存信號(hào)ale的下降沿把p0.0p0.7端口上的低8位地址信號(hào)鎖存到地址鎖存器中,成為系統(tǒng)地址線的a0a7;p2口在系統(tǒng)訪問(wèn)外部存儲(chǔ)器時(shí)由p2.0p2.7送出系統(tǒng)地址的高8位a8a15,從而構(gòu)成系統(tǒng)的16位地址總線。(2) 數(shù)據(jù)總線d0d7(8位) p0口作為系統(tǒng)地址/數(shù)據(jù)復(fù)用口,在訪問(wèn)外部程序存儲(chǔ)器期間,即在取指周期中程序存儲(chǔ)器選通psen信號(hào)有效時(shí),p0口作為數(shù)據(jù)總線將出現(xiàn)指令信號(hào);在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器期間,當(dāng)讀rd信號(hào)和寫(xiě)wr信號(hào)有效時(shí)

27、,p0口上將出現(xiàn)數(shù)據(jù)信號(hào);此時(shí)p0.0p0.7就是系統(tǒng)數(shù)據(jù)總線上的數(shù)據(jù)信息d0d7。(3) 控制總線(12位)系統(tǒng)控制總線共12根,即p3口的第二功能狀態(tài)加上控制線reset、ea、ale和psen。1.4 mcs-51的存儲(chǔ)器組織一般微型計(jì)算機(jī)通常只有一個(gè)邏輯空間,在存儲(chǔ)器的設(shè)計(jì)上,程序存儲(chǔ)器rom、數(shù)據(jù)存儲(chǔ)器ram都要統(tǒng)一編址,即一個(gè)存儲(chǔ)器地址對(duì)應(yīng)一個(gè)唯一的存儲(chǔ)單元。在存儲(chǔ)單元的設(shè)計(jì)上,單片機(jī)的共同特點(diǎn)是將程序存儲(chǔ)器rom和數(shù)據(jù)存儲(chǔ)器ram分開(kāi),他們有各自的尋址機(jī)構(gòu)和尋址方式。mcs-51單片機(jī),它片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,同時(shí)還具有強(qiáng)大的外部存儲(chǔ)器擴(kuò)展能力。mcs-51

28、從物理上可分為4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器和片外擴(kuò)展的程序存儲(chǔ)器,片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外擴(kuò)展的數(shù)據(jù)存儲(chǔ)器。從邏輯上,即從用戶使用角度去分,mcs-51可分為3個(gè)邏輯空間:片內(nèi)外統(tǒng)一編址的64kb程序存儲(chǔ)器地址空間:256b(mcs-51子系列)或384b(mcs-52子系列)的片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間;以及64kb外部數(shù)據(jù)存儲(chǔ)器地址空間。用戶要采用不同的指令形式和尋址方式,訪問(wèn)這3個(gè)不同的邏輯空間。1.4.1 mcs-51程序存儲(chǔ)器程序存儲(chǔ)器是以程序計(jì)數(shù)器pc作地址指針,mcs-51的程序計(jì)數(shù)器pc是16位的,因此尋址的地址空間為64kb。1. mcs-51內(nèi)部程序存儲(chǔ)器8051/8751內(nèi)部有4

29、kbrom/eprom程序存儲(chǔ)器,地址為0000h0fffh。對(duì)于有內(nèi)部rom的單片機(jī),應(yīng)把控制線ea接成高電平。正常運(yùn)行時(shí),使程序從內(nèi)部rom開(kāi)始運(yùn)行,當(dāng)pc值超過(guò)0fffh時(shí),自動(dòng)轉(zhuǎn)到外部擴(kuò)展的存儲(chǔ)區(qū)1000hffffh地址空間去執(zhí)行程序。若把ea接成低電平,可用于調(diào)試狀態(tài),把調(diào)試程序放置在與內(nèi)部rom空間重疊的外部存儲(chǔ)器內(nèi)。2. 外部程序存儲(chǔ)器8031/8032/80c32片內(nèi)無(wú)rom,可擴(kuò)展64kb外部程序存儲(chǔ)器。對(duì)于這種芯片,其引腳控制線ea應(yīng)接成低電平,迫使pc從外部程序存儲(chǔ)器取指令。此時(shí),指令地址由pc送出,并在外部程序存儲(chǔ)器讀選通psen有效時(shí),從外部rom中取出指令并執(zhí)行子。

30、程序存儲(chǔ)器可采用立即尋址和基址+變址尋址方式。64kb程序存儲(chǔ)器中有7個(gè)地址具有特殊功能,mcs-51復(fù)位后,(pc)=0000h,故系統(tǒng)程序必須從0000h單元開(kāi)始,因而0000h是復(fù)位入口地址,也叫做系統(tǒng)程序的啟動(dòng)地址。一般在該單元中存放一條絕對(duì)跳轉(zhuǎn)指令,跳轉(zhuǎn)地址通常放在初始化程序及主程序中。除0000h單元外,其他6個(gè)特殊單元分別對(duì)應(yīng)6種中斷入口地址,如表1-4所示。通常在這些入口地址都安放一條絕對(duì)跳轉(zhuǎn)指令,跳轉(zhuǎn)到相應(yīng)中斷服務(wù)程序入口去執(zhí)行中斷服務(wù)程序。中斷源 入口地址外部中斷0 0003h定時(shí)器0溢出 000bh外部中斷1 0013h定時(shí)器1溢出 001bh串行口 0023h*定時(shí)器2

31、溢出或t2ex(p1.1)端負(fù)跳 002bh 表1-4 各種中斷服務(wù)子程序入口地址1.4.2 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器分為片內(nèi)和片外兩種,二者無(wú)論在物理上和邏輯上,其地址空間都是彼此獨(dú)立的。片內(nèi)數(shù)據(jù)存儲(chǔ)器地址范圍為00hffh,片內(nèi)數(shù)據(jù)存儲(chǔ)器地址空間為0000hffffh。訪問(wèn)片內(nèi)ram用“mov”指令:訪問(wèn)片外ram用“movx”指令。片內(nèi)數(shù)據(jù)存儲(chǔ)器在物理上可劃分為3個(gè)不同的塊:00h7fh(0127)單元組成的128bram塊,80hffh(128255)單元組成的128bram塊,128b專用特殊功能寄存器(sfr)塊在mcs-51子系列中,只有128b ram塊(地址為00h7fh)和12

32、8b特殊功能寄存器塊(地址為80hffh),這兩塊地址空間是相連的。在mcs-52子系列中,有256個(gè)ram單元,高128b ram塊與sfr塊的地址是重疊的,都是80hffh,究竟訪問(wèn)哪一塊是通過(guò)不同的尋址方式來(lái)區(qū)分的。訪問(wèn)高128b ram采用寄存器間接尋址,訪問(wèn)sfr塊時(shí)只能采用直接尋址方式。訪問(wèn)低128b ram時(shí),則兩種尋址方式都可以采用。值得注意的是在128b sfr 塊中僅有26個(gè)字節(jié)是有定義的,若訪問(wèn)這一塊中一個(gè)無(wú)定義的單元,則將得到一個(gè)不確定的隨機(jī)數(shù)。1. 內(nèi)部ram區(qū)在mcs-51片內(nèi)真正可作數(shù)據(jù)存儲(chǔ)器用的只有128個(gè)ram單元,地址為00h7fh。它們可劃分為三個(gè)區(qū)域:工

33、作寄存器區(qū),位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。2. 通用寄存器組由32個(gè)ram單元組成,地址為00h1fh。共4個(gè)區(qū),每區(qū)由8個(gè)通用工作寄存器r0r7組成。工作寄存器區(qū)域的選擇有程序狀態(tài)字psw中的rs1和rs0確定,他們可用位操作指令直接修改,從而選擇不同的工作寄存器區(qū),如表1-5所示工作寄存器區(qū) 工作寄存器選擇位 工作寄存器所占當(dāng)前ram地址 psw.4 psw.3 r0r7 (rs1) (rs0) 0區(qū) 0 0 00h07h 1區(qū) 0 1 08h0fh2區(qū) 1 0 10h17h3區(qū) 1 1 18h1fh 表1-5 工作寄存器選擇4個(gè)通用寄存器區(qū)給軟件設(shè)計(jì)帶來(lái)極大方便,在實(shí)現(xiàn)中斷嵌套時(shí)可靈活選擇不同工

34、作寄存器區(qū)以方便實(shí)現(xiàn)現(xiàn)場(chǎng)保護(hù)。3. 位尋址區(qū)ram位尋址區(qū)是布爾處理機(jī)數(shù)據(jù)存儲(chǔ)器的主要部分,全部可以位尋址。其字節(jié)地址為20h2fh共16個(gè)ram單元,這些ram單元可按位操作(也可按字節(jié)操作)。這16個(gè)字節(jié)有128位,其位地址為00h7fh,另外,在sfr塊中有12個(gè)專用寄存器的字節(jié)地址能被8整除,這12個(gè)sfr的93位具有位尋址功能。這樣,位尋址區(qū)由128個(gè)ram位與93個(gè)sfr位組成,共221位可由布爾指令直接按位操作。4. 用戶ram區(qū)用戶ram區(qū)也稱為數(shù)據(jù)緩沖區(qū),地址為30h7fh,這些ram單元按字節(jié)尋址。由于8051單片機(jī)在復(fù)位時(shí),堆棧指針sp指向07h單元,故當(dāng)用戶使用堆棧時(shí),

35、應(yīng)該首先設(shè)置堆棧。用戶堆棧一般設(shè)在30h7fh范圍之內(nèi)。原則上棧深為128個(gè)字節(jié),即以不超過(guò)ram空間為限。對(duì)mcs-51子系列而言,實(shí)際堆??臻g比128字節(jié)小得多,sp設(shè)的越大,堆棧就越淺。1.4.3 專用寄存器(sfr)專用寄存器又稱為特殊功能寄存器。mcs-51片內(nèi)的i/o端口鎖存器、定時(shí)器/計(jì)數(shù)器,串行口數(shù)據(jù)緩沖器以及各種控制寄存器(除pc外),都以特殊功能寄存器的形式出現(xiàn),它們離散地分布在片內(nèi)80hffh地址空間范圍內(nèi)。mcs-51共有23個(gè)特殊功能寄存器,其中5個(gè)是雙字節(jié)寄存器。程序計(jì)數(shù)器pc在物理上是獨(dú)立的,其余22個(gè)寄存器都屬于片內(nèi)數(shù)據(jù)存儲(chǔ)器sfr塊,共占26個(gè)字節(jié)。片內(nèi)特殊功

36、能寄存器sfr能綜合地、實(shí)時(shí)地反映整個(gè)單片機(jī)內(nèi)部工作狀態(tài)及工作方式,因此,它們是極其重要的。對(duì)單片機(jī)用戶來(lái)說(shuō),掌握各個(gè)sfr的工作狀態(tài)及工作方式,對(duì)于對(duì)實(shí)現(xiàn)單片機(jī)系統(tǒng)的控制具有重要意義。這些特殊功能寄存器的標(biāo)志符、名稱和地址如表1-6所示。 標(biāo)志符 名稱 地址*acc 累加器 0e0h *b b寄存器 0f0h*psw 程序狀態(tài)字 0d0hsp 堆棧指針 81hdptr 數(shù)據(jù)指針 83h和82h*p0 口0 80h*p1 口1 90h*p2 口2 0a0h*p3 口3 0b0h*ip 中斷優(yōu)先級(jí)控制 0b8h*ie 允許中斷控制 0a8htmod 定時(shí)器/計(jì)數(shù)器方式控制 89h*tcon 定時(shí)

37、器/計(jì)數(shù)器控制 88h+*t2con 定時(shí)器/計(jì)數(shù)器2控制 0c8hth0 定時(shí)器/計(jì)數(shù)器0(高位字節(jié)) 8chtl0 定時(shí)器/計(jì)數(shù)器0(低位字節(jié)) 8ahth1 定時(shí)器/計(jì)數(shù)器1(高位字節(jié)) 8dhtl1 定時(shí)器/計(jì)數(shù)器1(低位字節(jié)) 8bh+th2 定時(shí)器/計(jì)數(shù)器2(高位字節(jié)) 0cdh+tl2 定時(shí)器/計(jì)數(shù)器2(低位字節(jié)) 0cch+rldh 定時(shí)器/計(jì)數(shù)器2自動(dòng)再裝載(高位字節(jié)) 0cbh+rldl 定時(shí)器/計(jì)數(shù)器2自動(dòng)再裝載(低位字節(jié)) 0cah+scon 串行控制 98hsbuf 串行數(shù)據(jù)緩沖器 99hpcon 電源控制 97h表1-6 專用寄存器(除pc外)1. 程序計(jì)數(shù)器pc程

38、序計(jì)數(shù)器pc用于存放下一條要執(zhí)行指令的地址,是一個(gè)16位專用寄存器,尋址范圍64kb,pc在物理結(jié)構(gòu)上是獨(dú)立的,不屬于特殊功能寄存器sfr塊。2. 累加器a累加器a是一個(gè)最常用的專用寄存器,系統(tǒng)運(yùn)轉(zhuǎn)時(shí)工作最頻繁,大部分單操作數(shù)指令的操作數(shù)取自累加器a,很多雙操作數(shù)指令的一個(gè)操作數(shù)取自a;加、減、乘、除算術(shù)運(yùn)算以及邏輯操作指令的結(jié)果都存放在累加器a或ab寄存器對(duì)中;輸入/輸出大多數(shù)指令都以累加器a為核心操作。指令系統(tǒng)中采用a作累加器的助記符。3. 寄存器b它是一個(gè)8位寄存器。一般用于乘除法指令,與累加器a配合使用。寄存器b存放第二操作數(shù),或者乘積的高位字節(jié)或除法的余數(shù)部分。在其他指令中,可作為中

39、間結(jié)果的暫存器使用,相當(dāng)于ram中的一個(gè)特殊單元。4. 程序狀態(tài)字psw程序狀態(tài)字是一個(gè)8位寄存器,用來(lái)存放程序的狀態(tài)信息,表征指令的執(zhí)行狀態(tài),供程序查詢和判別之用。其格式如下圖所示。msb lsbcyac p0rs1rs0ovxp下面說(shuō)明各位的含義。 (1)cy(psw.7):進(jìn)/借位標(biāo)志在執(zhí)行加/減法指令時(shí),如果操作結(jié)果的d7位有進(jìn)/借位,則cy置“1”,否則清“0”。在布爾處理機(jī)中被定義為布爾(位)累加器。(2)ac(psw.6):輔助進(jìn)位標(biāo)志或稱為半進(jìn)位,當(dāng)進(jìn)行加法操作而產(chǎn)生由低4位向高4位數(shù)進(jìn)位時(shí),ac將被硬件直“1”,否則被清“0”。ac被用于bcd碼加法調(diào)整。(3)f0(psw.

40、5):標(biāo)志0由用戶定義的一個(gè)狀態(tài)標(biāo)志??梢杂密浖?lái)使它置“1”或清“0”,也可以由軟件測(cè)試f0來(lái)控制程序流向。(4)rs1,rs0(psw.4,psw.3):工作寄存器區(qū)選擇控制位可由軟件來(lái)改變r(jià)s1和rs0的組合以確定當(dāng)前使用的工作寄存器區(qū)。(5)ov(psw.2):溢出標(biāo)志用于補(bǔ)碼運(yùn)算,以指示溢出狀態(tài)。(6)p:(psw.0)奇偶標(biāo)志每個(gè)指令周期都由硬件來(lái)置位或清“0”,以表示累加器a中植“1”的位數(shù)的奇偶性。若p=1,則a中“1”的位數(shù)為奇數(shù),否則p=0。該標(biāo)志對(duì)串行數(shù)據(jù)通信中的信息傳輸有重要意義。在串行數(shù)據(jù)通信中,常用奇偶校驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃?。在發(fā)送時(shí)可根據(jù)p值對(duì)數(shù)據(jù)的奇偶

41、位置位或清“0”。5. 堆棧指針sp它是一個(gè)8位寄存器,用來(lái)存放棧頂?shù)刂?。mcs-51堆棧設(shè)在內(nèi)部ram中,是一個(gè)按“先進(jìn)后出”順序受sp管理的存儲(chǔ)區(qū)域。在程序中斷、子程序調(diào)用等情況下,用于存放一些特殊信息。當(dāng)數(shù)據(jù)壓入堆棧時(shí),sp就自動(dòng)加“1”;當(dāng)數(shù)據(jù)從堆棧中彈出時(shí),sp就自動(dòng)減“1”。因而sp指針始終指向棧頂。mcs-51堆棧深度為128個(gè)字節(jié),系統(tǒng)復(fù)位時(shí)硬件使sp=07h。堆棧在內(nèi)部ram區(qū)中的位置可根據(jù)程序要求由對(duì)sp靈活編程來(lái)安排。6. 數(shù)據(jù)指針dptr是一個(gè)16位專用寄存器,其高字節(jié)寄存器用dph表示,低字節(jié)寄存器用dpl表示。既可作為16位寄存器(dptr)使用,又可作為兩個(gè)獨(dú)立的

42、8位寄存器(dph、dpl)來(lái)使用。dptr主要用來(lái)保存16位地址,當(dāng)對(duì)64kb外部數(shù)據(jù)存儲(chǔ)器ram空間尋址時(shí),作間址寄存器用,以指向外部數(shù)據(jù)存儲(chǔ)器地址。這時(shí)有兩條傳送指令movx a、dptr和movx dptr、a。該指針也可以用來(lái)訪問(wèn)程序存儲(chǔ)器內(nèi)的表格常數(shù)。 7. i/o端口p0p3專用寄存器p0、p1、p2和p3分別是i/o端口p0p3的鎖存器。8. 串行數(shù)據(jù)緩沖器sbuf串行數(shù)據(jù)緩沖器sbuf用于欲發(fā)送或已接收的數(shù)據(jù)。它由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,一個(gè)是接收緩沖器。當(dāng)要發(fā)送的數(shù)據(jù)傳送到sbuf時(shí),進(jìn)的是發(fā)送緩沖器;當(dāng)要從sbuf取數(shù)據(jù)時(shí),則取自接收緩沖器,取走的是剛剛接

43、收到的數(shù)據(jù)。9. 定時(shí)器/計(jì)數(shù)器mcs-51子系列中有2個(gè)16位定時(shí)器/計(jì)數(shù)器t0和t1,mcs-52子系列則增加了一個(gè)16位定時(shí)器/計(jì)數(shù)器t2。它們各由2個(gè)獨(dú)立的8位寄存器組成,共分為6個(gè)獨(dú)立的寄存器:th0、tl0、th1、tl1、th2和tl2??梢詫?duì)這6個(gè)寄存器尋址,但不可以把t0、t1和t2當(dāng)作一個(gè)16位寄存器來(lái)對(duì)待。10. 其他控制寄存器ip、ie、tmod、tcon、t2con、scon和pcon寄存器分別包括有系統(tǒng)中斷設(shè)定、定時(shí)器/計(jì)數(shù)器工作設(shè)定、串行口和供電方式的控制及狀態(tài)位等信息。第二章 mcs-51單片機(jī)系統(tǒng)擴(kuò)展及接口技術(shù) 雖然mcs-51單片機(jī)芯片內(nèi)部集成了計(jì)算機(jī)的基本

44、功能部件,但由于片內(nèi)rom、ram的容量、i/o端口和定時(shí)器/計(jì)數(shù)器數(shù)量等是有限的,在許多的實(shí)際應(yīng)用系統(tǒng)中,還需擴(kuò)展片外eprom、ram、i/o口以及定時(shí)器/計(jì)數(shù)器等,才能滿足實(shí)際需要。系統(tǒng)擴(kuò)展就是指單片機(jī)內(nèi)部各功能部件不能滿足應(yīng)用系統(tǒng)的要求,在片外連接相應(yīng)的外圍芯片,對(duì)mcs-51單片機(jī)的功能進(jìn)行擴(kuò)展以滿足應(yīng)用要求。本章將討論系統(tǒng)的擴(kuò)展方法以及接口技術(shù)。2.1 程序存儲(chǔ)器的擴(kuò)展單片機(jī)在原理設(shè)計(jì)上,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的地址空間是相互獨(dú)立的,擴(kuò)展用的程序存儲(chǔ)器芯片大多采用eprom,最大可擴(kuò)展到64k字節(jié),外部程序存儲(chǔ)器芯片與單片機(jī)的連接方法如下:1地址線 程序存儲(chǔ)器的低8位地址線(a0a

45、7)與p0口(p0.0p0.7)相連。程序存儲(chǔ)器的高8位地址線(a8a15)與p2口(p2.0p2.7)相連。 由于單片機(jī)的p0口分時(shí)輸出低8位地址和數(shù)據(jù),故必須外加地址鎖存器,并由cpu發(fā)出的地址鎖存允許信號(hào)ale的下降沿將地址信息鎖存到鎖存器中。單片機(jī)的p2口一般作為高位地址線及片選線,由于f2口輸出具有鎖存功能,故不必外加地址鎖存器。2數(shù)據(jù)線 程序存儲(chǔ)器的8位數(shù)據(jù)線與p0口(p0.0p0.7)從低到高對(duì)應(yīng)相連。3控制線 程序選通有效信號(hào)psen端與程序存儲(chǔ)器的輸出使能端oe相連。地址鎖存允許信號(hào)ale通常接至地址鎖存器的鎖存控制端g。 圖2.1為系統(tǒng)擴(kuò)展一片27256(32k字節(jié))的系統(tǒng)

46、。圖中地址鎖存器采用74hc573(三態(tài)輸出8d鎖存器),三態(tài)控制端oc接地,保證輸出常通,鎖存控制端c與ale相連。圖中27256的片選端ce接地,輸出使能端oe受psen的控制。該27256所占的地址空間為0000h7fffh。圖2.1 程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器的擴(kuò)展2.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展在mcs-51系列單片機(jī)中,片內(nèi)數(shù)據(jù)存儲(chǔ)器容量一般為128256字節(jié),當(dāng)數(shù)據(jù)量較大時(shí),就需在片外擴(kuò)展ram數(shù)據(jù)存儲(chǔ)器,擴(kuò)展容量最大可達(dá)64k字節(jié)。單片機(jī)與數(shù)據(jù)存儲(chǔ)器的連接方法和單片機(jī)與程序存儲(chǔ)器的連接方法大致一樣,即:地址線、數(shù)據(jù)線的連接與程序存儲(chǔ)器的連法一樣。控制線的連接為:存儲(chǔ)器讀允許信號(hào)oe與單片機(jī)

47、rd相連,存儲(chǔ)器寫(xiě)允許信號(hào)we與單片機(jī)wr相連,ale的連接與程序存儲(chǔ)器相同。以上看出,由于數(shù)據(jù)存儲(chǔ)器的讀和寫(xiě)由單片機(jī)的rd和wr控制,而程序存儲(chǔ)器的讀選通由岡冠n控制,故兩者雖共有同一地址空間,但由于控制信號(hào)不同,故不會(huì)發(fā)生總線沖突。 該數(shù)據(jù)存儲(chǔ)器采用的是628128,如圖2.1所示。它的片選是由16v8譯碼器所控制的,當(dāng)選中u51/cs1時(shí),628128這個(gè)片子被選中,開(kāi)始正常工作。它的尋址范圍是128k,aa16,aa15由80c31的p1.0和p1.1引腳所決定的,尋址范圍如表2-1所示:aa16(引腳p1.1)aa15(引腳p1.0)尋址范圍0064k01 64k1064k1164k

48、表2-1 引腳尋址范圍 2.3 i/o口的擴(kuò)展一、 概述在mcs-51應(yīng)用系統(tǒng)中,單片機(jī)本身提供給用戶使用的輸入、輸出口線并不多,對(duì)片內(nèi)有rom/eprom的8051/8751,若無(wú)須擴(kuò)展外部存儲(chǔ)器,則有4個(gè)8位口(p0p3)可作為通用i/o口使用。而對(duì)于8031單片機(jī)來(lái)說(shuō),因其p0口和p2口必須用作外部程序存儲(chǔ)器的地址線,而不能直接用來(lái)作為輸入/輸出口,故只有p1口和p3口的一部分口線可直接用作輸入/輸出口。因此,在大部分的mcs-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中,都不可避免地要進(jìn)行i/o口的擴(kuò)展。由于mcs-51單片機(jī)的外部數(shù)據(jù)存儲(chǔ)器ram和i/o口是統(tǒng)一編址的,因此,用戶可以把外部64k字節(jié)的數(shù)

49、據(jù)存儲(chǔ)器ram空間的一部分作為擴(kuò)展外部i/o口的地址空間。這樣,單片機(jī)就可以像訪問(wèn)外部ram一樣訪問(wèn)外部接口芯片,對(duì)其進(jìn)行讀寫(xiě)操作。二、地址譯碼法 由于外部i/o接口芯片與外部數(shù)據(jù)存儲(chǔ)器是統(tǒng)一編址的,共占用16根地址線,p2口提供高8位地址,p0口提供低8位地址。為了唯一地選中外部某一存儲(chǔ)單元(i/o接口芯片作為數(shù)據(jù)存儲(chǔ)器的一部分),必須進(jìn)行兩種選擇:首先是選擇出該存儲(chǔ)器芯片(或i/o接口芯片),稱為片選;其次是選擇出該芯片的某一存儲(chǔ)單元(或i/o接口芯片的寄存器),稱為字選。常用的選址方法有線選法和地址譯碼法。1線選法 若系統(tǒng)只擴(kuò)展少量的外部ram和i/o接口芯片,一般都采用線選法。所謂線選

50、法就是把單獨(dú)的地址線接到某一個(gè)外接芯片的片選端,只要這一位地址線為低電平,就選中該芯片。圖2.2為一個(gè)線選法的例子。圖中有的芯片除了片選地址外,還有片內(nèi)地址,而片內(nèi)地址是由低位地址線進(jìn)行譯碼選擇的,根據(jù)圖2.2的連接方法,各芯片的地址編碼如表2-2所示。圖2.2 線選法連接圖表2-2 圖2.2的地址編碼圖2.2中,6116內(nèi)部有2k字節(jié),需占用11根地址線,故其片選線只能選擇p2.3以上的高位地址線。mcs-51單片機(jī)發(fā)出的16位地址碼中,既包含了字選控制又包含了片選控制。而片選控制線任一時(shí)刻只能有一條線為低電平,以保證該時(shí)刻只有一片芯片工作,否則將會(huì)出錯(cuò)。2地址譯碼法 對(duì)于ram和i/o容量較大的應(yīng)用系統(tǒng),當(dāng)芯片所需的片選信號(hào)多于可利用的地址線時(shí),可采用地址譯碼法。地址譯碼法用譯碼器對(duì)高位地址線進(jìn)行譯碼,譯出的信號(hào)作為片選信號(hào),用低位地址線選擇芯片的片內(nèi)地址。該系統(tǒng)采用16v8譯碼器為i/o作選擇。具體電路原理圖如圖2.3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論