陜西科技大學(xué)單片機(jī)復(fù)習(xí)_第1頁(yè)
陜西科技大學(xué)單片機(jī)復(fù)習(xí)_第2頁(yè)
陜西科技大學(xué)單片機(jī)復(fù)習(xí)_第3頁(yè)
陜西科技大學(xué)單片機(jī)復(fù)習(xí)_第4頁(yè)
陜西科技大學(xué)單片機(jī)復(fù)習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)原理與接口技術(shù)復(fù)習(xí)計(jì)算機(jī)原理與接口技術(shù)復(fù)習(xí)黃勛黃勛1. 1. 各種進(jìn)制數(shù)間的相互轉(zhuǎn)換各種進(jìn)制數(shù)間的相互轉(zhuǎn)換 2.2.補(bǔ)碼補(bǔ)碼 X 0X2 n-1 2nX 2 n-1X0 (mod2n) XX補(bǔ)補(bǔ) 2)2)負(fù)數(shù)補(bǔ)碼的求法負(fù)數(shù)補(bǔ)碼的求法 補(bǔ)碼的求法一般有兩種補(bǔ)碼的求法一般有兩種: :用補(bǔ)碼定義式用補(bǔ)碼定義式: : X X補(bǔ)補(bǔ)2 2n nX X2 2n n|X| |X| -2 -2 n-1n-1X0(X0(整數(shù)整數(shù)) ) 求反碼求反碼, ,再在數(shù)值末位加再在數(shù)值末位加1 1可得到補(bǔ)碼可得到補(bǔ)碼, ,即即: : X X補(bǔ)補(bǔ)X X反反1 1。3 BCD3 BCD碼和碼和ASCIIASCII碼碼 B

2、CD BCD碼碼 (Binary Coded Decimal)(Binary Coded Decimal)1 1位十進(jìn)制數(shù):位十進(jìn)制數(shù):1010個(gè)數(shù)碼個(gè)數(shù)碼, , 4 4位二進(jìn)制數(shù):位二進(jìn)制數(shù):1616種組合種組合取其取其1010種組合分別代表種組合分別代表1010個(gè)十進(jìn)制數(shù)碼(個(gè)十進(jìn)制數(shù)碼(不是唯一的不是唯一的)。)。最常用的方法是最常用的方法是8421BCD8421BCD碼碼, ,其中其中8 8、4 4、2 2、1 1分別為分別為4 4位二進(jìn)制數(shù)的位權(quán)值。位二進(jìn)制數(shù)的位權(quán)值。 8421BCD8421BCD碼表碼表 2.4 2.4 單片機(jī)單片機(jī)Single-Chip Microcompute

3、r / One-Chip Single-Chip Microcomputer / One-Chip MicrocomputerMicrocomputer在一片芯片上集成在一片芯片上集成CPUCPU、存儲(chǔ)器、存儲(chǔ)器、I / OI / O接口、接口、定時(shí)器計(jì)數(shù)器、中斷控制部件等組成一臺(tái)完整定時(shí)器計(jì)數(shù)器、中斷控制部件等組成一臺(tái)完整的微型計(jì)算機(jī)。的微型計(jì)算機(jī)。單片機(jī)體積小、功能強(qiáng)、功耗低、可靠性高和單片機(jī)體積小、功能強(qiáng)、功耗低、可靠性高和性價(jià)比高的特點(diǎn)。單片機(jī)經(jīng)歷了性價(jià)比高的特點(diǎn)。單片機(jī)經(jīng)歷了1 1位、位、4 4位、位、8 8位、位、1616位及位及3232位的發(fā)展階段。位的發(fā)展階段。單片機(jī)的類型及常

4、用系列單片機(jī)的類型及常用系列及其及其配置一覽表配置一覽表系列系列片內(nèi)存儲(chǔ)器(字節(jié))片內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器定時(shí)器計(jì)數(shù)器計(jì)數(shù)器并行并行I/OI/O串行串行I/OI/O中中斷斷源源片內(nèi)片內(nèi)ROMROM片內(nèi)片內(nèi)RAMRAM無無有有ROMROM有有EPROMEPROMIntelIntelMCS-51MCS-51子系列子系列8031803180C3180C318051805180C5180C51(4K(4K字節(jié)字節(jié)) )8751875187C5187C51(4K(4K字節(jié)字節(jié)) )128128字節(jié)字節(jié)2x162x164x84x8位位1 15 5IntelIntelMCS-52MCS-52子系列子系列80

5、32803280C3280C328052805280C5280C52(8K(8K字節(jié)字節(jié)) )8752875287C5287C52(8K(8K字節(jié)字節(jié)) )256256字節(jié)字節(jié)3x163x164x84x8位位1 16 6ATEMLATEML89C89C系列系列( (常用型常用型) )1051(1K)/ 2051(2K)/ 4051(4K)1051(1K)/ 2051(2K)/ 4051(4K)(2020條引腳條引腳DIPDIP封裝)封裝)1281282 215151 15 589C51(4K)/ 89C52(8K)89C51(4K)/ 89C52(8K)(4040條引腳條引腳DIPDIP封裝)

6、封裝)128/128/2562562/32/332321 15/65/61 1) )地址總線(單向)地址總線(單向)CPUCPU通過地址總線輸出地址來選擇某一存儲(chǔ)單元、通過地址總線輸出地址來選擇某一存儲(chǔ)單元、I/OI/O接口接口 2 2根地址線:可尋址根地址線:可尋址2 22 2=4=4個(gè)字節(jié)單元;個(gè)字節(jié)單元; 1616根地址線:可尋址根地址線:可尋址2 21616=64K=64K字節(jié)單元;字節(jié)單元;地址:內(nèi)存由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元地址:內(nèi)存由許多存儲(chǔ)單元組成,每個(gè)存儲(chǔ)單元(字節(jié))有一個(gè)用于區(qū)分的編號(hào)(字節(jié))有一個(gè)用于區(qū)分的編號(hào)2.3.3 2.3.3 系統(tǒng)總線系統(tǒng)總線2 2) )數(shù)據(jù)

