單片機(jī)的結(jié)構(gòu)與功能
運(yùn)算器運(yùn)算器由運(yùn)算部件——算術(shù)邏輯單元(Arithmetic & Logical Unit,簡(jiǎn)稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來(lái)的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運(yùn)算,輸入來(lái)源為兩個(gè)8位數(shù)據(jù),分別來(lái)自累加器和數(shù)據(jù)寄存器。ALU能完成對(duì)這兩個(gè)數(shù)據(jù)進(jìn)行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器。運(yùn)算器有兩個(gè)功能:(1) 執(zhí)行各種算術(shù)運(yùn)算。(2) 執(zhí)行各種邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試,如零值測(cè)試或兩個(gè)值的比較。運(yùn)算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號(hào)來(lái)指揮的,并且,一個(gè)算術(shù)操作產(chǎn)生一個(gè)運(yùn)算結(jié)果,一個(gè)邏輯操作產(chǎn)生一個(gè)判決。
控制器控制器由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機(jī)構(gòu)”,即協(xié)調(diào)和指揮整個(gè)微機(jī)系統(tǒng)的操作。其主要功能有:(1) 從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。(2) 對(duì)指令進(jìn)行譯碼和測(cè)試,并產(chǎn)生相應(yīng)的操作控制信號(hào),以便于執(zhí)行規(guī)定的動(dòng)作。(3) 指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動(dòng)的方向。微處理器內(nèi)通過(guò)內(nèi)部總線把ALU、計(jì)數(shù)器、寄存器和控制部分互聯(lián),并通過(guò)外部總線與外部的存儲(chǔ)器、輸入輸出接口電路聯(lián)接。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB、地址總線AB和控制總線CB。通過(guò)輸入輸出接口電路,實(shí)現(xiàn)與各種外圍設(shè)備連接。
主要寄存器(1)累加器A累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運(yùn)算時(shí)它有雙功能:運(yùn)算前,用于保存一個(gè)操作數(shù);運(yùn)算后,用于保存所得的和、差或邏輯運(yùn)算結(jié)果。(2)數(shù)據(jù)寄存器DR數(shù)據(jù)寄存器通過(guò)數(shù)據(jù)總線向存儲(chǔ)器和輸入/輸出設(shè)備送(寫)或取(讀)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲(chǔ)器中存儲(chǔ)的一個(gè)數(shù)據(jù)字節(jié)等等。(3)指令寄存器IR和指令譯碼器ID指令包括操作碼和操作數(shù)。指令寄存器是用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時(shí),必須對(duì)操作碼進(jìn)行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項(xiàng)工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。(4)程序計(jì)數(shù)器PCPC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計(jì)數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。(5)地址寄存器AR地址寄存器用于保存當(dāng)前CPU所要訪問(wèn)的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來(lái)保持地址信息,直到內(nèi)存讀/寫操作完成為止。顯然,當(dāng)CPU向存儲(chǔ)器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時(shí),都要用到地址寄存器和數(shù)據(jù)寄存器。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來(lái)看的話,那么當(dāng)CPU和外圍設(shè)備交換信息時(shí),也需要用到地址寄存器和數(shù)據(jù)寄存器。
(1)單片機(jī)的體積比較小, 內(nèi)部芯片作為計(jì)算機(jī)系統(tǒng),其結(jié)構(gòu)簡(jiǎn)單,但是功能完善,使用起來(lái)十分方便,可以模塊化應(yīng)用。(2)單片機(jī)有著較高的集成度,可靠性比較強(qiáng),即使單片機(jī)處于長(zhǎng)時(shí)間的工作也不會(huì)存在故障問(wèn)題。(3) 單片機(jī)在應(yīng)用時(shí)低電壓、低能耗,是人們?cè)谌粘I钪械氖滓x擇, 為生產(chǎn)與研發(fā)提供便利。(4)單片機(jī)對(duì)數(shù)據(jù)的處理能力和運(yùn)算能力較強(qiáng),可以在各種環(huán)境中應(yīng)用,且有著較強(qiáng)的控制能力。
歷史單片機(jī)的發(fā)展先后經(jīng)歷了4位、8位、16位和32位等階段。8位單片機(jī)由于功能強(qiáng),被廣泛用于工業(yè)控制、智能接口、儀器儀表等各個(gè)領(lǐng)域,8位單片機(jī)在中、小規(guī)模應(yīng)用場(chǎng)合仍占主流地位,代表了單片機(jī)的發(fā)展方向,在單片機(jī)應(yīng)用領(lǐng)域發(fā)揮著越來(lái)越大的作用。 [3] 80年代初,Intel公司推出了8位的MCS-51系列的單片機(jī)。
51單片機(jī)的部件MCS-51單片機(jī)的邏輯部件,包括一個(gè)8位CPU及片內(nèi)振蕩器、 80514B掩膜ROM、87514KBEPROM、8031無(wú)ROM、特殊功能寄存 器SFR128BRAM、定時(shí)器/計(jì)數(shù)器T0及T1、并行I/O接口:P0、P1、P2、P3;串行接口:TXD、RXD;中斷系統(tǒng):INT0,INT1。 [3]
基本功能1.8位數(shù)據(jù)總線,16位地址總線的CPU;2.具有布爾處理能力和位處理能力;3.采用哈佛結(jié)構(gòu),程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器地址空間各自獨(dú)立,便于程序設(shè)計(jì);4.相同地址的64KB程序存儲(chǔ)器和64KB數(shù)據(jù)存儲(chǔ)器;5.0-8KB片內(nèi)程序存儲(chǔ)器(8031無(wú),8051有4KB,8052有8KB,89C55有20KB);6.128字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器(8051有256字節(jié));7.32根雙向并可以按位尋址的I/O線;8.兩個(gè)16位定時(shí)/計(jì)數(shù)器(8052有3個(gè));9.一個(gè)全雙工的串行I/O接口;10.多個(gè)中斷源的中斷結(jié)構(gòu),具有兩個(gè)中斷優(yōu)先級(jí);11.片內(nèi)時(shí)鐘振蕩器。