8051-芯片手冊_第1頁
8051-芯片手冊_第2頁
8051-芯片手冊_第3頁
8051-芯片手冊_第4頁
8051-芯片手冊_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、廈門大學EDA實驗室8051技術手冊8051芯片手冊目錄 1 NL06F86 芯片概述 .11.1 結構框圖 . 1 1.2 NL06F86 性能 . 1 1.3 外設連接示意圖 . 4 1.4 管腳定義 . 5 1.5 NL06F86 最小系統(tǒng) . 18 1.6 部分管腳的配置電路. 18 2 內存映射.20 3 CPU內核 .23 3.1 概述 . 23 3.2 CPU編程模型 . 24 3.3 處理器尋址方式 . 28 3.4 CPU指令集. 32 3.5 MMU和Cache . 48 4 外設功能.61 4.1 功能綜述 . 61 4.2 所有寄存器列表 . 62 4.3 外設使用說明

2、. 71 4.4 編程實例 . 71 5 程序起動描述 .73 6 存儲器控制器 .74 6.1 功能綜述 . 74 6.2 寄存器表 . 74 6.3 寄存器功能描述 . 74 6.4 模塊管腳描述. 76 6.5 典型電路 . 80 6.6 編程實例 . 81 7 中斷控制器 .83 7.1 功能綜述 . 83 7.2 寄存器表 . 84 7.3 寄存器功能描述 . 84 7.4 編程實例 . 86 8 定時器 .88 8.1 功能綜述 . 88 8.2 寄存器表 . 88 8.3 寄存器功能描述 . 89 8.4 編程實例 . 90 9 通用I/O .91 9.1 功能綜述 . 91 9

3、.2 寄存器表 . 91 9.3 寄存器功能描述 . 93 9.4 編程實例 . 96 10 HW控制器 .98 10.1 功能綜述 . 98 10.2 寄存器表 . 98 10.3 寄存器功能描述 . 98 10.4 編程實例 . 99 11 以太網MAC控制器 .100 11.1 功能綜述 . 100 11.2 寄存器表 . 100 11.3 寄存器功能描述 . 101 11.4 模塊管腳描述. 106 11.5 典型電路 . 107 11.6 編程實例 . 107 12 通用異步收發(fā)器UARTs.112 12.1 功能綜述 . 112 12.2 UART寄存器表 . 112 12.3 寄

4、存器功能描述 . 113 12.4 模塊管腳描述. 117 12.5 編程實例 . 118 13 I2C總線接口.122 13.1 功能綜述 . 122 13.2 寄存器表 . 122 13.3 寄存器功能描述 . 122 13.4 時序波形圖 . 123 13.5 模塊管腳描述. 125 13.6 典型電路 . 125 13.7 編程實例 . 126 14 低速外設接口 .128 14.1 功能綜述 . 128 14.2 寄存器表 . 128 14.3 寄存器功能描述 . 128 14.4 模塊管腳描述. 130 14.5 典型電路 . 131 14.6 編程實例 . 132 15 顯示接口

5、.134 15.1 功能總述 . 134 15.2 寄存器表 . 134 15.3 寄存器功能描述 . 136 15.4 模塊管腳描述. 143 15.5 典型電路 . 144 15.6 編程實例 . 145 16 磁卡接口.149 16.1 功能綜述 . 149 16.2 寄存器表 . 149 16.3 寄存器功能描述 . 149 16.4 模塊管腳描述. 151 16.5 編程實例 . 151 17 IC卡接口 .153 17.1 功能綜述 . 153 17.2 寄存器表 . 153 17.3 寄存器功能描述 . 154 17.4 模塊管腳描述. 156 17.5 典型電路 . 156 1

6、7.6 編程實例 . 157 18 打印機接口 .159 18.1 功能綜述 . 159 18.2 寄存器表 . 159 18.3 寄存器功能描述 . 159 18.4 模塊管腳描述. 161 18.5 典型電路 . 162 18.6 編程實例 . 162 19 PC鍵盤接口.164 19.1 功能綜述 . 164 19.2 寄存器表 . 164 19.3 寄存器功能描述 . 164 19.4 模塊管腳描述. 165 19.5 數(shù)據(jù)格式和時序圖 . 166 19.6 典型電路 . 166 19.7 編程實例 . 167 20 PWM接口 .169 20.1 功能綜述 . 169 20.2 寄存

