日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 單片機指令系統(tǒng)與尋址方式

單片機指令系統(tǒng)與尋址方式

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:26
    單片機要正常運作,事先需編制程序,再把程序放入存貯器中,然后由CPU執(zhí)行該程序。程序是由指令組成的,指令的基本組成是操作碼和操作數(shù)。單片機的品種很多,設(shè)計時怎樣表示操作碼和操作數(shù),都有各自的規(guī)定,再有指令代碼也各不相同,因此,必須對所選單片機的全部指令,也就是所謂“指令系統(tǒng)”,有足夠的了解。各個系列的單片機雖然有不同的指令系統(tǒng),但也有其共同性。掌握一種單片機的指令系統(tǒng),對其它系列單片機可以起到觸類旁通的作用。MCS-51單片機應(yīng)用廣泛,派生品種多,具有代表性,所以,這里以MCS-51系列的指令系統(tǒng)為例說明“指令”的組成和應(yīng)用。
    1、MOV A,#20H
    這條指令表示把20H這個數(shù)送入累加器A中(一個特殊功能寄存器)。
    2、ADD A,70H
    這條指令表示把累加器A中的內(nèi)容(在上例中送入的#20H)和存貯器中地址為70H單元中的內(nèi)容(也是一個數(shù)字),通過算術(shù)邏輯單元(英文縮寫為ALU)相加,并將結(jié)果保留在A中。這里MOV、ADD等稱為操作碼,而A、#20H、70H等均稱為操作數(shù)。在匯編語言程序中,操作碼通常由英文單詞縮寫而成,這樣有助于記憶,所以又稱助記符。如MOV就是英文單詞MOVE的縮寫,含有搬移的意思;而ADD即為英文單詞,其意為相加。因此,對于略懂英語的用戶,掌握單片機指令的含意是較為方便的。操作數(shù)有多種表示法,如以上的#20H稱為立即數(shù),即20H就是真正的操作數(shù)。而70H是存貯器中某個單元的地址,在該單元中,放著操作數(shù)(比如說是3AH),ADD A,70H不是將70H和A中的內(nèi)容相加,而是從存貯器70H單元中將3AH取出和A中的內(nèi)容相加。由上可知,要找到實際操作數(shù),有時就要轉(zhuǎn)個彎,甚至轉(zhuǎn)幾個彎,這個過程稱為尋址,MCS-51共有7種尋址方式,現(xiàn)介紹如下:
    一、立即尋址:操作數(shù)就寫在指令中,和操作碼一起放在程序存貯器中。把“!碧柗旁诹⒓磾(shù)前面,以表示該尋址方式為立即尋址,如#20H。
    二、寄存器尋址:操作數(shù)放在寄存器中,在指令中直接以寄存器的名字來表示操作數(shù)的地址。例如MOV A,R0就屬于寄存器尋址,即將R0寄存器的內(nèi)容送到累加器A中。
    三、直接尋址:操作數(shù)放在單片機的內(nèi)部RAM某單元中,在指令中直接寫出該單元的地址。如前例的ADD A,70H中的70H。
    四、寄存器間接尋址:操作數(shù)放在RAM某個單元中,該單元的地址又放在寄存器R0或R1中。
    如果RAM的地址大于256,則該地址存放在16位寄存器DPTR(數(shù)據(jù)指針)中,此時在寄存器名前加@符號來表示這種間接尋址。如MOV A,@ R0。其它還有變址尋址、相對尋址、位尋址等。
    五、位尋址(即可尋找某位的內(nèi)容)功能,適于按位進(jìn)行邏輯運算的位處理器。除128字節(jié)RAM、4k字節(jié)ROM和中斷、串行口及定時器模塊外,還有4組I/O口P0~P3,余下的就是CPU的全部組成。把4kROM換為EPROM就是8751的結(jié)構(gòu),如去掉ROM/EPROM部分即為8031的框圖,如果將ROM置換為Flash存貯器或EEPROM,或再省去某些I/O,即可得到51系列的派生品種,如89C51、AT89C2051等單片機的框圖。
    單片機尋址方式越多,找操作數(shù)越方便,單片機的功能就越強。

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

榆树市| 营山县| 斗六市| 莒南县| 西丰县| 论坛| 德州市| 柳州市| 泰安市| 信丰县| 宁波市| 浦城县| 婺源县| 南昌市| 仪陇县| 西宁市| 西乌珠穆沁旗| 辽阳县| 博兴县| 宕昌县| 玉环县| 高州市| 康平县| 望江县| 武鸣县| 夏河县| 甘孜县| 巴林右旗| 温宿县| 北宁市| 泰州市| 山东省| 壤塘县| 琼海市| 永寿县| 屏山县| 高邮市| 湟中县| 泰安市| 密云县| 苗栗市|