




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一節(jié)概述1.1單片機(jī)及其應(yīng)用
一、單片機(jī)芯片技術(shù)的發(fā)展概況第一階段是單片機(jī)的初級階段,時間在1971~1974年。第二階段是低性能單片機(jī)階段,時間在1974~1978年。
第三段是高性能單片機(jī)階段,時間在1978~1983年。
第四階段是單片機(jī)的發(fā)展、鞏固、提高階段,時間從1983年~現(xiàn)在。
二、單片機(jī)的特點
1.體積小2.接線簡單3.價格低廉4.簡單易學(xué)
三、單片機(jī)的應(yīng)用1.主要應(yīng)用領(lǐng)域有以下幾個方面(1)智能產(chǎn)品。單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品結(jié)合,使傳統(tǒng)機(jī)械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,構(gòu)成新一代的機(jī)電一體化產(chǎn)品。(2)智能儀表。用單片機(jī)改造原有的測量、控制儀表,能促進(jìn)儀表向數(shù)字化、智能化、多功能化、綜合化、柔性化發(fā)展。(3)測控系統(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ī)系統(tǒng)特別是較大型的工業(yè)測、控系統(tǒng)中,除通用外部設(shè)備外,還有許多外部通信、采集、多路分配管理、驅(qū)動控制等接口。2.單片機(jī)在各個領(lǐng)域中的典型應(yīng)用舉例
(1)工業(yè)控制。數(shù)控機(jī)床,溫度控制,可編程順序控制,電機(jī)控制,工業(yè)機(jī)器人,智能傳感器,離散與連續(xù)過程控制等。(2)儀器儀表。智能儀器,醫(yī)療器械,液晶和氣體色譜儀,數(shù)字示波器,金屬探測儀等。(3)電信技術(shù)。調(diào)制解調(diào)器,聲像處理,數(shù)字濾波,智能線路運行控制,通信設(shè)備等。(4)辦公自動化和計算機(jī)外部設(shè)備。圖形終端機(jī),傳真機(jī),復(fù)印機(jī),打印機(jī),繪圖儀,磁盤驅(qū)動器,智能終端機(jī)等。(5)汽車與節(jié)能。點火控制,排放控制,噴油控制,變速控制,防滑控制,安全氣囊控制,門鎖控制,雨刮控制,座椅控制,防盜報警控制,空調(diào)控制,大燈控制,導(dǎo)航控制,計費器,交通控制等。(6)導(dǎo)航。導(dǎo)彈控制,魚雷制導(dǎo),智能武器裝置,航天導(dǎo)航系統(tǒng)等。(7)商用產(chǎn)品。自動售貨機(jī),電子收款機(jī),電子秤,銀行統(tǒng)計機(jī)等。(8)家用電器。微波爐,電視機(jī),空調(diào)機(jī),洗衣機(jī),錄像機(jī),攝像機(jī),數(shù)碼相機(jī),音響設(shè)備,游戲機(jī),智能玩具等。
四、主流單片機(jī)簡介1.80C51系列單片機(jī)產(chǎn)品繁多,主流地位已經(jīng)形成近年來推出的與80C51兼容的主要產(chǎn)品有:ATMEL公司融入Flash存儲器技術(shù)推出的AT89系列單片機(jī);Philips公司推出的80C51、80C52系列高性能單片機(jī);Winbond公司推出的W78C5l、W77C51系列高速低價單片機(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)品多是其特點,Motorola是世界上最大的單片機(jī)廠商;Microchip公司推出的PIC系列RISC結(jié)構(gòu)單片機(jī);ATMEL公司推出的AVR系列RISC結(jié)構(gòu)單片機(jī);TI公司推出的MSP430F系列16位低電壓、低功耗單片機(jī)。
五、微型計算機(jī)及微型計算機(jī)系統(tǒng)1.運算器運算器是計算機(jī)的運算部件用于實現(xiàn)算術(shù)和邏輯運算。計算機(jī)的數(shù)據(jù)運算和處理都在這里進(jìn)行(相當(dāng)于算盤)。
2.控制器控制器是計算機(jī)的指揮控制部件,使計算機(jī)各部分能自動協(xié)調(diào)地工作(相當(dāng)于使用紙、筆、算盤的人的大腦)。運算器和控制器是計算機(jī)的核心部分,常把它們合在一起稱之為中央處理器,簡稱CPU。
3.存儲器按功能可以分為只讀和隨機(jī)存取存儲器兩大類。所謂隨機(jī)存取存儲器,英文縮寫為RAM(READRANDOMMEMORY)。汽車運行時,需要暫時存儲的信息由微處理器傳送到RAM。RAM中存儲的信息隨時都可以更改。所謂只讀存儲器,英文縮寫為ROM(READONLYMEMORY)。微處理器能從ROM中讀取信息,但不能把信息寫入ROM中,而且,微處理器不能擦除ROM中的信息。程序存儲器的類型:PROM,稱之為可編程程序只讀存儲器;EPROM,稱之為紫外線擦除的可編程只讀存儲器;EEPROM,稱之為電可擦除的可編程只讀存儲器;FLASHROM,稱之為閃速存儲器,F(xiàn)lashROM是一種新型的電可擦除、非易失性存儲器,使用方便,價格低廉,可多次擦寫,近年來應(yīng)用廣泛;串行EEPROM,稱之為I2C接口存儲器,內(nèi)部有頁寫入緩沖器。4.接口一種在微處理器和外圍設(shè)備之間控制數(shù)據(jù)流動和數(shù)據(jù)格式的電路稱為接口。接口一般可分為并行和串行接口兩種:
(1)串行接口一次傳輸一位數(shù)據(jù)稱為串行傳輸,以串行傳輸方式通訊時使用的接口叫串行接口。
(2)并行接口同時傳輸兩位或兩位以上的數(shù)據(jù)稱為并行傳輸,以并行傳輸方式通訊是把多位數(shù)據(jù),例如8位數(shù)據(jù)的各位同時傳送。5.輸入設(shè)備輸入設(shè)備用于將程序和數(shù)據(jù)輸入到計算機(jī)中,如鍵盤。
6.輸出設(shè)備輸出設(shè)備用于把計算機(jī)數(shù)據(jù)計算或加工的結(jié)果,以用戶需要的形式顯示或保存,如顯示器、打印機(jī)。微型計算機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成硬件系統(tǒng)通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中,運算器和控制器一般做在一個集成芯片上,統(tǒng)稱中央處理單元(CentralProcessingUnit),簡稱CPU,是微機(jī)的核心部件,配上存放程序和數(shù)據(jù)的存儲器、輸入輸出(Input/Output,簡稱I/O)接口電路及外部設(shè)備即構(gòu)成微機(jī)的硬件系統(tǒng)(如圖所示)。六、單片微型計算機(jī)
單片微型計算機(jī)(SingleChipMicrocomputer)簡稱單片機(jī),又稱微控制器或嵌入式計算機(jī),是指集成在一個芯片上的微型計算機(jī),也就是把組成微型計算機(jī)的各種功能部件,包括CPU(CentralProcessingUnit)、隨機(jī)存取存儲器RAM(RandomAccessMemory)、只讀存儲器ROM(Read-onlyMemory)、基本輸入/輸出(Input/Output)接口電路、定時器/計數(shù)器等部件制作在一塊集成芯片上,構(gòu)成一個完整的微型計算機(jī),從而實現(xiàn)微型計算機(jī)的基本功能。一、
51子系列和52子系列
MCS-51系列又分為51和52兩個子系列,并以芯片型號的最末位數(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ī)分類芯片型號存儲器類型及字節(jié)數(shù)片內(nèi)其他功能單元數(shù)量ROMRAM并口串口定時/計數(shù)器中斷源80C514KB掩膜128B4個1個2個5個87C514KBEPROM128B4個1個2個5個89C514KBFlash128B4個1個2個5個增強(qiáng)型80C528KB掩膜256B4個1個3個6個87C528KBEPROM256B4個1個3個6個89C528KBFlash256B4個1個3個6個第二節(jié)MCS-51單片機(jī)結(jié)構(gòu)和原理2.1MCS-51單片機(jī)的內(nèi)部組成及信號引腳
一、8051單片機(jī)的基本組成
1.中央處理器(CPU)中央處理器是單片機(jī)的核心,完成運算和控制功能。MCS-51的CPU能處理8位二進(jìn)制數(shù)或代碼。2.內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)8051芯片中共有256個RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀/寫的數(shù)據(jù)。3.內(nèi)部程序存儲器(內(nèi)部ROM)8051共有4KB掩膜ROM,用于存放程序和原始表格常數(shù),因此稱之為程序存儲器,簡稱內(nèi)部ROM。4.定時器/計數(shù)器8051共有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,當(dāng)定時/計數(shù)器產(chǎn)生溢出時,可用中斷方式控制程序轉(zhuǎn)向。5.并行輸入輸出(I/O)口MCS-51共有四個8位的并行I/O口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入輸出。
6.全雙工串行口
MCS-51單片機(jī)有一個全雙工的串行口,以實現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。7.中斷控制系統(tǒng)MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5個中斷源,即外中斷2個,定時/計數(shù)中斷2個,串行中斷1個。8.時鐘電路MCS-51芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機(jī)產(chǎn)生時鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6MHZ和12MHZ。
二、8051單片機(jī)的基本組成MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳排列請參見圖。
1.電源及時鐘引腳(4個)
Vss(20):地線;Vcc(40):+5V電源;XTAL1(19)和XTAL2(18):外接晶體引線端。
2.控制線引腳(4個)
ALE(30):地址鎖存控制信號;(29):外部程序存儲器讀選通信號。
(31):訪問程序存儲控制信號。RST(9):復(fù)位信號。3.并行I/O引腳(32個,分成4個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ù)存儲器分為內(nèi)部RAM和外部RAM,RAM的配置圖如圖所示。2.2MCS-51單片機(jī)的數(shù)據(jù)存儲器8051片內(nèi)RAM共有128B,分成工作寄存器區(qū)、位尋址區(qū)、通用RAM區(qū)三部分?;拘蛦纹瑱C(jī)片內(nèi)RAM地址范圍是00H~7FH。片外RAM地址空間為64KB,地址范圍是0000H~FFFFH。一、內(nèi)部數(shù)據(jù)存儲器低128單元
8051的內(nèi)部RAM共有256個單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址00H~7FH)和高128單元(單元地址80H~FFH)。1.寄存器區(qū)
8051單片機(jī)片內(nèi)RAM低端的00H~1FH共32B分成4個工作寄存器組,每組占8個單元?!ぜ拇嫫?組:地址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é)操作,也可以對單元中每一位進(jìn)行位操作,因此把該區(qū)稱之為位尋址區(qū)。位尋址區(qū)共有16個RAM單元,計128位,位地址為00H~7FH。字節(jié)地址位地址D7D6D5D4D3D2D1D02FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H07060504030201003.用戶RAM區(qū)在內(nèi)部RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩下80個單元,這就是供用戶使用的一般RAM區(qū),其單元地址為30H~7FH。二、內(nèi)部數(shù)據(jù)存儲器高128單元內(nèi)部RAM的高128單元是供給專用寄存器使用的,其單元地址為80H~FFH。1.專用寄存器(SFR)簡介8051共有21個專用寄存器(1)程序計數(shù)器(PC——ProgramCounter)PC是一個16位的計數(shù)器,它總是存放著下一個要取的指令的16位存儲單元地址,它的作用是控制程序的執(zhí)行順序。其內(nèi)容為將要執(zhí)行指令的地址,尋址范圍達(dá)64KB。(2)與運算器相關(guān)的寄存器(3個)①累加器(ACC——Accumulator);累加器為8位寄存器,是最常用的專用寄存器,功能較多,地位重要。②B寄存器;B寄存器是一個8位寄存器,主要用于乘除運算。③程序狀態(tài)字(PSW——ProgramStatusWord)程序狀態(tài)字(programstatusword)簡稱為PSW,內(nèi)部含有程序在運行時的相關(guān)信息。(3)與指針相關(guān)的寄存器(3個)①數(shù)據(jù)指針(DPTR);數(shù)據(jù)指針為16位寄存器,它是MCS-51中一個16位寄存器。②堆棧指針(SP----StackPointer);堆棧是一個特殊的存儲區(qū),用來暫存數(shù)據(jù)和地址,它是按“先進(jìn)后出”的原則存取數(shù)據(jù)的。(4)與接口相關(guān)的寄存器(7個)。
并行I/O接口P0、P1、P2、P3,均為8位;通過對這4個寄存器的讀和寫,可以實現(xiàn)數(shù)據(jù)從相應(yīng)接口的輸入和輸出;
串行接口數(shù)據(jù)緩沖器SBUF;
串行接口控制寄存器SCON;
串行通信波特率倍增寄存器PCON。(5)與中斷相關(guān)的寄存器(2個)
中斷允許控制寄存器IE;
中斷優(yōu)先級控制寄存器IP。(6)與定時/計數(shù)器相關(guān)的寄存器(6個)
定時/計數(shù)器T0的兩個8位計數(shù)初值寄存器TH0、TL0,它們可以構(gòu)成16位的計數(shù)器,TH0存放高8位,TL0存放低8位;
定時/計數(shù)器T1的兩個8位計數(shù)初值寄存器THl、TLl,它們可以構(gòu)成16位的計數(shù)器,THl存放高8位,TLl存放低8位;
定時/計數(shù)器的工作方式寄存器TMOD;
定時/計數(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)無程序存儲器。MCS-51的片外最多能擴(kuò)展64K字節(jié)程序存儲器,片內(nèi)外的ROM是統(tǒng)一編址的。2.3MCS-51單片機(jī)的程序存儲器MCS-51的程序存儲器中有些單元具有特殊功能,使用時應(yīng)予以注意。其中一組特殊單元是0000H~0002H。系統(tǒng)復(fù)位后,PC=0000H,單片機(jī)從0000H單元開始取指令執(zhí)行程序。還有一組特殊單元是0003H~002AH。共40個單元,這40個單元被均勻地分為五段,作為五個中斷源的中斷地址區(qū)。第三節(jié)并行輸入/輸出口電路結(jié)構(gòu)所有MCS-51的端口都是雙向性的,既可當(dāng)輸入端口用,也可當(dāng)輸出端口用。在特殊功能寄存器中分別被稱為P0、P1、P2和P3。每一個端口都由鎖存器(D型)、輸出驅(qū)動電路所組成,結(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)后都會自動被寫入1。(3)輸入功能時,引腳的輸入信號是經(jīng)由三態(tài)(tri—state)緩沖器到達(dá)內(nèi)部系統(tǒng)總線。(4)輸出功能時,輸出的數(shù)據(jù)會被鎖存(latch)在D型鎖存器,直到下一批數(shù)據(jù)輸出時,D型鎖存器的內(nèi)容才會改變。(5)當(dāng)存取外部存儲器的數(shù)據(jù)時,P0會先輸出外部存儲器的低字節(jié)地址(lowbyteadress),并利用時間多任務(wù)(timemultiplexed)方式讀入或?qū)懗鲎止?jié)數(shù)據(jù)。若外部存儲器的地址為16位時,則高字節(jié)地址(highbyteaddress)會由P2輸出。在存取外部存儲器的數(shù)據(jù)時,地址/數(shù)據(jù)總線(address/dataBUS)使用,不能再兼做通用的輸入/輸出端口使用。(6)P3的所有引腳是多功能的,不僅可當(dāng)作一般的輸入/輸出端口使用第四節(jié)時鐘電路與復(fù)位電路時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。4.1時鐘電路與時序1.時鐘信號的產(chǎn)生(1)內(nèi)部時鐘方式內(nèi)部時鐘方式如圖所示。在8051單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),就構(gòu)成了自激震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號。(2)外部時鐘方式在由多片單片機(jī)組成的系統(tǒng)中,為了各單片機(jī)之間時鐘信號的同步,應(yīng)當(dāng)引入唯一的公用外部脈沖信號作為各單片機(jī)的振蕩脈沖。2.時序時序是用定時單位來說明的。MCS-51的時序定時單位共有4個,從小到大依次是:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍與狀態(tài)把振蕩脈沖的周期定義為拍節(jié)(用P表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機(jī)的時鐘信號的周期定義為狀態(tài)(用S表示)。(2)機(jī)器周期MCS-51采用定時控制方式,因此它有固定的機(jī)器周期。規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),并依次表示為S1~S6。當(dāng)振蕩脈沖頻率為12MHZ時,一個機(jī)器周期為1us。當(dāng)振蕩脈沖頻率為6MHZ時,一個機(jī)器周期為2us。
(3)指令周期
指令周期是最大的時序定時單位,執(zhí)行一條指令所需要的時間稱之為指令周期。它一般由若干個機(jī)器周期組成。不同的指令,所需要的機(jī)器周期數(shù)也不相同。按照指令字節(jié)數(shù)和機(jī)器周期數(shù),8051的111條指令可分為六類,分別是:單字節(jié)單周期指令、單字節(jié)雙周期指令、單字節(jié)四周期指令、雙字節(jié)單周期指令、雙字節(jié)雙周期指令、三字節(jié)雙周期指令。MCS-51單周期指令時序MCS-51單字節(jié)雙周期指令時序4.2單片機(jī)的復(fù)位電路單片機(jī)復(fù)位的條件是必須使RST引腳(9)加上持續(xù)二個機(jī)器周期(即24個振蕩周期)的高電平。例如:若時鐘頻率為12MHz,每機(jī)器周期為1us,則只需2us以上時間的高電平。在RST引腳出現(xiàn)高電平后的第二個機(jī)器周期執(zhí)行復(fù)位。單片機(jī)常見的復(fù)位電路如圖所示。上電自動復(fù)位電路,它是利用電容充電來實現(xiàn)的。在加電瞬間,RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。只要保證RST為高電平的時間大于2個機(jī)器周期,便能正常復(fù)位。按鍵復(fù)位電路。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按圖(b)中的RESET鍵,此時電源VCC經(jīng)電阻R1、R2分壓,在RST端產(chǎn)生一個復(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ī)的工作過程
1.單片機(jī)的工作過程
單片機(jī)的工作過程實質(zhì)上是執(zhí)行用戶編制程序的過程,一般程序的機(jī)器碼都已固化到存儲器中,因此開機(jī)復(fù)位后,就可以執(zhí)行指令。執(zhí)行指令又是取指令和執(zhí)行指令的周而復(fù)始的過程。假設(shè)指令MOVA,#08H機(jī)器碼74H、08H已存在0000H開始的單元中,表示把08H這個值送入A累加器。
接通電源開機(jī)后,PC=0000H,取指令過程如下:(1)PC中的0000H送到片內(nèi)的地址寄存器;(2)PC的內(nèi)容自動加1變?yōu)?001H指向下一個指令字節(jié);(3)地址寄存器中的內(nèi)容0000H通過地址總線送到存儲器,經(jīng)存儲器中的地址譯碼選中0000H單元;(4)CPU通過控制總線發(fā)出讀命令;(5)被選中單元的內(nèi)容74H送內(nèi)部數(shù)據(jù)總線上,該內(nèi)容通過內(nèi)部數(shù)據(jù)總線送到單片機(jī)內(nèi)部的指令寄存器。到此取指令過程結(jié)束,進(jìn)入執(zhí)行指令過程。執(zhí)行指令的過程:(1)指令寄存器中的內(nèi)容經(jīng)指令譯碼器譯碼后,說明這條指令是取數(shù)命令,即把一個立即數(shù)送A中;(2)PC的內(nèi)容為0001H送地址寄存器,譯碼后選中0001H單元,同時PC的內(nèi)容自動加1變?yōu)?002H;(3)CPU同樣通過控制總線發(fā)出讀命令;(4)0001H單元的內(nèi)容08H讀出經(jīng)內(nèi)部數(shù)據(jù)總線送至A,至此本指令執(zhí)行結(jié)束。
2.ECU的工作原理
ECU(electroniccontrolunit),“電子控制單元”縮寫,俗稱汽車電腦。其基本構(gòu)成如圖所示。ECU的主要工作是按照特定的程序?qū)斎胄盘栠M(jìn)行處理,并形成相應(yīng)的控制指令,向執(zhí)行器輸出驅(qū)動信號。由圖可知,它由輸入信號處理電路、輸出信號電路和微機(jī)系統(tǒng)構(gòu)成。微處理器工作是根據(jù)程序計數(shù)器中的地址將指令讀入指令寄存器中,然后對指令進(jìn)行翻譯,而程序計數(shù)器則存儲下一條指令所在的地址。微處理器在獲得執(zhí)行該指令所必需的信息以后,將執(zhí)行該指令所定義的過程,指令定義的過程主要包括對數(shù)據(jù)進(jìn)行存儲、運算、邏輯判斷和函數(shù)轉(zhuǎn)換等。當(dāng)一條指令執(zhí)行結(jié)束以后,微處理器將重復(fù)進(jìn)行確定指令存儲器地址、讀取指令、解譯指令和執(zhí)行指令這一循環(huán)過程,執(zhí)行下一條指令,直到程序中的全部指令執(zhí)行完畢。第六節(jié)單片機(jī)I/O擴(kuò)展
一、最小應(yīng)用系統(tǒng)的構(gòu)成最小應(yīng)用系統(tǒng)一般包括單片機(jī)、時鐘電路、復(fù)位電路、電源電路、存儲器等。
二、MCS-51單片機(jī)的外部擴(kuò)展特性當(dāng)單片機(jī)最小系統(tǒng)不能滿足系統(tǒng)功能要求時,就需要進(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ù)據(jù)/地址復(fù)用總線的P0口本身無鎖存功能,作為地址輸出時必須外接鎖存器,常用地址鎖存器有74系列的373和273;邏輯圖和功能表如圖所示。第七節(jié)MOTOROLA公司單片機(jī)在汽車控制中的應(yīng)用7.18位單片機(jī)MC68HC11F1在汽車控制技術(shù)中的應(yīng)用瑪瑞利單點電噴發(fā)動機(jī)ECU實物如圖所示瑪瑞利單點電噴發(fā)動機(jī)ECU外部接線如圖所示。
1.系統(tǒng)組成如圖為金杯單點瑪瑞利邏輯電路的原理框圖,它主要由以下部件組成。
(1)MC68HC11F1
MC68HC11F1(CPU)為摩托羅拉8bit汽車專用MCU,其內(nèi)部資源如圖所示。MC68HC11F18位微控制器是基于8位HC08CPU的高性能閃存技術(shù)的低成本芯片。
(2)74HC244作為空調(diào)、油泵、EVAP電磁閥、怠速電機(jī)等設(shè)備的狀態(tài)信息輸入開關(guān),74HC244是帶使能端的三態(tài)總線驅(qū)動器,輸出端直接與數(shù)據(jù)總線相連。引腳功能如圖所示。
(3)74HC273
作為怠速電機(jī)、主繼電器、故障指示燈、空調(diào)繼電器等驅(qū)動信號的輸出開關(guān)。74HC273是帶復(fù)位端的8路上升沿有效的D觸發(fā)器,引腳功能如圖所示
(4)27C512
用來存儲電腦的主程序及各種數(shù)據(jù)表格。27C512是64KB的8位只讀存儲器,引腳功能如圖所示。
2.工作原理(1)電源接通后如圖所示,由電源芯片L9170提供工作電源、工作能量及傳感器的參考電壓,并且8號腳輸出低電位的復(fù)位信號送至CPU的復(fù)位端(17腳),同時送到74HC273的清零端使其輸出清零
3.點火控制電路(1)磁感應(yīng)式傳感器工作原理(2)CPU進(jìn)入啟動狀態(tài),首先對內(nèi)部硬件進(jìn)行復(fù)位設(shè)置相應(yīng)的寄存器,然后開始Bootloader程序,進(jìn)行程序裝載;將27C512中的主程序讀入到內(nèi)部的RAM中,并通過跳轉(zhuǎn)指令進(jìn)入程序運行狀態(tài)。(3)主程序首先從數(shù)據(jù)總線D2上輸出邏輯“1”(高電位),該信號經(jīng)74HC273鎖存后從6號腳輸出高電位控制信號,使主繼電器接通,將12V電源加到點火線圈及噴油器等外部設(shè)備。
(4)然后通過PortE、PortA口讀入外部傳感器信號及轉(zhuǎn)速信號,通過這些信號判斷車輛當(dāng)前運行的工況,根據(jù)以上信息調(diào)用M27C512中的控制規(guī)則圖,從PortA、PortD、PortG口及數(shù)據(jù)總線(通過74HC273鎖存)輸出相應(yīng)的驅(qū)動信號,對汽車進(jìn)行點火與噴油控制并使相應(yīng)的設(shè)備進(jìn)入運行狀態(tài)。(5)最后通過數(shù)據(jù)總線(經(jīng)74HC244驅(qū)動)讀入相應(yīng)設(shè)備的狀態(tài)信息,根據(jù)這些信息對控制信號進(jìn)行進(jìn)一步優(yōu)化和調(diào)整。磁感應(yīng)式傳感器的工作原理如圖所示,磁力線穿過的路徑為永久磁鐵N極→定子與轉(zhuǎn)子間的氣隙→轉(zhuǎn)子凸齒→轉(zhuǎn)子凸齒與定子磁頭間的氣隙→磁頭→導(dǎo)磁板→永久磁鐵S極。當(dāng)信號轉(zhuǎn)子旋轉(zhuǎn)時,磁路中的氣隙就會周期性地發(fā)生變化,磁路的磁阻和穿過信號線圈磁頭的磁通量隨之發(fā)生周期性變化。根據(jù)電磁感應(yīng)原理,傳感線圈中就會感應(yīng)產(chǎn)生交變電動勢。當(dāng)發(fā)動機(jī)轉(zhuǎn)速變化時,轉(zhuǎn)子凸齒轉(zhuǎn)動的速度將發(fā)生變化,鐵心中的磁通變化率也將隨之發(fā)生變化。轉(zhuǎn)速越高,磁通變化率就越大,傳感線圈中的感應(yīng)電動勢也就越高。轉(zhuǎn)速不同時,磁通和感應(yīng)電動勢的變化情況如圖所示。
(2)曲軸位置傳感器結(jié)構(gòu)特點轎車的磁感應(yīng)式曲軸位置傳感器安裝在曲軸箱內(nèi)靠近離合器一側(cè)的缸體上,主要由信號發(fā)生器和信號轉(zhuǎn)子組成,如圖所示。信號發(fā)生器用螺釘固定在發(fā)動機(jī)缸體上,由永久磁鐵、傳感線圈和線束插頭組成。傳感線圈又稱為信號線圈,永久磁鐵上帶有一個磁頭,磁頭正對安裝在曲軸上的齒盤式信號轉(zhuǎn)子,磁頭與磁軛(導(dǎo)磁板)連接而構(gòu)成導(dǎo)磁回路。
(3)點火控制電路分析瑪瑞利單點電腦的點火控制電路是典型的直接點火系統(tǒng),點火系統(tǒng)是由CPU的端口A來控制的,電路如圖所示。
4.噴油控制電路分析瑪瑞利單點電腦的噴油控制主要是由CPU來完成的,電路如圖所示。
(1)基本噴油量
發(fā)動機(jī)只要一轉(zhuǎn)動就產(chǎn)生兩個信號:發(fā)動機(jī)轉(zhuǎn)速信號和負(fù)荷狀況信號。發(fā)動機(jī)轉(zhuǎn)速信號由轉(zhuǎn)速傳感器提供;發(fā)動機(jī)負(fù)荷信號由空氣流量傳感器或進(jìn)氣管壓力傳感器所測量的進(jìn)氣量而決定。(2)補(bǔ)充噴油量在許多工況下,除基本噴油量外,尚需有額外噴油量。例如,在起動時或大負(fù)荷工況下,需供給發(fā)動機(jī)補(bǔ)充噴油量。7.216位單片機(jī)MC9S12DP256在汽車控制技術(shù)中的應(yīng)用MC9S12DP256是基于16位HCS12CPU及0.25um微電子技術(shù)的高速、高性能帶5.0VFlash存儲器的16位微控制器。
1.MC9S12DP256的特征
2.MC9S12DP256的功能特點MC9S12系列單片機(jī)主要有三大特點:(1)片內(nèi)集成256KB的閃速存儲器(Flash)。(2)應(yīng)用鎖相環(huán)技術(shù)提高了系統(tǒng)的電磁兼容性。(3)簡單的背景開發(fā)模式(BDM)。
3.MC9S12DP256在汽車電子中的應(yīng)用如圖所示為一個典型的汽車門控系統(tǒng)示意圖。中央微控制器選用MC9S12DP256,MC33389A、MC33884、MC33887、MC33486等均為摩托羅拉的智能模擬器件。7.332位單片機(jī)MPC500在汽車控制技術(shù)中的應(yīng)用MPC500系列經(jīng)專門設(shè)計,滿足了高速行駛的汽車所需的嚴(yán)格的工作環(huán)境。整個產(chǎn)品系列包括無閃存的MPC561和內(nèi)置1M閃存的MPC566等,以針對多種不同環(huán)境的應(yīng)用,包括在汽油機(jī)管理、直接柴油燃油噴注、電子傳動控制等動力傳輸系統(tǒng)。
1.MPC500的特征如圖是MPC50032位微控制器的發(fā)動機(jī)管理系統(tǒng)組成方案。該MCU主要應(yīng)用于一些新型發(fā)動機(jī)管理系統(tǒng)中,如GM的P5、P6系列發(fā)動機(jī)管理系統(tǒng)。項目實施點亮控制汽車單個信號燈如圖所示,小功率車燈(包括左轉(zhuǎn)向燈、右轉(zhuǎn)向燈、應(yīng)急燈、剎車燈和駐車燈等)控制的工作原理為:通過P1口變化影響反向器開、關(guān)觸發(fā)三極管開關(guān),達(dá)到開關(guān)燈的目的。如圖所示,大功率車燈(主要包括遠(yuǎn)光燈、近光燈等)控制工作原理為:通過P1口變化影響反向器,以觸發(fā)三極管開關(guān),然后由三極管導(dǎo)通和關(guān)閉情況觸發(fā)繼電器開、關(guān)功能,達(dá)到開、關(guān)大功率車燈的目的。項目拓展閃爍控制汽車單個信號燈汽車單燈閃爍控制硬件電路如圖所示。一個發(fā)光二極管正極通過限流電阻連接到+5V電源,P1.0引腳控制這個發(fā)光二極管負(fù)極,當(dāng)P1.0口引腳輸出為低電平時,發(fā)光二極管點亮,當(dāng)P1.0口引腳輸出為高電平時,對應(yīng)的發(fā)光二極管熄滅,P1.1引腳高低電平交替輸出,這個發(fā)光二極管就可以實現(xiàn)閃爍顯示。第一節(jié)指令簡介
一、指令概述指令是規(guī)定單片機(jī)進(jìn)行某種操作的命令。一條指令只能完成有限的功能,為使單片機(jī)完成一定的或復(fù)雜的功能就需要一系列指令。單片機(jī)能夠執(zhí)行的各種指令的集合就稱為指令系統(tǒng)。MCS-51單片機(jī)指令系統(tǒng)共有33種功能,42種助記符,111條指令。
二、指令格式不同指令翻譯成機(jī)器碼后字節(jié)數(shù)也不一定相同。按照機(jī)器碼個數(shù),指令可以分為以下三種。MCS-51單片機(jī)指令系統(tǒng)包括49條單字節(jié)指令、45條雙字節(jié)指令和17條三字節(jié)指令。采用助記符表示的匯編語言指令格式如下:[標(biāo)號:]操作碼[目的操作數(shù)][,源操作數(shù)][;注釋]標(biāo)號是加在指令的前面表示該指令位置的符號地址,可有可無;標(biāo)號由1~8個字符組成,第一個字符必須是英文字母,不能是數(shù)字或其它符號;標(biāo)號后必須用“:”。操作碼是由助記符表示的字符串,表示指令所實現(xiàn)的操作功能;如MOV表示數(shù)據(jù)傳送操作、ADD表示加法操作等。操作數(shù)指出了參加運算的數(shù)據(jù)或數(shù)據(jù)存放的位置。操作數(shù)一般有以下幾種形式:沒有操作數(shù)項,操作數(shù)隱含在操作碼中,如RET指令;只有一個操作數(shù),如CLRP1.0指令;有兩個操作數(shù),如MOVA,#0EFH指令,操作數(shù)之間以逗號相隔;有三個操作數(shù),如CJNEA,#08H,NEXT指令,操作數(shù)之間也以逗號相隔。注釋是對語句的解釋說明,用以提高程序的可讀性,注釋前必須加“:”。計算機(jī)對它不作處理,注釋部分不影響指令的執(zhí)行。第二節(jié)尋址方式MCS-51指令系統(tǒng)共使用了7種尋址方式,包括寄存器尋址、直接尋址、立即數(shù)尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。
1.立即數(shù)尋址在這種尋址方式中,指令多是雙字節(jié)的。立即數(shù)尋址是指將操作數(shù)直接寫在指令中。例如:指令MOVA,#3AH執(zhí)行的操作是將立即數(shù)3AH送到累加器A中,該指令就是立即數(shù)尋址。注意:立即數(shù)前面必須加“#”號,以區(qū)別立即數(shù)和直接地址。該指令的執(zhí)行過程如圖所示。
2.直接尋址在這種尋址方式中,把存放操作數(shù)的內(nèi)存單元的地址直接寫在指令中。在MCS-51單片機(jī)中,可以直接尋址的存儲器主要有內(nèi)部RAM區(qū)和特殊功能寄存器SFR區(qū)。設(shè)內(nèi)部RAM3AH單元的內(nèi)容是88H,那么指令MOVA,3AH的執(zhí)行過程如圖所示。
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í)行過程如圖所示。
6.相對尋址相對尋址是指程序計數(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í)行過程如圖所示。
7.位尋址位尋址是指按位進(jìn)行的操作,MCS-51單片機(jī)中,操作數(shù)不僅可以按字節(jié)為單位進(jìn)行操作,也可以按位進(jìn)行操作。當(dāng)我們把某一位作為操作數(shù)時,這個操作數(shù)的地址稱為位地址。例如:指令SETB3DH執(zhí)行的操作是將內(nèi)部RAM位尋址區(qū)中的3DH位置1。設(shè)內(nèi)部RAM27H單元原來的內(nèi)容是00H,執(zhí)行SETB3DH后,由于3DH對應(yīng)著內(nèi)部RAM27H的第5位,因此該位變?yōu)?,也就是27H單元的內(nèi)容變?yōu)?0H。該指令的執(zhí)行過程如圖所示。第三節(jié)匯編語言指令系統(tǒng)MCS-51單片機(jī)指令系統(tǒng)包括111條指令,按功能可以劃分為五類:數(shù)據(jù)傳送指令(29條)算術(shù)運算指令(24條)邏輯運算指令(24條)控制轉(zhuǎn)移指令(17條)位操作指令(17條)3.1指令系統(tǒng)中的符號說明符號含
義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帶符號的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以及程序存儲器之間的數(shù)據(jù)傳送。
一、內(nèi)部8位數(shù)據(jù)傳送指令目的地址源地址MOV<目的操作數(shù)>,<源操作數(shù)>助記符格式相應(yīng)操作指令說明機(jī)器周期MOVA,RnARnn=0~71MOVA,directA(direct)
1MOVA,@RiA(Ri)i=0,11MOVA,#dataA#data
1
2.以Rn為目的地址的傳送指令(3條)助記符格式相應(yīng)操作指令說明機(jī)器周期MOVRn,ARnAn=0~71MOVRn,directRn(direct)n=0~71MOVRn,#dataRn#datan=0~71
3.以直接地址為目的地址的傳送指令(5條)助記符格式相應(yīng)操作指令說明機(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)操作指令說明機(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)操作指令說明機(jī)器周期MOVDPTR,#data16DPTR#data16把16位常數(shù)裝入數(shù)據(jù)指針2
三、外部數(shù)據(jù)傳送指令(4條)助記符格式相應(yīng)操作指令說明機(jī)器周期MOVXA,@DPTRA(DPTR)把DPTR所對應(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)操作指令說明機(jī)器周期XCHA,RnARnA與Rn內(nèi)容互換1XCHA,directA(direct)
1XCHA,@RiA(Ri)i=0,11
2.半字節(jié)交換指令(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期XCHDA,@RiA3-0(Ri)3-0低4位交換,高4位不變1
3.累加器A中高4位和低4位交換(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期SWAPA(A)3-0(A)7-4高、低4位互相交換1
4.查表指令(2條)
5.堆棧操作指令(2條)助記符格式相應(yīng)操作指令說明機(jī)器周期MOVCA,@A+PCA
(A+PC)A+PC所指外部程序存儲單元的值送A2MOVCA,@A+DPTRA
(A+DPTR)A+DPTR所指外部程序存儲單元的值送A2助記符格式相應(yīng)操作指令說明機(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īng)操作指令說明機(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)操作指令說明機(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條)助記符格式指令說明機(jī)器周期DAABCD碼加法調(diào)正指令1助記符格式相應(yīng)操作指令說明機(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)操作指令說明機(jī)器周期MULABBAA*B無符號數(shù)相乘,高位存B,低位存A4助記符格式相應(yīng)操作指令說明機(jī)器周期DIVABAA/B的商BA/B的余數(shù)無符號數(shù)相除,商存A,余數(shù)存B43.4邏輯運算及移位類指令
一、邏輯運算指令
1.邏輯與指令(6條)助記符格式相應(yīng)操作指令說明機(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)操作指令說明機(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)操作指令說明機(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)操作指令說明機(jī)器周期CLRA(A)00HA中內(nèi)容清0,影響P標(biāo)志1CPLA(A)()A中內(nèi)容按位取反,影響P標(biāo)志1
二、循環(huán)移位指令(4條)助記符格式相應(yīng)操作指令說明機(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ì)是改變程序計數(shù)器PC的內(nèi)容,從而改變程序的執(zhí)行方向。控制轉(zhuǎn)移指令分為:無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令和調(diào)用/返回指令。
一、無條件轉(zhuǎn)移指令(4條)
1.長轉(zhuǎn)移指令助記符格式相應(yīng)操作指令說明機(jī)器周期LJMPaddr16PCaddr16程序跳轉(zhuǎn)到地址為addr16開始的地方執(zhí)行2
2.絕對轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期AJMPaddr11PC10-0addr11程序跳轉(zhuǎn)到地址為PC15~11addr11開始的地方執(zhí)行,2k內(nèi)絕對轉(zhuǎn)移2
3.相對轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期SJMPrelPCPC+rel-80H(-128)~7FH(127)短轉(zhuǎn)移2
4.間接尋址的無條件轉(zhuǎn)移指令(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期JMP@A+DPTRPCA+DPTR64K內(nèi)相對轉(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.絕對調(diào)用指令(1條)
3.返回指令(2條)
2.長調(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)操作指令說明機(jī)器周期RETPC8-15
SP,SPSP-1PC0-7
SP,SPSP-1子程序返回2RETIPC8-15
SP,SPSP-1PC0-7
SP,SPSP-1中斷程序返回2
4.空操作(1條)助記符格式相應(yīng)操作指令說明機(jī)器周期NOP空操作消耗1個機(jī)器周期13.6位操作類指令
1.位傳送指令(2條)助記符格式相應(yīng)操作指令說明機(jī)器周期MOVC,bitCy(bit)位傳送指令,結(jié)果影響Cy標(biāo)志2MOVbit,C(bit)
Cy位傳送指令,結(jié)果不影響PSW2
2.位置位和位清零指令(4條)助記符格式相應(yīng)操作指令說明機(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.位運算指令(6條)
4.位運算指令(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)號:]ORG地址表達(dá)式功能:規(guī)定程序塊或數(shù)據(jù)塊存放的起始位置
2.定義字節(jié)數(shù)據(jù)偽指令DB格式:[標(biāo)號:]DB字節(jié)數(shù)據(jù)表功能:字節(jié)數(shù)據(jù)表可以是多個字節(jié)數(shù)據(jù)、字符串或表達(dá)式,它表示將字節(jié)數(shù)據(jù)表中的數(shù)據(jù)從左到右依次存放在指定地址單元。
3.定義字?jǐn)?shù)據(jù)偽指令DW格式:[標(biāo)號:]DW字節(jié)數(shù)據(jù)表功能:功能:與DB類似,但DW定義的數(shù)據(jù)項為字,包括兩個字節(jié),存放時高位在前,低位在后。
4.定義空間偽指令DS格式:[標(biāo)號:]DS地址表達(dá)式功能:從指定的地址開始,保留多少個存儲單元作為備用的空間。
5.符號定義偽指令EQU或=格式:符號名EQU表達(dá)式符號名=表達(dá)式功能:將表達(dá)式的值或某個特定匯編符號定義為一個指定的符號名,只能定義單字節(jié)數(shù)據(jù),并且必須遵循先定義后使用的原則,因此該語句通常放在源程序的開頭部分。
6.?dāng)?shù)據(jù)賦值偽指令DATA格式:符號名DATA表達(dá)式功能:將表達(dá)式的值或某個特定匯編符號定義一個指定的符號名,只能定義單字節(jié)數(shù)據(jù),但可以先使用后定義,因此用它定義數(shù)據(jù)可以放在程序末尾進(jìn)行數(shù)據(jù)定義。
7.?dāng)?shù)據(jù)地址賦值偽指令XDATA格式:符號名XDATA表達(dá)式功能:將表達(dá)式的值或某個特定匯編符號定義一個指定的符號名,可以先使用后定義,并且用于雙字節(jié)數(shù)據(jù)定義。第四節(jié)C語言指令系統(tǒng)4.1C語言優(yōu)點C語言有如下優(yōu)點。(1)對單片機(jī)的指令系統(tǒng)不需要了解,僅要求對存儲器有了解。(2)編譯器管理寄存器的分配、不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié)。(3)程序結(jié)構(gòu)化,程序有規(guī)范的結(jié)構(gòu),可以通過函數(shù)實現(xiàn)小功能執(zhí)行。(4)具有將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性。(5)用近似人的思維來使用關(guān)鍵字和運算函數(shù)。(6)提供強(qiáng)大包含有多個標(biāo)準(zhǔn)子程序的庫,具有較強(qiáng)的數(shù)據(jù)處理能力。(7)很容易將新程序植入已編寫好的程序,因為C語言具有模塊化編程技術(shù)。(8)編程和程序調(diào)試時間短,編程效率高。4.2C語言程序結(jié)構(gòu)單片機(jī)C5l語言是一種結(jié)構(gòu)化的程序設(shè)計語言,C語言程序的結(jié)構(gòu)如圖所示。1.順序結(jié)構(gòu)(sequence)順序結(jié)構(gòu)就是按順序地執(zhí)行各條語句,無需循環(huán)也無需跳轉(zhuǎn),它是最簡單也是最基本的流程控
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)計問題計算機(jī)VFP考試試題及答案
- JAVAUnit測試與實踐試題及答案
- 小區(qū)空調(diào)安裝合同協(xié)議書
- 深入理解VFP考試要點試題及答案
- 石場運輸場內(nèi)合同協(xié)議書
- 2024-2025學(xué)年高中化學(xué)第二章化學(xué)反應(yīng)與能量2.1化學(xué)能與熱能學(xué)案新人教版必修2
- 2024中考道德與法治模擬預(yù)測題專題04科教興國人才強(qiáng)國戰(zhàn)略含解析
- 財務(wù)成本分析的邏輯分析試題及答案
- 2025年計算機(jī)二級C語言復(fù)習(xí)教案試題及答案
- 計算機(jī)二級知識全面性試題及答案
- 期末易錯題型創(chuàng)新改編練習(xí)(專項練習(xí))六年級下冊數(shù)學(xué)人教版
- 《橋梁工程概況介紹》課件
- 2025年四川成都道德與法制中考試卷(無)
- 2024年不動產(chǎn)登記代理人《地籍調(diào)查》考試題庫大全(含真題、典型題)
- 中醫(yī)基礎(chǔ)學(xué)題庫(附答案)
- 大學(xué)美育知到智慧樹章節(jié)測試課后答案2024年秋長春工業(yè)大學(xué)
- 2024年秋《MySQL數(shù)據(jù)庫應(yīng)用》形考 實驗訓(xùn)練1 在MySQL中創(chuàng)建數(shù)據(jù)庫和表答案
- 《數(shù)據(jù)資產(chǎn)會計》 課件 第五章 數(shù)據(jù)資產(chǎn)的價值評估
- 合同到期不續(xù)簽的模板
- 北京市2018年中考?xì)v史真題試卷(含答案)
- (完整版)新概念英語第一冊單詞表(打印版)
評論
0/150
提交評論