7、器表 . 169 20.3 寄存器功能描述 . 170 20.4 模塊管腳描述. 171 20.5 典型電路 . 171 20.6 編程實例 . 172 21 蜂鳴器 .173 21.1 功能綜述 . 173 21.2 寄存器表 . 173 21.3 寄存器功能描述 . 173 21.4 模塊管腳描述. 174 21.5 典型電路 . 174 21.6 編程實例 . 175 22 DES控制器 .176 22.1 功能綜述 . 176 22.2 寄存器表 . 176 22.3 寄存器功能描述 . 176 22.4 編程實例 . 177 23 封裝尺寸.179 1. 8051 芯片概述 8051

8、微控制器屬于MCS-51系列,自其1980年由Inter公司設計以來,由于其完善的指令集,在嵌入式系統(tǒng)應用中占有很大的市場。本芯片符合工業(yè)標準指令集的8位8051微控制器IP核設計,其資源包括8K的程序存儲器,1k的數(shù)據(jù)存儲器,兩個16-bit的計數(shù)控制器和4組8位的通用I/0口。1.1 結構框圖 1.2 8051 性能 芯片內部模塊主要包含了ALU模塊、中央控制器模塊、定時計數(shù)器模塊、串行通信模塊等。它具有以下一些基本特點:(1)、采用了全局同步設計:(2)、具有清晰的邏輯層次結構;(3)、可以方便地對其進行功能擴展;(4)、與工業(yè)標準昀8051指令兼容;(5)、采用了復用的I/O通用接口;

9、(6)、包含1K字節(jié)RAM、8K的片內SRAM來用當程序ROM。(7)、外接spi-flash,用來存儲程序,也可由8051直接對其進行讀寫,擦除等指令與標準8051單片機相比,本芯片最大的改進就是流水的不同,通用8051分為6級流水周期,每級流水周期占用兩個時鐘周期,本芯片,只含有兩級流水周期,在第一個周期中,進行讀取指令和功能譯碼,第二個周期進行指令操作和相關存儲器的數(shù)據(jù)寫入。我們通過設計一個寄存器來完成這個操作,這個寄存器用來把信號延時一個時鐘周期。因為我們在第一個時鐘周期譯碼完成指令操作譯碼,這樣,就把不用的信號進行延時一個周期,以此來減少流水周期。這是本芯片與標準8051作品最大的不

10、同,但由于設計中32位的取指長度和flash的讀取速度的限制,對外部時鐘進行過分頻,總體效果比標準8051執(zhí)行速度快2-3倍。對于8051-般操作和功能,在第三部分以詳細介紹,在這里不再累述。性能參數(shù) .18um CMOS 工藝 Pin LQFP 封裝 主頻:50MHz 工作電壓:2.6-3.5V 工作環(huán)境:0-70 攝氏度 1.3 內部單元介紹1. 算術邏輯單元(ALU):8051的ALU是一個性能極強的運算器,它既可以進行加、減、乘、除四則運算,也可以進行與、或、非、異或等邏輯運算,還具有數(shù)據(jù)傳送、移位、判斷和程序轉移、位變量處理等功能。2. 控制單元(CU): 控制器是用來統(tǒng)一指揮控制計

11、算機進行工作的部件。它的功能是從程序存儲器中提取指令,送到指令寄存器,再進入指令譯碼器進行譯碼,并通過定時和控制電路,在規(guī)定的時刻發(fā)出各種操作所需要的全部內部控制信息及CPU外部所需要控制信號,使各部分協(xié)調工作,完成指令所規(guī)定的各種操作。3. 存儲器8051系列單片機存儲器結構的主要特點是采用了為哈佛型結構,將程序存儲器和數(shù)據(jù)存儲器分開并有各自的尋址機構和尋址方式。標準8051單片機在物理上有4個存儲空間:片內程序存儲器和片外程序存儲器、片內數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。程序存儲器用于存放編好的程序、表格和常數(shù)。8051單片機的片內程序存儲器和片外程序存儲器物理上獨立,邏輯上卻是統(tǒng)一編址的。數(shù)據(jù)

