模塊1 數(shù)據(jù)與存儲器的操作訓(xùn)練_第1頁
模塊1 數(shù)據(jù)與存儲器的操作訓(xùn)練_第2頁
模塊1 數(shù)據(jù)與存儲器的操作訓(xùn)練_第3頁
模塊1 數(shù)據(jù)與存儲器的操作訓(xùn)練_第4頁
模塊1 數(shù)據(jù)與存儲器的操作訓(xùn)練_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、模塊模塊1 1 數(shù)據(jù)與存儲器的操作訓(xùn)練數(shù)據(jù)與存儲器的操作訓(xùn)練課題課題1 1 認識單片機認識單片機任務(wù)任務(wù)1 1 單片機的應(yīng)用實例與單片機的應(yīng)用實例與MSC-51MSC-51單片機引腳功能單片機引腳功能任務(wù)任務(wù)2 MSC-512 MSC-51單片機最小應(yīng)用系統(tǒng)單片機最小應(yīng)用系統(tǒng)任務(wù)任務(wù)1 1 程序存儲器(程序存儲器(ROMROM)空間分配法)空間分配法任務(wù)任務(wù)2 2 數(shù)據(jù)存儲器(數(shù)據(jù)存儲器(RAMRAM)操作訓(xùn)練)操作訓(xùn)練課題課題2 2 存儲器簡介及操作訓(xùn)練存儲器簡介及操作訓(xùn)練一、認識單片機一、認識單片機1、單片機是一種集成電路芯片。、單片機是一種集成電路芯片。 2、芯片中的主要部件有:運算器、

2、控制器、芯片中的主要部件有:運算器、控制器、 存儲器、各種輸入存儲器、各種輸入/輸出接口輸出接口3、其組成和功能上已經(jīng)具有了計算機系統(tǒng)、其組成和功能上已經(jīng)具有了計算機系統(tǒng) 的特點,因此稱之為單片微型計算機,的特點,因此稱之為單片微型計算機, 簡稱單片機。簡稱單片機。二、單片機產(chǎn)品近況二、單片機產(chǎn)品近況(1)51系列單片機系列單片機 其產(chǎn)品有:其產(chǎn)品有:AT89C51/52 AT89S51/52等等 51系列單片機是最容易解密的單片機系列之一。系列單片機是最容易解密的單片機系列之一。迄今為止,最有效的加密方法就是燒斷迄今為止,最有效的加密方法就是燒斷51單片機的數(shù)據(jù)總線單片機的數(shù)據(jù)總線(例如燒斷

3、(例如燒斷AT89C51的的32、33、34腳等等),其解密價格腳等等),其解密價格通常是普通價格的十幾倍以上,隨著燒斷總線數(shù)量的增加,通常是普通價格的十幾倍以上,隨著燒斷總線數(shù)量的增加,有些甚至根本無法解密有些甚至根本無法解密 。(2 2)ATMELATMEL公司的公司的AVRAVR單片機單片機 AVR AVR早期的單片機:早期的單片機:ATTINY12/13/15ATTINY12/13/15、AT90S2313AT90S2313、ATMEGA8/16/64ATMEGA8/16/64等,教容易解密。等,教容易解密。 最新的幾款最新的幾款A(yù)VRAVR單片機單片機 :ATTINY2313ATTI

4、NY2313、ATMEGA168/169ATMEGA168/169及最新推出的及最新推出的ATMEGA1280/2560ATMEGA1280/2560等等 ,是目前最難解密的單片機之一是目前最難解密的單片機之一 。二、單片機產(chǎn)品近況二、單片機產(chǎn)品近況(3 3)MicroChipMicroChip單片機單片機 二、單片機產(chǎn)品近況二、單片機產(chǎn)品近況(4 4)MotorolaMotorola公司的公司的6868系列系列二、單片機產(chǎn)品近況二、單片機產(chǎn)品近況三、單片機的應(yīng)用實例三、單片機的應(yīng)用實例1 1、智能控制、智能控制2 2、消費類數(shù)碼產(chǎn)品、消費類數(shù)碼產(chǎn)品三、單片機的應(yīng)用實例三、單片機的應(yīng)用實例3

