51系列單片機(jī)內(nèi)部結(jié)構(gòu)_第1頁
51系列單片機(jī)內(nèi)部結(jié)構(gòu)_第2頁
51系列單片機(jī)內(nèi)部結(jié)構(gòu)_第3頁
51系列單片機(jī)內(nèi)部結(jié)構(gòu)_第4頁
51系列單片機(jī)內(nèi)部結(jié)構(gòu)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-3.CPU可以直接使用的信息在存儲(chǔ)器中存放。7.1B=8b1KB=1024b1MB=1024KB1GB=1024MB1TB=1024GB引出總線。一個(gè)CPU可以引出總線的寬度標(biāo)志了這個(gè)CPU的不同方面的V地址總線的寬度決定了CPU的尋址能力;Vv數(shù)據(jù)總線的寬度決定了CPU與其他器件進(jìn)展數(shù)據(jù)傳送時(shí)的Vvv控制總線的寬度決定了CPU對(duì)系統(tǒng)中其他器件的控制能力;-插槽等。擴(kuò)展插槽上一般插有RAM存條和各類接口卡。展插槽上的接口卡。擴(kuò)展插槽通過總線和CPU相連,所以接口卡液通過造單片機(jī)的部終究有哪些局部組成的,它們都有些什么作用呢.1.幾個(gè)根本概念上一課我們講到了把編譯后的指令下載到單片機(jī)后這條指令一定在單片機(jī)的*個(gè)地方,則它終究在哪里呢.原來它就放在一個(gè)叫程序存儲(chǔ)器的地方,英文名稱ROM〔全稱為ReadOnlyMemory〕,叫只讀存儲(chǔ)器。它是一個(gè)什么東西呢.在討論這個(gè)問題之前,讓我們先來看幾個(gè)物理現(xiàn)象:〔1〕數(shù)和物理現(xiàn)象的關(guān)系不知大家是否還記得,在學(xué)習(xí)數(shù)字電路時(shí)我如果現(xiàn)在有兩盞燈那它會(huì)有幾種狀態(tài)呢.00011011兩盞燈的組合就是四種狀態(tài):00,01,10,11。如此看來燈的亮和滅這種物理現(xiàn)象同數(shù)字確實(shí)有著*種聯(lián)系,如果我們把它們按一定的規(guī)律排列好,則電平的高或話說:不同的數(shù)字可以代表不同數(shù)量燈的電平高或低。比方:0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111這十六種組合就可以代表四盞燈的狀態(tài),能理解嗎.-〔2〕位及字節(jié)的含義分別應(yīng)電平的高或低,它是單片機(jī)最根本的數(shù)量單位,用BIT來表示。8盞燈〔八根線〕有256種狀態(tài),這8盞燈〔也就是8位〕我們把它稱為一個(gè)字節(jié),用BYTE表示。至于為數(shù)字所代表的字節(jié)的狀態(tài)的呢.接著往下看:2.半導(dǎo)體存儲(chǔ)器的工作原理它實(shí)際上存放的是電平的高或低的狀態(tài),而不是我們所習(xí)慣上認(rèn)為的"1234〞這樣的數(shù)字。那它是如何工作的呢.一個(gè)存儲(chǔ)器就象一個(gè)小抽屜,一個(gè)小抽屜里有8個(gè)小盒子每個(gè)小盒子用來存放1位"電荷〞,電荷通過與它相連的電線傳進(jìn)來或釋放掉,至于電荷在小盒子里是怎樣存放的,這就不用我們操心了,您可以把電線想象成水管,小盒子里的電荷就象是水,有了這么一個(gè)構(gòu)造,我們就可以開場存放數(shù)據(jù)了,比方我們要放進(jìn)一個(gè)數(shù)據(jù)"00011010〞,我們只要把第2號(hào)、第4號(hào)和第5號(hào)小盒子里存滿電荷,而其它小盒子里D7-D0〕,在放入電荷的時(shí)候,會(huì)將電荷放入所有的字節(jié)單元中,而釋放電荷的時(shí)候,會(huì)這當(dāng)然不是我們所希望的。-3.半導(dǎo)體存儲(chǔ)器的譯碼4.存儲(chǔ)器的選片及總線的概念至此,譯碼的問題解決了,讓我們?cè)賮黻P(guān)注另外一個(gè)問題:送入每個(gè)字節(jié)的8根線又是從什么地方來的呢.它就是從單片機(jī)的外部引腳上接過來的,一般這8根線除了接一個(gè)存儲(chǔ)器之外,還要接其它的器件,這樣問題又出來了,這8根線既然不是存儲(chǔ)器和單片機(jī)之間專用的,如果總是將*個(gè)單元接在這8根線上,就不行了,比方這個(gè)存儲(chǔ)器單元中的數(shù)值是"FFH〞,另一個(gè)存儲(chǔ)器的單元是"00H〞,則這根線到底是處于高電平,還是低電平.豈不是要打架看誰歷害了.所以我們必須讓它們別離。開著,如果確實(shí)是要向這個(gè)存儲(chǔ)器中寫入數(shù)據(jù),或要從存儲(chǔ)器中讀出數(shù)據(jù),再讓開關(guān)切換到〔電荷〕寫入片中;如果要讀信號(hào),先選中該片,然后發(fā)出讀信號(hào),開關(guān)也切換到相應(yīng)的位個(gè)存儲(chǔ)器就不會(huì)"誤會(huì)〞而開門,造成沖突,則會(huì)不會(huì)同時(shí)選中兩個(gè)存儲(chǔ)器呢.只要是設(shè)計(jì)好的系統(tǒng)就不會(huì),因?yàn)樗怯捎?jì)算機(jī)來控制的,如果真的出現(xiàn)同時(shí)選中兩個(gè)存儲(chǔ)器的話,那就是電路出故障了。-如此看來,存儲(chǔ)器要想寫入或者讀出數(shù)據(jù)還真是不簡單,不過好在這些都是由計(jì)算機(jī)自單片機(jī)是8根〕并不是專用的,而是很多器件大家共用的,所以我們把它們稱之為數(shù)據(jù)總線〔總線英文名為BUS〕,即公交道,誰都可以走;而16根地址線〔51單片機(jī)共有165.半導(dǎo)體存儲(chǔ)器的分類第一課中我們提到過,89C51是一種帶FlashROM的單片機(jī),什么是FlashROM.它到能讀里面的容,不可以隨意更改書本上的容。ROM就是單片機(jī)中用來存放程序的地方,前面我們下載到單片機(jī)的指令就放在這個(gè)地方。講到這里大家也許會(huì)感到困惑,既然ROM是也就是在使用這塊存儲(chǔ)器的時(shí)候,而不是指制造這塊芯片的時(shí)候,只要讓存儲(chǔ)器滿足一定的條件就能把數(shù)據(jù)預(yù)先寫進(jìn)去.FlashROM是一種快速存儲(chǔ)式只讀存儲(chǔ)器,這種程序存儲(chǔ)器的特點(diǎn)就是既可以電程序存儲(chǔ)器外,還有兩種早期的程序存儲(chǔ)器產(chǎn)品,簡單介紹一下:PROMEPROM和EEPROM,PROM稱之為可編程只讀存儲(chǔ)器,就象我們的練習(xí)本,買來的時(shí)候是空白的,-習(xí)慣上我們把帶這種程序存儲(chǔ)器的單片機(jī)稱為OTP型單片機(jī),如果您的產(chǎn)品批量生產(chǎn),又要求價(jià)格比擬低的話,帶這種程序存儲(chǔ)器的單片機(jī)是非常適宜的;EPROM,稱之為紫外線擦除的可編程只讀存儲(chǔ)器,它里面的容寫上去之后,如果覺得不滿意,可以用一種特殊的方法去掉后重寫,就是用紫外線照射,紫外線就象"消字靈〞,可以把字去掉,然后再重寫,當(dāng)然消的次數(shù)多了,也就不靈光了,所以這種芯片可以擦除的次數(shù)也是有限的——幾百次吧,電腦上的BIOS芯片采用的就是這種構(gòu)造的存儲(chǔ)器;EEPROM,前一種存儲(chǔ)器的擦寫要用紫外線,而這種存儲(chǔ)器可以直接用電擦寫,比擬方便數(shù)據(jù)的改寫,它有點(diǎn)類似于FLASH存儲(chǔ)器,但比FLASH存儲(chǔ)器速度要慢,現(xiàn)在新型的外部擴(kuò)展存儲(chǔ)器都是都是這種構(gòu)造。ROM,叫隨機(jī)存取存儲(chǔ)器,也叫存,英文縮寫為RAM〔RandomAccessMemory〕,它是一種既可以隨時(shí)改寫,也可以隨時(shí)讀出里面重寫,它也是單片機(jī)中重要的組成局部,單片機(jī)中有很多的功能存放器都與它有關(guān)。二.工作存放器上一課我們已經(jīng)講過,在單片機(jī)中有許多的功能存放器和半導(dǎo)體存儲(chǔ)器RAM有關(guān),則工作存放器又屬于哪一局部呢.它是用來干什么的呢.要搞清楚這個(gè)問題,讓我們先從日常生活中的一個(gè)例子說起,如我們要做一道數(shù)學(xué)題123+456,您會(huì)馬上得出答案:579,看一道題:123+456+789,要你馬上得出答案就不則容易了,通常我們會(huì)怎么做呢.一般總是先把123+456的結(jié)果579寫在一紙上,然后再算579+789=1368,這1368就是我們想要的最終結(jié)果,而579只是為了得到最終結(jié)果而暫時(shí)記下來的中間結(jié)果,單片機(jī)中做運(yùn)算和我們生活中做運(yùn)算一樣,也需要把中間結(jié)果放在*個(gè)地方,則計(jì)算機(jī)把它放在哪兒呢.前面我們提到的ROM〔只讀存儲(chǔ)器〕中,不行!因?yàn)镽OM是用來存放程序的,它只能寫進(jìn)去,能讀出來〔再次提醒一下,這只是相對(duì)而已〕,所以只能放在單片機(jī)的另一個(gè)區(qū)域—RAM中〔即隨機(jī)存取存儲(chǔ)器〕中。R7就是RAM區(qū)域中劃出的一局部。知道了R7,接下來讓我們來分析一下這段子-1.時(shí)序的由來已經(jīng)知道單片機(jī)執(zhí)行指令的過程就是順序地從ROM〔程序存儲(chǔ)器〕中取出指令一條一條的先后次序,這種次序就是單片機(jī)的時(shí)序。就好比學(xué)校上課時(shí)用的電鈴,為了保證課堂秩序,學(xué)校就必須在鈴聲的統(tǒng)一協(xié)調(diào)下安排各個(gè)課程和活動(dòng)。則單片機(jī)的時(shí)序是如何規(guī)定的呢.接2.時(shí)序的周期個(gè)機(jī)器周期包括12個(gè)振蕩周期,什么是振蕩周期.一一個(gè)12M的晶振,它的時(shí)間周期是多少,如果電子技術(shù)學(xué)得好的朋友應(yīng)該不難算出〔T=1/f〕,也就是1/12〔微秒〕,則使用12M晶振的單片機(jī),它的一個(gè)機(jī)器周期就應(yīng)在MCS-51系列單片機(jī)中,有些指令只要一個(gè)機(jī)器周期,而有些指令則需要兩個(gè)或三個(gè)機(jī)器周期,另外還有兩條指令需要4個(gè)機(jī)器周期,這也不難理解,你在家擦地板的話總比擦執(zhí)行時(shí)間的長短.我們就要用到一個(gè)新的概念:指令周期—即執(zhí)行一條指令所需的機(jī)器周期,INTEL公司規(guī)定了每一條指令執(zhí)行的機(jī)器周期,當(dāng)然這不需要我們非把它記住,不過在這-里DJNZ指令我們是要記住的,它是雙周期指令,執(zhí)行一次需要兩個(gè)機(jī)器周期,即2μS。μS=125000μS,也就是125mS。這么大的數(shù)字也就0.125S,怪不得LED1閃爍的這么關(guān)系呢.時(shí)鐘是時(shí)序的根底,單片機(jī)本身就如同一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步何產(chǎn)生的呢.1.部時(shí)鐘電路在MCS-51單片機(jī)的部有一個(gè)高增益的反相放大器,其輸入端為引腳*TL1〔19〕,輸出端為*TL2和起振的快速性,通常選擇10-30P的瓷片電容或校正電容;另外在設(shè)計(jì)電路時(shí),晶振和電容應(yīng)盡可能的靠近芯片,以減少PCB板的分布電容保證振蕩器振蕩工作的穩(wěn)定性,提高系統(tǒng)的抗干擾能力2.外部時(shí)鐘電路鐘方式呢.當(dāng)我們的系統(tǒng)由多片單片機(jī)組成時(shí),為了保證各單片機(jī)之間時(shí)鐘信號(hào)的同步,就2.端口的工作原理〔1〕。P0口-應(yīng)當(dāng)引入唯一的公用的外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖,此時(shí)應(yīng)將*TAL2懸空不用,外部脈沖信號(hào)由*TAL1引入,如上右圖所示,外部信號(hào)的上下電平持續(xù)時(shí)間應(yīng)大于20mS三.單片機(jī)并行口的構(gòu)造分析先來看看輸入構(gòu)造:1.輸入構(gòu)造I/O口作為輸入口時(shí)有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時(shí)實(shí)際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的容讀入到部總線,經(jīng)過*種運(yùn)算或變換后再寫回到端口成的,不需要我們操心。呈現(xiàn)低阻抗,此時(shí)即使引腳上輸入的信號(hào)為"1〞,也會(huì)因端口的低時(shí)還必須附加一個(gè)準(zhǔn)備動(dòng)作,所以這類I/O口被稱為"準(zhǔn)雙向〞口,MCS-51的P0,P1,P2,P3口作為輸入/輸出口時(shí)都是"準(zhǔn)雙向〞口。接下來讓我們?cè)倏戳硪粋€(gè)問題,從圖中可以看出,這四個(gè)端口還有一個(gè)差異,除了P1口外,P0,P2,P3口都還有第二功能,這些第二功能又是作什么用的呢.-PP1的選擇器,受部信號(hào)的控制,另一個(gè)方向,則就是另一個(gè)功能—作為地址/數(shù)據(jù)復(fù)用總線用,此時(shí)不能逐位定義為輸入/輸出,它有兩種用法:當(dāng)作數(shù)據(jù)總線用時(shí),輸入8位數(shù)據(jù);而當(dāng)作地址總線用時(shí),則輸出8位地址。再強(qiáng)調(diào)一點(diǎn),當(dāng)P0口作為地址/數(shù)據(jù)總線用之后,就再也不能作I/O口使用不夠用時(shí),需要擴(kuò)展輸入輸出口時(shí)的一種用法,知道了P0口,再來看P1口。〔2〕P1口同P0不同,P1口只能作為I/O口使用,但它的部有一個(gè)上拉電阻,所以連接外圍負(fù)載時(shí)不需要外接上拉電阻,這一點(diǎn)P1,P2,P3都一樣,.〔3〕P2口可以輸出程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器的高8位地址,并與P0口輸出的低地址一起構(gòu)成16位的地址線,從而可以分別尋址64K的程序存儲(chǔ)器或外部數(shù)據(jù)存儲(chǔ)器,同樣地址線是8位一起自動(dòng)輸出的,不能象I/O口線那樣逐位定義?!?〕P3口PIO同P1口一樣,也是"準(zhǔn)雙向口〞;不同的是,P3口的每一位-既然單片機(jī)的引腳有第二功能,則CPU是如何來區(qū)分的呢.這是一個(gè)令許多初學(xué)者困惑的其實(shí)單片機(jī)的第二功能是不需要人工干預(yù)的,也就是說只要CPU執(zhí)行到相應(yīng)的指令,就自動(dòng)轉(zhuǎn)成了第二功能。了解了各個(gè)I/O口的功能和作用,再來給大家講解一下單片機(jī)I/O與外圍電路的連接方法。四.單片機(jī)I/O口的連接方法當(dāng)單片機(jī)的I/O口作輸出時(shí)可以直接與外部設(shè)備連接,不過由于在實(shí)際的應(yīng)用中,由于其驅(qū)動(dòng)電流是有限的〔P0口10mA,P1,P2,P3口20mA〕,所以我們常常需要通過接其具體的使用方法。1.單片機(jī)與機(jī)械繼電器的接口單片機(jī)的一個(gè)I/O口只能灌入20mA的電流,所以往往缺乏以驅(qū)動(dòng)一些功率開關(guān)〔比方其實(shí)很簡單,我們通常采用下面的接法〔如圖〕,為了防止前向通道信號(hào)的干擾,常采用一些光電隔離器件,比方光電耦合器4N25,PC814等,當(dāng)單片機(jī)的P1.0灌入的電流比高電平時(shí)要大,一般情況下,低電平的灌入電流為高電平的4倍。另外為了防止電壓間的互相干擾,繼電器的工作電壓VDD與單片機(jī)的工作電壓VCC不要使用同一個(gè)電源,接地端也不要連在一起,即所謂的模擬地與數(shù)字地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論