所謂尋址方式就是單片機(jī)指令中提供的操作數(shù)的形式。也就是尋找操作數(shù)或操作數(shù)所在地址的方式。在51系列單片機(jī)中,存放數(shù)據(jù)的存儲(chǔ)器空間有4種:內(nèi)部RAM、特殊功能寄存器SFR、外部RAM和程序存儲(chǔ)器ROM。其中,內(nèi)部RAM和SFR統(tǒng)一編址,外部RAM和程序存儲(chǔ)器是分開(kāi)編址的。為了區(qū)別指令中操作數(shù)所處的地址空間,對(duì)于不同存存儲(chǔ)器的數(shù)據(jù)操作,采用不同的尋址方式。
立即數(shù)尋址又稱立即尋址,即指令中直接給出操作數(shù)的尋址方式稱為立即數(shù)尋址。在51系列單片機(jī)指令系統(tǒng)中,立即數(shù)用前面加"#"號(hào)的8位數(shù)表示(#data,如#30H)或16位數(shù)(#data16,如#2052H)表示。舉例說(shuō)明立即數(shù)尋址方式,以傳送指令為例。
例:MOV A, #80H ;80H-->A
MOV DPTR, #2000H ;2000H-->DPTR
指令中直接給出操作數(shù)地址(dir)的尋址方式稱為直接尋址。尋址對(duì)象為:1 內(nèi)部數(shù)據(jù)存儲(chǔ)器,在指令中以直接地址表示;2特殊功能寄存器SFR,在指令中用寄存器名稱表示。
下面舉例說(shuō)明。
例:MOV A, 25H ;內(nèi)部RAM的(25H)-->A
MOV P0, #45H ;45H-->P0 ,P0為直接尋址的SFR
MOV 30H,20H ;內(nèi)部RAM的(20H)-->(30H)
以通用寄存器的內(nèi)容為操作數(shù)的尋址方式稱為寄存器尋址。通用寄存器包括:A、B、DPTR、R0~R7。其中B寄存器僅在乘法、除法指令中為寄存器尋址,在其它指令中為直接尋址。A寄存器可以寄存器尋址,又可以直接尋址(此時(shí)寫作ACC)。直接尋址和寄存器尋址的差別在于,直接尋址是操作數(shù)所在的字節(jié)地址(占一個(gè)字節(jié)),寄存器尋址是寄存器編碼出現(xiàn)在指令碼中。寄存器尋址速度比直接尋址要快。除上面所指的幾個(gè)寄存器外,其它特殊功能寄存器一律為直接尋址。
例:MOV A, R0 ;R0-->A,R0為寄存器尋址
MUL AB ;A×B-->BA,A,B為寄存器尋址
MOV B, R0 ;R0-->B,R0為寄存器尋址,B為直接尋址
PUSH ACC ;A的內(nèi)容入棧,A為直接尋址
ADD A, ACC ;A為寄存器尋址,ACC為直接尋址
以寄存器中的內(nèi)容為地址,該地址的內(nèi)容為操作數(shù)的尋址方式稱為寄存器間接尋址。能夠進(jìn)行寄存器間接尋址的寄存器有:R0、R1、DPTR,用前面加@表示,如@R0、@R1、@DPTR。寄存器間接尋址的存儲(chǔ)空間包括內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器。由于內(nèi)部數(shù)據(jù)存儲(chǔ)器共有128字節(jié),因此用一字節(jié)的R0和R1可間接尋址整個(gè)空間。而外部數(shù)據(jù)存儲(chǔ)器最大可達(dá)64K,僅R0或R1無(wú)法尋址整個(gè)空間,為此需要由P2端口提供外部RAM高8位地址,由R0或R1提供低8位地址,由此共同尋址64K字節(jié)范圍。也可用16位的DPTR寄存器間接尋址64K字節(jié)存儲(chǔ)空間。
在指令中,是對(duì)內(nèi)部RAM還是對(duì)外部RAM尋址,區(qū)別在于對(duì)外部RAM的操作僅有數(shù)據(jù)傳送指令,并且用MOVX作為操作助記符。
例:MOV @R0, A ;A-->以R0內(nèi)容為地址的內(nèi)部RAM中
MOVX @DPTR, A ;A-->以DPTR內(nèi)容為地址的外部RAM中
由寄存器DPTR或PC中的內(nèi)容加上A累加器內(nèi)容之和而形成操作數(shù)地址的尋址方式稱為變址尋址。變址尋址只能對(duì)程序存儲(chǔ)器中的數(shù)據(jù)進(jìn)行尋址操作。由于程序存儲(chǔ)器是只讀存貯器,因此變址尋址只有讀操作而無(wú)寫操作。在指令符號(hào)上采用MOVC的形式。
例:MOVC A, @A+DPTR ;(A+DPTR)-->A
MOVC A, @A+PC ; (PC)+1--PC ((A)+(PC))-->A
圖4 MOVC A, @A+DPTR
圖5 MOVC A, @A+PC
對(duì)位地址中的內(nèi)容進(jìn)行位操作的尋址方式稱為位尋址。由于單片機(jī)中只有內(nèi)部RAM和特殊功能寄存器的部分單元有位地址,因此位尋址只能對(duì)有位地址的這兩個(gè)空間進(jìn)行尋址操作。位尋址是一種直接尋址方式,由指令給出直接位地址。與直接尋址不同的是,位尋址只給出位地址,而不是字節(jié)地址。
例:SETB 20H ;1-->20H位
MOV 32H, C ;進(jìn)位Cy(即指令中的C)-->32H位
以當(dāng)前程序計(jì)數(shù)器PC的內(nèi)容為基址,加上指令給出的一字節(jié)補(bǔ)碼數(shù)(偏移量)形成新的PC值的尋址方式稱為相對(duì)尋址。相對(duì)尋址方式只修改PC值,故主要用于實(shí)現(xiàn)程序的分支轉(zhuǎn)移。
例:SJMP 08H ;PC+2+08H-->PC (該指令為兩字節(jié),所以有PC+2)
cm 0pt; TEXT-INDENT: 17.65pt; LINE-HEIGHT: 125%; mso-char-indent-count: 1.47">對(duì)位地址中的內(nèi)容進(jìn)行位操作的尋址方式稱為位尋址。原理與位尋址相似。
加減一加法器,通過(guò)P1口輸入一個(gè)八位無(wú)符號(hào)數(shù),P2口輸入另
單片機(jī)的主要應(yīng)用領(lǐng)域 由于單片機(jī)有許多優(yōu)點(diǎn),因此其應(yīng)用領(lǐng)域之廣,幾乎到了無(wú)孔不入的地步。單片機(jī)應(yīng)用的主要領(lǐng)域有: 1) 智能化家用電器:各種家用電器普遍采用單片機(jī)智能化控制代替?zhèn)鹘y(tǒng)的電子線路控制,升級(jí)...
#include<reg51.h>#define uchar unsigned charuchar num,time,limit=2;sbit led1=P1^0;sbit key1=P2...
格式:pdf
大?。?span id="9ryh9m4" class="single-tag-height">340KB
頁(yè)數(shù): 3頁(yè)
評(píng)分: 4.6
在提高單片機(jī)硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活,節(jié)省硬件資源,可靠性好等特點(diǎn),越來(lái)越受到設(shè)計(jì)者的重視,本文主要從實(shí)際應(yīng)用的角度闡述單片機(jī)系統(tǒng)軟件抗干擾的具體實(shí)現(xiàn)方法。
格式:pdf
大?。?span id="q4wwnwh" class="single-tag-height">340KB
頁(yè)數(shù): 21頁(yè)
評(píng)分: 4.4
① 項(xiàng)目摘要 摘 要 本系統(tǒng)由主要由四大部分組成:數(shù)據(jù)輸入部分,數(shù)據(jù)顯示部分,數(shù)據(jù)輸出部分,數(shù) 據(jù)處理部分。數(shù)據(jù)輸入部分的功能是把要采集的數(shù)據(jù)轉(zhuǎn)化成數(shù)字信號(hào)傳入數(shù)據(jù)處理 部分。數(shù)據(jù)顯示部分的功能是把采集的數(shù)據(jù)顯示出來(lái)。數(shù)據(jù)輸出部分的功能是控制 電磁閥來(lái)進(jìn)行外部溫濕度的調(diào)節(jié)。數(shù)據(jù)處理部分的功能是把采集進(jìn)來(lái)的數(shù)據(jù)進(jìn)行分 析,輸出要輸出的信號(hào)控制數(shù)據(jù)的輸出。 本系統(tǒng)的功能是采集溫濕度并顯示,從而控制電磁閥的輸出,進(jìn)而控制外面的溫濕 度使得外面的溫濕度適合植物的生長(zhǎng)。 關(guān)鍵詞:?jiǎn)纹瑱C(jī),自動(dòng)灌溉,溫濕度, LED English Abstract ABSTRACT This system mainly consists of four parts: data input, data display, data output, data processing. The data input po
《51系列單片機(jī)及C51程序設(shè)計(jì)》首先詳細(xì)介紹了51系列單片機(jī)的結(jié)構(gòu)原理和系統(tǒng)設(shè)計(jì),然后介紹了單片機(jī)調(diào)試軟件KEIL51的應(yīng)用及其調(diào)試技巧,目的在于使讀者能夠邊學(xué)邊用,為以后的使用奠定必要的基礎(chǔ)。同時(shí)《51系列單片機(jī)及C51程序設(shè)計(jì)》還講述了C51程序設(shè)計(jì)的基本語(yǔ)法、函數(shù)、數(shù)組和指針、結(jié)構(gòu)、聯(lián)合及枚舉等內(nèi)容,并給出大量例題,便于讀者學(xué)習(xí)。
1. 8031CPU
2. 振蕩電路
3. 總線控制部件
4. 中斷控制部件
5. 片內(nèi)Flash存儲(chǔ)器
6. 片內(nèi)RAM
7. 并行I/O接口
8. 定時(shí)器
9. 串行I/O接口
ATMEL 89系列 51單片機(jī)的應(yīng)用區(qū)域
目前,ATMEL 51已被廣泛用于:
· 打印機(jī)控制板
· 智能電表
· LED控制屏
· 醫(yī)療設(shè)備
89s51單片機(jī)
AT89S51是關(guān)國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀
程序存儲(chǔ)器,器件采用 ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序
存儲(chǔ)器既可在線編程(ISP)也可)IJ傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片, ATMEL公司的功能強(qiáng)大,低價(jià)
位AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)川場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。
卞要性能參數(shù):
·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容
·4k字節(jié)在系統(tǒng)編程(ISP) Flash閃速存儲(chǔ)器
·1000次擦寫周期
.4. 0-5. 5V的工作電壓范圍
·全靜態(tài)工作模式:OHz-33MHz
·三級(jí)程序加密鎖
·128X8字節(jié)內(nèi)部RAM
.32個(gè)可編程I/0口線
·2個(gè)16位定時(shí)/計(jì)數(shù)器
·6個(gè)中斷源
·全雙工串行Lh1RT通道
·低功耗空閑和掉電模式
.中斷可從空閑模喚醒系統(tǒng)
·看門狗(WDT)及雙數(shù)據(jù)指針
·掉電標(biāo)識(shí)和快速編程特性
·靈活的在系統(tǒng)編程(iSP一字節(jié)或頁(yè)寫模式)
1.內(nèi)部含F(xiàn)lash存儲(chǔ)器
因此在系統(tǒng)的開(kāi)發(fā)過(guò)程中可以十分容易進(jìn)行程序的修改,這就大大縮短了系統(tǒng)的開(kāi)發(fā)周期。同時(shí),在系統(tǒng)工作過(guò)程中,能有效地保存一些數(shù)據(jù)信息,即使外界電源損壞也不影響到信息的保存。
89系列單片機(jī)的引腳是和80C51一樣的,所以,當(dāng)用89系列單片機(jī)取代80C51時(shí),可以直接進(jìn)行代換。這時(shí),不管采用40引腳亦或44引腳的產(chǎn)品,只要用相同引腳的89系列單片機(jī)取代80C51的單片機(jī)即可。
89系列單片機(jī)采用靜態(tài)時(shí)鐘方式,所以可以節(jié)省電能,這對(duì)于降低便攜式產(chǎn)品的功耗十分有用。
一般的OTP產(chǎn)品,一旦錯(cuò)誤編程就成了廢品。而89系列單片機(jī)內(nèi)部采用了Flash存儲(chǔ)器,所以,錯(cuò)誤編程之后仍可以重新編程,直到正確為止,故不存在廢品。
用89系列單片機(jī)設(shè)計(jì)的系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗(yàn);每次試驗(yàn)可以編入不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計(jì)達(dá)到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)不斷能追隨用戶的最新要求。