7、總線數(shù)據(jù)總線 上述三個(gè)部件之間傳遞數(shù)據(jù)(雙向)上述三個(gè)部件之間傳遞數(shù)據(jù)(雙向)3 3) )控制總線控制總線 用來傳達(dá)用來傳達(dá)CPUCPU發(fā)出的或者送至發(fā)出的或者送至CPUCPU的控制信息與的控制信息與狀態(tài)信息,使微機(jī)協(xié)調(diào)工作。(單向)狀態(tài)信息,使微機(jī)協(xié)調(diào)工作。(單向)2.3.4 2.3.4 常用術(shù)語常用術(shù)語1 1) )位(位(bitbit)、字節(jié)()、字節(jié)(ByteByte)、字()、字(WordWord)、)、雙字(雙字(DWDW)2 2) )字長(zhǎng):計(jì)算機(jī)所處理的基本二進(jìn)制數(shù)據(jù)的字長(zhǎng):計(jì)算機(jī)所處理的基本二進(jìn)制數(shù)據(jù)的位數(shù)。國(guó)際上以微處理器芯片外部數(shù)據(jù)總位數(shù)。國(guó)際上以微處理器芯片外部數(shù)據(jù)總線的位

8、數(shù)來確定計(jì)算機(jī)的字長(zhǎng)。線的位數(shù)來確定計(jì)算機(jī)的字長(zhǎng)。 8 8位機(jī)、位機(jī)、1616位機(jī)、位機(jī)、3232位機(jī)和位機(jī)和6464位機(jī)位機(jī)3 3) )主存儲(chǔ)容量主存儲(chǔ)容量 1B=8bit 1B=8bit;1KB=1024B1KB=1024B;1MB=1024KB1MB=1024KB;1GB=1024MB1GB=1024MB 1K=2 1K=21010=1024=1024,1M=21M=22020=1KK =1KK 8K 8K、64K64K、16M16M、64M64M8 8 位的位的 CPUCPU,片內(nèi)有振蕩器和時(shí)鐘電路,片內(nèi)有振蕩器和時(shí)鐘電路, , 片內(nèi)片內(nèi) 128/256128/256字節(jié)字節(jié) RAMR

9、AM片內(nèi)片內(nèi) 0K/4K/8K0K/4K/8K字節(jié)字節(jié) 程序存儲(chǔ)器程序存儲(chǔ)器ROMROM可尋址片外可尋址片外 64K64K字節(jié)字節(jié) 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器RAMRAM可尋址片外可尋址片外 64K64K字節(jié)字節(jié) 程序存儲(chǔ)器程序存儲(chǔ)器ROMROM片內(nèi)片內(nèi) 21/2621/26個(gè)個(gè) 特殊功能寄存器(特殊功能寄存器(SFRSFR)4 4個(gè)個(gè)8 8位位 的并行的并行I/OI/O口(口(PIOPIO)1 1個(gè)個(gè) 全雙工串行口(全雙工串行口(SIO/UARTSIO/UART)2/32/3個(gè)個(gè)1616位位 定時(shí)器定時(shí)器/ /計(jì)數(shù)器(計(jì)數(shù)器(TIMER/COUNTERTIMER/COUNTER)可處理可處理5/6

10、5/6個(gè)中斷源,兩級(jí)中斷優(yōu)先級(jí)個(gè)中斷源,兩級(jí)中斷優(yōu)先級(jí)內(nèi)置內(nèi)置1 1個(gè)布爾處理器和個(gè)布爾處理器和1 1個(gè)布爾累加器(個(gè)布爾累加器(CyCy)MCS-51MCS-51指令集含指令集含111111條指令條指令MCS-51MCS-51單片機(jī)基本特性單片機(jī)基本特性80C5180C51存儲(chǔ)空間配置圖存儲(chǔ)空間配置圖 讀外讀外ROMROM的過程的過程 CPUCPU從從PC(PC(程序計(jì)數(shù)器程序計(jì)數(shù)器) )中取出當(dāng)前中取出當(dāng)前ROMROM的的1616位地址,分位地址,分別由別由P0P0口(低口(低8 8位)和位)和P2P2口(高口(高8 8位)同時(shí)輸出位)同時(shí)輸出; ;ALEALE信號(hào)有效時(shí)由地址鎖存器鎖存低

11、信號(hào)有效時(shí)由地址鎖存器鎖存低8 8位地址信號(hào)位地址信號(hào); ;地址鎖存器輸出的低地址鎖存器輸出的低8 8位地址信號(hào)和位地址信號(hào)和P2P2口輸出的高口輸出的高8 8位位地址信號(hào)同時(shí)加到外地址信號(hào)同時(shí)加到外ROM 16ROM 16位地址輸入端位地址輸入端; ;當(dāng)當(dāng)PSENPSEN信號(hào)有效時(shí),外信號(hào)有效時(shí),外ROMROM將相應(yīng)地址存儲(chǔ)單元中的數(shù)將相應(yīng)地址存儲(chǔ)單元中的數(shù)據(jù)送至數(shù)據(jù)總線(據(jù)送至數(shù)據(jù)總線(P0P0口),口),CPUCPU讀入后存入指定單元。讀入后存入指定單元。a) a) 外外RAM 16RAM 16位地址分別由位地址分別由P0P0口(低口(低8 8位)和位)和P2P2口口(高(高8 8位)同

12、時(shí)輸出位)同時(shí)輸出; ;b) ALEb) ALE信號(hào)有效時(shí)由地址鎖存器鎖存低信號(hào)有效時(shí)由地址鎖存器鎖存低8 8位地址信號(hào),位地址信號(hào),地址鎖存器輸出的低地址鎖存器輸出的低8 8位地址信號(hào)和位地址信號(hào)和P2P2口輸出的高口輸出的高8 8位地址信號(hào)同時(shí)加到外位地址信號(hào)同時(shí)加到外RAM 16RAM 16位地址輸入端位地址輸入端; ;c) c) 當(dāng)當(dāng)RDRD信號(hào)有效時(shí),外信號(hào)有效時(shí),外RAMRAM將相應(yīng)地址存儲(chǔ)單元中將相應(yīng)地址存儲(chǔ)單元中的數(shù)據(jù)送至數(shù)據(jù)總線(的數(shù)據(jù)送至數(shù)據(jù)總線(P0P0口),口),CPUCPU讀入后存入指定讀入后存入指定單元。單元。讀外讀外RAMRAM的過程:的過程: 寫外寫外RAMRA