5、3、軍事技術(shù)應(yīng)用、軍事技術(shù)應(yīng)用三、單片機的應(yīng)用實例三、單片機的應(yīng)用實例4 4、工業(yè)控制、工業(yè)控制三、單片機的應(yīng)用實例三、單片機的應(yīng)用實例5 5、宣傳指示應(yīng)用、宣傳指示應(yīng)用三、單片機的應(yīng)用實例三、單片機的應(yīng)用實例相關(guān)知識相關(guān)知識一、進制數(shù)一、進制數(shù)l十進制數(shù)十進制數(shù)是人們習(xí)慣使用的進制是人們習(xí)慣使用的進制l計算機只能計算機只能“二進制數(shù)二進制數(shù)”l為了書寫和識讀方便,計算機程序需要用為了書寫和識讀方便,計算機程序需要用十六進制十六進制 表示。表示。 二、常用數(shù)制二、常用數(shù)制1、十進制數(shù)(后綴為、十進制數(shù)(后綴為D,如,如10D,一般省略后綴),一般省略后綴)2、二進制數(shù)(后綴為、二進制數(shù)(后綴為

6、B,如,如10010101B)l只有只有0和和1兩個數(shù)碼兩個數(shù)碼l基數(shù)為基數(shù)為2,采用,采用“逢二進一逢二進一”的原的原則則l各位上的權(quán)均是各位上的權(quán)均是2的某次冪。的某次冪。3、十六進制數(shù)(后綴為、十六進制數(shù)(后綴為H,如,如1AH)l十六進制數(shù)中出現(xiàn)的數(shù)碼為十六進制數(shù)中出現(xiàn)的數(shù)碼為0、1、9、A、B、 C、D、E、F共共16個個l基數(shù)為基數(shù)為16,采用,采用“逢十六進一逢十六進一”相關(guān)知識相關(guān)知識1 1、十進制數(shù)轉(zhuǎn)換為二進制數(shù)、十進制數(shù)轉(zhuǎn)換為二進制數(shù)除以除以2 2取余數(shù),倒計取余數(shù),倒計2 2、二進制數(shù)轉(zhuǎn)換為十進制數(shù)、二進制數(shù)轉(zhuǎn)換為十進制數(shù)按權(quán)展開,權(quán)為按權(quán)展開,權(quán)為“2”2”例例1 1:

7、將十進制數(shù):將十進制數(shù)7373轉(zhuǎn)換為二進制數(shù)轉(zhuǎn)換為二進制數(shù)73 = 01001001B73 = 01001001B例例2 2:將二進制數(shù):將二進制數(shù)101101B101101B轉(zhuǎn)換為十進制數(shù)轉(zhuǎn)換為十進制數(shù)45212021 2120212020)(00101101B01234567相關(guān)知識相關(guān)知識三、進制間的轉(zhuǎn)換三、進制間的轉(zhuǎn)換相關(guān)知識相關(guān)知識三、進制間的轉(zhuǎn)換三、進制間的轉(zhuǎn)換3 3、十進制數(shù)轉(zhuǎn)換為十六進制數(shù)、十進制數(shù)轉(zhuǎn)換為十六進制數(shù)除以除以1616取余數(shù),倒計取余數(shù),倒計例例3 3:將十進制數(shù):將十進制數(shù)8686轉(zhuǎn)換為十六進制數(shù)轉(zhuǎn)換為十六進制數(shù)86 = 56H86 = 56H4 4、十六進制數(shù)轉(zhuǎn)

8、換為十進制數(shù)、十六進制數(shù)轉(zhuǎn)換為十進制數(shù)按權(quán)展開,權(quán)為按權(quán)展開,權(quán)為“16”16”例例4 4:將十六進制數(shù):將十六進制數(shù)9AH9AH轉(zhuǎn)換為十進制數(shù)轉(zhuǎn)換為十進制數(shù)1541601619(9AH)015 5、二進制數(shù)轉(zhuǎn)換為十六進制數(shù)、二進制數(shù)轉(zhuǎn)換為十六進制數(shù)84218421碼碼例例5 5:將二進制數(shù):將二進制數(shù)1100101011001010轉(zhuǎn)換為十六進制數(shù)轉(zhuǎn)換為十六進制數(shù)8 4 2 18 4 2 11 1 0 0 1 0 1 0 BC12010214184位高A10011204184位低11001010B=0CAH11001010B=0CAH相關(guān)知識相關(guān)知識三、進制間的轉(zhuǎn)換三、進制間的轉(zhuǎn)換例例5 5

9、:將十六進制數(shù):將十六進制數(shù)0D9H0D9H轉(zhuǎn)換為二進制數(shù)轉(zhuǎn)換為二進制數(shù)D=13=81+41+20+11=1101B9=81+40+20+11=1001B0D9H=11011001B解:解:6 6、十六進制數(shù)轉(zhuǎn)換為二進制數(shù)、十六進制數(shù)轉(zhuǎn)換為二進制數(shù)相關(guān)知識相關(guān)知識三、進制間的轉(zhuǎn)換三、進制間的轉(zhuǎn)換相關(guān)知識相關(guān)知識四、位與字節(jié)四、位與字節(jié) 例如:例如:01101001B01101001B表示一個字節(jié),表示一個字節(jié),1AH1AH表示一個字節(jié),表示一個字節(jié),0B2C5H0B2C5H表示兩個字節(jié),即一個字表示兩個字節(jié),即一個字 。位:位:指二進制數(shù)的位,位是數(shù)的最小單位。指二進制數(shù)的位,位是數(shù)的最小單位

10、。 1 1或或0 0表示一個位表示一個位字節(jié):字節(jié):8位二進制數(shù)成為一個字節(jié)。位二進制數(shù)成為一個字節(jié)。 字節(jié)是最基本的數(shù)據(jù)單位。字節(jié)是最基本的數(shù)據(jù)單位。字:兩個字節(jié)為一個字,即字:兩個字節(jié)為一個字,即1616個位個位時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計數(shù)器結(jié)構(gòu)框圖結(jié)構(gòu)框圖中央處理器中央處理器CPU:8位,位,運算和控制運算和控制功能功能內(nèi)部內(nèi)部RAM:共共256個個RAM單單元,用戶使用元,用戶使用前前128個單元,個單元,用于存放可讀用于存放可讀寫數(shù)據(jù),后寫數(shù)據(jù),后128個單元被個單元被專用寄存器占專用寄存器

11、占用。用。內(nèi)部內(nèi)部ROM:4KB掩膜掩膜ROM,用于存放程序、用于存放程序、原始數(shù)據(jù)和表原始數(shù)據(jù)和表格。格。定時定時/計數(shù)器:計數(shù)器:兩個兩個16位的定位的定時時/計數(shù)器,實計數(shù)器,實現(xiàn)定時或計數(shù)現(xiàn)定時或計數(shù)功能。功能。并行并行I/O口:口:4個個8位的位的I/O口口P0、P1、P2、P3。串行口:串行口:一個全一個全雙工串行口。雙工串行口。中斷控制系統(tǒng):中斷控制系統(tǒng):5個中斷源(外個中斷源(外中斷中斷2個,定時個,定時/計數(shù)中斷計數(shù)中斷2 個,串行中斷個,串行中斷1個)個)時鐘電路:時鐘電路:可可產(chǎn)生時鐘脈沖產(chǎn)生時鐘脈沖序列,允許晶序列,允許晶振頻率振頻率6MHZ和和12MHZ一、一、515

12、1單片機的基本結(jié)構(gòu)單片機的基本結(jié)構(gòu)1.中央處理器中央處理器CPU:8位,運算和控制功能位,運算和控制功能2.內(nèi)部內(nèi)部RAM:共共256個個RAM單元,用戶使用前單元,用戶使用前128個單元,個單元,用于存放可讀寫數(shù)據(jù),后用于存放可讀寫數(shù)據(jù),后128個單元被專用寄存器占用。個單元被專用寄存器占用。3.內(nèi)部內(nèi)部ROM:4KB掩膜掩膜ROM,用于存放程序、原始數(shù)據(jù)和表,用于存放程序、原始數(shù)據(jù)和表格。格。4.定時定時/計數(shù)器:計數(shù)器:兩個兩個16位的定時位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功計數(shù)器,實現(xiàn)定時或計數(shù)功能。能。5.并行并行I/O口:口:4個個8位的位的I/O口口P0、P1、P2、P3。6.串行

13、口:串行口:一個全雙工串行口。一個全雙工串行口。7.中斷控制系統(tǒng):中斷控制系統(tǒng):5個中斷源(外中斷個中斷源(外中斷2個,定時個,定時/計數(shù)中斷計數(shù)中斷2 個,串行中斷個,串行中斷1個)個)8.時鐘電路:時鐘電路:可產(chǎn)生時鐘脈沖序列,允許晶振頻率可產(chǎn)生時鐘脈沖序列,允許晶振頻率6MHZ和和12MHZVCCVSSXTAL2XTAL1RSTP0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0ALEP3. 0P3.1P3.2

14、 P3.3 P3.4 P3.5 P3.6 P3.7EAPSENRXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51二、二、并行輸入/輸出電路結(jié)構(gòu)P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0P3. 0P3.1P3.2 P

15、3.3 P3.4 P3.5 P3.6 P3.74 4個個8 8位并行位并行I/OI/O口:口:P0P0,P1P1,P2P2,P3P3;均可作為雙向均可作為雙向I/OI/O端口使用。端口使用。 P0 P0:訪問片外擴展存儲器時,訪問片外擴展存儲器時, 復(fù)用為低復(fù)用為低8 8位地址線和數(shù)據(jù)線位地址線和數(shù)據(jù)線 P2P2:高高8 8位地址線。位地址線。P1P1:雙向雙向I/OI/O端口端口 P3P3:第二功能第二功能1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51ALEWR

16、 RDP1. 0P1. 1P1. 2P1. 3P1. 4P1. 5P1. 6P1. 7指令指令1 1:MOV P1,#00H指令指令2 2:MOV P1,#0FFH指令指令3 3:MOV P1,#0AAH000000001111111101010101指令指令4 4:CLR P1.0指令指令5 5:SETB P1.0111111110+5V1111111111111111ALEWR RDP3. 0P3. 1P3. 2P3. 3P3. 4P3. 5P3. 6P3. 7讀端口:讀端口: MOV P3, #11111111BMOV A, P3 89C51P3.41 1 1 1 1 1 1 10 1三

17、、單片機的最小應(yīng)用系統(tǒng)三、單片機的最小應(yīng)用系統(tǒng)三、單片機的最小應(yīng)用系統(tǒng)三、單片機的最小應(yīng)用系統(tǒng)1 1、電源電路、電源電路VccVcc(4040腳):接電源腳):接電源+5V+5VVssVss(2020腳):接地腳):接地 2 2、程序存儲器選擇電路、程序存儲器選擇電路當當 =1=1(即接高電平)時,內(nèi)部地址為(即接高電平)時,內(nèi)部地址為0000H0FFFH0000H0FFFH,外部地址為外部地址為1000H0FFFFH1000H0FFFFH。EA當當 =0=0(即接低電平)時,內(nèi)部(即接低電平)時,內(nèi)部ROMROM就不起作用了,此就不起作用了,此時,外部時,外部ROMROM的地址變成的地址變成