12、存儲器用于存放運算的中間結果,進行數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。8051單片機的片內數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器無論在物理上還是在邏輯上,其地址空間都是彼此獨立的,各自有不同的指令尋址。本芯片內部集成了8K的sram來當rom,程序指令先燒錄到外部flash上,然后,啟動8051會首先將程序搬入到內部sram里,然后正常工作。程序存儲器8051單片機內部有8KB字節(jié)程序存儲器,地址為OOOOH1FFFF,本芯片由于外接的flash,去掉了擴展片外程序存儲器的功能。程序存儲器中有六個單元具有特殊功能,這些單元不得隨意被其它程序指令占用。OOOOH-0002H:是所有執(zhí)行程序的入口地址。8051復位后,C

13、PU總是從OOOOH單始執(zhí)行程序; 0003H:外部中斷0入口; OOOBH:定時器0溢出中斷入口; 0013H:外部中斷1入口; OOIBH:定時器1溢出中斷入口: 0023H:串行口中斷入口。片內數(shù)據(jù)存儲器本8051芯片內部有1K的sram的數(shù)據(jù)存儲器。8051的內部數(shù)據(jù)存儲器可劃分為兩個塊:O0OH07FH低128字節(jié)和100H-3FF為用戶RAM區(qū),080H-0FFH高125字節(jié)為特殊功能寄存器區(qū),除其中的特殊寄存器外,其余空間禁止用戶使用,詳細介紹參閱特殊寄存器指令說明。通用寄存器區(qū)在低128字節(jié)中,32個工作寄存器占用OOH-IFH單元,分為四組,構成通用寄存器區(qū)。每組由8個通用工

14、作寄存器(ROR7)組成。通過對PSW中的RSI和RSO的設置可決定選用那一組工作寄存器。不用的工作寄存器區(qū)單元可以做一般的RAM使用。在某一時刻,CPU只能使用其中的一組,CPU復位后總是選中第0組工作寄存器。其作用就相當于一般微處理器中的通用寄存器。位尋址區(qū)內部RAM的20H-2FH空間為位尋址區(qū)。這16個字節(jié)單元具有雙重功能。他們既可以象普通RAM單元一樣按字節(jié)存取,也可以對每個RAM單元中的任何一位單獨存取。用戶RAM區(qū)用戶RAM區(qū)設在O0OH07FH低128字節(jié)和100H-3FF為用戶RAM區(qū),堆棧區(qū)也可以設在這里。O0OH07FH低128字節(jié)用法和標準8051用法一樣,100H-3

15、FF為真正的用戶RAM區(qū)。特殊功能寄存器(SFR)區(qū) 片內高128字節(jié)(080H0FFH) RAM為特殊功能寄存器區(qū)。特殊功能寄存器也稱專用寄存器,專用于控制、管理片內邏輯部件、并行IO口、串行IO口、定時器計數(shù)器、中斷系統(tǒng)等功能單元的工作。用戶在編程時可以置數(shù)設定,而不能自由地移作他用。除程序計數(shù)器PC外,有21個特殊功能寄存器分散在80H-FFH的RAM空間中。其中只有字節(jié)地址能被8整除的特殊功能寄存器具有位尋址能力,共n個字節(jié),83位。除其中的特殊寄存器外按規(guī)定使用外,其余空間禁止用戶使用,F(xiàn)LASH功能寄存器區(qū)也在這里。詳細介紹參閱特殊寄存器的指令說明。f8hFlash控制8Flash