13、M的過程:的過程: 寫外寫外RAMRAM的過程與讀外的過程與讀外RAMRAM的過程相同。只是控制的過程相同。只是控制信號(hào)不同,信號(hào)換成信號(hào)不同,信號(hào)換成WRWR信號(hào)。當(dāng)信號(hào)。當(dāng)WRWR信號(hào)有效時(shí),信號(hào)有效時(shí),外外RAMRAM將數(shù)據(jù)總線(將數(shù)據(jù)總線(P0P0口分時(shí)傳送)上的數(shù)據(jù)寫入相口分時(shí)傳送)上的數(shù)據(jù)寫入相應(yīng)地址存儲(chǔ)單元中。應(yīng)地址存儲(chǔ)單元中。 3.5 3.5 I/OI/O端口結(jié)構(gòu)及工作原理端口結(jié)構(gòu)及工作原理 有有4 4個(gè)個(gè)8 8位并行位并行I/OI/O口口, ,共共3232條端線:條端線:P0P0、P1P1、P2P2和和P3P3口。口。每一個(gè)每一個(gè)I/OI/O口都能用作輸入或輸出??诙寄苡米鬏?/p>

14、入或輸出。用作輸入時(shí),均須先寫入用作輸入時(shí),均須先寫入“1”1”;用作輸出時(shí),用作輸出時(shí),P0P0口應(yīng)外接上拉電阻??趹?yīng)外接上拉電阻。P0P0口的負(fù)載能力為口的負(fù)載能力為8 8個(gè)個(gè)LSTTLLSTTL門電路;門電路;P1P1P3P3口的負(fù)載能力為口的負(fù)載能力為4 4個(gè)個(gè)LSTTLLSTTL門電路。門電路。3.6 3.6 CPUCPU時(shí)鐘和時(shí)序時(shí)鐘和時(shí)序1 1) 時(shí)鐘電路時(shí)鐘電路 80C5180C51單片機(jī)內(nèi)有一高增益反相放大器,按圖連接即可構(gòu)成單片機(jī)內(nèi)有一高增益反相放大器,按圖連接即可構(gòu)成自激振蕩電路,振蕩頻率取決于石英晶體的振蕩頻率自激振蕩電路,振蕩頻率取決于石英晶體的振蕩頻率. . 單片機(jī)

15、各種周期的關(guān)系圖單片機(jī)各種周期的關(guān)系圖P1P1P2P2S1S1P1P1P2P2S2S2P1P1P2P2S3S3P1P1P2P2S4S4P1P1P2P2S5S5P1P1P2P2S6S6機(jī)器周期機(jī)器周期狀態(tài)周期狀態(tài)周期時(shí)鐘周期時(shí)鐘周期1 1個(gè)機(jī)器周期個(gè)機(jī)器周期=6=6個(gè)狀態(tài)周期個(gè)狀態(tài)周期=12=12個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期牢牢記?。豪卫斡涀。?振蕩周期振蕩周期( (時(shí)鐘周期時(shí)鐘周期)= )= 晶振頻率的倒數(shù);晶振頻率的倒數(shù); 1 1個(gè)機(jī)器周期個(gè)機(jī)器周期 = 6= 6個(gè)狀態(tài)周期個(gè)狀態(tài)周期 1 1個(gè)機(jī)器周期個(gè)機(jī)器周期 = 12= 12個(gè)時(shí)鐘周期;個(gè)時(shí)鐘周期; 1 1個(gè)指令周期個(gè)指令周期 = 1= 1、2

16、2、4 4個(gè)機(jī)器周期個(gè)機(jī)器周期2 2)復(fù)位電路)復(fù)位電路a) a) 上電復(fù)位電路上電復(fù)位電路RCRC構(gòu)成微分電路,在上電瞬間,產(chǎn)生構(gòu)成微分電路,在上電瞬間,產(chǎn)生一個(gè)微分脈沖,其寬度若大于一個(gè)微分脈沖,其寬度若大于2 2個(gè)機(jī)個(gè)機(jī)器周期,器周期,80C5180C51將復(fù)位。為保證微分將復(fù)位。為保證微分脈沖寬度足夠大,脈沖寬度足夠大,RCRC時(shí)間常數(shù)應(yīng)大于時(shí)間常數(shù)應(yīng)大于兩個(gè)機(jī)器周期。一般取兩個(gè)機(jī)器周期。一般取2222電容、電容、1k1k電電阻。阻。優(yōu)點(diǎn):使用最為普遍且成本低廉的復(fù)優(yōu)點(diǎn):使用最為普遍且成本低廉的復(fù)位電路位電路 c c)復(fù)位后)復(fù)位后CPUCPU狀態(tài)狀態(tài)PCPC: 0000H0000H

17、TMOD TMOD: 00H00HAccAcc: 00H00H TCON TCON: 00H00HB B: 00H00H TH0 TH0: 00H00HPSWPSW: 00H00H TL0 TL0: 00H00HSPSP: 07H07H TH1 TH1: 00H00HDPTRDPTR:0000H 0000H TL1 TL1: 00H00HP0P0P3P3:FFH FFH SCON SCON: 00H00HIPIP:00000B00000B SBUF SBUF: 不定不定IEIE:0 000000B PCON00000B PCON: 0 00000B0000B 一條匯編語言指令中最多包含一條匯編