18、0000H0FFFFH0000H0FFFFH。EA三、單片機的最小應(yīng)用系統(tǒng)三、單片機的最小應(yīng)用系統(tǒng)3 3、時鐘電路、時鐘電路時鐘引腳時鐘引腳(18(18、1919腳腳) )外接晶體時與片內(nèi)的反相器構(gòu)成一外接晶體時與片內(nèi)的反相器構(gòu)成一個振蕩器,它提供單片機的時鐘控制信號。個振蕩器,它提供單片機的時鐘控制信號。1XTAL1XTAL2C1C2晶振8051至內(nèi)部時鐘電路三、單片機的最小應(yīng)用系統(tǒng)三、單片機的最小應(yīng)用系統(tǒng)4 4、復(fù)位電路、復(fù)位電路 通常為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)使引腳通常為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)使引腳RSTRST保持保持10ms10ms以上的高電平。只要引腳以上的

19、高電平。只要引腳RSTRST保持高電平,單片保持高電平,單片機就復(fù)位。機就復(fù)位。 復(fù)位電路可分為上電自動復(fù)位電路可分為上電自動 復(fù)位和手動復(fù)位兩種。復(fù)位和手動復(fù)位兩種。復(fù)位原理復(fù)位原理復(fù)位方法復(fù)位方法MCS-51V C CVCCRESETVSS22uF1KMCS-51V C CVCCRESETVSS22uF1KRESETR1R2200誰知道誰知道復(fù)位電路怎么起到復(fù)位電路怎么起到復(fù)位的作用復(fù)位的作用?CPU時序時序振蕩周期振蕩周期Tosc外部晶體振蕩電路經(jīng)外部晶體振蕩電路經(jīng)XTAL1XTAL1腳輸入的脈沖周期定義為振蕩周期。腳輸入的脈沖周期定義為振蕩周期。Tosc= , 為晶體振蕩器的頻率為晶體