16、控制9Flash控制10Flash控制11ffhf0hbFlash控制1Flash控制2Flash控制3Flash控制4Flash控制5Flash控制6Flash控制7f7he8hefhe0hacce7hd8hdfhd0hpswd7hc8hcfhc0hc7hb8hipbfhb0hp3b7ha8hieafha0hp2a7h98hsconsbuf9fh90hp197h88htcontmodtl0tl1th0th18fh80hp0spdpldphpcon87h定時計數(shù)器 8051內部設有兩個可編程的16位定時計數(shù)器,簡稱定時器0(T0)和定時器1(T1)。它們各自由兩個專用8位特殊功能寄存器組成,用

17、于存放定時或計數(shù)初值。T0和T1均可用作定時控制、延時以及對外部事件計數(shù)。此外,還有兩個特殊功能寄存器TCON和TMOD(控制寄存器和方式寄存器)。16位定時計數(shù)器實質上是一個加1計數(shù)器。當定時計數(shù)器工作在定時方式時,數(shù)器的加1信號由振蕩器的12分頻信號產生,即每過一個機器周期,計數(shù)器增1,直至計滿溢出。當定時計數(shù)器工作在計數(shù)方式時,外部事件信號是通過引腳(P3.4成P3.5)輸入的,計數(shù)器在每個機器周期采樣外部輸入信號,該信號的下降沿將觸發(fā)計數(shù)。當定時計數(shù)器被設定為某種工作方式后,它就會按設定的工作方式獨立運行,不再占用CPU的操作時間,直到加1計數(shù)器計滿溢出。溢出時,計數(shù)器回零,并置位TC

18、ON中的TFO或TFI,以表示定時時間已到或計數(shù)值已滿,向CPU發(fā)出中斷申請。中斷8051有5個中斷請求源,4個用于中斷控制的特殊功能寄存器IE、IP、TCON、SCON,可提供兩個中斷優(yōu)先級,實現(xiàn)兩級中斷嵌套。5個中斷源對應5個固定的中斷入口地址(矢量地址)。FLASH功能寄存器區(qū)(spi)FLASH功能寄存器是本芯片的創(chuàng)新之處,由于本芯片是外接flash,程序數(shù)據(jù)是先燒錄在外部flash里的,8051工作開始階段會先從flash的前8K搬入數(shù)據(jù)到內部8K的sram里,之后把這8Ksram充當rom來正常工作,之后8051可對flash直接進行讀寫,擦除等操作,因此比標準8051多出spi的

19、四個引腳(CS,SCK,MOSI,MISO),這四個引腳是用來直接掛載外部flash的,對flash的操作也是由這四個管腳直接進行的。FLASH功能寄存器區(qū)也是分布在特殊功能寄存器區(qū)(sfr)里的,它所在的位置為0F1,0F2,0F3,0F4,0F5,0F6,0F7,0F8,0F9,0FA,0FB十一個地址空間,共占11個字節(jié)。詳細介紹請見FLASH功能寄存器指令說明。1.4 8051模塊架構圖1.5 管腳定義芯片管腳分布圖管腳說明編號模塊名信號名 功能描述 類型 有效電平備注48全局信號rst系統(tǒng)復位信號輸入高8XTAL1外部時鐘晶振管腳1輸入最高到50MHz9XTAL2外部時鐘晶振管腳2輸

20、入21P1端口P1.7外部I/O口1雙向端口P1口是一個8位的準雙向I/O端口,是四個I/O端口中唯一一個沒有第二功能的I/O端口。22P1.6雙向端口23P1.5雙向端口24P1.4雙向端口25P1.3雙向端口26P1.2雙向端口27P1.1雙向端口28P1.0雙向端口40P0端口P0.7外部I/O口0雙向端口P0口是一個8位的準雙向復用I/O端口,它是接外部ram時的低8位地址(7:0)的接口,也是外部ram輸入/輸出數(shù)據(jù)的接口。41P0.6雙向端口42P0.5雙向端口43P0.4雙向端口44P0.3雙向端口45P0.2雙向端口46P0.1雙向端口47P0.0雙向端口13P2端口P2.7外