18、語言指令中最多包含5 5 個(gè)區(qū)段個(gè)區(qū)段, , 如下所示如下所示: : 標(biāo)號(hào)標(biāo)號(hào): : 操作碼目的操作數(shù)操作碼目的操作數(shù), ,源操作數(shù)源操作數(shù); ;注釋注釋 LOOP: ADD A, #10H ;(A) LOOP: ADD A, #10H ;(A) (A)+10H(A)+10H 5 5個(gè)區(qū)段之間要用分隔符分開個(gè)區(qū)段之間要用分隔符分開: : 標(biāo)號(hào)與操作碼之間用標(biāo)號(hào)與操作碼之間用“: ”: ”隔開隔開, , 操作碼與操作數(shù)之間用空格隔開操作碼與操作數(shù)之間用空格隔開, , 操作數(shù)與操作數(shù)與注釋之間用注釋之間用“;”;”隔開隔開, , 如果操作數(shù)有兩個(gè)以上如果操作數(shù)有兩個(gè)以上, , 則在操作則在操作數(shù)之

19、間要用逗號(hào)數(shù)之間要用逗號(hào)“,”,”隔開隔開 ( (乘法指令和除法指令除外乘法指令和除法指令除外) )。 4.1.3 MCS4.1.3 MCS5151單片機(jī)匯編語言指令格式單片機(jī)匯編語言指令格式4.2 4.2 尋址方式尋址方式 尋址方式尋址方式:尋找操作數(shù)地址的方式尋找操作數(shù)地址的方式.在用匯編語言編程時(shí)在用匯編語言編程時(shí), 數(shù)據(jù)的存放、傳送、數(shù)據(jù)的存放、傳送、 運(yùn)算都要通過運(yùn)算都要通過指令來完成。指令來完成。 編程者必須自始至終都要十分清楚操作數(shù)編程者必須自始至終都要十分清楚操作數(shù)的位置的位置, 以及如何將它們傳送到適當(dāng)?shù)募拇嫫魅⑴c運(yùn)算。以及如何將它們傳送到適當(dāng)?shù)募拇嫫魅⑴c運(yùn)算。每一種計(jì)算

20、機(jī)都具有多種尋址方式。尋址方式的多少是反每一種計(jì)算機(jī)都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標(biāo)之一。映指令系統(tǒng)優(yōu)劣的主要指標(biāo)之一。 在在 MCS -51單片機(jī)指令系統(tǒng)中單片機(jī)指令系統(tǒng)中, 有以下有以下7種尋址方式種尋址方式: (1) 立即尋址立即尋址; (2) 直接尋址直接尋址; (3) 寄存器尋址寄存器尋址; (4) 寄存器間接尋址寄存器間接尋址; (5) 基址寄存器加變址寄存器間接尋址基址寄存器加變址寄存器間接尋址; (6) 相對(duì)尋址相對(duì)尋址; (7) 位尋址。位尋址。 總結(jié):總結(jié):7中尋址方式及使用空間中尋址方式及使用空間序號(hào)序號(hào)尋址方式尋址方式尋址空間尋址空間1寄存

21、器尋址寄存器尋址R0R7,A,B,CY,DPTR2立即尋址立即尋址程序存儲(chǔ)器程序存儲(chǔ)器3寄存器間址寄存器間址內(nèi)部?jī)?nèi)部RAM的的00HFFH,外部,外部RAM4直接尋址直接尋址內(nèi)部?jī)?nèi)部RAM的的00H7FH,SFR,程序存儲(chǔ)器程序存儲(chǔ)器5變址尋址變址尋址程序存儲(chǔ)器程序存儲(chǔ)器6相對(duì)尋址相對(duì)尋址程序存儲(chǔ)器程序存儲(chǔ)器7位尋址位尋址內(nèi)部?jī)?nèi)部RAM中中20H2FH的的128位,位,SFR中的中的93位位4.3.1 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令(29條條) MCS -51傳送指令示意圖傳送指令示意圖 功能功能助記符助記符操作數(shù)與傳遞方向操作數(shù)與傳遞方向數(shù)據(jù)數(shù)據(jù)傳送傳送內(nèi)部數(shù)據(jù)存儲(chǔ)器間傳送內(nèi)部數(shù)據(jù)存儲(chǔ)器間傳送

22、MOVA、 Rn、Ri、 direct #dataDPTR data16A Rn、 Ri、 directdirect direct、 Rn、 Ri外部數(shù)據(jù)存儲(chǔ)器傳送外部數(shù)據(jù)存儲(chǔ)器傳送MOVXA Ri、 DPTR程序存儲(chǔ)器傳送程序存儲(chǔ)器傳送MOVCA A+DPTR、 A+PC數(shù)據(jù)數(shù)據(jù)交換交換字節(jié)交換字節(jié)交換XCHA Rn、 Ri、 direct半字節(jié)交換半字節(jié)交換XCHDA低四位低四位 Ri低四位低四位 A高、低高、低4位互換位互換SWAPA高四位高四位 A低四位低四位堆棧堆棧操作操作壓入堆棧壓入堆棧PUSHSP direct彈出堆棧彈出堆棧POP4.3.2 算術(shù)運(yùn)算類指令算術(shù)運(yùn)算類指令 算術(shù)運(yùn)

