版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一節(jié)概述1.1單片機(jī)及其應(yīng)用
一、單片機(jī)芯片技術(shù)的發(fā)展概況第一階段是單片機(jī)的初級(jí)階段,時(shí)間在1971~1974年。第二階段是低性能單片機(jī)階段,時(shí)間在1974~1978年。
第三段是高性能單片機(jī)階段,時(shí)間在1978~1983年。
第四階段是單片機(jī)的發(fā)展、鞏固、提高階段,時(shí)間從1983年~現(xiàn)在。
二、單片機(jī)的特點(diǎn)
1.體積小2.接線簡(jiǎn)單3.價(jià)格低廉4.簡(jiǎn)單易學(xué)
三、單片機(jī)的應(yīng)用1.主要應(yīng)用領(lǐng)域有以下幾個(gè)方面(1)智能產(chǎn)品。單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化,構(gòu)成新一代的機(jī)電一體化產(chǎn)品。(2)智能儀表。用單片機(jī)改造原有的測(cè)量、控制儀表,能促進(jìn)儀表向數(shù)字化、智能化、多功能化、綜合化、柔性化發(fā)展。(3)測(cè)控系統(tǒng)。用單片機(jī)可以構(gòu)成各種工業(yè)控制系統(tǒng)、適應(yīng)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。(4)數(shù)控控制機(jī)。在目前機(jī)床數(shù)控系統(tǒng)的建議控制中,采用單片機(jī)可提高其可靠性及增強(qiáng)功能,降低控制成本。(5)智能接口。計(jì)算機(jī)系統(tǒng)特別是較大型的工業(yè)測(cè)、控系統(tǒng)中,除通用外部設(shè)備外,還有許多外部通信、采集、多路分配管理、驅(qū)動(dòng)控制等接口。2.單片機(jī)在各個(gè)領(lǐng)域中的典型應(yīng)用舉例
(1)工業(yè)控制。數(shù)控機(jī)床,溫度控制,可編程順序控制,電機(jī)控制,工業(yè)機(jī)器人,智能傳感器,離散與連續(xù)過(guò)程控制等。(2)儀器儀表。智能儀器,醫(yī)療器械,液晶和氣體色譜儀,數(shù)字示波器,金屬探測(cè)儀等。(3)電信技術(shù)。調(diào)制解調(diào)器,聲像處理,數(shù)字濾波,智能線路運(yùn)行控制,通信設(shè)備等。(4)辦公自動(dòng)化和計(jì)算機(jī)外部設(shè)備。圖形終端機(jī),傳真機(jī),復(fù)印機(jī),打印機(jī),繪圖儀,磁盤驅(qū)動(dòng)器,智能終端機(jī)等。(5)汽車與節(jié)能。點(diǎn)火控制,排放控制,噴油控制,變速控制,防滑控制,安全氣囊控制,門鎖控制,雨刮控制,座椅控制,防盜報(bào)警控制,空調(diào)控制,大燈控制,導(dǎo)航控制,計(jì)費(fèi)器,交通控制等。(6)導(dǎo)航。導(dǎo)彈控制,魚雷制導(dǎo),智能武器裝置,航天導(dǎo)航系統(tǒng)等。(7)商用產(chǎn)品。自動(dòng)售貨機(jī),電子收款機(jī),電子秤,銀行統(tǒng)計(jì)機(jī)等。(8)家用電器。微波爐,電視機(jī),空調(diào)機(jī),洗衣機(jī),錄像機(jī),攝像機(jī),數(shù)碼相機(jī),音響設(shè)備,游戲機(jī),智能玩具等。
四、主流單片機(jī)簡(jiǎn)介1.80C51系列單片機(jī)產(chǎn)品繁多,主流地位已經(jīng)形成近年來(lái)推出的與80C51兼容的主要產(chǎn)品有:ATMEL公司融入Flash存儲(chǔ)器技術(shù)推出的AT89系列單片機(jī);Philips公司推出的80C51、80C52系列高性能單片機(jī);Winbond公司推出的W78C5l、W77C51系列高速低價(jià)單片機(jī):ADI公司推出的ADuC8xx系列高精度ADC單片機(jī);LG公司推出的GMS90/97系列低壓高速單片機(jī);Cygnal公司推出的C8051F系列高速SOC單片機(jī);Maxim公司推出的DS89C420高速(50MIPS)單片機(jī)等。2.非80C51結(jié)構(gòu)單片機(jī)不斷推出,給用戶提供了更為廣泛的選擇空間
Motorola單片機(jī)。品種全、選擇余地大、新產(chǎn)品多是其特點(diǎn),Motorola是世界上最大的單片機(jī)廠商;Microchip公司推出的PIC系列RISC結(jié)構(gòu)單片機(jī);ATMEL公司推出的AVR系列RISC結(jié)構(gòu)單片機(jī);TI公司推出的MSP430F系列16位低電壓、低功耗單片機(jī)。
五、微型計(jì)算機(jī)及微型計(jì)算機(jī)系統(tǒng)1.運(yùn)算器運(yùn)算器是計(jì)算機(jī)的運(yùn)算部件用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算。計(jì)算機(jī)的數(shù)據(jù)運(yùn)算和處理都在這里進(jìn)行(相當(dāng)于算盤)。
2.控制器控制器是計(jì)算機(jī)的指揮控制部件,使計(jì)算機(jī)各部分能自動(dòng)協(xié)調(diào)地工作(相當(dāng)于使用紙、筆、算盤的人的大腦)。運(yùn)算器和控制器是計(jì)算機(jī)的核心部分,常把它們合在一起稱之為中央處理器,簡(jiǎn)稱CPU。
3.存儲(chǔ)器按功能可以分為只讀和隨機(jī)存取存儲(chǔ)器兩大類。所謂隨機(jī)存取存儲(chǔ)器,英文縮寫為RAM(READRANDOMMEMORY)。汽車運(yùn)行時(shí),需要暫時(shí)存儲(chǔ)的信息由微處理器傳送到RAM。RAM中存儲(chǔ)的信息隨時(shí)都可以更改。所謂只讀存儲(chǔ)器,英文縮寫為ROM(READONLYMEMORY)。微處理器能從ROM中讀取信息,但不能把信息寫入ROM中,而且,微處理器不能擦除ROM中的信息。程序存儲(chǔ)器的類型:PROM,稱之為可編程程序只讀存儲(chǔ)器;EPROM,稱之為紫外線擦除的可編程只讀存儲(chǔ)器;EEPROM,稱之為電可擦除的可編程只讀存儲(chǔ)器;FLASHROM,稱之為閃速存儲(chǔ)器,F(xiàn)lashROM是一種新型的電可擦除、非易失性存儲(chǔ)器,使用方便,價(jià)格低廉,可多次擦寫,近年來(lái)應(yīng)用廣泛;串行EEPROM,稱之為I2C接口存儲(chǔ)器,內(nèi)部有頁(yè)寫入緩沖器。4.接口一種在微處理器和外圍設(shè)備之間控制數(shù)據(jù)流動(dòng)和數(shù)據(jù)格式的電路稱為接口。接口一般可分為并行和串行接口兩種:
(1)串行接口一次傳輸一位數(shù)據(jù)稱為串行傳輸,以串行傳輸方式通訊時(shí)使用的接口叫串行接口。
(2)并行接口同時(shí)傳輸兩位或兩位以上的數(shù)據(jù)稱為并行傳輸,以并行傳輸方式通訊是把多位數(shù)據(jù),例如8位數(shù)據(jù)的各位同時(shí)傳送。5.輸入設(shè)備輸入設(shè)備用于將程序和數(shù)據(jù)輸入到計(jì)算機(jī)中,如鍵盤。
6.輸出設(shè)備輸出設(shè)備用于把計(jì)算機(jī)數(shù)據(jù)計(jì)算或加工的結(jié)果,以用戶需要的形式顯示或保存,如顯示器、打印機(jī)。微型計(jì)算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成硬件系統(tǒng)通常由運(yùn)算器、控制器、存儲(chǔ)器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中,運(yùn)算器和控制器一般做在一個(gè)集成芯片上,統(tǒng)稱中央處理單元(CentralProcessingUnit),簡(jiǎn)稱CPU,是微機(jī)的核心部件,配上存放程序和數(shù)據(jù)的存儲(chǔ)器、輸入輸出(Input/Output,簡(jiǎn)稱I/O)接口電路及外部設(shè)備即構(gòu)成微機(jī)的硬件系統(tǒng)(如圖所示)。六、單片微型計(jì)算機(jī)
單片微型計(jì)算機(jī)(SingleChipMicrocomputer)簡(jiǎn)稱單片機(jī),又稱微控制器或嵌入式計(jì)算機(jī),是指集成在一個(gè)芯片上的微型計(jì)算機(jī),也就是把組成微型計(jì)算機(jī)的各種功能部件,包括CPU(CentralProcessingUnit)、隨機(jī)存取存儲(chǔ)器RAM(RandomAccessMemory)、只讀存儲(chǔ)器ROM(Read-onlyMemory)、基本輸入/輸出(Input/Output)接口電路、定時(shí)器/計(jì)數(shù)器等部件制作在一塊集成芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī),從而實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能。一、
51子系列和52子系列
MCS-51系列又分為51和52兩個(gè)子系列,并以芯片型號(hào)的最末位數(shù)字作為標(biāo)志。其中51子系列是基本型,而52子系列則屬增強(qiáng)型。二、
單片機(jī)芯片半導(dǎo)體工藝MCS-51系列單片機(jī)采用兩種半導(dǎo)體工藝生產(chǎn)。一種是HMOS工藝,即高速度高密度短溝道MOS工藝。另外一種是CHMOS工藝,即互補(bǔ)金屬氧化物的HMOS工藝。三、
80C51系列單片機(jī)1.2MCS-51系列單片機(jī)分類芯片型號(hào)存儲(chǔ)器類型及字節(jié)數(shù)片內(nèi)其他功能單元數(shù)量ROMRAM并口串口定時(shí)/計(jì)數(shù)器中斷源80C514KB掩膜128B4個(gè)1個(gè)2個(gè)5個(gè)87C514KBEPROM128B4個(gè)1個(gè)2個(gè)5個(gè)89C514KBFlash128B4個(gè)1個(gè)2個(gè)5個(gè)增強(qiáng)型80C528KB掩膜256B4個(gè)1個(gè)3個(gè)6個(gè)87C528KBEPROM256B4個(gè)1個(gè)3個(gè)6個(gè)89C528KBFlash256B4個(gè)1個(gè)3個(gè)6個(gè)第二節(jié)MCS-51單片機(jī)結(jié)構(gòu)和原理2.1MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳
一、8051單片機(jī)的基本組成
1.中央處理器(CPU)中央處理器是單片機(jī)的核心,完成運(yùn)算和控制功能。MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼。2.內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部RAM)8051芯片中共有256個(gè)RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀/寫的數(shù)據(jù)。3.內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM)8051共有4KB掩膜ROM,用于存放程序和原始表格常數(shù),因此稱之為程序存儲(chǔ)器,簡(jiǎn)稱內(nèi)部ROM。4.定時(shí)器/計(jì)數(shù)器8051共有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,當(dāng)定時(shí)/計(jì)數(shù)器產(chǎn)生溢出時(shí),可用中斷方式控制程序轉(zhuǎn)向。5.并行輸入輸出(I/O)口MCS-51共有四個(gè)8位的并行I/O口(P0、P1、P2、P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。
6.全雙工串行口
MCS-51單片機(jī)有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。7.中斷控制系統(tǒng)MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。8.時(shí)鐘電路MCS-51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6MHZ和12MHZ。
二、8051單片機(jī)的基本組成MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列請(qǐng)參見(jiàn)圖。
1.電源及時(shí)鐘引腳(4個(gè))
Vss(20):地線;Vcc(40):+5V電源;XTAL1(19)和XTAL2(18):外接晶體引線端。
2.控制線引腳(4個(gè))
ALE(30):地址鎖存控制信號(hào);(29):外部程序存儲(chǔ)器讀選通信號(hào)。
(31):訪問(wèn)程序存儲(chǔ)控制信號(hào)。RST(9):復(fù)位信號(hào)。3.并行I/O引腳(32個(gè),分成4個(gè)8位口)
P0.0~P0.7:通用I/O引腳或數(shù)據(jù)/低位地址總線復(fù)用引腳;P1.0~P1.7:通用I/O引腳;P2.0~P2.7:通用I/O引腳或數(shù)高位地址總線引腳;P3.0~P3.7:通用I/O引腳或第二功能引腳。MCS-51單片機(jī)的數(shù)據(jù)存儲(chǔ)器分為內(nèi)部RAM和外部RAM,RAM的配置圖如圖所示。2.2MCS-51單片機(jī)的數(shù)據(jù)存儲(chǔ)器8051片內(nèi)RAM共有128B,分成工作寄存器區(qū)、位尋址區(qū)、通用RAM區(qū)三部分。基本型單片機(jī)片內(nèi)RAM地址范圍是00H~7FH。片外RAM地址空間為64KB,地址范圍是0000H~FFFFH。一、內(nèi)部數(shù)據(jù)存儲(chǔ)器低128單元
8051的內(nèi)部RAM共有256個(gè)單元,通常把這256個(gè)單元按其功能劃分為兩部分:低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。1.寄存器區(qū)
8051單片機(jī)片內(nèi)RAM低端的00H~1FH共32B分成4個(gè)工作寄存器組,每組占8個(gè)單元?!ぜ拇嫫?組:地址00H~07H·寄存器1組:地址08H~0FH·寄存器2組:地址10H~17H·寄存器3組:地址18H~1FH地址區(qū)間低128單元00H~07H工作寄存器0區(qū)(R0~R7)08H~0FH工作寄存器1區(qū)(R0~R7)10H~17H工作寄存器2區(qū)(R0~R7)18H~1FH工作寄存器3區(qū)(R0~R7)20H~2FH位尋址區(qū)(00H~7FH)30H~7FH數(shù)據(jù)緩沖區(qū)2.位尋址區(qū)內(nèi)部RAM的20H~2FH單元,既可作為一般RAM單元使用,進(jìn)行字節(jié)操作,也可以對(duì)單元中每一位進(jìn)行位操作,因此把該區(qū)稱之為位尋址區(qū)。位尋址區(qū)共有16個(gè)RAM單元,計(jì)128位,位地址為00H~7FH。字節(jié)地址位地址D7D6D5D4D3D2D1D02FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H07060504030201003.用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下80個(gè)單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H~7FH。二、內(nèi)部數(shù)據(jù)存儲(chǔ)器高128單元內(nèi)部RAM的高128單元是供給專用寄存器使用的,其單元地址為80H~FFH。1.專用寄存器(SFR)簡(jiǎn)介8051共有21個(gè)專用寄存器(1)程序計(jì)數(shù)器(PC——ProgramCounter)PC是一個(gè)16位的計(jì)數(shù)器,它總是存放著下一個(gè)要取的指令的16位存儲(chǔ)單元地址,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64KB。(2)與運(yùn)算器相關(guān)的寄存器(3個(gè))①累加器(ACC——Accumulator);累加器為8位寄存器,是最常用的專用寄存器,功能較多,地位重要。②B寄存器;B寄存器是一個(gè)8位寄存器,主要用于乘除運(yùn)算。③程序狀態(tài)字(PSW——ProgramStatusWord)程序狀態(tài)字(programstatusword)簡(jiǎn)稱為PSW,內(nèi)部含有程序在運(yùn)行時(shí)的相關(guān)信息。(3)與指針相關(guān)的寄存器(3個(gè))①數(shù)據(jù)指針(DPTR);數(shù)據(jù)指針為16位寄存器,它是MCS-51中一個(gè)16位寄存器。②堆棧指針(SP----StackPointer);堆棧是一個(gè)特殊的存儲(chǔ)區(qū),用來(lái)暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。(4)與接口相關(guān)的寄存器(7個(gè))。
并行I/O接口P0、P1、P2、P3,均為8位;通過(guò)對(duì)這4個(gè)寄存器的讀和寫,可以實(shí)現(xiàn)數(shù)據(jù)從相應(yīng)接口的輸入和輸出;
串行接口數(shù)據(jù)緩沖器SBUF;
串行接口控制寄存器SCON;
串行通信波特率倍增寄存器PCON。(5)與中斷相關(guān)的寄存器(2個(gè))
中斷允許控制寄存器IE;
中斷優(yōu)先級(jí)控制寄存器IP。(6)與定時(shí)/計(jì)數(shù)器相關(guān)的寄存器(6個(gè))
定時(shí)/計(jì)數(shù)器T0的兩個(gè)8位計(jì)數(shù)初值寄存器TH0、TL0,它們可以構(gòu)成16位的計(jì)數(shù)器,TH0存放高8位,TL0存放低8位;
定時(shí)/計(jì)數(shù)器T1的兩個(gè)8位計(jì)數(shù)初值寄存器THl、TLl,它們可以構(gòu)成16位的計(jì)數(shù)器,THl存放高8位,TLl存放低8位;
定時(shí)/計(jì)數(shù)器的工作方式寄存器TMOD;
定時(shí)/計(jì)數(shù)器的控制寄存器TCON。三、專用寄存器中的字節(jié)尋址和位地址SFRMSB位地址/位定義
LSB字節(jié)地址BF7F6F5F4F3F2F1F0F0HB.7B.6B.5B.4B.3B.2B.1B.0ACCE7E6E5E4E3E2E1E0E0HACC.7ACC.6ACC.5ACC.4ACC.3ACC.2ACC.1ACC.0PSWD7D6D5D4D3D2D1D0D0HCYACF0RS1RS0OV/PIPBFBEBDBCBBBAB9B8B8H///PSPT1PX1PT0PX0P3B7B6B5B4B3B2B1B0B0HP3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0IEAFAEADACABAAA9A8A8HEA//ESET1EX1ET0EX0P2A7A6A5A4A3A2A1A0A0HP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0SBUF
99HSCON9F9E9D9C9B9A999898HSM0SM1SM2RENTB8RB8TIRIP1979695949392919090HP1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0TH1
8DHTH0
8CHTL1
8BHTL0
8AHTMODGATEC/TM1M0GATEC/TM1M089HTCON8F8E8D8C8B8A898888HTF1TR1TF0TR0IE1IT1IE0IT0PCONSMO///////87HDPH
83HDPL
82HSP
81HP0878685848382818080HP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08051片內(nèi)有4KB的ROM,8751片內(nèi)有4KB的EPROM,8031片內(nèi)無(wú)程序存儲(chǔ)器。MCS-51的片外最多能擴(kuò)展64K字節(jié)程序存儲(chǔ)器,片內(nèi)外的ROM是統(tǒng)一編址的。2.3MCS-51單片機(jī)的程序存儲(chǔ)器MCS-51的程序存儲(chǔ)器中有些單元具有特殊功能,使用時(shí)應(yīng)予以注意。其中一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,PC=0000H,單片機(jī)從0000H單元開(kāi)始取指令執(zhí)行程序。還有一組特殊單元是0003H~002AH。共40個(gè)單元,這40個(gè)單元被均勻地分為五段,作為五個(gè)中斷源的中斷地址區(qū)。第三節(jié)并行輸入/輸出口電路結(jié)構(gòu)所有MCS-51的端口都是雙向性的,既可當(dāng)輸入端口用,也可當(dāng)輸出端口用。在特殊功能寄存器中分別被稱為P0、P1、P2和P3。每一個(gè)端口都由鎖存器(D型)、輸出驅(qū)動(dòng)電路所組成,結(jié)構(gòu)如圖所示。MCS-51的P0任一引腳的內(nèi)部結(jié)構(gòu)圖MCS-51的P1任一引腳的內(nèi)部結(jié)構(gòu)圖MCS-51的P2任一引腳的內(nèi)部結(jié)構(gòu)圖MCS-51的P3任一引腳的內(nèi)部結(jié)構(gòu)圖(1)P1、P2和P3的內(nèi)部均有上拉電阻器。(2)MCS-51的所有端口在復(fù)位(RESET)后都會(huì)自動(dòng)被寫入1。(3)輸入功能時(shí),引腳的輸入信號(hào)是經(jīng)由三態(tài)(tri—state)緩沖器到達(dá)內(nèi)部系統(tǒng)總線。(4)輸出功能時(shí),輸出的數(shù)據(jù)會(huì)被鎖存(latch)在D型鎖存器,直到下一批數(shù)據(jù)輸出時(shí),D型鎖存器的內(nèi)容才會(huì)改變。(5)當(dāng)存取外部存儲(chǔ)器的數(shù)據(jù)時(shí),P0會(huì)先輸出外部存儲(chǔ)器的低字節(jié)地址(lowbyteadress),并利用時(shí)間多任務(wù)(timemultiplexed)方式讀入或?qū)懗鲎止?jié)數(shù)據(jù)。若外部存儲(chǔ)器的地址為16位時(shí),則高字節(jié)地址(highbyteaddress)會(huì)由P2輸出。在存取外部存儲(chǔ)器的數(shù)據(jù)時(shí),地址/數(shù)據(jù)總線(address/dataBUS)使用,不能再兼做通用的輸入/輸出端口使用。(6)P3的所有引腳是多功能的,不僅可當(dāng)作一般的輸入/輸出端口使用第四節(jié)時(shí)鐘電路與復(fù)位電路時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。4.1時(shí)鐘電路與時(shí)序1.時(shí)鐘信號(hào)的產(chǎn)生(1)內(nèi)部時(shí)鐘方式內(nèi)部時(shí)鐘方式如圖所示。在8051單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱晶振),就構(gòu)成了自激震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。(2)外部時(shí)鐘方式在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時(shí)鐘信號(hào)的同步,應(yīng)當(dāng)引入唯一的公用外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。2.時(shí)序時(shí)序是用定時(shí)單位來(lái)說(shuō)明的。MCS-51的時(shí)序定時(shí)單位共有4個(gè),從小到大依次是:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為拍節(jié)(用P表示)。振蕩脈沖經(jīng)過(guò)二分頻后,就是單片機(jī)的時(shí)鐘信號(hào)的周期定義為狀態(tài)(用S表示)。(2)機(jī)器周期MCS-51采用定時(shí)控制方式,因此它有固定的機(jī)器周期。規(guī)定一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài),并依次表示為S1~S6。當(dāng)振蕩脈沖頻率為12MHZ時(shí),一個(gè)機(jī)器周期為1us。當(dāng)振蕩脈沖頻率為6MHZ時(shí),一個(gè)機(jī)器周期為2us。
(3)指令周期
指令周期是最大的時(shí)序定時(shí)單位,執(zhí)行一條指令所需要的時(shí)間稱之為指令周期。它一般由若干個(gè)機(jī)器周期組成。不同的指令,所需要的機(jī)器周期數(shù)也不相同。按照指令字節(jié)數(shù)和機(jī)器周期數(shù),8051的111條指令可分為六類,分別是:?jiǎn)巫止?jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令、三字節(jié)雙周期指令。MCS-51單周期指令時(shí)序MCS-51單字節(jié)雙周期指令時(shí)序4.2單片機(jī)的復(fù)位電路單片機(jī)復(fù)位的條件是必須使RST引腳(9)加上持續(xù)二個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。例如:若時(shí)鐘頻率為12MHz,每機(jī)器周期為1us,則只需2us以上時(shí)間的高電平。在RST引腳出現(xiàn)高電平后的第二個(gè)機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見(jiàn)的復(fù)位電路如圖所示。上電自動(dòng)復(fù)位電路,它是利用電容充電來(lái)實(shí)現(xiàn)的。在加電瞬間,RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。只要保證RST為高電平的時(shí)間大于2個(gè)機(jī)器周期,便能正常復(fù)位。按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖(b)中的RESET鍵,此時(shí)電源VCC經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個(gè)復(fù)位高電平。復(fù)位后,內(nèi)部各專用寄存器狀態(tài)如下:PC:0000HTMOD:00HACC:00HTCON:00HB:00HTH0:00HPSW:00HTL0:00HSP:07HTH1:00HDPTR:0000HTL1:00HP0~P3:FFHSCON:00HIP:***00000BSBUF:不定IE:0**00000BPCON:0***0000B第五節(jié)單片機(jī)的工作過(guò)程
1.單片機(jī)的工作過(guò)程
單片機(jī)的工作過(guò)程實(shí)質(zhì)上是執(zhí)行用戶編制程序的過(guò)程,一般程序的機(jī)器碼都已固化到存儲(chǔ)器中,因此開(kāi)機(jī)復(fù)位后,就可以執(zhí)行指令。執(zhí)行指令又是取指令和執(zhí)行指令的周而復(fù)始的過(guò)程。假設(shè)指令MOVA,#08H機(jī)器碼74H、08H已存在0000H開(kāi)始的單元中,表示把08H這個(gè)值送入A累加器。
接通電源開(kāi)機(jī)后,PC=0000H,取指令過(guò)程如下:(1)PC中的0000H送到片內(nèi)的地址寄存器;(2)PC的內(nèi)容自動(dòng)加1變?yōu)?001H指向下一個(gè)指令字節(jié);(3)地址寄存器中的內(nèi)容0000H通過(guò)地址總線送到存儲(chǔ)器,經(jīng)存儲(chǔ)器中的地址譯碼選中0000H單元;(4)CPU通過(guò)控制總線發(fā)出讀命令;(5)被選中單元的內(nèi)容74H送內(nèi)部數(shù)據(jù)總線上,該內(nèi)容通過(guò)內(nèi)部數(shù)據(jù)總線送到單片機(jī)內(nèi)部的指令寄存器。到此取指令過(guò)程結(jié)束,進(jìn)入執(zhí)行指令過(guò)程。執(zhí)行指令的過(guò)程:(1)指令寄存器中的內(nèi)容經(jīng)指令譯碼器譯碼后,說(shuō)明這條指令是取數(shù)命令,即把一個(gè)立即數(shù)送A中;(2)PC的內(nèi)容為0001H送地址寄存器,譯碼后選中0001H單元,同時(shí)PC的內(nèi)容自動(dòng)加1變?yōu)?002H;(3)CPU同樣通過(guò)控制總線發(fā)出讀命令;(4)0001H單元的內(nèi)容08H讀出經(jīng)內(nèi)部數(shù)據(jù)總線送至A,至此本指令執(zhí)行結(jié)束。
2.ECU的工作原理
ECU(electroniccontrolunit),“電子控制單元”縮寫,俗稱汽車電腦。其基本構(gòu)成如圖所示。ECU的主要工作是按照特定的程序?qū)斎胄盘?hào)進(jìn)行處理,并形成相應(yīng)的控制指令,向執(zhí)行器輸出驅(qū)動(dòng)信號(hào)。由圖可知,它由輸入信號(hào)處理電路、輸出信號(hào)電路和微機(jī)系統(tǒng)構(gòu)成。微處理器工作是根據(jù)程序計(jì)數(shù)器中的地址將指令讀入指令寄存器中,然后對(duì)指令進(jìn)行翻譯,而程序計(jì)數(shù)器則存儲(chǔ)下一條指令所在的地址。微處理器在獲得執(zhí)行該指令所必需的信息以后,將執(zhí)行該指令所定義的過(guò)程,指令定義的過(guò)程主要包括對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、運(yùn)算、邏輯判斷和函數(shù)轉(zhuǎn)換等。當(dāng)一條指令執(zhí)行結(jié)束以后,微處理器將重復(fù)進(jìn)行確定指令存儲(chǔ)器地址、讀取指令、解譯指令和執(zhí)行指令這一循環(huán)過(guò)程,執(zhí)行下一條指令,直到程序中的全部指令執(zhí)行完畢。第六節(jié)單片機(jī)I/O擴(kuò)展
一、最小應(yīng)用系統(tǒng)的構(gòu)成最小應(yīng)用系統(tǒng)一般包括單片機(jī)、時(shí)鐘電路、復(fù)位電路、電源電路、存儲(chǔ)器等。
二、MCS-51單片機(jī)的外部擴(kuò)展特性當(dāng)單片機(jī)最小系統(tǒng)不能滿足系統(tǒng)功能要求時(shí),就需要進(jìn)行擴(kuò)展。單片機(jī)的系統(tǒng)擴(kuò)展采用三總線結(jié)構(gòu),即由地址總線、數(shù)據(jù)總線和控制總線組成。三總線的結(jié)構(gòu)如圖所示。3.控制總線(ControlBus)系統(tǒng)擴(kuò)展的控制線有、、、ALE、。系統(tǒng)擴(kuò)展時(shí)作為數(shù)據(jù)/地址復(fù)用總線的P0口本身無(wú)鎖存功能,作為地址輸出時(shí)必須外接鎖存器,常用地址鎖存器有74系列的373和273;邏輯圖和功能表如圖所示。第七節(jié)MOTOROLA公司單片機(jī)在汽車控制中的應(yīng)用7.18位單片機(jī)MC68HC11F1在汽車控制技術(shù)中的應(yīng)用瑪瑞利單點(diǎn)電噴發(fā)動(dòng)機(jī)ECU實(shí)物如圖所示瑪瑞利單點(diǎn)電噴發(fā)動(dòng)機(jī)ECU外部接線如圖所示。
1.系統(tǒng)組成如圖為金杯單點(diǎn)瑪瑞利邏輯電路的原理框圖,它主要由以下部件組成。
(1)MC68HC11F1
MC68HC11F1(CPU)為摩托羅拉8bit汽車專用MCU,其內(nèi)部資源如圖所示。MC68HC11F18位微控制器是基于8位HC08CPU的高性能閃存技術(shù)的低成本芯片。
(2)74HC244作為空調(diào)、油泵、EVAP電磁閥、怠速電機(jī)等設(shè)備的狀態(tài)信息輸入開(kāi)關(guān),74HC244是帶使能端的三態(tài)總線驅(qū)動(dòng)器,輸出端直接與數(shù)據(jù)總線相連。引腳功能如圖所示。
(3)74HC273
作為怠速電機(jī)、主繼電器、故障指示燈、空調(diào)繼電器等驅(qū)動(dòng)信號(hào)的輸出開(kāi)關(guān)。74HC273是帶復(fù)位端的8路上升沿有效的D觸發(fā)器,引腳功能如圖所示
(4)27C512
用來(lái)存儲(chǔ)電腦的主程序及各種數(shù)據(jù)表格。27C512是64KB的8位只讀存儲(chǔ)器,引腳功能如圖所示。
2.工作原理(1)電源接通后如圖所示,由電源芯片L9170提供工作電源、工作能量及傳感器的參考電壓,并且8號(hào)腳輸出低電位的復(fù)位信號(hào)送至CPU的復(fù)位端(17腳),同時(shí)送到74HC273的清零端使其輸出清零
3.點(diǎn)火控制電路(1)磁感應(yīng)式傳感器工作原理(2)CPU進(jìn)入啟動(dòng)狀態(tài),首先對(duì)內(nèi)部硬件進(jìn)行復(fù)位設(shè)置相應(yīng)的寄存器,然后開(kāi)始Bootloader程序,進(jìn)行程序裝載;將27C512中的主程序讀入到內(nèi)部的RAM中,并通過(guò)跳轉(zhuǎn)指令進(jìn)入程序運(yùn)行狀態(tài)。(3)主程序首先從數(shù)據(jù)總線D2上輸出邏輯“1”(高電位),該信號(hào)經(jīng)74HC273鎖存后從6號(hào)腳輸出高電位控制信號(hào),使主繼電器接通,將12V電源加到點(diǎn)火線圈及噴油器等外部設(shè)備。
(4)然后通過(guò)PortE、PortA口讀入外部傳感器信號(hào)及轉(zhuǎn)速信號(hào),通過(guò)這些信號(hào)判斷車輛當(dāng)前運(yùn)行的工況,根據(jù)以上信息調(diào)用M27C512中的控制規(guī)則圖,從PortA、PortD、PortG口及數(shù)據(jù)總線(通過(guò)74HC273鎖存)輸出相應(yīng)的驅(qū)動(dòng)信號(hào),對(duì)汽車進(jìn)行點(diǎn)火與噴油控制并使相應(yīng)的設(shè)備進(jìn)入運(yùn)行狀態(tài)。(5)最后通過(guò)數(shù)據(jù)總線(經(jīng)74HC244驅(qū)動(dòng))讀入相應(yīng)設(shè)備的狀態(tài)信息,根據(jù)這些信息對(duì)控制信號(hào)進(jìn)行進(jìn)一步優(yōu)化和調(diào)整。磁感應(yīng)式傳感器的工作原理如圖所示,磁力線穿過(guò)的路徑為永久磁鐵N極→定子與轉(zhuǎn)子間的氣隙→轉(zhuǎn)子凸齒→轉(zhuǎn)子凸齒與定子磁頭間的氣隙→磁頭→導(dǎo)磁板→永久磁鐵S極。當(dāng)信號(hào)轉(zhuǎn)子旋轉(zhuǎn)時(shí),磁路中的氣隙就會(huì)周期性地發(fā)生變化,磁路的磁阻和穿過(guò)信號(hào)線圈磁頭的磁通量隨之發(fā)生周期性變化。根據(jù)電磁感應(yīng)原理,傳感線圈中就會(huì)感應(yīng)產(chǎn)生交變電動(dòng)勢(shì)。當(dāng)發(fā)動(dòng)機(jī)轉(zhuǎn)速變化時(shí),轉(zhuǎn)子凸齒轉(zhuǎn)動(dòng)的速度將發(fā)生變化,鐵心中的磁通變化率也將隨之發(fā)生變化。轉(zhuǎn)速越高,磁通變化率就越大,傳感線圈中的感應(yīng)電動(dòng)勢(shì)也就越高。轉(zhuǎn)速不同時(shí),磁通和感應(yīng)電動(dòng)勢(shì)的變化情況如圖所示。
(2)曲軸位置傳感器結(jié)構(gòu)特點(diǎn)轎車的磁感應(yīng)式曲軸位置傳感器安裝在曲軸箱內(nèi)靠近離合器一側(cè)的缸體上,主要由信號(hào)發(fā)生器和信號(hào)轉(zhuǎn)子組成,如圖所示。信號(hào)發(fā)生器用螺釘固定在發(fā)動(dòng)機(jī)缸體上,由永久磁鐵、傳感線圈和線束插頭組成。傳感線圈又稱為信號(hào)線圈,永久磁鐵上帶有一個(gè)磁頭,磁頭正對(duì)安裝在曲軸上的齒盤式信號(hào)轉(zhuǎn)子,磁頭與磁軛(導(dǎo)磁板)連接而構(gòu)成導(dǎo)磁回路。
(3)點(diǎn)火控制電路分析瑪瑞利單點(diǎn)電腦的點(diǎn)火控制電路是典型的直接點(diǎn)火系統(tǒng),點(diǎn)火系統(tǒng)是由CPU的端口A來(lái)控制的,電路如圖所示。
4.噴油控制電路分析瑪瑞利單點(diǎn)電腦的噴油控制主要是由CPU來(lái)完成的,電路如圖所示。
(1)基本噴油量
發(fā)動(dòng)機(jī)只要一轉(zhuǎn)動(dòng)就產(chǎn)生兩個(gè)信號(hào):發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)和負(fù)荷狀況信號(hào)。發(fā)動(dòng)機(jī)轉(zhuǎn)速信號(hào)由轉(zhuǎn)速傳感器提供;發(fā)動(dòng)機(jī)負(fù)荷信號(hào)由空氣流量傳感器或進(jìn)氣管壓力傳感器所測(cè)量的進(jìn)氣量而決定。(2)補(bǔ)充噴油量在許多工況下,除基本噴油量外,尚需有額外噴油量。例如,在起動(dòng)時(shí)或大負(fù)荷工況下,需供給發(fā)動(dòng)機(jī)補(bǔ)充噴油量。7.216位單片機(jī)MC9S12DP256在汽車控制技術(shù)中的應(yīng)用MC9S12DP256是基于16位HCS12CPU及0.25um微電子技術(shù)的高速、高性能帶5.0VFlash存儲(chǔ)器的16位微控制器。
1.MC9S12DP256的特征
2.MC9S12DP256的功能特點(diǎn)MC9S12系列單片機(jī)主要有三大特點(diǎn):(1)片內(nèi)集成256KB的閃速存儲(chǔ)器(Flash)。(2)應(yīng)用鎖相環(huán)技術(shù)提高了系統(tǒng)的電磁兼容性。(3)簡(jiǎn)單的背景開(kāi)發(fā)模式(BDM)。
3.MC9S12DP256在汽車電子中的應(yīng)用如圖所示為一個(gè)典型的汽車門控系統(tǒng)示意圖。中央微控制器選用MC9S12DP256,MC33389A、MC33884、MC33887、MC33486等均為摩托羅拉的智能模擬器件。7.332位單片機(jī)MPC500在汽車控制技術(shù)中的應(yīng)用MPC500系列經(jīng)專門設(shè)計(jì),滿足了高速行駛的汽車所需的嚴(yán)格的工作環(huán)境。整個(gè)產(chǎn)品系列包括無(wú)閃存的MPC561和內(nèi)置1M閃存的MPC566等,以針對(duì)多種不同環(huán)境的應(yīng)用,包括在汽油機(jī)管理、直接柴油燃油噴注、電子傳動(dòng)控制等動(dòng)力傳輸系統(tǒng)。
1.MPC500的特征如圖是MPC50032位微控制器的發(fā)動(dòng)機(jī)管理系統(tǒng)組成方案。該MCU主要應(yīng)用于一些新型發(fā)動(dòng)機(jī)管理系統(tǒng)中,如GM的P5、P6系列發(fā)動(dòng)機(jī)管理系統(tǒng)。項(xiàng)目實(shí)施點(diǎn)亮控制汽車單個(gè)信號(hào)燈如圖所示,小功率車燈(包括左轉(zhuǎn)向燈、右轉(zhuǎn)向燈、應(yīng)急燈、剎車燈和駐車燈等)控制的工作原理為:通過(guò)P1口變化影響反向器開(kāi)、關(guān)觸發(fā)三極管開(kāi)關(guān),達(dá)到開(kāi)關(guān)燈的目的。如圖所示,大功率車燈(主要包括遠(yuǎn)光燈、近光燈等)控制工作原理為:通過(guò)P1口變化影響反向器,以觸發(fā)三極管開(kāi)關(guān),然后由三極管導(dǎo)通和關(guān)閉情況觸發(fā)繼電器開(kāi)、關(guān)功能,達(dá)到開(kāi)、關(guān)大功率車燈的目的。項(xiàng)目拓展閃爍控制汽車單個(gè)信號(hào)燈汽車單燈閃爍控制硬件電路如圖所示。一個(gè)發(fā)光二極管正極通過(guò)限流電阻連接到+5V電源,P1.0引腳控制這個(gè)發(fā)光二極管負(fù)極,當(dāng)P1.0口引腳輸出為低電平時(shí),發(fā)光二極管點(diǎn)亮,當(dāng)P1.0口引腳輸出為高電平時(shí),對(duì)應(yīng)的發(fā)光二極管熄滅,P1.1引腳高低電平交替輸出,這個(gè)發(fā)光二極管就可以實(shí)現(xiàn)閃爍顯示。第一節(jié)指令簡(jiǎn)介
一、指令概述指令是規(guī)定單片機(jī)進(jìn)行某種操作的命令。一條指令只能完成有限的功能,為使單片機(jī)完成一定的或復(fù)雜的功能就需要一系列指令。單片機(jī)能夠執(zhí)行的各種指令的集合就稱為指令系統(tǒng)。MCS-51單片機(jī)指令系統(tǒng)共有33種功能,42種助記符,111條指令。
二、指令格式不同指令翻譯成機(jī)器碼后字節(jié)數(shù)也不一定相同。按照機(jī)器碼個(gè)數(shù),指令可以分為以下三種。MCS-51單片機(jī)指令系統(tǒng)包括49條單字節(jié)指令、45條雙字節(jié)指令和17條三字節(jié)指令。采用助記符表示的匯編語(yǔ)言指令格式如下:[標(biāo)號(hào):]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]標(biāo)號(hào)是加在指令的前面表示該指令位置的符號(hào)地址,可有可無(wú);標(biāo)號(hào)由1~8個(gè)字符組成,第一個(gè)字符必須是英文字母,不能是數(shù)字或其它符號(hào);標(biāo)號(hào)后必須用“:”。操作碼是由助記符表示的字符串,表示指令所實(shí)現(xiàn)的操作功能;如MOV表示數(shù)據(jù)傳送操作、ADD表示加法操作等。操作數(shù)指出了參加運(yùn)算的數(shù)據(jù)或數(shù)據(jù)存放的位置。操作數(shù)一般有以下幾種形式:沒(méi)有操作數(shù)項(xiàng),操作數(shù)隱含在操作碼中,如RET指令;只有一個(gè)操作數(shù),如CLRP1.0指令;有兩個(gè)操作數(shù),如MOVA,#0EFH指令,操作數(shù)之間以逗號(hào)相隔;有三個(gè)操作數(shù),如CJNEA,#08H,NEXT指令,操作數(shù)之間也以逗號(hào)相隔。注釋是對(duì)語(yǔ)句的解釋說(shuō)明,用以提高程序的可讀性,注釋前必須加“:”。計(jì)算機(jī)對(duì)它不作處理,注釋部分不影響指令的執(zhí)行。第二節(jié)尋址方式MCS-51指令系統(tǒng)共使用了7種尋址方式,包括寄存器尋址、直接尋址、立即數(shù)尋址、寄存器間接尋址、變址尋址、相對(duì)尋址和位尋址。
1.立即數(shù)尋址在這種尋址方式中,指令多是雙字節(jié)的。立即數(shù)尋址是指將操作數(shù)直接寫在指令中。例如:指令MOVA,#3AH執(zhí)行的操作是將立即數(shù)3AH送到累加器A中,該指令就是立即數(shù)尋址。注意:立即數(shù)前面必須加“#”號(hào),以區(qū)別立即數(shù)和直接地址。該指令的執(zhí)行過(guò)程如圖所示。
2.直接尋址在這種尋址方式中,把存放操作數(shù)的內(nèi)存單元的地址直接寫在指令中。在MCS-51單片機(jī)中,可以直接尋址的存儲(chǔ)器主要有內(nèi)部RAM區(qū)和特殊功能寄存器SFR區(qū)。設(shè)內(nèi)部RAM3AH單元的內(nèi)容是88H,那么指令MOVA,3AH的執(zhí)行過(guò)程如圖所示。
3.寄存器尋址寄存器尋址是指將操作數(shù)存放于寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。執(zhí)行MOVR1,A指令后,內(nèi)部RAM09H單元的值就變?yōu)?0H,如圖所示。
4.寄存器間接尋址寄存器尋址是指將操作數(shù)存放于寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。執(zhí)行MOVR1,A指令后,內(nèi)部RAM09H單元的值就變?yōu)?0H,如圖所示。
5.變址尋址在這種尋址方式中,是將基址寄存器與變址寄存器的內(nèi)容相加,結(jié)果作為操作數(shù)的地址。DPTR或PC是基址寄存器,累加器A是變址寄存器。該類尋址方式主要用于查表操作。設(shè)累加器A=02H,DPTR=0300H,外部ROM(0302H)=55H,則指令MOVCA,@A+DPTR的執(zhí)行結(jié)果是累加器A的內(nèi)容為55H。該指令的執(zhí)行過(guò)程如圖所示。
6.相對(duì)尋址相對(duì)尋址是指程序計(jì)數(shù)器PC的當(dāng)前內(nèi)容與指令第二字節(jié)所給出的數(shù)相加,其結(jié)果作為跳轉(zhuǎn)指令的轉(zhuǎn)移地址(也稱目的地址)。該類尋址方式主要用于跳轉(zhuǎn)指令?,F(xiàn)假設(shè)該指令存放于0100H、0101H單元,且rel=30H,若(C)=1,因PC當(dāng)前值(下一條指令的地址)為0102H,故執(zhí)行完該指令后,程序轉(zhuǎn)向(PC)+30H=0132H地址執(zhí)行。0132H地址稱為目的地址,0100H稱為源地址。該指令執(zhí)行過(guò)程如圖所示。
7.位尋址位尋址是指按位進(jìn)行的操作,MCS-51單片機(jī)中,操作數(shù)不僅可以按字節(jié)為單位進(jìn)行操作,也可以按位進(jìn)行操作。當(dāng)我們把某一位作為操作數(shù)時(shí),這個(gè)操作數(shù)的地址稱為位地址。例如:指令SETB3DH執(zhí)行的操作是將內(nèi)部RAM位尋址區(qū)中的3DH位置1。設(shè)內(nèi)部RAM27H單元原來(lái)的內(nèi)容是00H,執(zhí)行SETB3DH后,由于3DH對(duì)應(yīng)著內(nèi)部RAM27H的第5位,因此該位變?yōu)?,也就是27H單元的內(nèi)容變?yōu)?0H。該指令的執(zhí)行過(guò)程如圖所示。第三節(jié)匯編語(yǔ)言指令系統(tǒng)MCS-51單片機(jī)指令系統(tǒng)包括111條指令,按功能可以劃分為五類:數(shù)據(jù)傳送指令(29條)算術(shù)運(yùn)算指令(24條)邏輯運(yùn)算指令(24條)控制轉(zhuǎn)移指令(17條)位操作指令(17條)3.1指令系統(tǒng)中的符號(hào)說(shuō)明符號(hào)含
義Rn表示當(dāng)前選定寄存器組的工作寄存器R0~R7Ri表示作為間接尋址的地址指針R0或R1#data表示8位立即數(shù),即00H~FFH#data16表示16位立即數(shù),即0000H~FFFFHaddr16表示16位地址,用于64K范圍內(nèi)尋址addr11表示11位地址,用于2K范圍內(nèi)尋址direct8位直接地址,可以是內(nèi)部RAM區(qū)的某一單元或某一專用功能寄存器的地址Rel帶符號(hào)的8位偏移量(-128~+127)Bit位尋址區(qū)的直接尋址位(X)X地址單元中的內(nèi)容((X))將X地址單元中的內(nèi)容作為地址,該地址單元中的內(nèi)容←將←后面的內(nèi)容傳送到前面去
1.以累加器A為目的地址的傳送指令(4條)3.2數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令是最常用、最基本的一類指令,包括內(nèi)部RAM、寄存器、外部RAM以及程序存儲(chǔ)器之間的數(shù)據(jù)傳送。
一、內(nèi)部8位數(shù)據(jù)傳送指令目的地址源地址MOV<目的操作數(shù)>,<源操作數(shù)>助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVA,RnARnn=0~71MOVA,directA(direct)
1MOVA,@RiA(Ri)i=0,11MOVA,#dataA#data
1
2.以Rn為目的地址的傳送指令(3條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVRn,ARnAn=0~71MOVRn,directRn(direct)n=0~71MOVRn,#dataRn#datan=0~71
3.以直接地址為目的地址的傳送指令(5條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVdirect,A(direct)A
1MOVdirect,Rn(direct)Rnn=0~71MOVdirect2,direct1(direct2)(direct1)
2MOVdirect,@Ri(direct)(Ri)i=0,12MOVdirect,#data(direct)#data
2
4.以寄存器間接地址為目的地址的傳送指令(3條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOV@Ri,A(Ri)Ai=0,11MOV@Ri,direct(Ri)(direct)i=0,12MOV@Ri,#data(Ri)#datai=0,11
二、16位數(shù)據(jù)傳送指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVDPTR,#data16DPTR#data16把16位常數(shù)裝入數(shù)據(jù)指針2
三、外部數(shù)據(jù)傳送指令(4條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVXA,@DPTRA(DPTR)把DPTR所對(duì)應(yīng)的外部RAM地址中的內(nèi)容傳送給累加器A2MOVXA,@RiA(Ri)i=0,12MOVX@DPTR,A(DPTR)A結(jié)果不影響P標(biāo)志。2MOVX@Ri,A(Ri)Ai=0,1,結(jié)果不影響P標(biāo)志。2
四、交換和查表類指令
1.字節(jié)交換指令(3條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期XCHA,RnARnA與Rn內(nèi)容互換1XCHA,directA(direct)
1XCHA,@RiA(Ri)i=0,11
2.半字節(jié)交換指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期XCHDA,@RiA3-0(Ri)3-0低4位交換,高4位不變1
3.累加器A中高4位和低4位交換(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期SWAPA(A)3-0(A)7-4高、低4位互相交換1
4.查表指令(2條)
5.堆棧操作指令(2條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVCA,@A+PCA
(A+PC)A+PC所指外部程序存儲(chǔ)單元的值送A2MOVCA,@A+DPTRA
(A+DPTR)A+DPTR所指外部程序存儲(chǔ)單元的值送A2助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期PUSHdirectSPSP+1(SP)(direct)將SP加1,然后將源地址單元中的數(shù)傳送到SP所指示的單元中去2POPdirect(direct)
(SP)SPSP-1將SP所指示的單元中的數(shù)傳送到direct地址單元中,然后SPSP-12
1.加法指令(8條)
2.減法指令(4條)3.3算術(shù)運(yùn)算類指令
一、加、減法指令助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期ADDA,RnAA+Rnn=0~71ADDA,directAA+(direct)
1ADDA,@RiAA+(Ri)i=0,11ADDA,#dataAA+#data
1ADDCA,RnAA+Rn+Cyn=0~71ADDCA,directAA+(direct)+Cy
1ADDCA,@RiAA+(Ri)+Cyi=0,11ADDCA,#dataAA+#data+Cy
1助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期SUBBA,RnAA-Rn-Cyn=0~71SUBBA,directAA-(direct)-Cy
1SUBBA,@RiAA-(Ri)-Cyi=0,11SUBBA,#dataAA-#data-Cy
1
3.BCD碼調(diào)正指令(1條)
4.加1減1指令(9條)助記符格式指令說(shuō)明機(jī)器周期DAABCD碼加法調(diào)正指令1助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期INCAAA+1影響PSW的P標(biāo)志1INCRnRnRn+1n=0~71INCdirect(direct)(direct)+1
1INC@Ri(Ri)(Ri)+1i=0,11INCDPTRDPTRDPTR+1
2DECAAA-1影響PSW的P標(biāo)志1DECRnRnRn-1n=0~71DECdirect(direct)(direct)-1
1DEC@Ri(Ri)(Ri)-1i=0,11
二、乘、除法指令
1.乘法指令(1條)
2.除法指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MULABBAA*B無(wú)符號(hào)數(shù)相乘,高位存B,低位存A4助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期DIVABAA/B的商BA/B的余數(shù)無(wú)符號(hào)數(shù)相除,商存A,余數(shù)存B43.4邏輯運(yùn)算及移位類指令
一、邏輯運(yùn)算指令
1.邏輯與指令(6條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期ANLA,directAA(direct)按位相與1ANLA,RnAARnn=0~71ANLA,@RiAA(Ri)i=0,11ANLA,#dataAA#data
1ANLdirect,A(direct)(direct)A不影響PSW的P標(biāo)志1ANLdirect,#data(direct)(direct)#data不影響PSW的P標(biāo)志2
2.邏輯或指令(6條)
3.邏輯異或指令(6條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期ORLA,directAA(direct)按位相與1ORLA,RnAARnn=0~71ORLA,@RiAA(Ri)i=0,11ORLA,#dataAA#data
1ORLdirect,A(direct)(direct)A不影響PSW的P標(biāo)志1ORLdirect,#data(direct)(direct)#data不影響PSW的P標(biāo)志2助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期XRLA,directAA(direct)按位相與1XRLA,RnAARnn=0~71XRLA,@RiAA(Ri)i=0,11XRLA,#dataAA#data
1XRLdirect,A(direct)(direct)A不影響PSW的P標(biāo)志1XRLdirect,#data(direct)(direct)#data不影響PSW的P標(biāo)志2
4.累加器A清0和取反指令(2條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期CLRA(A)00HA中內(nèi)容清0,影響P標(biāo)志1CPLA(A)()A中內(nèi)容按位取反,影響P標(biāo)志1
二、循環(huán)移位指令(4條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期RLA┌──────┐└←A7←-A0←┘循環(huán)左移1RLCA┌──────┐└Cy─A7←-A0┘帶進(jìn)位循環(huán)左移,影響Cy標(biāo)志1RRA┌──────┐└→A7→-A0→┘循環(huán)右移1RRCA┌──────┐└Cy→A7→-A0┘帶進(jìn)位循環(huán)右移,影響Cy標(biāo)志13.5控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令的本質(zhì)是改變程序計(jì)數(shù)器PC的內(nèi)容,從而改變程序的執(zhí)行方向??刂妻D(zhuǎn)移指令分為:無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令和調(diào)用/返回指令。
一、無(wú)條件轉(zhuǎn)移指令(4條)
1.長(zhǎng)轉(zhuǎn)移指令助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期LJMPaddr16PCaddr16程序跳轉(zhuǎn)到地址為addr16開(kāi)始的地方執(zhí)行2
2.絕對(duì)轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期AJMPaddr11PC10-0addr11程序跳轉(zhuǎn)到地址為PC15~11addr11開(kāi)始的地方執(zhí)行,2k內(nèi)絕對(duì)轉(zhuǎn)移2
3.相對(duì)轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期SJMPrelPCPC+rel-80H(-128)~7FH(127)短轉(zhuǎn)移2
4.間接尋址的無(wú)條件轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期JMP@A+DPTRPCA+DPTR64K內(nèi)相對(duì)轉(zhuǎn)移2
二、條件轉(zhuǎn)移指令(8條)
1.累加器A判0指令(2條)
3.減1非零轉(zhuǎn)移指令(2條)助記符格式相應(yīng)操作機(jī)器周期JZrel若A=0,則PCPC+rel,否則順序執(zhí)行2JNZrel若A≠0,則PCPC+rel,否則順序執(zhí)行2
2.比較轉(zhuǎn)移指令(4條)記符格式相應(yīng)操作機(jī)器周期CJNEA,#data,rel若A≠#data,則PCPC+rel,否則順序執(zhí)行;若
A<#data,則Cy=1,否則Cy=02CJNERn,#data,rel若
Rn≠#data,則PCPC+rel,否則順序執(zhí)行;若Rn<#data,則Cy=1,否則Cy=02CJNE@Ri,#data,rel若(Ri)≠#data,則PCPC+rel,否則順序執(zhí)行;若(Ri)<#data,則Cy=1,否則Cy=02CJNEA,direct,rel若A≠(direct),則PCPC+rel,否則順序執(zhí)行;若(A)<(direct),則Cy=1,否則Cy=02助記符格式相應(yīng)操作機(jī)器周期DJNZRn,relRnRn-1,若Rn≠0,則PCPC+rel,否則順序執(zhí)行2DJNZdirect,rel(direct)(direct)-1,若(direct)≠0,則PCPC+rel,否則順序執(zhí)行2
三、調(diào)用和返回指令(5條)
1.絕對(duì)調(diào)用指令(1條)
3.返回指令(2條)
2.長(zhǎng)調(diào)用指令(1條)助記符格式相應(yīng)操作機(jī)器周期ACALLaddr11PCPC+2SPSP+1,SPPC0-7SPSP+1,SPPC8-15PC0-10
addr112助記符格式相應(yīng)操作機(jī)器周期LCALLaddr16PCPC+3SPSP+1,SPPC0-7SPSP+1,SPPC8-15PCaddr162助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期RETPC8-15
SP,SPSP-1PC0-7
SP,SPSP-1子程序返回2RETIPC8-15
SP,SPSP-1PC0-7
SP,SPSP-1中斷程序返回2
4.空操作(1條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期NOP空操作消耗1個(gè)機(jī)器周期13.6位操作類指令
1.位傳送指令(2條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期MOVC,bitCy(bit)位傳送指令,結(jié)果影響Cy標(biāo)志2MOVbit,C(bit)
Cy位傳送指令,結(jié)果不影響PSW2
2.位置位和位清零指令(4條)助記符格式相應(yīng)操作指令說(shuō)明機(jī)器周期CLRCCy0位清0指令,結(jié)果影響Cy標(biāo)志1CLRbit(bit)
0位清0指令,結(jié)果不影響PSW1SETBCCy1位置1指令,結(jié)果影響Cy標(biāo)志1SETBbit(bit)
1位置1指令,結(jié)果不影響PSW1
3.位運(yùn)算指令(6條)
4.位運(yùn)算指令(6條)助記符格式相應(yīng)操作機(jī)器周期JBbit,rel若(bit=1),則PCPC+3+rel,否則順序執(zhí)行2JNBbit,rel若(bit=0),則PCPC+3+rel,否則順序執(zhí)行2JBCbit,rel若(bit=1),則PCPC++3+rel,并使(bit)0,否則順序執(zhí)行2
5.判CY標(biāo)志指令(2條)助記符格式相應(yīng)操作機(jī)器周期JCrel若CY=1,則PCPC+2+rel,否則順序執(zhí)行2JNCrel若
CY=0,則PCPC+2+rel,否則順序執(zhí)行2
5.判CY標(biāo)志指令(2條)助記符格式相應(yīng)操作機(jī)器周期JCrel若CY=1,則PCPC+2+rel,否則順序執(zhí)行2JNCrel若
CY=0,則PCPC+2+rel,否則順序執(zhí)行23.7常用偽指令
1.定位偽指令ORG格式:[標(biāo)號(hào):]ORG地址表達(dá)式功能:規(guī)定程序塊或數(shù)據(jù)塊存放的起始位置
2.定義字節(jié)數(shù)據(jù)偽指令DB格式:[標(biāo)號(hào):]DB字節(jié)數(shù)據(jù)表功能:字節(jié)數(shù)據(jù)表可以是多個(gè)字節(jié)數(shù)據(jù)、字符串或表達(dá)式,它表示將字節(jié)數(shù)據(jù)表中的數(shù)據(jù)從左到右依次存放在指定地址單元。
3.定義字?jǐn)?shù)據(jù)偽指令DW格式:[標(biāo)號(hào):]DW字節(jié)數(shù)據(jù)表功能:功能:與DB類似,但DW定義的數(shù)據(jù)項(xiàng)為字,包括兩個(gè)字節(jié),存放時(shí)高位在前,低位在后。
4.定義空間偽指令DS格式:[標(biāo)號(hào):]DS地址表達(dá)式功能:從指定的地址開(kāi)始,保留多少個(gè)存儲(chǔ)單元作為備用的空間。
5.符號(hào)定義偽指令EQU或=格式:符號(hào)名EQU表達(dá)式符號(hào)名=表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義為一個(gè)指定的符號(hào)名,只能定義單字節(jié)數(shù)據(jù),并且必須遵循先定義后使用的原則,因此該語(yǔ)句通常放在源程序的開(kāi)頭部分。
6.?dāng)?shù)據(jù)賦值偽指令DATA格式:符號(hào)名DATA表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義一個(gè)指定的符號(hào)名,只能定義單字節(jié)數(shù)據(jù),但可以先使用后定義,因此用它定義數(shù)據(jù)可以放在程序末尾進(jìn)行數(shù)據(jù)定義。
7.?dāng)?shù)據(jù)地址賦值偽指令XDATA格式:符號(hào)名XDATA表達(dá)式功能:將表達(dá)式的值或某個(gè)特定匯編符號(hào)定義一個(gè)指定的符號(hào)名,可以先使用后定義,并且用于雙字節(jié)數(shù)據(jù)定義。第四節(jié)C語(yǔ)言指令系統(tǒng)4.1C語(yǔ)言優(yōu)點(diǎn)C語(yǔ)言有如下優(yōu)點(diǎn)。(1)對(duì)單片機(jī)的指令系統(tǒng)不需要了解,僅要求對(duì)存儲(chǔ)器有了解。(2)編譯器管理寄存器的分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)。(3)程序結(jié)構(gòu)化,程序有規(guī)范的結(jié)構(gòu),可以通過(guò)函數(shù)實(shí)現(xiàn)小功能執(zhí)行。(4)具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性。(5)用近似人的思維來(lái)使用關(guān)鍵字和運(yùn)算函數(shù)。(6)提供強(qiáng)大包含有多個(gè)標(biāo)準(zhǔn)子程序的庫(kù),具有較強(qiáng)的數(shù)據(jù)處理能力。(7)很容易將新程序植入已編寫好的程序,因?yàn)镃語(yǔ)言具有模塊化編程技術(shù)。(8)編程和程序調(diào)試時(shí)間短,編程效率高。4.2C語(yǔ)言程序結(jié)構(gòu)單片機(jī)C5l語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,C語(yǔ)言程序的結(jié)構(gòu)如圖所示。1.順序結(jié)構(gòu)(sequence)順序結(jié)構(gòu)就是按順序地執(zhí)行各條語(yǔ)句,無(wú)需循環(huán)也無(wú)需跳轉(zhuǎn),它是最簡(jiǎn)單也是最基本的流程控
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度鈑金展柜研發(fā)與市場(chǎng)推廣合作合同2篇
- 二零二五年度高品質(zhì)實(shí)木地板全球購(gòu)銷合同范本3篇
- 二零二五年掘進(jìn)機(jī)操作人員安全教育與培訓(xùn)合同3篇
- 二零二五版房地產(chǎn)股權(quán)托管及資產(chǎn)增值管理合同3篇
- 二零二五年度高級(jí)別墅房產(chǎn)出售合同3篇
- 2025年高性能材料采購(gòu)與合作研發(fā)合同3篇
- 二零二五版健身俱樂(lè)部健身教練就業(yè)保障與福利合同3篇
- 2024新勞動(dòng)法對(duì)人力資源績(jī)效評(píng)估與反饋合同3篇
- 專業(yè)化生產(chǎn)流程服務(wù)協(xié)議2024版版B版
- 2024版公共廁所管理承包合同3篇
- 《阻燃材料與技術(shù)》-顏龍 習(xí)題解答
- 人教版八年級(jí)英語(yǔ)上冊(cè)Unit1-10完形填空閱讀理解專項(xiàng)訓(xùn)練
- 2024年湖北省武漢市中考英語(yǔ)真題(含解析)
- GB/T 44561-2024石油天然氣工業(yè)常規(guī)陸上接收站液化天然氣裝卸臂的設(shè)計(jì)與測(cè)試
- 《城市綠地設(shè)計(jì)規(guī)范》2016-20210810154931
- 網(wǎng)球場(chǎng)經(jīng)營(yíng)方案
- 2024年公司保密工作制度(四篇)
- 重慶市康德卷2025屆高一數(shù)學(xué)第一學(xué)期期末聯(lián)考試題含解析
- 建筑結(jié)構(gòu)課程設(shè)計(jì)成果
- 雙梁橋式起重機(jī)小車改造方案
- 基于AR的無(wú)人機(jī)操作訓(xùn)練系統(tǒng)
評(píng)論
0/150
提交評(píng)論