20、振蕩器的頻率oscf1oscf機器周期機器周期Tcy一個機器周期總共有一個機器周期總共有1212個振蕩周期。個振蕩周期。即即Tcy=12ToscCPU時序時序指令周期指令周期Torder 指令周期是最大的時序定時單位,執(zhí)行一條指令所需要指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱為指令周期。的時間稱為指令周期。單周期指令單周期指令雙周期指令雙周期指令四周期指令四周期指令Torder= TcyTorder= 2Tcy Torder= 4TcyCPU時序時序例如:如果晶體振蕩器的頻率為例如:如果晶體振蕩器的頻率為12MHz12MHz,那么其振蕩周期、,那么其振蕩周期、機器周期為多少?執(zhí)

21、行一條雙周期指令需要多少時間?機器周期為多少?執(zhí)行一條雙周期指令需要多少時間? oscf因為因為 =12MHZ=12MHZ解:解:所以振蕩周期所以振蕩周期T Toscosc= =1/12us= =1/12usoscf1機器周期機器周期T Tcycy=12=12T Tosc=1usosc=1us一條雙周期指令所需時間一條雙周期指令所需時間T Torderorder=2=2T Tcy=2uscy=2us復(fù)位狀態(tài)復(fù)位狀態(tài)特殊功能寄存器特殊功能寄存器初始狀態(tài)初始狀態(tài)特殊功能寄存器特殊功能寄存器初始狀態(tài)初始狀態(tài)ACCACC00H00HTMODTMOD00H00HB B00H00HTCONTCON00H0

