91抖阴视频_91抖阴下载_91抖音_91抖音成人版

您好!歡迎您訪問群測(cè)科技(深圳)官方網(wǎng)站!

聯(lián)系我們

了解更多詳細(xì)信息,請(qǐng)致電

0512-67950666 

4000-526-058

或給我們留言

在線留言

行業(yè)新聞

您的位置: 首頁> 新聞中心> 行業(yè)新聞

單片機(jī)要自動(dòng)完成計(jì)算,它應(yīng)該具有哪些最重要的部分呢?

在自動(dòng)化工作中,我們常常聽到過單片機(jī),但是不進(jìn)入這個(gè)領(lǐng)域的人并不清楚什么是單片機(jī),今日群測(cè)科技燒錄器小編就為我們講解下,這個(gè)常識(shí)。

 

   我們以打算盤為例核算一道算術(shù)題。例:36+163×156——166÷34。現(xiàn)在要進(jìn)行運(yùn)算,首要需求一把算盤,其次是紙和筆。我們把要核算的問題記錄下來,然后第一步先算163×156,把它與36相加的作用記在紙上,然后核算166÷34,再把它從上一次作用中減去,就得到終究的作用。

 

  現(xiàn)在,我們用單片機(jī)來結(jié)束上述進(jìn)程,明顯,它首要要有代替算盤進(jìn)行運(yùn)算的部件,這就是“運(yùn)算器”;其次,要有能起到紙和筆作用的器件,即能回想原始標(biāo)題、原始數(shù)據(jù)和中心作用,還要記住使單片機(jī)能自動(dòng)進(jìn)行運(yùn)算而編制的各種指令。這類器件就稱為“存貯器”。此外,還需求有能代替人作用的控制器,它能依據(jù)事前給定的指令宣布各種控制信號(hào),使整個(gè)核算進(jìn)程能一步步地進(jìn)行。但是光有這三部分還不可,原始的數(shù)據(jù)與指令要輸入,核算的作用要輸出,都需求按先后次第進(jìn)行,有時(shí)還需等候。

 

  如上例中,當(dāng)在核算163×156時(shí),數(shù)字36就不能一同進(jìn)入運(yùn)算器。因此就需求在單片機(jī)上設(shè)置按控制器的指令進(jìn)行動(dòng)作的“門”,當(dāng)運(yùn)算器需求時(shí),就讓新數(shù)據(jù)進(jìn)入。或許,當(dāng)運(yùn)算器得到終究作用時(shí),再將此作用輸出,而中心作用不能隨意“溜出”單片機(jī)。這種對(duì)輸入、輸出數(shù)據(jù)進(jìn)行必定處理的“門”電路在單片機(jī)中稱為“口”(Port)。在單片機(jī)中,根柢上有三類信息在活動(dòng),一類是數(shù)據(jù),即各種原始數(shù)據(jù)(如上例中的36、163等)、中心作用(如166÷34所得的商4、余數(shù)30等)、程序(指令的集結(jié))等。這樣要由外部設(shè)備通過“口”進(jìn)入單片機(jī),再存放在存貯器中,在運(yùn)算處理進(jìn)程中,數(shù)據(jù)從存貯器讀入運(yùn)算器進(jìn)行運(yùn)算,運(yùn)算的中心作用要存入存貯器中,或終究由運(yùn)算器經(jīng)“出入口”輸出。

 

  用戶要單片機(jī)施行的各種指令(程序)也以數(shù)據(jù)的辦法由存貯器送入控制器,由控制器解讀(譯碼)后變?yōu)楦鞣N控制信號(hào),以便施行如加、減、乘、除等功用的各種指令。所以,這一類信息就稱為控制指令,即由控制器去控制運(yùn)算器一步步地進(jìn)行運(yùn)算和處理,又控制存貯器的讀(取出數(shù)據(jù))和寫(存入數(shù)據(jù))等。第三類信息是地址信息,其作用是告訴運(yùn)算器和控制器在何處去取指令取數(shù)據(jù),將作用存放到什么當(dāng)?shù)兀ㄟ^哪個(gè)口輸入和輸出信息等。

 

  存貯器又分為只讀存貯器和讀寫存貯器兩種,前者存放調(diào)試好的固定程序和常數(shù),后者存放一些隨時(shí)有可能改動(dòng)的數(shù)據(jù)。斷章取義,只讀存貯器一旦將數(shù)據(jù)存入,就只能讀出,不能更改(EPROM、E2PROM等類型的ROM可通過必定的辦法來更改、寫入數(shù)據(jù)——編者注)。而讀寫存貯器可隨時(shí)存入或讀出數(shù)據(jù)。深圳群測(cè)科技主要從事各類IC編程器研發(fā)、燒錄機(jī)、燒錄器、自動(dòng)燒錄機(jī)、芯片自動(dòng)燒錄機(jī)、全自動(dòng)燒錄機(jī)、燒錄編程器生產(chǎn)與銷售,針對(duì)半導(dǎo)體工廠、芯片通路商、手機(jī)制造商、汽車電子、消費(fèi)數(shù)碼電子生產(chǎn)商及EMS代工廠等提供集成電路燒錄、測(cè)試、返修服務(wù)提供商。

 

  實(shí)踐上,人們往往把運(yùn)算器和控制器吞并稱為中央處理單元——CPU。單片機(jī)除了進(jìn)行運(yùn)算外,還要結(jié)束控制功用。所以離不開計(jì)數(shù)和守時(shí)。因此,在單片機(jī)中就設(shè)置有守時(shí)器兼計(jì)數(shù)器,其根柢結(jié)構(gòu)與本連載之(二)中的舉例相似。到這兒間斷,我們現(xiàn)已知道了單片機(jī)的根柢組成,即單片機(jī)是由中央處理器(即CPU中的運(yùn)算器和控制器)、只讀存貯器(一般標(biāo)明為ROM)、讀寫存貯器(又稱隨機(jī)存貯器一般標(biāo)明為RAM)、輸入/輸出口(又分為并行口和串行口,標(biāo)明為I/O口)等等組成。實(shí)踐上單片機(jī)里邊還有一個(gè)時(shí)鐘電路,使單片機(jī)在進(jìn)行運(yùn)算和控制時(shí),都能有節(jié)奏地進(jìn)行。其他,還有所謂的“接連系統(tǒng)”,這個(gè)系統(tǒng)有“傳達(dá)室”的作用,當(dāng)單片機(jī)控制方針的參數(shù)抵達(dá)某個(gè)需求加以干涉的情況時(shí),就可經(jīng)此“傳達(dá)室”通報(bào)給CPU,使CPU依據(jù)外部事態(tài)的輕重緩急來選用恰當(dāng)?shù)奶迫k法。

 

  現(xiàn)在,我們現(xiàn)已知道了單片機(jī)的組成,余下的問題是如何將它們的各部分連接成互相相關(guān)的整體呢?實(shí)踐上,單片機(jī)內(nèi)部有一條將它們連接起來的“樞紐”,即所謂的“內(nèi)部總線”。此總線有如大城市的“干道”,而CPU、ROM、RAM、I/O口、接連系統(tǒng)等就散布在此“總線”的兩旁,并和它連通。然后,全部指令、數(shù)據(jù)都可經(jīng)內(nèi)部總線傳送,有如大城市內(nèi)各種物品的傳送都通過干道進(jìn)行。

 

  單片機(jī)指令系統(tǒng)與匯編語言程序

 

  前面現(xiàn)已敘說了單片機(jī)的幾個(gè)首要組成部分,這些部分構(gòu)成了單片機(jī)的硬件。所謂硬件(Hardware),就是看得到,摸得到的實(shí)體。但是,光有這樣的硬件,還僅僅有了結(jié)束核算和控制功用的可能性。單片機(jī)要實(shí)在地能進(jìn)行核算和控制,還有必要有軟件(Software)的協(xié)作。軟件首要指的是各種程序。只需將各種正確的程序“灌入”(存入)單片機(jī),它才調(diào)有效地作業(yè)。單片機(jī)所以能自動(dòng)地進(jìn)行運(yùn)算和控制,正是因?yàn)槿税呀Y(jié)束核算和控制的進(jìn)程一步步地用指令的辦法,即一條條指令(Instruction)預(yù)先存入到存貯器中,單片機(jī)在CPU的控制下,將指令一條條地取出來,并加以翻譯和施行。就以兩個(gè)數(shù)相加這一簡(jiǎn)略的運(yùn)算來說,當(dāng)需求運(yùn)算的數(shù)已存入存貯器后,還需求進(jìn)行以下幾步:

 

  第一步:把第一個(gè)數(shù)從它的存貯單元(Location)中取出來,送至運(yùn)算器?! ?第二步:把第二個(gè)數(shù)從它地址的存貯單元中取出來,送至運(yùn)算器; 第三步:相加; 第四步:把相加完的作用,送至存貯器中指定的單元。

 

  全部這些取數(shù)、送數(shù)、相加、存數(shù)等等都是一種操作(Operation),我們把要求核算機(jī)施行的各種操作用指令的辦法寫下來,這就是指令。但是怎樣才調(diào)差異和施行這些操作呢?這是在規(guī)劃單片機(jī)時(shí)由規(guī)劃人員賦予它的指令系統(tǒng)所選擇的。一條指令,對(duì)應(yīng)著一種根柢操作;單片機(jī)所能施行的全部指令,就是該單片機(jī)的指令系統(tǒng)(Iustruction Set),不同品種的單片機(jī),其指令系統(tǒng)亦不同。

 

  運(yùn)用單片機(jī)時(shí),事前應(yīng)當(dāng)把要處理的問題編成一系列指令。這些指令有必要是選定的單片機(jī)能辨認(rèn)和施行的指令。單片機(jī)用戶為處理自己的問題所編的指令程序,稱為源程序(Source Program)。指令一般分為操作碼(Opcode)和操作數(shù)(Operand)兩大部分。操作碼標(biāo)明核算機(jī)施行什么操作,即指令的功用;操作數(shù)標(biāo)明參與操作的數(shù)或操作數(shù)地址的地址(即操作數(shù)所存放的當(dāng)?shù)鼐幪?hào))。因?yàn)閱纹瑱C(jī)是一種可編程器件,只“認(rèn)得”二進(jìn)碼(0、1)。要單片機(jī)運(yùn)作,單片機(jī)系統(tǒng)中的全部指令,都有必要以二進(jìn)制編碼的辦法來標(biāo)明。例如,在Intel公司的MCS——51系列單片機(jī)中,從存貯器中取出一數(shù)到CPU中的累加器(在運(yùn)算器中,參與運(yùn)算、存放運(yùn)算作用的專用存放器)的指令代碼為74H,累加器內(nèi)容加當(dāng)即數(shù)的代碼為24H,再加上當(dāng)即數(shù)代碼,累加器送數(shù)到內(nèi)部RAM存貯器的代碼為F6H——F7H等。這些指令是用十六進(jìn)制標(biāo)明二進(jìn)制的機(jī)器碼。

 

  MCS——51單片機(jī)的字長為8位,有時(shí),要結(jié)束某些操作用一個(gè)字節(jié)尚不能充分表達(dá)。所以,在指令系統(tǒng)中有單字節(jié)指令,也有多字節(jié)指令。機(jī)器碼是由一連串的0和1組成,沒有明顯的特征,欠好回想,不易了解,易犯錯(cuò)。所以,直接用它來編寫程序十分困難。因此,人們就用一些助記符(Mue monic)——一般是指令功用的英文縮寫來代替操作碼,如MCS——51中數(shù)的傳送常用MOV(Move的縮寫)、加法用Add(Addition的縮寫)來作為助記符。這樣,每條指令有明顯的動(dòng)作特征,易于回想和了解,也不簡(jiǎn)略犯錯(cuò)。用助記符來編寫的程序稱為匯編語言程序。但是,助記符編寫的程序便于人了解,可單片機(jī)卻只知道二進(jìn)制機(jī)器代碼,因此,為了讓單片機(jī)能“讀懂”匯編語言程序有必要再轉(zhuǎn)換成由二進(jìn)制機(jī)器碼構(gòu)成的程序,這種轉(zhuǎn)換進(jìn)程,就稱為“匯編”。匯編可仰仗于人工查表法來結(jié)束,也可仰仗PC機(jī)通過所謂“穿插匯編程序”來結(jié)束。由機(jī)器碼構(gòu)成的用戶程序一旦“進(jìn)入”了單片機(jī),再“發(fā)起”單片機(jī),就可讓它施行輸入程序所規(guī)矩的任務(wù)。深圳群測(cè)科技主要從事各類IC編程器研發(fā)、燒錄機(jī)、燒錄器、自動(dòng)燒錄機(jī)、芯片自動(dòng)燒錄機(jī)、全自動(dòng)燒錄機(jī)、燒錄編程器生產(chǎn)與銷售。

 

  MCU--51 CPU和存儲(chǔ)器

 

  單片機(jī)8051的CPU由運(yùn)算器和控制器組成。

 

  一、運(yùn)算器

 

  運(yùn)算器以結(jié)束二進(jìn)制的算術(shù)/邏輯運(yùn)算部件ALU為中心,再加上暫存器TMP、累加器ACC、存放器B、程序情況標(biāo)志存放器PSW及布爾處理器。累加器ACC是一個(gè)八位存放器,它是CPU中作業(yè)最再三的存放器。在進(jìn)行算術(shù)、邏輯運(yùn)算時(shí),累加器ACC往往在運(yùn)算前暫存一個(gè)操作數(shù)(如被加數(shù)),而運(yùn)算后又保存其作用(如代數(shù)和)。存放器B首要用于乘法和除法操作。標(biāo)志存放器PSW也是一個(gè)八位存放器,用來存放運(yùn)算作用的一些特征,如有無進(jìn)位、借位等。其每位的詳細(xì)意義如下所示。PSW CY AC FO RS1 RS0 OV —— P對(duì)用戶來講,最關(guān)心的是以下四位。

 

  1進(jìn)位標(biāo)志CY(PSW7)。它標(biāo)清楚運(yùn)算是否有進(jìn)位(或借位)。假定操作作用在最高位有進(jìn)位(加法)或許借位(減法),則該位為1,不然為0。

 

  2輔佐進(jìn)位標(biāo)志AC。又稱半進(jìn)位標(biāo)志,它反映了兩個(gè)八位數(shù)運(yùn)算低四位是否有半進(jìn)位,即低四位相加(或減)有否進(jìn)位(或借位),如有則AC為1情況,不然為0。

 

  3溢出標(biāo)志位OV。MCS——51反映帶符號(hào)數(shù)的運(yùn)算作用是否有溢出,有溢出時(shí),此位為1,不然為0。

 

  4奇偶標(biāo)志P。反映累加器ACC內(nèi)容的奇偶性,假定ACC中的運(yùn)算作用有偶數(shù)個(gè)1(如11001100B,其間有4個(gè)1),則P為0,不然,P=1。PSW的其它位,將在往后再介紹。因?yàn)镻SW存放程序施行中的情況,故又名程序情況字?運(yùn)算器中還有一個(gè)按位(bit)進(jìn)行邏輯運(yùn)算的邏輯處理機(jī)(又稱布爾處理機(jī))。其功用在介紹位指令時(shí)再說明。

 

  二、控制器

 

  控制器是CPU的神經(jīng)中樞,它包括守時(shí)控制邏輯電路、指令存放器、譯碼器、地址指針DPTR及程序計(jì)數(shù)器PC、庫房指針SP等。這兒程序計(jì)數(shù)器PC是由16位存放器構(gòu)成的計(jì)數(shù)器。要單片機(jī)施行一個(gè)程序,就有必要把該程序按次第預(yù)先裝入存儲(chǔ)器ROM的某個(gè)區(qū)域。單片機(jī)動(dòng)作時(shí)應(yīng)按次第一條條取出指令來加以施行。因此,有必要有一個(gè)電路能找出指令地址的單元地址,該電路就是程序計(jì)數(shù)器PC。當(dāng)單片機(jī)開端施行程序時(shí),給PC裝入第一條指令地址地址,它每取出一條指令(如為多字節(jié)指令,則每取出一個(gè)指令字節(jié)),PC的內(nèi)容就自動(dòng)加1,以指向下一條指令的地址,使指令能次第施行。只需當(dāng)程序遇到轉(zhuǎn)移指令、子程序調(diào)用指令,或遇到接連時(shí)(后邊將介紹),PC才轉(zhuǎn)到所需求的當(dāng)?shù)厝ァ?051 CPU碢C指定的地址,從ROM相應(yīng)單元中取出指令字節(jié)放在指令存放器中存放,然后,指令存放器中的指令代碼被譯碼器譯成各種辦法的控制信號(hào),這些信號(hào)與單片機(jī)時(shí)鐘振蕩器發(fā)生的時(shí)鐘脈沖在守時(shí)與控制電路中相結(jié)合,構(gòu)成按必守時(shí)刻節(jié)拍改動(dòng)的電陡峭時(shí)鐘,即所謂控制信息,在CPU內(nèi)部和諧存放器之間的數(shù)據(jù)傳輸、運(yùn)算等操作。


        自動(dòng)燒錄機(jī)哪家好

 

  三、存儲(chǔ)器

 

  存儲(chǔ)器是單片機(jī)的又一個(gè)重要組成部分,圖6給出了一種存儲(chǔ)容量為256個(gè)單元的存儲(chǔ)器結(jié)構(gòu)示意圖。其間每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)地址,256個(gè)單元共有256個(gè)地址,用兩位16進(jìn)制數(shù)標(biāo)明,即存儲(chǔ)器的地址(00H——FFH)。存儲(chǔ)器中每個(gè)存儲(chǔ)單元可存放一個(gè)八位二進(jìn)制信息,一般用兩位16進(jìn)制數(shù)來標(biāo)明,這就是存儲(chǔ)器的內(nèi)容。存儲(chǔ)器的存儲(chǔ)單元地址和存儲(chǔ)單元的內(nèi)容是不同的兩個(gè)概念,不能稠濁。

 

  一、程序存儲(chǔ)器

 

  程序是控制核算機(jī)動(dòng)作的一系列指令,單片機(jī)只知道由“0”和“1”代碼構(gòu)成的機(jī)器指令。如前述用助記符編寫的指令MOV A,#20H,換成機(jī)器知道的代碼74H、20H:(寫成二進(jìn)制就是01110100B和00100000B)。在單片機(jī)處理問題之前有必要事前將編好的程序、表格、常數(shù)匯編成機(jī)器代碼后存入單片機(jī)的存儲(chǔ)器中,該存儲(chǔ)器稱為程序存儲(chǔ)器。程序存儲(chǔ)器可以放在片內(nèi)或片外,亦可片內(nèi)片外一同設(shè)置。因?yàn)镻C程序計(jì)數(shù)器為16位,使得程序存儲(chǔ)器可用16位二進(jìn)制地址,因此,表里存儲(chǔ)器的地址最大可從0000H到FFFFH。8051內(nèi)部有4k字節(jié)的ROM,就占用了由0000H——0FFFH的最低4k個(gè)字節(jié),這時(shí)片外擴(kuò)展的程序存儲(chǔ)器地址編號(hào)應(yīng)由1000H開端,假定將8051作為8031運(yùn)用,不想運(yùn)用片內(nèi)4kROM,全用片外存儲(chǔ)器,則地址編號(hào)仍可由0000H開端。不過,這時(shí)應(yīng)使8051的第{31}腳(即EA腳)堅(jiān)持低電平。當(dāng)EA為高電平時(shí),用戶在0000H至0FFFH規(guī)劃內(nèi)運(yùn)用內(nèi)部ROM,大于0FFFH后,單片機(jī)CPU自動(dòng)訪問外部程序存儲(chǔ)器。

 

  二、數(shù)據(jù)存儲(chǔ)器

 

  單片機(jī)的數(shù)據(jù)存儲(chǔ)器由讀寫存儲(chǔ)器RAM組成。其最大容量可擴(kuò)展到64k,用于存儲(chǔ)實(shí)時(shí)輸入的數(shù)據(jù)。8051內(nèi)部有256個(gè)單元的內(nèi)部數(shù)據(jù)存儲(chǔ)器,其間00H——7FH為內(nèi)部隨機(jī)存儲(chǔ)器RAM,80H——FFH為專用存放器區(qū)。實(shí)踐運(yùn)用時(shí)應(yīng)首要充分運(yùn)用內(nèi)部存儲(chǔ)器,從運(yùn)用視點(diǎn)講,搞清內(nèi)部數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)和地址分配是十分重要的。因?yàn)閷碓趯W(xué)習(xí)指令系統(tǒng)和程序規(guī)劃時(shí)會(huì)常常用到它們。8051內(nèi)部數(shù)據(jù)存儲(chǔ)器地址由00H至FFH共有256個(gè)字節(jié)的地址空間,該空間被分為兩部分,其間內(nèi)部數(shù)據(jù)RAM的地址為00H——7FH(即0——127)。而用做特別功用存放器的地址為80H——FFH。在此256個(gè)字節(jié)中,還拓荒有一個(gè)所謂“位地址”區(qū),該區(qū)域內(nèi)不光可按字節(jié)尋址,還可按“位(bit)”尋址。關(guān)于那些需求進(jìn)行位操作的數(shù)據(jù),可以存放到這個(gè)區(qū)域。從00H到1FH組織了四組作業(yè)存放器,每組占用8個(gè)RAM字節(jié),記為R0——R7。終究選用那一組存放器,由前述標(biāo)志存放器中的RS1和RS0來選用。在這兩位上放入不同的二進(jìn)制數(shù),即可選用不同的存放器組,如附表1所示。

 

  三、特別功用存放器

 

  特別功用存放器(SFR)的地址規(guī)劃為80H——FFH。在MCS——51中,除程序計(jì)數(shù)器PC和四個(gè)作業(yè)存放器區(qū)外,其他21個(gè)特別功用存放器都在這SFR塊中。其間5個(gè)是雙字節(jié)存放器,它們共占用了26個(gè)字節(jié)。各特別功用存放器的符號(hào)和地址見附表2。其間帶*號(hào)的可位尋址。特別功用存放器反映了8051的情況,實(shí)踐上是8051的情況字及控制字存放器。用于CPU PSW就是典型一例。這些特別功用存放器大體上分為兩類,一類與芯片的引腳有關(guān),另一類作片內(nèi)功用的控制用。與芯片引腳有關(guān)的特別功用存放器是P0——P3,它們實(shí)踐上是4個(gè)八位鎖存器(每個(gè)I/O口一個(gè)),每個(gè)鎖存器附加有相應(yīng)的輸出驅(qū)動(dòng)器和輸入緩沖器就構(gòu)成了一個(gè)并行口。MCS——51共有P0——P3四個(gè)這樣的并行口,可提供32根I/O線,每根線都是雙向的,而且大都有第二功用。其他用于芯片控制的存放器中,累加器A、標(biāo)志存放器PSW、數(shù)據(jù)指針DPTR等的功用前已提及,而另一些存放器的功用在后邊有關(guān)部分再作進(jìn)一步介紹

 

  單片機(jī)的指令系統(tǒng)和尋址辦法

 

  單片機(jī)要正常運(yùn)作,事前需編制程序,再把程序放入存貯器中,然后由CPU施行該程序。程序是由指令組成的,指令的根柢組成是操作碼和操作數(shù)。單片機(jī)的品種許多,規(guī)劃時(shí)怎樣標(biāo)明操作碼和操作數(shù),都有各自的規(guī)矩,再有指令代碼也各不相同,因此,有必要對(duì)所選單片機(jī)的全部指令,也就是所謂“指令系統(tǒng)”,有滿意的了解。各個(gè)系列的單片機(jī)雖然有不同的指令系統(tǒng),但也有其共同性。掌握一種單片機(jī)的指令系統(tǒng),對(duì)其它系列單片機(jī)可以起到舉一反三的作用。MCS——51單片機(jī)運(yùn)用廣泛,派生品種多,具有代表性,所以,這兒以MCS——51系列的指令系統(tǒng)為例說明“指令”的組成和運(yùn)用。

 

  1、MOV A,#20H

 

  這條指令標(biāo)明把20H這個(gè)數(shù)送入累加器A中(一個(gè)特別功用存放器)。

 

  2、ADD A,70H

 

  這條指令標(biāo)明把累加器A中的內(nèi)容(在上例中送入的#20H)和存貯器中地址為70H單元中的內(nèi)容(也是一個(gè)數(shù)字),通過算術(shù)邏輯單元(英文縮寫為ALU)相加,并將作用保留在A中。這兒MOV、ADD等稱為操作碼,而A、#20H、70H等均稱為操作數(shù)。在匯編語言程序中,操作碼一般由英文單詞縮寫而成,這樣有助于回想,所以又稱助記符。如MOV就是英文單詞MOVE的縮寫,含有搬移的意思;而ADD即為英文單詞,其意為相加。因此,關(guān)于略懂英語的用戶,掌握單片機(jī)指令的意義是較為便當(dāng)?shù)?。操作?shù)有多種標(biāo)明法,如以上的#20H稱為當(dāng)即數(shù),即20H就是實(shí)在的操作數(shù)。而70H是存貯器中某個(gè)單元的地址,在該單元中,放著操作數(shù)(比方說是3AH),ADD A,70H不是將70H和A中的內(nèi)容相加,而是從存貯器70H單元中將3AH取出和A中的內(nèi)容相加。由上可知,要找到實(shí)踐操作數(shù),有時(shí)就要轉(zhuǎn)個(gè)彎,乃至轉(zhuǎn)幾個(gè)彎,這個(gè)進(jìn)程稱為尋址,MCS——51共有7種尋址辦法,現(xiàn)介紹如下:

 

  一、當(dāng)即尋址:

 

  操作數(shù)就寫在指令中,和操作碼一同放在程序存貯器中。把“?!碧?hào)放在當(dāng)即數(shù)前面,以標(biāo)明該尋址辦法為當(dāng)即尋址,如#20H。

 

  二、存放器尋址:

 

  操作數(shù)放在存放器中,在指令中直接以存放器的姓名來標(biāo)明操作數(shù)的地址。例如MOV A,R0就歸于存放器尋址,即將R0存放器的內(nèi)容送到累加器A中。

 

  三、直接尋址:

 

  操作數(shù)放在單片機(jī)的內(nèi)部RAM某單元中,在指令中直接寫出該單元的地址。如前例的ADD A,70H中的70H。

 

  四、存放器直接尋址:

 

  操作數(shù)放在RAM某個(gè)單元中,該單元的地址又放在存放器R0或R1中。 假定RAM的地址大于256,則該地址存放在16位存放器DPTR(數(shù)據(jù)指針)中,此刻在存放器名前加@符號(hào)來標(biāo)明這種直接尋址。如MOV A,@ R0。其它還有變址尋址、相對(duì)尋址、位尋址等,待往后再詳細(xì)介紹??赡苡腥藭?huì)問,在指令中直接給出實(shí)踐操作數(shù),不是簡(jiǎn)略、清楚嗎?為什么還要用其它幾種尋址辦法呢?這是因?yàn)樵诰幹瞥绦驎r(shí)很難一瞬間就給出操作數(shù)。如用單片機(jī)控制溫度時(shí),不時(shí)需求將給定的控制溫度(如20℃)減去環(huán)境溫度,而環(huán)境溫度不時(shí)有改動(dòng),明顯無法在程序指令中給出,只需通過必定辦法,將其送入某個(gè)輸入/輸出口,再存放在某個(gè)存放器中,這就有必要用到存放器尋址。又如要進(jìn)行算術(shù)運(yùn)算,要核算每班學(xué)員各科作用的均勻值,假定把每個(gè)學(xué)員的各科都編一個(gè)程序,在程序中直接給出該學(xué)員各科作用,再求均勻值,明顯太費(fèi)事。這兒可以編一個(gè)求均勻作用的通用程序,把每位學(xué)員的作用送入存貯器的各個(gè)單元中,這時(shí)可選用直接尋址,一個(gè)程序可供每個(gè)學(xué)員用,不是更便當(dāng)嗎?所以,尋址辦法越多,編制程序就越便當(dāng)、活絡(luò),適用規(guī)劃就越廣。

 

  尋址有如找人,如被找的人有手機(jī)、BP機(jī)、座機(jī)電話等多種聯(lián)絡(luò)方規(guī)則就簡(jiǎn)略找到他,單片機(jī)也是如此,尋址辦法越多,找操作數(shù)越便當(dāng),單片機(jī)的功用就越強(qiáng)。前面介紹51系列單片機(jī)的尋址辦法時(shí),常遇到單片機(jī)內(nèi)部的一些存放器、累加器A、通用存放器R0——R7、數(shù)據(jù)指針DPTR和存貯器等。在往后介紹指令時(shí),數(shù)據(jù)就要在這些存放器、存貯器之間傳送,或許進(jìn)行運(yùn)算。因此,編制程序就需熟悉單片機(jī)的內(nèi)部結(jié)構(gòu)。

 

  8051單片機(jī)的內(nèi)部整體結(jié)構(gòu)其根柢特性如下:

 

  8位CPU、片內(nèi)振蕩器

 

  4k字節(jié)ROM、128字節(jié)RAM

 

  21個(gè)特別功用存放器

 

  32根I/O線

 

  可尋址的64k字節(jié)外部數(shù)據(jù)、程序存貯空間

 

  2個(gè)16位守時(shí)器、計(jì)數(shù)器

 

  接連結(jié)構(gòu):具有二個(gè)優(yōu)先級(jí)、五個(gè)接連源

 

  一個(gè)全雙口串行口

 

  位尋址(即可尋覓某位的內(nèi)容)功用,適于按位進(jìn)行邏輯運(yùn)算的位處理器。除128字節(jié)RAM、4k字節(jié)ROM和接連、串行口及守時(shí)器模塊外,還有4組I/O口P0——P3,余下的就是CPU的全部組成。把4kROM換為EPROM就是8751的結(jié)構(gòu),如去掉ROM/EPROM部分即為8031的框圖,假定將ROM置換為Flash存貯器或EEPROM,或再省去某些I/O,即可得到51系列的派生品種,如89C51、AT89C2051等單片機(jī)的框圖。

 

  單片機(jī)各部分是通過內(nèi)部的總線有機(jī)地連接起來的


熱門文章查看更多+
熱門產(chǎn)品

聯(lián)系我們

  • 電話:0512-67950666  4000-526-058
  • 傳真:0512-65866711
  • 網(wǎng)址:m.bottypotty.com
  • 郵箱:gt@group-test.com
  • 地址:深圳市寶安區(qū)沙井街道中心路綜合大樓8樓
  • 地址:蘇州相城區(qū)渭塘鎮(zhèn)愛格豪路9號(hào)

    erweima

群測(cè)科技(深圳)有限公司 版權(quán)所有