23、算指令算術(shù)運(yùn)算指令 7) 十進(jìn)制調(diào)整指令十進(jìn)制調(diào)整指令 DA A 這條指令對(duì)累加器這條指令對(duì)累加器A參與的參與的BCD碼加法運(yùn)算所獲得的碼加法運(yùn)算所獲得的8位位結(jié)果進(jìn)行十進(jìn)制調(diào)整結(jié)果進(jìn)行十進(jìn)制調(diào)整, 使累加器使累加器A中的內(nèi)容調(diào)整為二位壓縮型中的內(nèi)容調(diào)整為二位壓縮型 BCD碼的數(shù)。使用時(shí)必須注意碼的數(shù)。使用時(shí)必須注意, 它只能跟在加法指令之后它只能跟在加法指令之后, 不不能對(duì)減法指令的結(jié)果進(jìn)行調(diào)整能對(duì)減法指令的結(jié)果進(jìn)行調(diào)整, 且其結(jié)果不影響溢出標(biāo)志位。且其結(jié)果不影響溢出標(biāo)志位。 兩個(gè)兩個(gè) BCD數(shù)數(shù) 36 與與 45 相加相加, 結(jié)果應(yīng)為結(jié)果應(yīng)為 BCD碼碼 81, 程序如下程序如下: 4.3

24、.3 邏輯運(yùn)算類指令邏輯運(yùn)算類指令4)簡(jiǎn)單邏輯操作指令)簡(jiǎn)單邏輯操作指令CLR A ; 對(duì)累加器對(duì)累加器A清清“0” E4CPL A ; 對(duì)累加器對(duì)累加器A按位取反按位取反 F4 上例中用異或指令使累加器清零上例中用異或指令使累加器清零,需要兩條雙字節(jié)指令需要兩條雙字節(jié)指令 MOV 30H, A 和和 XRL A, 30H 共占用四字節(jié)存儲(chǔ)空間。共占用四字節(jié)存儲(chǔ)空間。 MOV A,#00H實(shí)現(xiàn)累加器清零實(shí)現(xiàn)累加器清零,也需一條雙字節(jié)指令也需一條雙字節(jié)指令不影響不影響Cy, AC, OV等標(biāo)志等標(biāo)志4.3.4 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令 由于由于MCS -51 提供了較豐富的控制轉(zhuǎn)移指令提供了較豐

25、富的控制轉(zhuǎn)移指令, 因此在編程上相當(dāng)靈活方便。這類指令用到的助因此在編程上相當(dāng)靈活方便。這類指令用到的助記符共有記符共有 10 種種: AJMP、LJMP、SJMP、JMP、ACALL、LCALL、JZ、JNZ、CJNE、DJNZ。 以上指令功能、跳轉(zhuǎn)范圍以上指令功能、跳轉(zhuǎn)范圍RETRETI區(qū)別區(qū)別4.3.6 位操作類指令位操作類指令 5.1.25.1.2偽指令偽指令用來指定程序或數(shù)據(jù)的起始位置,給出一些連續(xù)用來指定程序或數(shù)據(jù)的起始位置,給出一些連續(xù)存放數(shù)據(jù)的確定地址,或?yàn)橹虚g運(yùn)算結(jié)果保留一存放數(shù)據(jù)的確定地址,或?yàn)橹虚g運(yùn)算結(jié)果保留一部分存儲(chǔ)空間以及表示源程序結(jié)束等等。部分存儲(chǔ)空間以及表示源程序

26、結(jié)束等等。 1) 匯編起始指令匯編起始指令 ORG 指令格式為指令格式為: 標(biāo)號(hào)標(biāo)號(hào): ORG 16位地址位地址 標(biāo)號(hào)標(biāo)號(hào): 可有可無。標(biāo)號(hào)的要求可有可無。標(biāo)號(hào)的要求 ORG 2000H START:MOV A,#7FH 8051/87518051/8751最小應(yīng)用系統(tǒng)最小應(yīng)用系統(tǒng)1 1) ) 8051 8051、87518751最小應(yīng)用系統(tǒng)最小應(yīng)用系統(tǒng)單片機(jī)接上時(shí)鐘電路和復(fù)位電路單片機(jī)接上時(shí)鐘電路和復(fù)位電路, EA, EA接高電平接高電平,ALE,ALE、PSENPSEN信號(hào)不用信號(hào)不用, ,系統(tǒng)就可以工作。系統(tǒng)就可以工作。80318031最小應(yīng)用系統(tǒng)最小應(yīng)用系統(tǒng)2) 8031最小應(yīng)用系統(tǒng)最

27、小應(yīng)用系統(tǒng)6.1.2 系統(tǒng)擴(kuò)展的內(nèi)容與方法系統(tǒng)擴(kuò)展的內(nèi)容與方法1) MCS-51系列單片機(jī)的三總線結(jié)構(gòu)系列單片機(jī)的三總線結(jié)構(gòu)地址總線:地址總線: 由由P2口提供高口提供高8位地址線位地址線; 由由P0口提供低口提供低8位地址線位地址線,需外加地址鎖存器鎖存需外加地址鎖存器鎖存低低8位的地址。一般都用位的地址。一般都用ALE正脈沖信號(hào)的下降沿正脈沖信號(hào)的下降沿進(jìn)行鎖存。進(jìn)行鎖存。數(shù)據(jù)總線數(shù)據(jù)總線: 由由P0口提供。此口是雙向、輸入三態(tài)控制的口提供。此口是雙向、輸入三態(tài)控制的8位位通道口。通道口??刂瓶偩€控制總線:ALE地址鎖存信號(hào)地址鎖存信號(hào),用以實(shí)現(xiàn)對(duì)低用以實(shí)現(xiàn)對(duì)低8位地址的鎖存。位地址的鎖存