22、0HPCPC0000H0000HTL0TL000H00HPSWPSW00H00HTH0TH000H00HSPSP07H07HTL1TL100H00HDPTRDPTR0000H0000HTH1TH100H00HP0-P3P0-P30FFH0FFHSBUFSBUF不定不定IPIPXX000000BXX000000BSCONSCON00H00HIEIE0X000000B0X000000BPCONPCON0XXX0000B0XXX0000B復(fù)位后,單片機從程序存儲器的復(fù)位后,單片機從程序存儲器的0000H單元單元開始執(zhí)行程序。開始執(zhí)行程序。單片機復(fù)位后單片機復(fù)位后堆棧寄存器堆棧寄存器SP=07H, P

23、0-P3輸出高電平,其他寄存器全輸出高電平,其他寄存器全部清零,不影響部清零,不影響RAM中的內(nèi)容。中的內(nèi)容。 12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 123

24、45678910111213142827262524232221 201918171615RAM6264 80318751805189C51256B(字節(jié))4K64K64K四、四、程序程序存儲器存儲器內(nèi)部內(nèi)部外部外部0000H0000H0FFFH0FFFH(4K)(4K)0000H0000HFFFFHFFFFH(64K)(64K)0000H0000H0FFFH0FFFH(4K)(4K)0000H(PC)0001H0002H0000H是程序執(zhí)行是程序執(zhí)行的起始單元的起始單元,在這三在這三個單元存放一條無個單元存放一條無條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令中斷中斷5中斷中斷4中斷中斷3中斷中斷2中斷中斷100

25、03H000BH0013H001BH0023H002BH外部中斷外部中斷0定時器定時器0中斷中斷外部中斷外部中斷1定時器定時器1中斷中斷串行口中斷串行口中斷8位位0FFFH0FFEHEA=1 EA=0EA=1 EA=0程序程序存儲器資源分布存儲器資源分布中斷入口地址0000H0000HFFFFHFFFFH(64K)(64K)內(nèi)部內(nèi)部外部外部數(shù)據(jù)數(shù)據(jù)存儲器存儲器00H00H0FFH0FFH7FH7FH80H80H( (高高128B)128B)( (低低128B)128B)RAM專用專用寄存器寄存器 工作寄存器區(qū)工作寄存器區(qū)選擇位選擇位RS0RS0、RS1RS10區(qū)區(qū)1區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)R7R7R0

