亚洲国产精品无码久久青草多少集|亚洲卡通av动漫公交车|五月婷婷综合资源在线观看|日韩免费性爱视频观看

維晟WS51F7030 系列的總體架構(gòu)

總體架構(gòu)
1.1 8051 內(nèi)核
1.1.1 簡(jiǎn)介
標(biāo)準(zhǔn) 8051 即 mcs-51 為 12 周期的 8051 cpu,而 ws51f7030 系列芯片采用的是單周期 8051 cpu,完全兼容mcs-51 指令集。
1.1.2 尋址方式
8051 的內(nèi)核尋址方式有:立即尋址、直接尋址、間接尋址、寄存器尋址、相對(duì)尋址、變址尋址和位尋址。
1.1.2.1 立即尋址
立即尋址是在指令操作數(shù)中直接給出參與運(yùn)算的操作數(shù),指令舉例如下:
mov a, #60h (這條指令把 60h 直接送到累加器 a)
1.1.2.2 直接尋址
直接尋址指令操作數(shù)給出的是參與運(yùn)算操作數(shù)的地址。直接尋址方式只能用于特殊功能寄存器、內(nèi)部數(shù)據(jù)區(qū)和位地址空間,而特殊功能寄存器和位地址空間只能用直接尋址方式訪問。指令舉例如下:
anl 50h, #91h (把 50h 單元中的數(shù)與 91h 相“與”,結(jié)果存放在 50h 單元中,其中 50h 為內(nèi)部 ram的地址)
1.1.2.3 間接尋址
間接尋址采用 r0 或 r1 前添加”@”符號(hào)。假設(shè) r1 中的數(shù)據(jù)是 40h,內(nèi)部數(shù)據(jù)存儲(chǔ)器 40h 單元的數(shù)據(jù)為 55h,則指令為mov a, @r1 (把數(shù)據(jù) 55h 傳送至累加器 a)
1.1.2.4 寄存器尋址
寄存器尋址對(duì)選定的工作寄存器 r7-r0、累加器 a、通用寄存器 b、地址寄存器和進(jìn)位 c 中的數(shù)進(jìn)行操作,其中寄存器 r7-r0 由指令碼的低 3 位,acc、b、dptr 及進(jìn)位 c 隱含在指令碼中。因此,寄存器尋址也包含一種隱含尋址方式。工作寄存器工作區(qū)由狀態(tài)寄存器 psw 的 rs1、rs0 決定。指令操作數(shù)指定的寄存器均指當(dāng)前工作區(qū)的寄存器。
inc r0 (r0 中的數(shù)據(jù)+1 寫回 r0)
1.1.2.5 相對(duì)尋址
相對(duì)尋址是將程序計(jì)數(shù)器 pc 中的當(dāng)前值與指令第二字節(jié)給出的數(shù)相加,其結(jié)果作為轉(zhuǎn)移指令的轉(zhuǎn)移地址。轉(zhuǎn)移地址也成為轉(zhuǎn)移目的地址,pc 中的當(dāng)前值成為基地址,指令第二字節(jié)給出的數(shù)成為偏移量。由于目的地址是相對(duì)于 pc 中的基地址而言,所以這種尋址方式成為相對(duì)尋址。偏移量為帶符號(hào)的數(shù),范圍為+127--128。這種尋址方式主要用于轉(zhuǎn)移指令。
jc $+50h (若進(jìn)位位 c 為 0,則程序計(jì)數(shù)器 pc 中的內(nèi)容不改變,即不轉(zhuǎn)移。若進(jìn)位位 c 為 1,則以 pc 中的當(dāng)前值及基地址,加上偏移量 50h 后得到的結(jié)果作為該轉(zhuǎn)移指令的目的地址)
1.1.2.6 變址尋址
在變址尋址方式中,指令操作數(shù)制定一個(gè)存放變址基址的變址寄存器。變址尋址時(shí),偏移量與變址基值相加,其結(jié)果作為操作數(shù)的地址。變址寄存器有程序計(jì)數(shù)器 pc 和地址寄存器 dptr。
movc a, @a+dptr (累加器 a 為偏移量寄存器,其內(nèi)容與地址寄存器 dptr 中的內(nèi)容相加,其結(jié)果作為操作數(shù)的地址,取出該單元中的數(shù)送入累加器 a 中)
1.1.2.7 位尋址
位尋址是指對(duì)一些可進(jìn)行位操作的內(nèi)部 ram 和特殊功能寄存器進(jìn)行位操作時(shí)的尋址方式。在進(jìn)行位操作時(shí),借助于進(jìn)位位 c 作為位操作累加器,指令操作數(shù)直接給出該位的地址,然后根據(jù)操作碼對(duì)該位進(jìn)行位操作。mov c, 20h (將地址為 20h 的位操作寄存器值送入進(jìn)位位 c 中)
1.1.3 寄存器描述
1.1.3.1 程序計(jì)數(shù)器 pc
程序計(jì)數(shù)器 pc 寄存器為 16 位,是專門用來控制指令執(zhí)行順序的寄存器,它沒有寄存器地址。單片機(jī)上電或復(fù)位后,pc 值為 0,單片機(jī)從零地址開始執(zhí)行程序。
1.1.3.2 累加器 acc
累加器 acc 是一個(gè)常用的專用寄存器,指令系統(tǒng)中采用 a 作為累加器的助記符,常用于存放算術(shù)或邏輯運(yùn)算的操作數(shù)及運(yùn)算結(jié)果。
1.1.3.3 通用寄存器 b
b 在乘除法運(yùn)算中需要和 acc 配合使用。mul ab 指令把 acc 和 b 中 8 位無符號(hào)數(shù)相乘,所得的 16 位乘積的低字節(jié)存放在 a 中,高字節(jié)存放在 b 中。div ab 指令用 b 除以 a,整數(shù)商存放在 a 中,余數(shù)存放在 b 中。寄存器 b 還可以用作通用暫存寄存器。
1.1.3.4 堆棧指針 sp
堆棧指針 sp 是一個(gè) 8 位專用寄存器。它指示出堆棧頂部在內(nèi)部 ram 塊中的位置。系統(tǒng)復(fù)位后,sp 初始化位 07h,使得堆棧事實(shí)上由 08h 單元開始,考慮 08h-1fh 單元分別屬于工作寄存器組 1-3,若在程序設(shè)計(jì)中用到這些區(qū),則 sp 改變?yōu)?80h 或更大的為宜。在程序調(diào)試中,經(jīng)常出現(xiàn)堆棧溢出的情況,為了方便找到程序故障,設(shè)置了一個(gè)記錄堆棧的寄存器 spmax,可以通過 debug 接口讀出,地址 0x1a。
1.1.3.5 數(shù)據(jù)指針 dptr
數(shù)據(jù)指針 dptr0/dptr1 是兩個(gè) 16 位專用寄存器,它們的高位字節(jié)寄存器用 dp0h/dp1h,低位字節(jié)寄存器用 dp0l/dp1l ,通過 dps(psw.1)可選擇使用 dptr0/dptr1。每個(gè) dptr 既可以作為一個(gè) 16 位寄存器來處理,也可以作為 2 個(gè)獨(dú)立的 8 位寄存器 dp0h/dp1h 和 dp0l/dp1l 來處理。
1.1.3.6 狀態(tài)寄存器 psw
狀態(tài)寄存器 psw 是 cpu 的狀態(tài)寄存器。在 cpu 做算術(shù)運(yùn)算或者邏輯運(yùn)算時(shí),對(duì)應(yīng)的 psw 狀態(tài)位會(huì)發(fā)生改變。

銀川路疏通廚房菜池下水道疏通衛(wèi)生間廁所馬桶蹲坑地漏

上海防靜電鋁箔袋防潮袋廠家定制

鄭州到雷州專線物流公司歡迎您

宜昌MPP電力電纜護(hù)套管生產(chǎn)商 歡迎來電 湖北金鯊塑環(huán)??萍脊?yīng)

SNEC上海光伏大會(huì)報(bào)名

北京噴漆,防盜門噴漆,護(hù)欄噴漆,詳情咨詢-盛佳年華

江西口碑好智能壓漿設(shè)備 真誠(chéng)推薦 福橋預(yù)應(yīng)力供應(yīng)

2023上海能源展 2023上海能源展展品

自粘橡塑保溫棉的使用方法

供應(yīng)混凝土取芯機(jī)