28、。PSEN 片外程序存儲(chǔ)器取指信號(hào)。片外程序存儲(chǔ)器取指信號(hào)。RD 片外數(shù)據(jù)存儲(chǔ)器讀信號(hào)。片外數(shù)據(jù)存儲(chǔ)器讀信號(hào)。WR 片外數(shù)據(jù)存儲(chǔ)器寫信號(hào)。片外數(shù)據(jù)存儲(chǔ)器寫信號(hào)。單片機(jī)單片機(jī)3總線結(jié)構(gòu)形式總線結(jié)構(gòu)形式常用的常用的EPROMEPROM芯片芯片常用的常用的RAMRAM芯片芯片G G 電平鎖存引腳電平鎖存引腳OE OE 輸出允許引腳輸出允許引腳74LS37374LS373具有三態(tài)輸出的具有三態(tài)輸出的TTLTTL電平鎖存器電平鎖存器6.3.5 6.3.5 常用存儲(chǔ)器地址譯碼電路常用存儲(chǔ)器地址譯碼電路 A B C G2A G2B G1 Y7 GND VCC Y0 Y1 Y2 Y3 Y4 Y5 Y6 1 1

29、6 2 15 3 14 4 13 5 12 6 11 7 10 8 9 74LS13874LS138引腳圖引腳圖74LS13874LS138: 3:83:8譯碼器譯碼器G2AG2A、G2BG2B、G1G1: 控制信號(hào)控制信號(hào)(0)(0)、:、: 輸出選擇信號(hào)線輸出選擇信號(hào)線(0)(0)Y0Y0- -Y7Y7: 輸出信號(hào)線輸出信號(hào)線(IN)(IN)3) 地址譯碼關(guān)系圖地址譯碼關(guān)系圖(參照課本)(參照課本)1位不接:每個(gè)單元占用位不接:每個(gè)單元占用21=2個(gè)地址號(hào)個(gè)地址號(hào); 片內(nèi)譯碼線有片內(nèi)譯碼線有11根根(AlOAO),片外譯碼線有片外譯碼線有4根。根。A15為為0:占用地址:占用地址:0010

30、00000000000000100111111111, 即即2000H27FFH。A15為為1:占用地址:占用地址:10100000000000001010011111111111, 即即A000HA7FFH。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 0100 1)屬完全譯碼還是部分譯碼屬完全譯碼還是部分譯碼;2)片內(nèi)譯碼線和片外譯碼線各有多少根片內(nèi)譯碼線和片外譯碼線各有多少根;3)所占用的全部地址范圍為多少。所占用的全部地址范圍為多少。6.4.6.4.3 3 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器RAMRAM的擴(kuò)展的擴(kuò)展P0、P2口作為地址、數(shù)據(jù)總線口作為地址、數(shù)據(jù)總線:

31、1) 當(dāng)使用當(dāng)使用MOVX Ri指令時(shí),系統(tǒng)使用指令時(shí),系統(tǒng)使用P0口輸出地址口輸出地址 信號(hào)(信號(hào)(P2口不用);口不用); 2) 當(dāng)使用當(dāng)使用MOVX DPTR指令時(shí),指令時(shí),P0口輸出口輸出DPTR提供提供 的低八位地址信號(hào),的低八位地址信號(hào),P2口輸出口輸出DPTR提供的高八位地提供的高八位地 址信號(hào)。址信號(hào)。 3) 不論哪種情況,不論哪種情況,P0口都是地址口都是地址/數(shù)據(jù)復(fù)用總線,因此數(shù)據(jù)復(fù)用總線,因此 仍要使用仍要使用74LS373來鎖存來鎖存P0口的地位地址信號(hào)??诘牡匚坏刂沸盘?hào)。使用訪問外部使用訪問外部RAM指令指令MOVX 時(shí),在時(shí)序中將產(chǎn)生時(shí),在時(shí)序中將產(chǎn)生/RD或或/W

32、R信號(hào),信號(hào),因此將此信號(hào)與外因此將此信號(hào)與外RAM的讀(的讀(/RD) 、寫(、寫(/WR)控制端相連接就實(shí))控制端相連接就實(shí)現(xiàn)系統(tǒng)對(duì)外現(xiàn)系統(tǒng)對(duì)外RAM的讀寫控制。的讀寫控制。CPUCPU對(duì)外設(shè)的兩種編址方式(對(duì)外設(shè)的兩種編址方式(5151是哪一種?)是哪一種?)1 1、端口與主存儲(chǔ)器單元統(tǒng)一編址、端口與主存儲(chǔ)器單元統(tǒng)一編址統(tǒng)一編址,把主存儲(chǔ)器的一部分地址空間分給端口,統(tǒng)一編址,把主存儲(chǔ)器的一部分地址空間分給端口,把每一個(gè)端口作為一個(gè)存儲(chǔ)單元。把每一個(gè)端口作為一個(gè)存儲(chǔ)單元。2 2、端口單獨(dú)編址、端口單獨(dú)編址對(duì)端口單獨(dú)編址時(shí),端口不占主存地址空間,但必對(duì)端口單獨(dú)編址時(shí),端口不占主存地址空間,但

33、必需設(shè)置專門的輸入輸出指令訪問端口。需設(shè)置專門的輸入輸出指令訪問端口。7.3 MCS -51單片機(jī)的中斷系統(tǒng)單片機(jī)的中斷系統(tǒng)5 5個(gè)中斷源個(gè)中斷源兩個(gè)優(yōu)先級(jí)兩個(gè)優(yōu)先級(jí)兩級(jí)中斷嵌套兩級(jí)中斷嵌套MCS - 51中斷系統(tǒng)結(jié)構(gòu)框圖中斷系統(tǒng)結(jié)構(gòu)框圖 MCS - 51MCS - 51中斷源中斷源 8051 8051 中中 斷斷 源源中斷源中斷源觸發(fā)方式觸發(fā)方式中斷系統(tǒng)涉及的特殊功能寄存器中斷系統(tǒng)涉及的特殊功能寄存器中斷系統(tǒng)設(shè)計(jì)(參照教材)中斷系統(tǒng)設(shè)計(jì)(參照教材)同級(jí)內(nèi)優(yōu)先級(jí)次序同級(jí)內(nèi)優(yōu)先級(jí)次序 例如例如, 某軟件中對(duì)寄存器某軟件中對(duì)寄存器IE、 IP設(shè)置如下設(shè)置如下: MOV IE, 8FH MOV IP

34、, 06H 則此時(shí)該系統(tǒng)中則此時(shí)該系統(tǒng)中: CPU中斷允許中斷允許; 允許外部中斷允許外部中斷 0、 外部中斷外部中斷 1、 定時(shí)器定時(shí)器 /計(jì)數(shù)器計(jì)數(shù)器 0、 定時(shí)器定時(shí)器 /計(jì)數(shù)器計(jì)數(shù)器1提出的中斷申請(qǐng)?zhí)岢龅闹袛嗌暾?qǐng); 允許中斷源的中斷優(yōu)先次序?yàn)樵试S中斷源的中斷優(yōu)先次序?yàn)? 定時(shí)器定時(shí)器 /計(jì)數(shù)器計(jì)數(shù)器 0外部中斷外部中斷 1外部中斷外部中斷 0定時(shí)器定時(shí)器/計(jì)數(shù)計(jì)數(shù)器器 1。 607.3.47.3.4中斷請(qǐng)求的撤銷中斷請(qǐng)求的撤銷1 1) ) 定時(shí)中斷請(qǐng)求的撤銷定時(shí)中斷請(qǐng)求的撤銷自動(dòng)撤銷自動(dòng)撤銷( (硬件自動(dòng)清硬件自動(dòng)清TF0TF0和和TF1)TF1)2 2) ) 脈沖方式外部中斷請(qǐng)求的撤