26、R0R7R7R0R0R7R7R0R0R7R7R0R018H18H1FH1FH10H10H17H17H08H08H0FH0FH00H00H07H07H工作寄存工作寄存器區(qū)器區(qū)20H2FH7F 7807 00可位尋址區(qū)可位尋址區(qū)30H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)離散分布有離散分布有2121個個特殊功能寄存器特殊功能寄存器SFRSFR。 1111個可以進行個可以進行位尋址。位尋址。特別提示:對特別提示:對SFRSFR只能使用直接只能使用直接尋址方式,書寫時尋址方式,書寫時可使用寄存器符號,可使用寄存器符號,也可用寄存器單元也可用寄存器單元地址。地址。主主要要專專用用寄寄存存器器(1)累加

27、器)累加器ACC(通常用(通常用A表示)表示) 功能:在進行算術(shù)和邏輯運算時,用于存放數(shù)據(jù)和運算功能:在進行算術(shù)和邏輯運算時,用于存放數(shù)據(jù)和運算結(jié)果,是工作最頻繁的寄存器。結(jié)果,是工作最頻繁的寄存器。例:例: MOV A, #2 ADD A, #5(2)乘法、除法輔助寄存器)乘法、除法輔助寄存器B 功能:主要用于乘法、除法指令。功能:主要用于乘法、除法指令。例:例: MUL AB DIV AB(3 3)程序狀態(tài)字寄存器)程序狀態(tài)字寄存器PSW PSW 功能:用于存放程序運行的狀態(tài)信息,以便查詢和判斷。功能:用于存放程序運行的狀態(tài)信息,以便查詢和判斷。CY(PSW.7)CY(PSW.7):進位標

28、志位。在進行加法(或減法)運算時,:進位標志位。在進行加法(或減法)運算時, 若運算結(jié)果最高位有進位或借位,則若運算結(jié)果最高位有進位或借位,則CYCY自動置自動置“1”1”,否則,否則CYCY 置置“0”0”,在進行布爾操作運算時,在進行布爾操作運算時,CYCY(簡稱(簡稱C C)作為布爾處理)作為布爾處理 器。器。AC(PSW.6)AC(PSW.6):輔助進、借位。當進行加法或減法時,若低:輔助進、借位。當進行加法或減法時,若低 4 4位向高位向高4 4位有進位(或借位)時,位有進位(或借位)時,ACAC被置被置“1”1”,否則,否則ACAC被被 置置“0”0”。主主要要專專用用寄寄存存器器

29、OV(PSW.2)OV(PSW.2):溢出標志位。溢出標志位,當運算結(jié)果溢:溢出標志位。溢出標志位,當運算結(jié)果溢 出時出時OVOV為為“1”1”,否則為,否則為“0”0”,此標志位反映了運算結(jié)果,此標志位反映了運算結(jié)果是否是否 溢出。溢出。PSW.1PSW.1:未定義位。:未定義位。P P(PSW.0PSW.0):奇偶校驗位。用來表示):奇偶校驗位。用來表示ALUALU結(jié)果中二進制數(shù)結(jié)果中二進制數(shù) 位位“1”1”的個數(shù)的奇偶性。當累加器的個數(shù)的奇偶性。當累加器A A中中“1”1”的個數(shù)為奇的個數(shù)為奇數(shù)數(shù) 時,時,P P置置“1”1”,否則,否則P P置置“0”0”。FO(PSW.5)FO(PS

30、W.5):用戶標志位。:用戶標志位。 (3 3)程序狀態(tài)字寄存器)程序狀態(tài)字寄存器PSW PSW 主主要要專專用用寄寄存存器器RS1(PSW.4)RS1(PSW.4)、RS0(PSW.3)RS0(PSW.3):工作寄存器組選擇位。用來:工作寄存器組選擇位。用來 選擇當前工作的寄存器組。選擇當前工作的寄存器組。RS1RS1、RS0RS0的內(nèi)容與工作寄存的內(nèi)容與工作寄存 器區(qū)的對應(yīng)關(guān)系如表器區(qū)的對應(yīng)關(guān)系如表2-12-1所示。所示。(3 3)程序狀態(tài)字寄存器)程序狀態(tài)字寄存器PSW PSW 主主要要專專用用寄寄存存器器(4 4)數(shù)據(jù)地址指針)數(shù)據(jù)地址指針DPTRDPTR功能:可以用來訪問外部數(shù)據(jù)存儲