21、部I/O口2雙向端口P2口是一個8位的準雙向復用I/O端口,它是接外部ram時的高8位地址(15:8)的接口。14P2.6雙向端口15P2.5雙向端口16P2.4雙向端口17P2.3雙向端口18P2.2雙向端口19P2.1雙向端口20P2.0雙向端口1P3端口P3.7外部I/O口3雙向端口P3口是一個8位多功能雙向I/O端口,它每位管腳都具有第二功能,P3口的第二功能見P3第二功能表。2P3.6雙向端口3P3.5雙向端口4P3.4雙向端口5P3.3雙向端口10P3.2雙向端口11P3.1雙向端口12P3.0雙向端口6電源VDD13.3V電源2組電源供電,一組給8051內部電路供電,一組給pin

22、口驅動供電7VSS1地32VDD23.3V電源31VSS2地33ALE輸出低8位地址鎖存使能輸出端。當CPU訪問外部存儲器時,ALE可向低8位地址鎖存器輸出鎖存控制信號。29時鐘輸出clk_out8051的工作時鐘輸出輸出把8051工作時的時鐘直接輸出,用于擴展功能。注意的是這里輸出的不是外部的輸入晶振的頻率,而是8051內部工作的頻率,8051工作的頻率是外部時鐘頻率的3/1。37SPI接口CS外接flash端口輸出接外部flash的CS端,用來控制flash的片選信號36SCK輸出接外部flash的SCK端,用來給外部flash提供時鐘35mosi輸出接外部flash的D端,提供外部fla

23、sh的數(shù)據(jù)輸入34miso輸入接外部flash的Q端,用來接收外部flash的數(shù)據(jù)傳入30ferror輸出正常情況下,此管腳輸出低電平,當對外部flash進行了非法操作時,此管腳輸出高電平38測試管腳test1設計時用作測試用途程序設計時用來測試,用戶無用途39test23. 8051 CPU內核 3.1 概述 8051 建立在oc8051的 CPU 內核上,經過大篇整幅與修改后,添加自主創(chuàng)新功能后實現(xiàn)的8 位處理器的,與標準8051 指令集兼容,并有擴充。外部主頻可達50MHz,內部工作時鐘頻率是外部主頻的1/3。該處理器采用哈佛結構,嚴格的把程序存儲器和數(shù)據(jù)存儲器區(qū)分開,二級(或三級)流水

24、線的指令執(zhí)行機制,獨特的指令取指、譯碼和執(zhí)行設計有助于提高指令執(zhí)行效率,并降低 CPU 整機功耗。 片上包含 8KB 的指令sram。 用指令sram來充當rom,它的使用大大降低了平均指令讀取速度。這里不允許使用I/O口外擴程序存儲器。片上包含1KB的數(shù)據(jù)ram,這里仍然使用sram,讀取數(shù)據(jù)速度快,功耗低,并且可以用I/O口進行擴展ram空間。 本芯片采用的是二至三級流水,而標準的8051微控制器采用6級機器周期,這樣執(zhí)行一條指令至少需要12個時鐘周期,采用兩級流水,大部分指令可以在一個時鐘之內完成。添加了一個延時寄存器,取指令進行譯碼時,把不需要的數(shù)據(jù),如地址等延時一個時鐘,這樣保證了指

25、令的兩級至三級流水。概況:基于復雜指令集架構 8 位處理器 采用哈佛結構的 8 位指令總線和數(shù)據(jù)總線 支持外擴ram空間 采用外接flash,來充當rom,并能對flash進行讀寫,擦除等操作3.2 處理器尋址方式 尋址方式是根據(jù)指令中給出的地址碼字段來實現(xiàn)尋找真實操作數(shù)地址的方式,所謂尋址,其實質就是如何確定操作數(shù)所在單元地址的問題。8051處理器有7 種基本尋址方式。 1.直接尋址方式:所謂直接尋址,就是在指令中直接給出參與運算或傳送的操作數(shù)據(jù)所在的ram單元的地址,即操作數(shù)直接以單元地址的形式出現(xiàn)在指令中。例如:MOV 40H,A;該指令的功能是將累加器A中的內容傳送到內部ram 40H

