【正文】
。與芯片引腳有關(guān)的特殊功能寄存器是 P0~ P3,它們實際上是 4 個八位鎖存器(每個 I/O 口一個),每個鎖存器附加有相應(yīng)的輸出驅(qū)動器和輸入緩沖器就構(gòu)成了一個并行口。 三、特殊功能寄存器 特殊功能寄存器( SFR)的地址范圍為 80H~ FFH。因為將來在學(xué)習(xí)指令系統(tǒng)和程序設(shè)計時會經(jīng)常用到它們。由于 PC 程序計數(shù)器為 16 位,使得程序存儲器可用 16 位二進(jìn)制地址,因此,內(nèi)外存儲器的地址最大可從 0000H 到 FFFFH。 三、存儲器 存儲器是單片機(jī)的又一個重要組成部分,圖 6 給出了一種存儲容量為 256個單元的存儲器結(jié)構(gòu)示意圖。 二、控制器 控制器是 CPU 的神經(jīng)中樞,它包括定時控制邏輯電路、指令寄存器、譯碼器、地址指針 DPTR 及程序計數(shù)器 PC、堆棧指針 SP 等。又稱半進(jìn)位標(biāo)志,它反映了兩個八位數(shù)運算低四位是否有半進(jìn)位,即低四位相加(或減)有否進(jìn)位(或借位),如有則 AC 為 1 狀態(tài),否則為 0。寄存器 B 主要用于乘法和除法操作。用助記符來編寫的程序稱為匯編語言程序。例如,在 Intel 公司的MCS- 51 系列單片機(jī)中,從存貯器中取出一數(shù)到 CPU 中的累加器(在運算器中,參與運算、存放運算結(jié)果的專用寄存 器)的指令代碼為 74H,累加器內(nèi)容加立即數(shù)的代碼為 24H,再加上立即數(shù)代碼,累加器送數(shù)到內(nèi)部 RAM 存貯器的代碼為F6H~ F7H 等。一條指令,對應(yīng)著一種基本操作;單片機(jī)所能執(zhí)行的全部指令,就是該單片機(jī)的指令系統(tǒng)( Iustruction Set),不同種類的單片機(jī),其指令系統(tǒng)亦不同。單片機(jī)要真正地能進(jìn)行計算和控制,還必須有軟件( Software)的配合。到這里為止,我們已經(jīng)知道了單片機(jī)的基本組成,即單片機(jī)是由中央處理器(即CPU 中的運算器和控制器)、只讀存貯器(通常表示為 ROM)、讀寫存貯器(又稱隨機(jī)存貯器通常表示為 RAM)、輸入 /輸出口(又分為 并行口和串行口,表示為 I/O 口)等等組成。第三類信息是地址信息,其作用是告訴運算器和控制器在何處去取命令取數(shù)據(jù),將結(jié)果存放到什么地方,通過哪個口輸入和輸出信息等。因此就需要在單片機(jī)上設(shè)置按控制器的命令進(jìn)行動作的“門”,當(dāng)運算器需要時,就讓新數(shù)據(jù)進(jìn)入?,F(xiàn)在要進(jìn)行運算,首先需要一把算盤,其次是紙和筆。 the third step: add。 Secondly, there must be able to play the role of devices, which can remember the original subject, the raw data and intermediate results, but also remember to enable singlechip operation can be automatically prepared by the various orders. These devices called memory. In addition, the need to replace the role of the controller, it will be in accordance with an order prior to issuing various control signals so that the whole process can be calculated step by step manner. However, this threepart light enough, the original data and mands to be input, the results of the calculation to the output, are required by the order in which they sometimes need to wait. The first step: the first number from its storage unit (Location) in the check out to the puting device. Step two: the second number from its storage unit in the check out to the puting device。 34。 如上例中,當(dāng)在計算 163 156 時,數(shù)字 36 就不能同時進(jìn)入運算器。所以,這一類信息就稱為控制命令,即由控制器去控制運算器一步步地進(jìn)行運算和處理,又控制存貯器的讀(取出數(shù)據(jù))和寫(存入數(shù)據(jù))等。因此,在單片機(jī)中就設(shè)置有定時器兼計數(shù)器,其基本結(jié)構(gòu)與本連載之(二)中的舉例類似。但是,光有這樣的硬件,還只是有了實現(xiàn)計算和控制功能的可能性。但是怎樣才能辨別和執(zhí)行這些操作呢?這是在設(shè)計單片機(jī)時由設(shè)計人員賦予它的指令系統(tǒng)所決定的。要單片機(jī)運作,單片機(jī)系統(tǒng)中的所有指令,都必須以二進(jìn)制編碼的形式來表示。這樣,每條指令有明顯的動作特征,易于記憶和理解,也不容易出錯。在進(jìn)行算術(shù)、邏輯運算時,累加器 ACC 往往在運算前暫存一個操作數(shù)(如被加數(shù)),而運算后又保存其結(jié)果(如代數(shù)和)。 2 輔助進(jìn)位標(biāo)志 AC。其功能在介紹位指令時再說明。 8051 CPU碢 C 指定的地址,從 ROM 相應(yīng)單元中取出指令字節(jié)放在指令寄存器中寄存,然后,指令寄存器中的指令代碼被譯碼器譯成各種形式的控制信號,這些信號與單片機(jī)時鐘振蕩器產(chǎn)生的時鐘脈沖在定時與控制電路中相結(jié)合,形成按一定時間節(jié)拍變化的電平和時鐘,即所謂控制信 息,在 CPU 內(nèi)部協(xié)調(diào)寄存器之間的數(shù)據(jù)傳輸、運算等操作。程序存儲器可以放在片內(nèi)或片外,亦可片內(nèi)片外同時設(shè)置。實際使用時應(yīng)首先充分利用內(nèi)部存儲器,從使用角度講,搞清內(nèi)部數(shù)據(jù)存儲器的結(jié)構(gòu)和地址分配是十分重要的。在這兩位上放入不同的二進(jìn)制數(shù),即可選用不同的寄存器組,如附表 1 所示。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關(guān),另一類作片內(nèi)功能的控制用。 MCS- 51 單片機(jī)應(yīng)用廣泛,派生品種多,具有代表性,所以,這里以 MCS- 51 系列的指令系統(tǒng)為例說明“指令”的組成和應(yīng)用。程序是由指令組成的,指令的基本組成是操作碼和操作數(shù)。各特殊功能 寄存器的符號和地址見附表 2。在此 256 個字節(jié)中,還開辟有一個所謂“位地址”區(qū),該區(qū)域內(nèi)不但可按字節(jié)尋址,還可按“位( bit)”尋址。當(dāng) EA 為高電平時,用戶在 0000H 至 0FFFH 范圍內(nèi)使用內(nèi)部 ROM,大于 0FFFH 后,單片機(jī) CPU 自動訪問外部程序存儲器。存儲器的存儲單元地址和存儲單元的內(nèi)容是不同的兩個概念,不能混淆。單片機(jī)動作時應(yīng)按順序一條條取出指令來加以執(zhí)行。 4 奇偶標(biāo)志 P。 PSW CY AC FO RS1 RS0 OV - P 對用戶來講,最關(guān)心的是以下四位。由機(jī)器碼構(gòu)成的用戶程序一旦“進(jìn)入”了單片機(jī),再“啟動”單片機(jī),就可讓它執(zhí)行輸入程序所規(guī)定的任務(wù)。所以,在指令系統(tǒng)中有單字節(jié)指令,也有多字節(jié)指令。單片機(jī)用戶為解決 自己的問題所編的指令程序,稱為源程序( Source Program)。單片機(jī)所以能自動地進(jìn)行運算和控制,正是由于人把實現(xiàn)計算和控制的步驟一步步地用命令的形式,即一條條指令( Instruction)預(yù)先存入到存貯器中,單片機(jī)在 CPU 的控制下,將指令一條條地取出來,并加以翻譯和執(zhí)行。 現(xiàn)在,我們已經(jīng)知道了單片機(jī)的組成,余下的問題是如何將它們的各部分連接成相互關(guān)聯(lián)的整體呢?實際上,單片機(jī)內(nèi)部有一條將它們連接起來的“紐帶”,即所謂的“內(nèi)部總線”。而讀寫存貯器可隨時存入或讀出數(shù)據(jù)。在單片機(jī)中,基本上有三類信息在流動,一類是數(shù)據(jù),即各種原始數(shù)據(jù)(如上例中的 3 163 等)、中間結(jié)果(如 166247。 現(xiàn)在,我們用單片機(jī)來完成上述過程,顯然,它首先要有代替算盤進(jìn)行運算的部件,這就是“運算器”;其次,要有能起到紙和筆作用的器件,即能記憶原始題目、原始數(shù) 據(jù)和中間結(jié)果,還要記住使單片機(jī)能自動進(jìn)行運算而編制的各種命令。 operand that participate in the operation or operand address is located (that is, the operand stored in the local code). Because the single chip is a programmable device, only recognize the binary code (0,1). Operation to singlechip, singlechip microputer system in all directions, must be the form of binary code to represent. For example, in Intel39。英文翻譯 Singlechip ponents To autoplete singlechip basis, it should be the most important part of what it? Calculated as an example we calculate on an abacus math problems together. Cases: 36 +163 156166 247。s MCS51 series singlechip, from a number of memory out of the accumulator to the CPU