35、銷脈沖方式外部中斷請(qǐng)求的撤銷自動(dòng)撤銷自動(dòng)撤銷( (硬件自動(dòng)硬件自動(dòng)清清IE0IE0和和IE1IE1;脈沖信號(hào)消失;脈沖信號(hào)消失) )3 3) ) 電平方式外部中斷請(qǐng)求的撤銷電平方式外部中斷請(qǐng)求的撤銷硬件自動(dòng)清硬件自動(dòng)清IE0IE0和和IE1IE1,但低電平中斷請(qǐng)求信號(hào)需強(qiáng)制變?yōu)楦唠娖健?,但低電平中斷?qǐng)求信號(hào)需強(qiáng)制變?yōu)楦唠娖健? 4) ) 串行中斷請(qǐng)求的撤銷串行中斷請(qǐng)求的撤銷軟件撤銷軟件撤銷(CLR TI(CLR TI,CLR RI)CLR RI)例例 中斷方式的數(shù)據(jù)傳送中斷方式的數(shù)據(jù)傳送P1.0P1.1P1.2P1.3P1.7P1.6P1.5P1.48031INT0+5VK0K3LED0LED

36、3K+5V74LS001K 1K 利用中斷控制輸入利用中斷控制輸入/ /輸出輸出過程:過程:每請(qǐng)求中斷一次,完成每請(qǐng)求中斷一次,完成一個(gè)讀一個(gè)讀/ /寫過程寫過程1.1.選擇外部中斷選擇外部中斷0 02.2.邊沿觸發(fā)方式邊沿觸發(fā)方式74LS00 74LS00 與非門,與非門,K K從上從上到下,則形成了負(fù)跳變。到下,則形成了負(fù)跳變。3.3.逐級(jí)開放中斷逐級(jí)開放中斷4.4.中斷服務(wù)程序入口中斷服務(wù)程序入口 ORG 0000HSTART: AJMP MAIN ORG 0003H AJMP EXTR ORG 0030HMAIN: SETB IT0 SETB EX0 SETB EA SJMP $ OR

37、G 0200HEXTR: MOV A, #0FH MOV P1, A MOV A, P1 SWAP A MOV P1, A RETI END51定時(shí)定時(shí)/計(jì)數(shù)器特點(diǎn):計(jì)數(shù)器特點(diǎn): 1)多種工作方式,定時(shí)或計(jì)數(shù))多種工作方式,定時(shí)或計(jì)數(shù) 2)計(jì)數(shù)值可變,但有限制)計(jì)數(shù)值可變,但有限制 3)可發(fā)出中斷申請(qǐng))可發(fā)出中斷申請(qǐng)定時(shí)定時(shí)/計(jì)數(shù)器工作方式計(jì)數(shù)器工作方式(詳細(xì)內(nèi)容(詳細(xì)內(nèi)容參照課本)參照課本)4種工作模式:種工作模式:模式模式0、1和和2:T0和和T1的工作模式相同;的工作模式相同;模式模式3:兩個(gè)定時(shí)器的模式不同。:兩個(gè)定時(shí)器的模式不同。 8.3 定時(shí)定時(shí)/計(jì)數(shù)器的應(yīng)用計(jì)數(shù)器的應(yīng)用初始化:初

38、始化: 1.正確寫入控制字,確定工作方式正確寫入控制字,確定工作方式 2.進(jìn)行計(jì)數(shù)初值的計(jì)算。進(jìn)行計(jì)數(shù)初值的計(jì)算。步驟:步驟: 1. TMOD賦值。賦值。 2.計(jì)數(shù)初值寫入計(jì)數(shù)初值寫入TH0 、TL0或或TH1、TL1 3.根據(jù)需要,置位根據(jù)需要,置位ET0或或ET1,允許中斷,允許中斷 4. 置位置位EA 5. 置位置位TR0或或TR1計(jì)數(shù)初值計(jì)算方法:計(jì)數(shù)初值計(jì)算方法:把計(jì)數(shù)器計(jì)滿為零所需要的計(jì)數(shù)值設(shè)定為把計(jì)數(shù)器計(jì)滿為零所需要的計(jì)數(shù)值設(shè)定為C,計(jì)數(shù)初值設(shè)定,計(jì)數(shù)初值設(shè)定為為TC,由此可得到公式:,由此可得到公式: TC=M-C式中,式中,M為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在為計(jì)數(shù)器