26、單元。若累加器A的內容為2CH,則執(zhí)行該指令后內ram 40H單元的內容變?yōu)?CH。注意:MCS-51的指令系統(tǒng)規(guī)定,按字節(jié)訪問特殊功能寄存器只能用直接尋址方式。在指令中,特殊功能寄存器既可以單元地址的形式出現(xiàn),也可以特殊功能寄存器名的形式出現(xiàn)。例如:MOV A,P0等同于MOV A,80H因為80H就是P0口的地址。2.立即尋址方式:所謂立即尋址方式,就是在指令中直接給出參與操作的數(shù)據(jù)本身,即操作數(shù)直接出現(xiàn)在指令中。這種形式的操作數(shù)被稱作立即數(shù),以在數(shù)據(jù)前加“#”號表示。例如:MOV A,#40H該指令的功能是將立即數(shù)“40H”傳送到累加器A。所以,指令執(zhí)行后累加器A的內容為40H。在指令系

27、統(tǒng)中凡是用“#data”或“#data16”表示操作數(shù)都屬于立即尋址。含有立即尋址的指令,立即數(shù)同操作碼一起存放在程序存儲器中,可以立即參與指令所規(guī)定的操作。顯然,這種尋址方式只適用于程序存儲器。注意的是立即數(shù)不能作為目的操作數(shù)。3.寄存器尋址方式:所謂寄存器尋址,就是在指令中直接以寄存器的形式給出參與操作的數(shù)據(jù),即操作數(shù)放在指定的寄存器中。寄存器尋址中的寄存器包含R0R7、A、B、AB、DPTR等寄存器。例如:MOV A,R3該指令的功能是將當前工作寄存器R3的內容傳送到累加器A。若R3的內容4FH,則執(zhí)行該指令后累加器A的內容也變成4FH。 4.寄存器間接尋址方式:所謂寄存器間接尋址,就是

28、在指令中所給定的寄存器存放的不是操作數(shù)本身,而是操作數(shù)所在內ram或外ram單元的地址,即操作數(shù)通過寄存器間接獲得。為了與寄存器尋址相區(qū)別,在寄存器名稱前加上符號“”表示間接尋址??捎糜陂g接尋址的寄存器有R0、 Rl、SP及DPTR,其中的SP在間接尋址方式中以隱含方式出現(xiàn)。 寄存器間接尋址方式適合于內部RAM低128個B(指示地址的寄存器為RO、R1或SP)和外部RAM(指示地址的寄存器為R0、R1或DPTR)。 假設R0的內容為65H,則指令 MOV AR0的功能是以寄存器R0的內容“65H”為地址,將與該地址對應的內RAM單元中的數(shù)據(jù)送到累加器A。若內ram 65H單元的內容為60H,則

29、執(zhí)行該指令后,累加器A的內容即為60H。5變址寄存器間接尋址方式:變址寄存器間接尋址方式又稱基址+變址尋址方式,在指令中以“A+DPTR或“A+PC”的形式出現(xiàn)。表示以數(shù)據(jù)指針DPTR或程序計數(shù)器PC的內容為基地址(16位),以累加器A中的內容為地址偏移量(8位),二者之和即為操作數(shù)所在程序存儲器單元的物理地址。假設累加器A的內容為05H,DPTR的內容為0400H,程序存儲器0405H單元的內容為2DH,則指令 MOVC A,A+DPTR 執(zhí)行后累加器A的內容為2DH。這種尋址方式只適用于程序存儲器。 6相對尋址方式:所謂相引尋址,就是以PC的當前值為基準,加上指令中給出的相對偏移量“rel

30、”,而形成有效的物理地址。需要注意的是,這里PC的當前值是指執(zhí)行完本條指令后的PC值。 例如: 1000H: SJMP rel 該轉移指令的操作碼存放在1000H(該指令的源地址)單元,偏移量存放在1001H單元(設偏移量rel為50H),則取出指令操作碼和偏移量后,PC將指向1002H單元,1002H即為PC的當前值。1002H與偏移量50H相加后,得到物理地址(即目標地址)1052H。 PC的當前值 = 源地址 + 轉移指令字節(jié)數(shù) 目標地址 = PC的當前值 + rel = 源地址 + 轉移指令字節(jié)數(shù) + rel, rel= 目標地址 - (源地址 + 轉移指令字節(jié)數(shù))相對偏移量“rel是