31、器中的任一單元,也功能:可以用來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用。分為可以作為通用寄存器來用。分為DPH(高(高8位)和位)和DPL(低(低8位)兩個寄存器。一般用來存放位)兩個寄存器。一般用來存放16位地址值。位地址值。主主要要專專用用寄寄存存器器匯編語言知識匯編語言知識一、指令的匯編語言格式一、指令的匯編語言格式 標號:標號: 操作碼操作碼 操作數(shù)操作數(shù) ;注釋;注釋 NEXT: MOV A , R0 ;A(R0)標號:用來說明指令的地址,是一個名字。標號可以由數(shù)字、字母標號:用來說明指令的地址,是一個名字。標號可以由數(shù)字、字母和下劃線組成,但是首字符必須是字母。語

32、句標號以冒號結(jié)束。操作和下劃線組成,但是首字符必須是字母。語句標號以冒號結(jié)束。操作碼、寄存器等保留字不能做標號。碼、寄存器等保留字不能做標號。操作碼:用指令助記符或偽指令助記符表示,用來規(guī)定語句要執(zhí)操作碼:用指令助記符或偽指令助記符表示,用來規(guī)定語句要執(zhí)行的操作。行的操作。操作數(shù):用于向指令提供數(shù)據(jù)或地址。一條語句中可以有操作數(shù):用于向指令提供數(shù)據(jù)或地址。一條語句中可以有1313個操個操作數(shù)也可以沒有操作數(shù)。作數(shù)也可以沒有操作數(shù)。注釋:對語句的解釋,不屬于語句的功能部分,用注釋:對語句的解釋,不屬于語句的功能部分,用“;”開頭。開頭。一條匯編語言指令中最多包含一條匯編語言指令中最多包含4 4個

33、區(qū)段個區(qū)段二、常用匯編語言符號及其意義二、常用匯編語言符號及其意義匯編語言知識匯編語言知識三、新指令剖析三、新指令剖析 ORG 0000H LJMP START ORG 0030HSTART: LCALL DELAY NOP LJMP STARTDELAY: NOP RET END(1)ORG指令:程序開始指令指令:程序開始指令格式:格式:ORG 地址(用十六進制表示)地址(用十六進制表示)功能:規(guī)定其后的目標程序或數(shù)據(jù)塊功能:規(guī)定其后的目標程序或數(shù)據(jù)塊 的起始地址。的起始地址。(2)END指令:程序結(jié)束指令指令:程序結(jié)束指令功能:僅用于標示程序的結(jié)束,功能:僅用于標示程序的結(jié)束,END 后面

34、的所有程序?qū)o效。后面的所有程序?qū)o效。(3)JMP指令:跳轉(zhuǎn)指令指令:跳轉(zhuǎn)指令格式:格式:LJMP 標號標號 AJMP 標號標號 SJMP 標號標號匯編語言知識匯編語言知識三、新指令剖析三、新指令剖析 ORG 0000H LJMP START ORG 0030HSTART: LCALL DELAY NOP LJMP STARTDELAY: NOP RET END(4)CALL指令:調(diào)用子程序指令指令:調(diào)用子程序指令格式:格式:LCALL 標號標號 ACALL 標號標號例:例: LCALL DELAY 執(zhí)行執(zhí)行“LCALL DELAY”的結(jié)果的結(jié)果是執(zhí)行一個名為是執(zhí)行一個名為“DELAY”的子

35、程序的子程序模塊(即從模塊(即從“DELAY:”到到“RET”范范圍內(nèi)的所有語句)。圍內(nèi)的所有語句)。(5)RET指令:子程序返回指令指令:子程序返回指令匯編語言知識匯編語言知識四、尋址方式四、尋址方式(1 1)立即尋址)立即尋址 立即尋址方式是直接在指令中給出操作數(shù),即操作數(shù)包立即尋址方式是直接在指令中給出操作數(shù),即操作數(shù)包含在指令中。一般把指令中的操作數(shù)稱為立即數(shù)。含在指令中。一般把指令中的操作數(shù)稱為立即數(shù)。例如:例如:MOV A, MOV A, 0E8H0E8H數(shù)據(jù)作為立即數(shù)操作時,前面必須加數(shù)據(jù)作為立即數(shù)操作時,前面必須加“#”#”;匯編語言知識匯編語言知識(2 2)直接尋址)直接尋址