39、模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式方式0時(shí)時(shí)M為為213;在方式;在方式1時(shí)時(shí)M為為216;在方式;在方式2和方式和方式3時(shí)時(shí)M為為28。 計(jì)數(shù)狀態(tài)計(jì)數(shù)狀態(tài): TC=MN 定時(shí)狀態(tài)定時(shí)狀態(tài): TC=M定時(shí)時(shí)間定時(shí)時(shí)間/T 而而 T=12晶振頻率晶振頻率 注意:方式注意:方式0的計(jì)數(shù)長(zhǎng)度的計(jì)數(shù)長(zhǎng)度M為為2的的13次方。次方。 初值是初值是13位二進(jìn)制數(shù),高位二進(jìn)制數(shù),高8位賦值給位賦值給TH0,低,低5位前面補(bǔ)足位前面補(bǔ)足 3 個(gè)個(gè) 0 湊成湊成 8 位賦給位賦給TL0。 例如,如要求計(jì)數(shù)值為例如,如要求計(jì)數(shù)值為1000,則初值為,則初值為 xM100081921000 1C18H1 110

40、0 000 1 1000B 則賦初值時(shí),則賦初值時(shí),TH00E0H,TL018H。定時(shí)器定時(shí)器/計(jì)數(shù)器應(yīng)用舉例計(jì)數(shù)器應(yīng)用舉例 例例 1 設(shè)單片機(jī)晶振頻率為設(shè)單片機(jī)晶振頻率為 6 MHz,計(jì)算單片機(jī)定時(shí)器,計(jì)算單片機(jī)定時(shí)器的最小定時(shí)時(shí)間和最大定時(shí)時(shí)間。的最小定時(shí)時(shí)間和最大定時(shí)時(shí)間。 機(jī)器周期:機(jī)器周期:T= 126 MHz= 2s 最小定時(shí)時(shí)間:最小定時(shí)時(shí)間:Tmin= 2s 最大定時(shí)時(shí)間:最大定時(shí)時(shí)間:Tmax=216 2=131072s=131ms 定時(shí)器定時(shí)器/計(jì)數(shù)器應(yīng)用舉例計(jì)數(shù)器應(yīng)用舉例 例例 2 設(shè)單片機(jī)晶振頻率為設(shè)單片機(jī)晶振頻率為 6 MHz,要求定時(shí)器,要求定時(shí)器T0產(chǎn)生產(chǎn)生100

41、ms的定時(shí),試確定計(jì)數(shù)初值及的定時(shí),試確定計(jì)數(shù)初值及TMOD的內(nèi)容。的內(nèi)容。 采用方式采用方式1 機(jī)器周期:機(jī)器周期:T= 126 MHz= 2s 脈沖計(jì)數(shù):脈沖計(jì)數(shù):C= 100ms/2s =5 104 則計(jì)數(shù)初值:則計(jì)數(shù)初值: TC= 216- 5 104 =15536 =3CB0HTMOD: T0 M1M0 =01,C/T=0,GATE=0 T1可任意設(shè)置可任意設(shè)置 TMOD= 0000001 定時(shí)器定時(shí)器/計(jì)數(shù)器應(yīng)用舉例計(jì)數(shù)器應(yīng)用舉例 1) 方式方式 0 的應(yīng)用的應(yīng)用 例例 1 利用定時(shí)器輸出周期為利用定時(shí)器輸出周期為 2 ms的方波的方波, 設(shè)單片機(jī)晶振設(shè)單片機(jī)晶振頻率為頻率為 6

42、MHz。 選用定時(shí)器選用定時(shí)器 /計(jì)數(shù)器計(jì)數(shù)器T0 作定時(shí)器作定時(shí)器, 輸出為輸出為P1.0 引腳引腳, 2 ms 的方波可由間隔的方波可由間隔 1 ms的高低電平相間而成的高低電平相間而成, 因而只要每隔因而只要每隔 1 ms對(duì)對(duì) P1.0 取反一次即可得到這個(gè)方波。取反一次即可得到這個(gè)方波。 定時(shí)定時(shí) 1 ms的初值的初值: 因?yàn)橐驗(yàn)?機(jī)器周期機(jī)器周期=126 MHz= 2 s所以所以 1 ms內(nèi)內(nèi)T0 需要計(jì)數(shù)需要計(jì)數(shù)N次次: N= 1 ms2 s = 500 使用方式使用方式 0 的的 13 位計(jì)數(shù)器即可位計(jì)數(shù)器即可, T0 的初值的初值X為:為: X=MN=8192500=7692=

43、1E0CH(0001111000001100) 但是但是, 因?yàn)橐驗(yàn)?13 位計(jì)數(shù)器中位計(jì)數(shù)器中, 低低 8 位位 TL0 只使用了只使用了 5 位位, 其余碼均計(jì)入高其余碼均計(jì)入高 8 位位TH0 的初值的初值, 則則 T0 的初值調(diào)整為的初值調(diào)整為 (0001111000001100) TH0=0F0H, TL0=0CHTMOD初始化初始化: TMOD=00000000B=00H (GATE=0, C/T=0, M1=0, M0=0)TCON初始化初始化: 啟動(dòng)啟動(dòng)TR0=1 IE初始化初始化: 開放中斷開放中斷EA=1, 定時(shí)器定時(shí)器T0 中斷允許中斷允許ET0=1程序清單如下程序清單如下: ORG 0000H AJMP START; 復(fù)位入口復(fù)位入口 ORG 000BH AJMP T0INT ; T0中斷入口中斷入口 ORG 0030HSTART: MOV TH0, 0F0H ; T0賦初值賦初值 MOV TL0, 0CH MOV TMOD, 00H SETB ET0 ; 開開T0中斷中斷 SETB EA ; 開總允許中斷開總允許中斷 SETB

溫馨提示

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

評(píng)論

0/150

提交評(píng)論