31、一個8位帶符號數(shù),常以補碼形式出現(xiàn)。如果計算所得rel是正數(shù),則程序向下(地址增加方向,最大轉移空間為127B)轉移;若rel為負數(shù),則程序是向上(地址減少方向,最大轉移空間為128B)轉移。 7位尋址方式該尋址方式可對內部RAM和特殊功能寄存器中的可位尋址位進行尋址,在指令中直接給出位地址。位尋址的尋址空間為內RAM中位尋址區(qū)20H2FH單元的128位(位地址為00H7FH)及l(fā)1個特殊功能寄存器的83個可尋址位。 例如: MOV C,90H 該指令的功能是將P1.0(地址為90H)口的狀態(tài)送位累加器C。區(qū)分位地址與字節(jié)地址主要看指令是位操作指令還是字節(jié)操作指令。如果是位操作指令,則操作數(shù)中

32、的地址一定是位地址,反之為字節(jié)地址。 3.3 指令系統(tǒng)分類MCS-51指令系統(tǒng)共有111條指令。其中,單字節(jié)指令49條,雙字節(jié)指令45條,只有17條是三字節(jié)指令。MCS-51指令系統(tǒng)按功能可分為五大類: 數(shù)據(jù)傳送類指令(29條); 算術運算類指令(24條);邏輯運算類指令(24條);控制轉移類指令(17條);位操作類指令(17條);3.4指令系統(tǒng)標識符 MCS-51單片機的指令系統(tǒng)采用了多種記憶符號(助記符),要真正理解每一條指令,必須先了解各種助記符的意義。Rn:n=07,表示當前工作寄存器區(qū)的8個寄存器R0R7。Ri:i=0、1,表示當前工作寄存器中可用于間接尋址的2個寄存器R0和R1。d

33、irect:表示內部ram單元的地址,取值為00H7FH時對應內部RAM低128B單元;取值為80H0FFH時,表示特殊功功能寄存器。DPTR:表示以間接尋址方式出現(xiàn)的數(shù)據(jù)指針DPTR。#data:出現(xiàn)在指令中的8位常數(shù),也稱8位立即數(shù)。#data16:出現(xiàn)在指令中的16位常數(shù),也稱l6位立即數(shù)。addr11:11位目標地址。用在ACALL和AJMP指令中,可使程序轉向與下條指令首字節(jié)位于同一2KB區(qū)域的任何單元。addr16:16位目標地址。用在LCALL和LJMP指令中,可使程序轉向64KB程序存儲器的任何單元。rel:帶符號的8位相對偏移量。用在SJMP和所有的條件轉移指令中,可以使程序

34、轉向以下條指令的首字節(jié)為基址,以rel為偏移量的程序存儲器單元,rel的取值范圍在-128 +127之間。bit:可直接尋址位的位地址。/bit:在位操作指令中,表示對該位(bit)先取反,然后再參與運算,但不改變指定位(bit)的原值。(x):表示x寄存器的內容或地址x的存儲單元中的內容。(x):表示由間接寄存器x所間接尋址的存儲單元的內容。$:代表當前指令的首地址,通常用在相對轉移指令中??梢越M成表達式,如:$-3則指向以當前指令首地址為基礎向前查第3個單元。 另外在注釋中,常用箭頭“”表示數(shù)據(jù)傳送方向;箭頭右邊為源操作數(shù),一般表示到數(shù)字;箭頭左邊為目的操作數(shù),表示到存儲器單元或寄存器,不能表示到數(shù)字。3.5 MCS-51單片機指令集3.5.1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送指令的基本助記符為“MOV”,通用格式如下: MOV , 數(shù)據(jù)傳送指令的功能就是把由“源操作數(shù)”所指定的數(shù)據(jù)傳送(實際上是復制)到“目的操作數(shù)”所指定的存儲單元或寄存器中,而“源操作數(shù)”所指定的數(shù)據(jù)不變。此類指令不影晌Cy. AC及OV標志,只影響奇偶標志P3.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論