36、 指令中的操作數(shù)直接以單元地址形式出現(xiàn)。指令中的操作數(shù)直接以單元地址形式出現(xiàn)。例如:例如:MOV AMOV A,50H50H;將;將50H50H單元中的數(shù)據(jù)傳送到里面單元中的數(shù)據(jù)傳送到里面 MOVMOV21H,30H21H,30H;將;將30H30H單元中的數(shù)據(jù)傳送到單元中的數(shù)據(jù)傳送到21H21H單元里面單元里面 四、尋址方式四、尋址方式匯編語言知識匯編語言知識(3 3)寄存器尋址)寄存器尋址 寄存器尋址對選定的寄存器尋址對選定的8 8個工作寄存器個工作寄存器R0R0R7R7、累加器、累加器A A、寄存器寄存器B B、地址指針、地址指針DPTRDPTR和布爾處理器的位累加器和布爾處理器的位累加

37、器C C進行操作,進行操作,也就是操作數(shù)在寄存器中。也就是操作數(shù)在寄存器中。例如:例如: MOV P1MOV P1,R4R4 CLR A CLR A ;將;將A A清零清零 MOV AMOV A,B B四、尋址方式四、尋址方式匯編語言知識匯編語言知識(4 4)寄存器間接尋址:寄存器間接尋址符號為)寄存器間接尋址:寄存器間接尋址符號為“”例如:例如:MOV A, R0MOV A, R0(5 5) 變址尋址變址尋址; ;例如:例如:MOVC A, DPTR+AMOVC A, DPTR+A注意:在注意:在 后面的后面的RnRn只能是只能是R0R0和和R1R1四、尋址方式四、尋址方式匯編語言知識匯編語

38、言知識(6 6) 相對尋址相對尋址(7 7) 位尋址位尋址 例如:例如:CLR P1.0 CLR P1.0 ;將;將P1P1口的第口的第0 0位清零位清零 相對尋址方式是為了程序相對轉(zhuǎn)移而設(shè)計的,其特征是相對尋址方式是為了程序相對轉(zhuǎn)移而設(shè)計的,其特征是以以PCPC的內(nèi)容為基址,加上給出的偏移量作為轉(zhuǎn)移地址,從而的內(nèi)容為基址,加上給出的偏移量作為轉(zhuǎn)移地址,從而實現(xiàn)程序的轉(zhuǎn)移。實現(xiàn)程序的轉(zhuǎn)移。例如:例如:LJMP STARTLJMP START DJNZ R7,DEL DJNZ R7,DEL 四、尋址方式四、尋址方式匯編語言知識匯編語言知識五、新指令剖析五、新指令剖析(1 1)傳送指令)傳送指令M

39、OV MOV 功能:將直接數(shù)據(jù)或數(shù)據(jù)寄存器中的數(shù)據(jù)復(fù)制到目標寄存器中。功能:將直接數(shù)據(jù)或數(shù)據(jù)寄存器中的數(shù)據(jù)復(fù)制到目標寄存器中。例如:例如:MOV A,#2MOV A,#2 MOV 10H,A MOV 10H,A MOV R0,#50H MOV R0,#50H MOV A,R0 MOV A,R0 MOV R1,#10H MOV R1,#10H MOV A,R1 MOV A,R1;(A)=2;(A)=2;(10H)=2;(10H)=2;(R0)=50H;(R0)=50H;(A)=50H;(A)=50H;(R1)=10H;(R1)=10H;(A)=2;(A)=2匯編語言知識匯編語言知識(2 2)清零

40、指令)清零指令CLR CLR 功能:將位地址的內(nèi)容或累加器功能:將位地址的內(nèi)容或累加器ACC的的8位置位置0。例如:例如:CLR bitCLR bit CLR A CLR A五、新指令剖析五、新指令剖析匯編語言知識匯編語言知識(3 3)置位指令)置位指令SETBSETB功能:將位地址的內(nèi)容置功能:將位地址的內(nèi)容置1。例如:例如:SETB CSETB C SETB P3.0 SETB P3.0 SETB RS1 SETB RS1五、新指令剖析五、新指令剖析匯編語言知識匯編語言知識 3、通常為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)使引腳、通常為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,復(fù)位電路應(yīng)使引腳RST保持保持 以上的高電平。以上的高電平。4、復(fù)位電路可分為

溫馨提示

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

最新文檔

評論

0/150

提交評論