




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章汽車電子技術(shù)與單片機(jī)第一節(jié)汽車電子技術(shù)的發(fā)展第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)第三節(jié)單片機(jī)的基本知識(shí)第四節(jié)數(shù)制與碼制第一章汽車電子技術(shù)與單片機(jī)第一節(jié)汽車電子技術(shù)的發(fā)展第一節(jié)汽車電子技術(shù)的發(fā)展一、當(dāng)今汽車技術(shù)發(fā)展的幾個(gè)重要方向科學(xué)技術(shù)的不斷進(jìn)步體現(xiàn)在各個(gè)方面,在計(jì)算機(jī)和微電子、生物工程、材料科學(xué)、工藝制作技術(shù)等很多領(lǐng)域都出現(xiàn)了一大批具有換時(shí)代意義的成,在制造業(yè)中,汽車技術(shù)的發(fā)展具有很強(qiáng)的代表性,成為許多新技術(shù)的載體。電控發(fā)動(dòng)機(jī)、自動(dòng)變速器、防抱死系統(tǒng)(ABS)、安全氣囊、智能導(dǎo)航等大量推陳出新的技術(shù)使得汽車在動(dòng)力性、經(jīng)濟(jì)性、排放水平、加成舒適性和安全性方面已經(jīng)達(dá)到了令人相當(dāng)滿意的程度。新技術(shù)同時(shí)也為行業(yè)的發(fā)展帶來了升級(jí),為行業(yè)的進(jìn)步指明了方向。下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展一、當(dāng)今汽車技術(shù)發(fā)展的幾個(gè)重要方向第一節(jié)汽車電子技術(shù)的發(fā)展作為汽車“心臟”的發(fā)動(dòng)機(jī),在汽車技術(shù)進(jìn)步的過程中始終走在前列。汽油機(jī)電控噴射技術(shù)結(jié)合三元催化器、柴油機(jī)燃油噴射系統(tǒng)、可變截面渦輪增壓器(VGT)、可變氣門正時(shí)和升程技術(shù)(VTEC)、混合動(dòng)力技術(shù)(HPS)等許多機(jī)、電、液緊密結(jié)合的技術(shù)使發(fā)動(dòng)機(jī)的性能指標(biāo)日益提高。汽車采用自動(dòng)變速器,在駕駛時(shí)可以不踩離合器,實(shí)現(xiàn)自動(dòng)換擋,而且發(fā)動(dòng)機(jī)不會(huì)熄火,從而可以有效的提高駕駛方便性。20世紀(jì)80年代以來,隨著電子技術(shù)的發(fā)展,變速器自動(dòng)控制更加完善,在各種使用工況下均能實(shí)現(xiàn)發(fā)動(dòng)機(jī)與傳統(tǒng)系的最佳匹配。上一頁下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展作為汽車“心臟”的發(fā)動(dòng)機(jī),在汽車技第一節(jié)汽車電子技術(shù)的發(fā)展不少現(xiàn)代車型已裝有自診斷裝置。有些高級(jí)的汽車內(nèi)還裝備了汽車導(dǎo)航系統(tǒng),它通過汽車內(nèi)的顯示裝置顯示地圖、汽車位置、運(yùn)動(dòng)軌跡、目的方向和距離等,從而為引導(dǎo)汽車提供大量信息。該系統(tǒng)還能將以汽車行駛方向?yàn)橹鞯慕煌ㄐ畔⒌确从车斤@示屏的移動(dòng)地圖上,為車輛行駛指示最佳路線。汽車導(dǎo)航系統(tǒng)可分為衛(wèi)星導(dǎo)航系統(tǒng)和地面無線電固定導(dǎo)航系統(tǒng)兩類。上一頁下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展不少現(xiàn)代車型已裝有自診斷裝置。上一第一節(jié)汽車電子技術(shù)的發(fā)展二、汽車電子技術(shù)的發(fā)展史從20世紀(jì)60年代中期開始,微電子技術(shù)的迅猛發(fā)展使其在汽車上被廣泛應(yīng)用,給汽車工業(yè)的進(jìn)一步發(fā)展帶來了新的生機(jī)。電子控制系統(tǒng)具有控制精度高、響應(yīng)速度快,集成度高、體積小、重量輕、應(yīng)用更加靈活等特點(diǎn)用于汽車后,可使汽車有關(guān)系統(tǒng)在各種工況下都處在最佳的工作狀況,各項(xiàng)受控指標(biāo)均能獲得較大的改善,使任何機(jī)械控制系統(tǒng)都難以達(dá)到的。50年代到70年代末,主要用電子裝置改善部分機(jī)械部件的性能;70年代末到90年代中期,汽車電子控制技術(shù)開始形成,大規(guī)模集成電路得到廣泛應(yīng)用,減小了汽車電子產(chǎn)品的體積,特別是8位、16位單片機(jī)的廣泛應(yīng)用,提高了電子裝置的可靠性和穩(wěn)定性。上一頁下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展二、汽車電子技術(shù)的發(fā)展史上一頁下一第一節(jié)汽車電子技術(shù)的發(fā)展80年代中期到90年代末被認(rèn)為是電子技術(shù)在汽車上應(yīng)用的第三階段,在這一階段中,以微處理器為核心的微機(jī)控制系統(tǒng)在汽車上大規(guī)模的應(yīng)用趨于成熟和可靠,并向智能化發(fā)展,汽車全面進(jìn)入電子化時(shí)代。2000年以后,汽車電子化被認(rèn)為已進(jìn)入第四階段——智能化和網(wǎng)絡(luò)化時(shí)代,在這一階段中,汽車產(chǎn)品將大量采用人工智能技術(shù),并利用網(wǎng)絡(luò)進(jìn)行信息的傳遞和交換。汽車電子技術(shù)的中的由解決汽車部件或總成問題開始向廣泛應(yīng)用計(jì)算機(jī)網(wǎng)絡(luò)與信息技術(shù)發(fā)展,使汽車更加自動(dòng)化、智能化,并向解決汽車與社會(huì)融為一體等問題轉(zhuǎn)移。汽車電子設(shè)備成本占汽車總成本的比重越來越大,汽車制造技術(shù)由機(jī)械制造逐步步入電子控制技術(shù)時(shí)代。上一頁下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展80年代中期到90年代末被認(rèn)為是電第一節(jié)汽車電子技術(shù)的發(fā)展三、汽車電子系統(tǒng)在整車中的地位從世界范圍看,汽車工業(yè)向電子化發(fā)展的趨勢(shì),在20世紀(jì)90年代已十分明顯,由于汽車工業(yè)是國民經(jīng)濟(jì)發(fā)展的支柱產(chǎn)業(yè),因而是國際經(jīng)濟(jì)競(jìng)爭的重要領(lǐng)域,而電子技術(shù)在汽車上的應(yīng)用促進(jìn)了汽車各項(xiàng)性能的發(fā)展,世界各大汽車公司紛紛投入巨資開發(fā)自己的汽車電子產(chǎn)品以贏得更大的市場(chǎng)空間,因此,汽車電子化將是奪取汽車市場(chǎng)的重要手段。上一頁下一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展三、汽車電子系統(tǒng)在整車中的地位上一第一節(jié)汽車電子技術(shù)的發(fā)展現(xiàn)代汽車電子控制技術(shù)的應(yīng)用不僅提高了汽車的動(dòng)力性、經(jīng)濟(jì)性和安全性,改善了行駛的穩(wěn)定性和舒適性,推動(dòng)了汽車工業(yè)的發(fā)展,還為電子產(chǎn)品開拓了廣闊的市場(chǎng),從而推動(dòng)了電子工業(yè)的發(fā)展。因此,發(fā)展汽車電子控制新技術(shù),加快汽車電子化速速,是振興和發(fā)展汽車工業(yè)的重要手段。上一頁返回第一節(jié)汽車電子技術(shù)的發(fā)展現(xiàn)代汽車電子控制技術(shù)的應(yīng)用不僅提高第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)一、單片機(jī)的發(fā)展史及其在汽車中的引入單片機(jī)從20世紀(jì)70年代出現(xiàn)至今已經(jīng)有30多年的歷史,從最初的簡單功能單片機(jī)發(fā)展到現(xiàn)在32位、64位的高性能微處理器,它的身影幾乎已經(jīng)融入人們生產(chǎn)生活的各個(gè)領(lǐng)域,從工業(yè)設(shè)備的自動(dòng)化,到人們?nèi)粘J褂玫母鞣N通訊產(chǎn)品,再到武器軍工行業(yè),衛(wèi)星和載人等方方面面,單片機(jī)都在發(fā)揮著難以替代的作用,并且成為產(chǎn)品附加值的重要來源。下一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)一、單片機(jī)的發(fā)展史及其第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)從單片機(jī)性能的衍變和發(fā)展看,可以將單片機(jī)的發(fā)展歷史劃分為三個(gè)階段:第一階段是20世紀(jì)70年代,單片機(jī)產(chǎn)生,低性能微處理器開始在工業(yè)生產(chǎn)中得到應(yīng)用。第二階段從20世紀(jì)80年代到20世紀(jì)末,微處理器的性能已經(jīng)有了很大的提高,以Motorola公司和Zilong公司為代表,雖然其單片機(jī)問世較遲,但是產(chǎn)品性能較高,單片機(jī)內(nèi)有串行I/O口,多集中斷處理能力,片內(nèi)RAM和ROM容量較大,有些還帶有A/D轉(zhuǎn)換接口。第三階段是20世紀(jì)末直到現(xiàn)在,這一階段是8位單片機(jī)鞏固發(fā)展,16為單片機(jī)、32為單片機(jī)推出階段。上一頁下一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)從單片機(jī)性能的衍變和發(fā)第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)單片機(jī)在汽車中的引入,最早應(yīng)用于汽車發(fā)動(dòng)機(jī)的控制。首推1976年通用汽車公司研發(fā)的利用單片機(jī)對(duì)發(fā)動(dòng)機(jī)的點(diǎn)火時(shí)間進(jìn)行控制(MASIR)。它能更好的根據(jù)發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)工況,對(duì)點(diǎn)火調(diào)速器提前角與負(fù)壓提前角作出精確的點(diǎn)火時(shí)間控制。汽車電子控制電腦也從模擬時(shí)代進(jìn)入到了數(shù)字時(shí)代。上一頁下一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)單片機(jī)在汽車中的引入,第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)二、當(dāng)代汽車各系統(tǒng)使用單片機(jī)的狀況隨著時(shí)代的發(fā)展,特別是計(jì)算機(jī)總線技術(shù)的日益成熟。在車上使用的芯片也越來越多,比如ABS、EBD、ASR、懸掛、電子防盜和衛(wèi)星導(dǎo)航等系統(tǒng)上的應(yīng)用,而在這些系統(tǒng)中有的使用的芯片功能較為簡單,甚至一片8位的芯片就完全能滿足使用要求。因而有許多汽車上開始采用基于總線的多芯片系統(tǒng),大家通過布置在車上的總線系統(tǒng),共享信息,使汽車能非常自如地工作。上一頁下一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)二、當(dāng)代汽車各系統(tǒng)使用第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)三、汽車總線系統(tǒng)的產(chǎn)生及其在整車中的應(yīng)用電控系統(tǒng)的增加雖然提高了汽車的動(dòng)力性、經(jīng)濟(jì)性和舒適性,但隨之增加的復(fù)雜電路也降低了汽車的可靠性,增加了維修的難度。為此,早在20世紀(jì)70年代就已提出實(shí)現(xiàn)汽車電控單元之間的通訊問題。隨著集成電路的迅速發(fā)展,使得以串行總線將車用電器組成網(wǎng)絡(luò),無論是在可靠性和經(jīng)濟(jì)性上,都成為了可能。CAN(ControllerAreaNetwork)總線即控制器局域網(wǎng)絡(luò),是德國BOSCH公司在20世紀(jì)80年代初研制成功的,最初主要是為汽車監(jiān)測(cè)、控制系統(tǒng)而設(shè)計(jì)的?,F(xiàn)在,由于CAN總線的優(yōu)良特性,除了在汽車電子控制系統(tǒng)中應(yīng)用外,在其他一些實(shí)時(shí)控制系統(tǒng)中也得到了廣泛應(yīng)用。上一頁下一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)三、汽車總線系統(tǒng)的產(chǎn)生第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)目前,汽車新技術(shù)的發(fā)展應(yīng)用于汽車線束數(shù)量及線束急劇增加的矛盾相當(dāng)突出。為解決這些問題,數(shù)據(jù)總線已被廣泛地應(yīng)用到汽車電控系統(tǒng)?,F(xiàn)代汽車典型的控制單元有電控燃油噴射系統(tǒng)、電控傳動(dòng)系統(tǒng)、防抱死制動(dòng)系統(tǒng)(ABS)、防滑控制系統(tǒng)(ASR)、廢氣再循環(huán)系統(tǒng)、巡航系統(tǒng)和空調(diào)系統(tǒng)。在一個(gè)完善的汽車電子控制系統(tǒng)中,許多動(dòng)態(tài)信息必須與車速同步。為了滿足各子系統(tǒng)的實(shí)時(shí)性要求,有必要對(duì)汽車公共數(shù)據(jù)實(shí)行共享,如發(fā)動(dòng)機(jī)轉(zhuǎn)速、車輪轉(zhuǎn)速、油門踏板位置等。上一頁返回第二節(jié)單片機(jī)在汽車中的應(yīng)用和總線系統(tǒng)目前,汽車新技術(shù)的發(fā)展第三節(jié)單片機(jī)的基本知識(shí)一、概述單片機(jī)是微型機(jī)計(jì)算機(jī)的一個(gè)很重要的分支。自20世紀(jì)70年代問世以來,以極其高的性能價(jià)格比受到人們的重視和關(guān)注,應(yīng)用廣泛,發(fā)展迅速。單片機(jī)體積小,質(zhì)量輕,抗干擾能力強(qiáng),對(duì)環(huán)境要求不高,價(jià)格低廉,可靠性高,靈活性好,開發(fā)較為容易。通過學(xué)習(xí)有關(guān)單片機(jī)的知識(shí)后,能依靠自己的力量來開發(fā)所希望的單片機(jī)系統(tǒng),并可獲得較高的經(jīng)濟(jì)效益。在我國,單片機(jī)已廣泛地應(yīng)用在智能儀器儀表、機(jī)電設(shè)備過程控制、自動(dòng)檢測(cè)、家用電器和數(shù)據(jù)處理等各個(gè)方面。下一頁返回第三節(jié)單片機(jī)的基本知識(shí)一、概述下一頁返回第三節(jié)單片機(jī)的基本知識(shí)二、單片機(jī)的軟件和硬件系統(tǒng)單片微型計(jì)算機(jī)就是把組成微型計(jì)算機(jī)的各部件,如中央處理器、存儲(chǔ)器、輸入/輸出接口電路、定時(shí)器/計(jì)數(shù)器等,制作在一塊集成電路芯片中,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。下面把組成計(jì)算機(jī)的五個(gè)基本組成部分做簡單說明,如圖1-3所示。運(yùn)算器是計(jì)算機(jī)的運(yùn)算部件,用于實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算,計(jì)算機(jī)的數(shù)據(jù)運(yùn)算和處理都在這里進(jìn)行??刂破魇怯?jì)算機(jī)的指揮控制部件,使計(jì)算機(jī)各部分能自動(dòng)協(xié)調(diào)地工作。上一頁下一頁返回第三節(jié)單片機(jī)的基本知識(shí)二、單片機(jī)的軟件和硬件系統(tǒng)上一頁下一第三節(jié)單片機(jī)的基本知識(shí)運(yùn)算器和控制器是計(jì)算機(jī)的核心部分,常把他們合在一起統(tǒng)稱為中央處理器,簡稱CPU。存儲(chǔ)器是計(jì)算機(jī)的記憶部件,用于存放程序和數(shù)據(jù),存儲(chǔ)器又分為內(nèi)存儲(chǔ)器和外存儲(chǔ)器。輸入設(shè)備用于將程序和數(shù)據(jù)輸入到計(jì)算機(jī)中。輸出設(shè)備用于把計(jì)算機(jī)數(shù)據(jù)計(jì)算或加工的結(jié)果,以用戶需要的形式顯示或保存。通常把外存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備合在一起稱之為計(jì)算機(jī)的外部設(shè)備。以上這些組成計(jì)算機(jī)實(shí)際的部分稱之為計(jì)算機(jī)的硬件,也叫計(jì)算機(jī)硬件系統(tǒng)。單片機(jī)盡管簡單、組成單片機(jī)系統(tǒng)的也是上述這五個(gè)基本組成部分。上一頁下一頁返回第三節(jié)單片機(jī)的基本知識(shí)運(yùn)算器和控制器是計(jì)算機(jī)的核心部分,常第三節(jié)單片機(jī)的基本知識(shí)硬件系統(tǒng)作為實(shí)體,為計(jì)算機(jī)工作提供了基礎(chǔ)和條件,但要想使計(jì)算機(jī)有效地工作,還必須有軟件的配合,概括的說,計(jì)算機(jī)的軟件系統(tǒng)包括系統(tǒng)軟件和應(yīng)用軟件兩個(gè)部分。但單片機(jī)由于硬件支持和需要所限,其軟件系統(tǒng)比較簡單。傳統(tǒng)觀念認(rèn)為單片機(jī)的系統(tǒng)管理不需要像微型計(jì)算機(jī)那樣復(fù)雜的操作系統(tǒng),而只使用簡單的操作系統(tǒng)程序,通常稱之為監(jiān)控程序。因此監(jiān)控程序就成為單片機(jī)中最重要的系統(tǒng)軟件,這種觀念還認(rèn)為大多數(shù)單片機(jī)不使用高級(jí)語言,單片機(jī)中通常使用的是匯編語言,但單片機(jī)并沒有自己專用的匯編程序。上一頁下一頁返回第三節(jié)單片機(jī)的基本知識(shí)硬件系統(tǒng)作為實(shí)體,為計(jì)算機(jī)工作提供了第三節(jié)單片機(jī)的基本知識(shí)三、Intel公司MCS-51系列產(chǎn)品概述8051單片機(jī)是美國Intel公司在1980年推出的MCS-51系列單片機(jī)的第一個(gè)成員。凡Intel公司生產(chǎn)的以8051為核心單元的其他派生單片機(jī)都可成為MCS-51系列,有時(shí)簡稱為51系列。其他公司生產(chǎn)的以8051為核心單元的其他派生單片機(jī)不能稱為MCS-51系列,只能稱為8051系列。MCS-51系列單片機(jī)包括三個(gè)基本型80C31、8051、8751,以及對(duì)應(yīng)的低功耗型號(hào)80C31、8051、8751,因而MCS-51特指Intel的這幾種型號(hào)。上一頁下一頁返回第三節(jié)單片機(jī)的基本知識(shí)三、Intel公司MCS-51系列產(chǎn)第三節(jié)單片機(jī)的基本知識(shí)四、單片機(jī)的最新發(fā)展技術(shù)單片機(jī)在近10年取得了飛速的發(fā)展,目前在世界范圍內(nèi)從事單片機(jī)開發(fā)的有4各區(qū)域:一是歐美,如美國國家半導(dǎo)體的COP8系列單片機(jī),Philips公司的51系列單片機(jī),AMD公司的186系列16位嵌入式單片機(jī),ST公司的ST62系列單片機(jī),MICROCHIP的PIC系列單片機(jī),Motorola的各個(gè)系列單片機(jī),以及Infineontechnologies的C500和C166系列等;二是日本,如TOSHIBA公司開發(fā)了從4位到64位的多系列單片機(jī),日立公司也有從4位到32位的單片機(jī),F(xiàn)UJITSUMicroelectronics的F2MC-8L單片機(jī)系列產(chǎn)品,OKIElectronics的MSM80、MSM66、MSM63系列單片機(jī),NEC的75X、78X系列單片機(jī);三是臺(tái)灣地區(qū),如WINBOND公司的W741/W536、W78/W77等系列單片,Holtek的HT46/48/49CXX系列單片機(jī),EMC公司的E7系列單片機(jī)等;四是韓國,如Hyundaimicroelectronics的GMS800、GMS30系列單片機(jī),另外,LG等公司也生產(chǎn)單片機(jī)。上一頁返回第三節(jié)單片機(jī)的基本知識(shí)四、單片機(jī)的最新發(fā)展技術(shù)上一頁返回第四節(jié)數(shù)制與碼制一、數(shù)制數(shù)制也稱計(jì)數(shù)制,是指用一組固定的符號(hào)和統(tǒng)一的規(guī)則來表示數(shù)值的方法。按進(jìn)位的方法進(jìn)行計(jì)數(shù),稱為進(jìn)位計(jì)數(shù)制。在進(jìn)位計(jì)數(shù)制中有數(shù)位、基數(shù)和位權(quán)三個(gè)要素。數(shù)位是指數(shù)碼在一個(gè)數(shù)中所處的位置;基數(shù)是指在某種進(jìn)位計(jì)數(shù)制中,每個(gè)數(shù)位上所能使用的數(shù)碼的個(gè)數(shù),位權(quán)是指在某種進(jìn)位計(jì)數(shù)制中,每個(gè)數(shù)位上的數(shù)碼所代表的數(shù)值的大小,等于在這個(gè)數(shù)位上的數(shù)碼乘上一個(gè)固定的數(shù)值,每個(gè)固定的數(shù)值就是這種進(jìn)位計(jì)數(shù)制中該數(shù)位上的位權(quán)。數(shù)碼所處的位置不同,代表數(shù)的大小也不同。下一頁返回第四節(jié)數(shù)制與碼制一、數(shù)制下一頁返回第四節(jié)數(shù)制與碼制1.十進(jìn)制十進(jìn)位計(jì)數(shù)制簡稱十進(jìn)制。十進(jìn)制數(shù)具有下列特點(diǎn):(1)有十個(gè)不同的數(shù)碼符號(hào)0、1、2、3、4、5、6、7、8、9.(2)每一個(gè)數(shù)碼符號(hào)根據(jù)它在這個(gè)數(shù)中所處的位置(數(shù)位),按“逢十進(jìn)一”來決定其實(shí)際數(shù)值,即各數(shù)位的位權(quán)是以10為底的冪次方。2.二進(jìn)制二進(jìn)位計(jì)數(shù)制簡稱二進(jìn)制。一個(gè)二進(jìn)制數(shù)位簡稱為位(英文名為bit)。計(jì)算機(jī)中最直接、最基本的操作就是對(duì)二進(jìn)制位的操作。二進(jìn)制數(shù)具有下列特點(diǎn):(1)有兩個(gè)不同的數(shù)碼符號(hào)0、1。(2)每個(gè)數(shù)碼符號(hào)根據(jù)它在這個(gè)數(shù)中的數(shù)位,按“逢二進(jìn)一”來決定其實(shí)際數(shù)值。上一頁下一頁返回第四節(jié)數(shù)制與碼制1.十進(jìn)制上一頁下一頁返回第四節(jié)數(shù)制與碼制3.十六進(jìn)制二進(jìn)制數(shù)書寫冗長、易錯(cuò)、難記,而十進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換過程復(fù)雜,所以一般用十六進(jìn)制數(shù)或八進(jìn)制數(shù)來表示。十六進(jìn)位計(jì)數(shù)制簡稱為十六進(jìn)制。十六進(jìn)制具有下列特點(diǎn):(1)它有十六個(gè)不同的數(shù)碼符號(hào)0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。(2)每個(gè)數(shù)碼符號(hào)根據(jù)它在這個(gè)數(shù)中的數(shù)位,按“逢十六進(jìn)一”來決定其實(shí)際數(shù)值。上一頁下一頁返回第四節(jié)數(shù)制與碼制3.十六進(jìn)制上一頁下一頁返回第四節(jié)數(shù)制與碼制二、碼制數(shù)值在計(jì)算機(jī)中表示形式為機(jī)器數(shù),計(jì)算機(jī)只能識(shí)別0和1,使用的是二進(jìn)制,而在日常生活中人們使用的是十進(jìn)制,為了能方便地與二進(jìn)制轉(zhuǎn)換,就是用了十六進(jìn)制(24)和八進(jìn)制(23)。數(shù)值有正負(fù)之分,計(jì)算機(jī)就用一個(gè)數(shù)的最高位存放符號(hào)(0為正,1為負(fù))。這就是機(jī)器數(shù)的原碼了。假設(shè)機(jī)器能處理的位數(shù)為8,即字長為1byte,原碼能表示數(shù)值的范圍為(-127~-0,+0~+127)共256個(gè)。有了數(shù)值的表示方法就可以對(duì)數(shù)值進(jìn)行算術(shù)運(yùn)算,但是很快就發(fā)現(xiàn)用帶符號(hào)位的原碼進(jìn)行乘除運(yùn)算時(shí)結(jié)果正確,而在加減運(yùn)算的時(shí)候就出現(xiàn)了為題,假設(shè)字長為8bits:上一頁下一頁返回第四節(jié)數(shù)制與碼制二、碼制上一頁下一頁返回第四節(jié)數(shù)制與碼制上式顯然不正確,因?yàn)樵趦蓚€(gè)整數(shù)的加法運(yùn)算中是沒有問題的,于是就發(fā)現(xiàn)問題出現(xiàn)在帶符號(hào)位的負(fù)數(shù)身上,對(duì)除符號(hào)位外的其余各位逐位取反就產(chǎn)生了反碼。反碼的取值空間和原碼相同且一一對(duì)應(yīng)。下面是反碼的減法運(yùn)算:上一頁下一頁返回第四節(jié)數(shù)制與碼制上一頁下一頁返回第四節(jié)數(shù)制與碼制上式也不正確,再如:上面這種計(jì)算方法是正確的。問題出現(xiàn)在(+0)和(-0)上,在人們的計(jì)算概念中零是沒有正負(fù)之分的。于是就引入了補(bǔ)碼概念:負(fù)數(shù)的補(bǔ)碼就是對(duì)反碼加一,而正數(shù)不變,正數(shù)的原碼、反碼、補(bǔ)碼是一樣的。在補(bǔ)碼中用(-128)代替了(-0),所以補(bǔ)碼的表示范圍為(-128~0~127)共256個(gè)。(-128)沒有相對(duì)應(yīng)的原碼和反碼,(-128)=(10000000)。上一頁下一頁返回第四節(jié)數(shù)制與碼制上式也不正確,再如:上一頁下一頁返回第四節(jié)數(shù)制與碼制下面是補(bǔ)碼的加減運(yùn)算:上一頁下一頁返回第四節(jié)數(shù)制與碼制下面是補(bǔ)碼的加減運(yùn)算:上一頁下一頁返回第四節(jié)數(shù)制與碼制以上這幾種計(jì)算方法是正確的。補(bǔ)碼的設(shè)計(jì)目的是:(1)使符號(hào)位能有效值部分一起參加運(yùn)算,從而簡化運(yùn)算規(guī)則;(2)使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,進(jìn)一步簡化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)。所有這些轉(zhuǎn)換都是在計(jì)算機(jī)的最底層進(jìn)行的,而在我們使用的匯編、C語言等其他高級(jí)語言中使用的都是原碼。上一頁下一頁返回第四節(jié)數(shù)制與碼制以上這幾種計(jì)算方法是正確的。補(bǔ)碼的設(shè)計(jì)目的第四節(jié)數(shù)制與碼制ASCII碼是美國信息交換用標(biāo)準(zhǔn)代碼。ASCII碼雖然是美國國家標(biāo)準(zhǔn),但它已被國際標(biāo)準(zhǔn)化組織(ISO)認(rèn)定為國際標(biāo)準(zhǔn),為世界公認(rèn),并在世界范圍內(nèi)通用。ASCII碼用一個(gè)8位二進(jìn)制數(shù)(字節(jié))表示,每個(gè)字節(jié)只占用了7位,最高位恒為0。7位ASCII碼可以表示128(27=128)種字符,其中通用控制字符34個(gè),阿拉伯?dāng)?shù)字10個(gè),大小寫英文字母52個(gè),各種標(biāo)點(diǎn)符號(hào)和運(yùn)算符號(hào)共有32個(gè)。上一頁返回第四節(jié)數(shù)制與碼制ASCII碼是美國信息交換用標(biāo)準(zhǔn)代碼。AS圖1-3微型計(jì)算機(jī)的組成返回圖1-3微型計(jì)算機(jī)的組成返回第二章MSC-51單片機(jī)的結(jié)構(gòu)和原理第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳第二節(jié)MCS-51單片機(jī)的中央處理器CPU第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序第五節(jié)MCS-51單片機(jī)工作方式第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器第二章MSC-51單片機(jī)的結(jié)構(gòu)和原理第一節(jié)MCS-51單第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳MCS-51系列單片微型機(jī)計(jì)算機(jī)包括8031、8051、8751等型號(hào),其代表型號(hào)是8051。8051內(nèi)部組成方框圖如圖2-1所示,本書也將主要以8051單片機(jī)的代表來介紹MCS-51系列單片機(jī)的工作原理。通常計(jì)算機(jī)須由三大基本單元,即中央處理器、存儲(chǔ)器和輸入/輸出設(shè)備組成。下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳MCS-51系第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳一、MCS-51單片機(jī)的基本組成8051單片機(jī)的結(jié)構(gòu)組成如圖2-1所示,各部分情況介紹如下:1.中央處理器顧名思義,這是單片機(jī)的核心部分。也有人將其稱為MCU,在這些公司提供的器件使用手冊(cè)上還有μP的寫法,都是同一個(gè)意思。8051單片機(jī)的CPU由算術(shù)邏輯部件(ALU)、累加器(ACC)、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)寄存器(PSW)等運(yùn)算部件,以及指令寄存器(IR)、指令譯碼器(ID)、數(shù)據(jù)指針寄存器(DPTR)、程序指針寄存器(PC)、堆棧指針(SP)等控制部件組成。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳一、MCS-5第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳2.內(nèi)部數(shù)據(jù)寄存器(內(nèi)部RAM)MCS-51的CPU能處理8位二進(jìn)制。8051芯片中共有256個(gè)RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128個(gè)單元,用于存放可讀寫的數(shù)據(jù)。因此,通常所說的內(nèi)部數(shù)據(jù)存儲(chǔ)器就是指前128單元,簡稱內(nèi)部RAM。3.內(nèi)部程序存儲(chǔ)器(內(nèi)部ROM)根據(jù)有無片內(nèi)ROM,8051單片機(jī)有三個(gè)品種,即無ROM版本為8031、工廠掩膜只讀ROM版本為8051、EPROM版本為8751.8051共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,簡稱內(nèi)部ROM。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳2.內(nèi)部數(shù)據(jù)寄第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳4.定時(shí)器/計(jì)數(shù)器8051有兩個(gè)16位定時(shí)器/計(jì)數(shù)器(T0,T1),它們由特殊功能寄存器TMOD和TCON分別選擇它們的工作方式和表示它們的狀態(tài)。在定時(shí)器功能中,每個(gè)機(jī)器周期定時(shí)器加1,可以認(rèn)為它是機(jī)器周期計(jì)數(shù)器,由于1個(gè)機(jī)器周期包含12個(gè)振蕩周期,定時(shí)器計(jì)數(shù)到的脈沖為振蕩頻率的1/12。5.并行I/O口MCS-51共有四個(gè)8位的I/O口(P0、P1、P2、P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳4.定時(shí)器/計(jì)第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳6.串行口MCS-51單片機(jī)有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的穿行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。7.中斷控制系統(tǒng)MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足控制應(yīng)用的需要。8051共有5各中斷源,即外部中斷2個(gè),定時(shí)/計(jì)數(shù)中斷2個(gè),串行中斷1個(gè)。全部中斷分為高級(jí)和低級(jí)兩個(gè)優(yōu)先級(jí)別。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳6.串行口上一第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳8.時(shí)鐘電路MCS-51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的最高晶振頻率為12MHZ。從上述內(nèi)容可以看出,MCS-51雖然是一個(gè)單片機(jī)芯片,但作為計(jì)算機(jī)應(yīng)該具有的基本部件它都包括,因此實(shí)際上它是一個(gè)簡單的微型計(jì)算機(jī)系統(tǒng)。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳8.時(shí)鐘電路上第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳二、MCS-51的信號(hào)引腳MCS-51微處理器采用40引腳的雙列直插封裝(DIP)方式,如圖2-2所示,仔0條引腳中,有2條專用于主電源的引腳,2條外接晶振引腳,4條控制引腳和3條I/O引腳。下面分別敘述各引腳的功能。主電源引腳VSS和VCC:VSS(20)接地,VCC(40)正常操作時(shí)接+5V電源。外接晶振引腳XTAL1和XTAL2:當(dāng)外接晶體振蕩器時(shí),XTAL1和XTAL2分別接在外接晶體兩端;當(dāng)采用外部時(shí)鐘方式時(shí),XTAL1接地,XTAL2接外來振蕩信號(hào)。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳二、MCS-5第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳控制引腳RST/VPD,ALE/、、。對(duì)于RST/VPD:當(dāng)振蕩器正常運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期以上的高電平使微處理器復(fù)位;VCC掉電期間,此引腳可接備用電源,以保持內(nèi)部RAM的數(shù)據(jù)。:當(dāng)訪問外部存儲(chǔ)器時(shí),由微處理器的P2口送出地址的高8為,P0口送出地址的低8位,數(shù)據(jù)通過P0口傳送。:是程序存儲(chǔ)器讀選通信號(hào),低電平有效。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳控制引腳RST第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳EA/VPP(31):當(dāng)EA端保持高電平時(shí),訪問內(nèi)部程序存取器(4KB),但當(dāng)PC(程序計(jì)數(shù)器)值超過0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序;當(dāng)EA保持低電平時(shí),則只訪問外部程序存儲(chǔ)器(從0000H地址開始),而不管微處理器內(nèi)部是否有程序存儲(chǔ)器。輸入輸出引腳P0.0~P0.7(39~~32):P0口是一個(gè)漏極開路型準(zhǔn)雙向I/O口。在訪問外部存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)和數(shù)據(jù)總線,在訪問期間激活了內(nèi)部的上拉電阻。在EPROM編程時(shí),它接收指令字節(jié),而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。上一頁下一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳EA/VPP(第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳P1.0~P1.7(1~8):P1口是帶內(nèi)部上拉電阻的8位雙向I/O口。在EPROM編程和程序驗(yàn)證時(shí),它接收低8位地址。P2.0~P2.7(21~28):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。在訪問外部存儲(chǔ)器時(shí),它送出高8位地址。在對(duì)EFROM編程和程序驗(yàn)證期間,它接收高8位地址。P3.0~P3.7(10~17):P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。在MCS-51中,這8個(gè)引腳還兼有專用功能。上一頁返回第一節(jié)MCS-51單片機(jī)的內(nèi)部組成及信號(hào)引腳P1.0~P1第二節(jié)MCS-51單片機(jī)的中央處理器CPU一、運(yùn)算器運(yùn)算器包括算術(shù)邏輯部件ALU、位處理器、累加器A、寄存器B、暫存器以及程序狀態(tài)寄存器PSW等。該模塊的功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)、邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送等操作。ALU的功能十分強(qiáng),它不僅可對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、循環(huán)、求補(bǔ)和清零等基本操作,還可以進(jìn)行加、減、乘、除等基本運(yùn)算。ALU還具有一般的微機(jī)ALU所不具備的功能,即位處理操作,它可以位(bit)變量進(jìn)行處理,如置位、清零、求補(bǔ)、測(cè)試轉(zhuǎn)移及邏輯“與”、“或”等操作。下一頁返回第二節(jié)MCS-51單片機(jī)的中央處理器CPU一、運(yùn)算器下一頁第二節(jié)MCS-51單片機(jī)的中央處理器CPU由此可見,ALU在算術(shù)運(yùn)算及控制處理方面能力是很強(qiáng)的。累加器A是一個(gè)8位的累加器,從功能上看,它與一般微機(jī)的累加器相比沒什么特別之處,但需要說明的是A的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理器的一位累加器。寄存器B是為執(zhí)行乘法和除法操作設(shè)置的,在不執(zhí)行乘、除法操作的一般情況下可把它當(dāng)做一個(gè)普通寄存器使用。MCS-51的程序狀態(tài)寄存器PSW是一個(gè)8位可讀寫的寄存器,它的不同位包含了程序狀態(tài)的不同信息,掌握并牢記PSW各位的含義是十分重要的,因?yàn)樵诔绦蛟O(shè)計(jì)中,經(jīng)常會(huì)與PSW的各個(gè)位打交道。PSW各位的定義如表2-1所示。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)的中央處理器CPU由此可見,ALU第二節(jié)MCS-51單片機(jī)的中央處理器CPU二、控制器控制部件是微處理器的神經(jīng)中樞,以主振頻率位基準(zhǔn)??刂破骺刂艭PU的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),將各個(gè)硬件環(huán)節(jié)組織在一起。CPU的時(shí)序?yàn)槊總€(gè)機(jī)器周期(12個(gè)振蕩周期)由6個(gè)狀態(tài)周期組成,即S1、S2、……S6,而每個(gè)狀態(tài)周期由兩個(gè)時(shí)相P1,P2組成。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)的中央處理器CPU二、控制器上一頁第二節(jié)MCS-51單片機(jī)的中央處理器CPUCPU功能的強(qiáng)弱,主要可以用下幾個(gè)指標(biāo)來衡量:(1)內(nèi)部總現(xiàn)寬度,也稱字長、位數(shù)。位數(shù)越大運(yùn)算精度越高,運(yùn)算速度越快。(2)指令數(shù)。指令越多、編程越靈活。(3)執(zhí)行每條指令所需時(shí)間或每秒鐘平均執(zhí)行指令條數(shù),常用的MIPS表示每秒鐘執(zhí)行指令的百萬條數(shù)。(4)尋址方式越多、對(duì)某一空間的尋址越靈活。MCS-51有5種尋址方式,MCS-96有6種尋址方式,Z80有6種尋址方式,MC6805有10種尋址方式。上一頁返回第二節(jié)MCS-51單片機(jī)的中央處理器CPUCPU功能的強(qiáng)弱第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器一、內(nèi)部數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)(圖2-3)MCS-51數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間:一個(gè)內(nèi)部和一個(gè)外部數(shù)據(jù)存儲(chǔ)器空間。訪問內(nèi)部數(shù)據(jù)存儲(chǔ)器,用MOV指令,訪問外部數(shù)據(jù)存儲(chǔ)器用MOVX指令。MCS-51內(nèi)部數(shù)據(jù)存儲(chǔ)器共有128個(gè)字節(jié)單元。內(nèi)部數(shù)據(jù)存儲(chǔ)器的00H~1FH(共32個(gè)單元)為4個(gè)寄存器工作區(qū),每區(qū)8個(gè)寄存器,表示為R0~R7,如表2-2所示。由于每個(gè)寄存器區(qū)的8個(gè)寄存器都記為R0~R7,因此每次只能選擇一個(gè)寄存器區(qū)工作。寄存器工作區(qū)的選擇是通過狀態(tài)標(biāo)志寄存器PSW的第3、4位,即RS1、RS0進(jìn)行。下一頁返回第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器一、內(nèi)部數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)(圖第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器20H~2FH(16個(gè)單元)既可按字節(jié)尋址,作為一般工作單元,又可以按位CPU直接尋址,進(jìn)行位操作。二、堆棧及堆棧指示器堆棧實(shí)際上是一種數(shù)據(jù)結(jié)構(gòu)(如圖2-4所示),是只允許在其一端進(jìn)行數(shù)據(jù)插入和數(shù)據(jù)刪除操作的線性表。數(shù)據(jù)寫入堆棧稱為壓入運(yùn)算(PUSH),也叫入棧。數(shù)據(jù)從堆棧中讀出稱之為彈出運(yùn)算(POP),也叫出棧。堆棧的最大特點(diǎn)就是“后進(jìn)先出”的數(shù)據(jù)操作規(guī)則,常把“后進(jìn)先出”寫為LIFO(Last-In.First-Out),即先入棧的數(shù)據(jù)存放在棧的底部。堆棧有兩種類型:向上生長型和向下生長型。上一頁下一頁返回第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器20H~2FH第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器不論是數(shù)據(jù)進(jìn)棧還是數(shù)據(jù)出棧,都是對(duì)堆棧的棧頂單元進(jìn)行的,即對(duì)棧頂單元的寫和讀操作。為了指示棧頂?shù)刂?,要設(shè)置堆棧指示器SP,其內(nèi)容就是堆棧棧頂?shù)拇鎯?chǔ)單元地址。MCS-51系列微處理器的堆棧是以棧頂滿的形式工作的。在執(zhí)行PUSH期間,壓入數(shù)據(jù)前,SP加1;反之,在執(zhí)行POP期間,彈出數(shù)據(jù)前,SP減1.SP寬為8位。由于堆棧指針可以由指令改變,因此堆??梢栽O(shè)置在片內(nèi)RAM中任一連續(xù)空間內(nèi)。復(fù)位后,SP初始化值位07H,所以,堆棧從08H單元開始。上一頁下一頁返回第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器不論是數(shù)據(jù)進(jìn)棧還是數(shù)據(jù)出棧,第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器三、程序存儲(chǔ)器程序存儲(chǔ)器空間為0000H~FFFFH,共64KB,其結(jié)構(gòu)如圖2-5所示。其中低4KB(0000H-0FFFH)可以在單片機(jī)外部(8031),也可以在內(nèi)部(8051、8751)。對(duì)沒有片內(nèi)ROM的8031,只要在硬件設(shè)計(jì)時(shí)使,就可以使程序執(zhí)行始終在外部ROM中進(jìn)行;對(duì)有片內(nèi)ROM的8051和8751,只要在硬件設(shè)計(jì)時(shí)使,程序開始執(zhí)行的前4KB總是在片內(nèi)ROM中,超過0FFFH(4KB)時(shí),在片外ROM中。上一頁下一頁返回第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器三、程序存儲(chǔ)器上一頁下一頁返第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器無論,還是,都由16位程序計(jì)數(shù)器(PC)作為尋址裝置。在整個(gè)程序存儲(chǔ)器的64KB空間中,0000H~0023H空間只能用于存放中斷服務(wù)子程序的向量地址,還有一組特殊單元是0003H~002AH,共40個(gè)單元。這40個(gè)單元被均勻地分為五段,作為五個(gè)中斷源的中斷地址,如表2-3所示。上一頁返回第三節(jié)MCS-51的內(nèi)部存儲(chǔ)器無論,第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序一、MCS-51的I/O端口輸入/輸出口也稱為I/O端口。MCS-51單片機(jī)的四個(gè)I/O端口都是8位雙向口,這些端口在結(jié)構(gòu)和特性上是基本相同的,但又各具特點(diǎn)。I/O端口的作用在單片機(jī)中是一個(gè)集數(shù)據(jù)輸入緩沖、數(shù)據(jù)輸出驅(qū)動(dòng)及鎖存等多項(xiàng)功能為一體的電路。8051共有32根引腳全部為I/O端口,分為4個(gè)8位口。8051單片機(jī)的4個(gè)端口都是雙向的,每個(gè)端口都包含鎖存器(特殊功能寄存器中P0~P3,地址分別為80H、90H、0A0H、0B0H)、輸出驅(qū)動(dòng)器和輸入緩沖器。下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序一、MCS-51的I/O端第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序每個(gè)端口的每一根引腳都可以獨(dú)立地用作輸入或輸出引腳。P0端口是三態(tài)雙向端口,稱為數(shù)據(jù)總線端口,因?yàn)橹挥性摱丝谀苤苯佑糜趯?duì)外部存儲(chǔ)器的讀/寫數(shù)據(jù)操作。P0端口還用以輸出外部存儲(chǔ)器的低8位地址。P1端口是8位準(zhǔn)雙向端口,作通用I/O端口使用,在輸出驅(qū)動(dòng)器部分,P1端口有別于P0端口,它接有內(nèi)部上拉電阻。P1端口的每一位可以獨(dú)立地定義為輸入或者輸出,因此,P1端口既可以作為8位并行I/O端口,又可作為8位I/O端口。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序每個(gè)端口的每一根引腳都可以第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序P2端口是8位準(zhǔn)雙向I/O端口,P2端口可作通用I/O端口使用。P2端口電路中比P1端口多了一個(gè)多路轉(zhuǎn)換電路MUX,這又正好與P0端口一樣。但通常應(yīng)用情況下,P2端口是作為高位地址線使用,此時(shí)多路轉(zhuǎn)換開關(guān)應(yīng)倒向相反方向。當(dāng)外接程序存儲(chǔ)數(shù)據(jù)時(shí),P3端口給出地址的高8位,此時(shí)不能用作通用I/O端口。P3端口是一個(gè)8位的準(zhǔn)雙向I/O端口。它具有多種功能:可以作為一般準(zhǔn)雙向I/O端口,具有字節(jié)操作和位操作兩種工作方式;也可以用8條I/O線獨(dú)立地作為串行I/O端口和其他控制信號(hào)。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序P2端口是8位準(zhǔn)雙向I/O第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序P1、P2、P3口的輸出緩沖器可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)于HMOS芯片單片機(jī)的I/O口,在正常情況下,可任意由TTL或NMOS電路驅(qū)動(dòng)。HMOS及CMOS型單片機(jī)的I/O由集電極開路或漏極開路的輸出來驅(qū)動(dòng)時(shí),不必外加上拉電阻。P0端口輸出緩沖器能驅(qū)動(dòng)8個(gè)TTL電路,驅(qū)動(dòng)MOS電路須外接上拉電阻,但P0端口用作地址/數(shù)據(jù)總線時(shí),可直接驅(qū)動(dòng)MOS的輸入而不必外加上拉電阻。如果MCS-51本書的I/O端口不能滿足用戶需要時(shí),可以擴(kuò)展I/O端口,MCS-51單片機(jī)外部RAM存儲(chǔ)器和外部擴(kuò)展的I/O端口是同一編址的,CPU對(duì)它們的操作指令也相同,在外部64KB的RAM空間內(nèi),可以劃出一個(gè)區(qū)域作為擴(kuò)展I/O端口的地址空間,因此I/O端口的擴(kuò)展幾乎是不受限制的。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序P1、P2、P3口的輸出緩第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序二、時(shí)鐘電路MCS-51單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。兩種不同的時(shí)鐘電路如圖2-6所示。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序二、時(shí)鐘電路上一頁下一頁返第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序?qū)τ趦?nèi)部振蕩方式的外部電路,電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5~30pF。晶振頻率的典型值位12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。外部振蕩方式是把外部已有的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。這種方式適宜來使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。外部振蕩信號(hào)由XTAL2引入,XTAL1接地。為了提高輸入電路的驅(qū)動(dòng)能力,通常使外部信號(hào)經(jīng)過一個(gè)帶有上拉電阻的TTL反相門后介入XTAL2。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序?qū)τ趦?nèi)部振蕩方式的外部電路第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序三、基本時(shí)序單位時(shí)序是用定是單位來說明的。MCS-51的時(shí)序定時(shí)單位共有4個(gè),從小到大依次是:拍節(jié)、狀態(tài)、機(jī)器周期和指令周期。把振蕩脈沖的周期定義為拍節(jié)(用P表示)。振蕩脈沖經(jīng)過二分頻后,就是單片機(jī)的時(shí)鐘信號(hào),把時(shí)鐘信號(hào)的周期定義為狀態(tài)s。一個(gè)狀態(tài)包含兩個(gè)拍節(jié),其前半周期對(duì)應(yīng)的拍節(jié)叫拍節(jié)1(P1),后半周期對(duì)應(yīng)的拍節(jié)叫拍節(jié)2(P2)。上一頁下一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序三、基本時(shí)序單位上一頁下一第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序MCS-51采用定時(shí)控制方式,因此它有固定的機(jī)器周期。一個(gè)機(jī)器周期總共有12個(gè)拍節(jié),分別記作s1p1,s1p2,……s16p2。由于一個(gè)機(jī)器周期共有12個(gè)振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的12分頻,當(dāng)振蕩脈沖頻率為12MHz時(shí),一個(gè)機(jī)器周期為1μs當(dāng)振蕩脈沖頻率為6MHz時(shí),一個(gè)機(jī)器周期為2μs.指令周期是最大的時(shí)序定時(shí)單位,執(zhí)行一條指令所需要的時(shí)間稱之為指令周期。MCS-51的指令周期根據(jù)指令的不同,可包含有一至四個(gè)機(jī)器周期。上一頁返回第四節(jié)I/O端口、時(shí)鐘電路與時(shí)序MCS-51采用定時(shí)控制方第五節(jié)MCS-51單片機(jī)工作方式一、復(fù)位方式當(dāng)MCS-51系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電或開關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開關(guān)操作也能使單片機(jī)復(fù)位。下一頁返回第五節(jié)MCS-51單片機(jī)工作方式一、復(fù)位方式下一頁返回第五節(jié)MCS-51單片機(jī)工作方式上電后,由于電容的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。根據(jù)時(shí)間操作的經(jīng)驗(yàn),可以依據(jù)實(shí)際情況給出這兩種復(fù)位電路的電容、電阻參考值。通常的復(fù)位邏輯電路如圖2-7所示。上一頁下一頁返回第五節(jié)MCS-51單片機(jī)工作方式上電后,由于電容的充電和反第五節(jié)MCS-51單片機(jī)工作方式二、程序執(zhí)行方式單片機(jī)上電復(fù)位和上電或開關(guān)復(fù)位后,單片機(jī)便可進(jìn)入連續(xù)執(zhí)行程序的狀態(tài)。由于復(fù)位時(shí)已把PC值清零。所以,程序?qū)?000H單元開始執(zhí)行。如果用戶需要從別的起始地址開始執(zhí)行程序,則必須先把該起始地址輸入單片機(jī),然后才能從該起始地址開始執(zhí)行。單片機(jī)從執(zhí)行程序開始除非遇到設(shè)定斷點(diǎn)或軟件出現(xiàn)故障,否則中途不會(huì)停止,一直至程序執(zhí)行完為止。上一頁下一頁返回第五節(jié)MCS-51單片機(jī)工作方式二、程序執(zhí)行方式上一頁下一第五節(jié)MCS-51單片機(jī)工作方式三、低功耗方式8051在掉電保護(hù)情況下,由備用電源給單片機(jī)低功耗供電,因此掉電保護(hù)方式實(shí)際上就進(jìn)入了低功耗方式。但與HMOS的8051不同,CHMOS的80C51卻有兩種低功耗方式,即待機(jī)方式和進(jìn)入掉電保護(hù)方式。要想使單片機(jī)進(jìn)入待機(jī)或掉電保護(hù)方式,只要執(zhí)行一條能使IDL或PD位為1的指令就可以完成。如果使用指令使PCON寄存器IDL位置1,則80C51即進(jìn)入待機(jī)方式。這是振蕩器仍然運(yùn)行,并向中斷邏輯、串行口和定時(shí)器/計(jì)數(shù)器電路提供時(shí)鐘,但向CPU提供時(shí)鐘的電路被阻斷,因此CPU不能工作,與CPU有關(guān)的如SP、PC、PWS、ACC以及全部通用寄存器也都被“凍結(jié)”在原狀態(tài)。在待機(jī)方式下,中斷功能繼續(xù)存在。上一頁下一頁返回第五節(jié)MCS-51單片機(jī)工作方式三、低功耗方式上一頁下一頁第五節(jié)MCS-51單片機(jī)工作方式四、掉電保護(hù)方式單片機(jī)系統(tǒng)在運(yùn)行過程中,如發(fā)生掉電故障,將會(huì)丟失RAM和寄存器中的程序和數(shù)據(jù),其后果有時(shí)是很嚴(yán)重的。為此MCS-51單片機(jī)設(shè)置有掉電保護(hù)措施,進(jìn)行掉電保護(hù)處理,具體做法是,先把有用信息轉(zhuǎn)存,然后再啟用備用電源維持供電。所謂信息轉(zhuǎn)存是指當(dāng)電源出現(xiàn)故障時(shí),應(yīng)立即將系統(tǒng)的有用信息轉(zhuǎn)存到內(nèi)部RAM中。信息轉(zhuǎn)存是通過中斷服務(wù)程序完成的。信息轉(zhuǎn)存后還應(yīng)維持內(nèi)部RAM的供電,才能保護(hù)轉(zhuǎn)存信息不被破壞。為此,系統(tǒng)應(yīng)裝有備用電源,并在掉電后立即接通備用電源。備用電源由單片機(jī)的RST/VPD引腳引入。上一頁返回第五節(jié)MCS-51單片機(jī)工作方式四、掉電保護(hù)方式上一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器一、存儲(chǔ)器的分類程序存儲(chǔ)器一般采用只讀存儲(chǔ)器,因?yàn)檫@種存儲(chǔ)器在電源關(guān)斷后,仍能保存程序,在系統(tǒng)上電后,CPU可取出這些指令予以重新執(zhí)行。數(shù)據(jù)存儲(chǔ)器一般采用RAM芯片,這種存儲(chǔ)器在電源關(guān)斷后,存儲(chǔ)的數(shù)據(jù)將全部丟失。RAM器件有兩類,即靜態(tài)RAM(SRAM)和動(dòng)態(tài)RAM(DRAM)。另外,隨著時(shí)代的發(fā)展還出現(xiàn)了許多新的或特殊的存儲(chǔ)器。下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器一、存儲(chǔ)器的分類下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器二、擴(kuò)展存儲(chǔ)器的編址所謂存儲(chǔ)器編址,就是使用系統(tǒng)提供的地址線,通過適當(dāng)連接,最終達(dá)到一個(gè)編址唯一對(duì)應(yīng)存儲(chǔ)器中一個(gè)存儲(chǔ)單元的目的。由于存儲(chǔ)器通常都是由多片存儲(chǔ)芯片組成的,為此存儲(chǔ)器編址分為兩個(gè)層次,即存儲(chǔ)芯片的選擇和芯片內(nèi)部存儲(chǔ)單元的選擇。芯片的選擇比較復(fù)雜,所謂的存儲(chǔ)器編址,實(shí)際上主要是研究芯片的選擇問題??偟膩碚f,芯片的選擇共有兩種方法:譯碼法和線選法。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器二、擴(kuò)展存儲(chǔ)器的編址上一頁第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器所謂譯碼法就是使用譯碼器對(duì)系統(tǒng)的高位地址進(jìn)行譯碼,以其譯碼輸出作為存儲(chǔ)芯片的片選信號(hào)。這是一種常用的存儲(chǔ)器編址方法,能有效地利用存儲(chǔ)空間,適用于大容量多芯片存儲(chǔ)器擴(kuò)展。譯碼電路可以使用現(xiàn)有的譯碼器芯片,圖2-8位譯碼器芯片,表2-4為真值表。常用的譯碼形式有2-4譯碼,3-8譯碼以及4-16譯碼等。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器所謂譯碼法就是使用譯碼器對(duì)第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器三、程序存儲(chǔ)器的擴(kuò)展程序存儲(chǔ)器擴(kuò)展使用只讀存儲(chǔ)器芯片,只讀存儲(chǔ)器簡稱為ROM。MCS-51單片機(jī)程序存儲(chǔ)器的尋址空間為64KB,對(duì)于8051/8751片內(nèi)程序存儲(chǔ)器為4KB的ROM或EPROM,在單片機(jī)的應(yīng)用系統(tǒng)中,片內(nèi)的存儲(chǔ)容量往往不夠,特別是8031,片內(nèi)沒有程序存儲(chǔ)器,必須外擴(kuò)程序存儲(chǔ)器。圖2-9為程序存儲(chǔ)器的擴(kuò)展圖。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器三、程序存儲(chǔ)器的擴(kuò)展上一頁第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器CPU在由外部程序存儲(chǔ)器取指令時(shí),16位地址的低8位(PCL)由P0口輸出,高8位(PCH)由P2口輸出,而指令的8位指令碼而通過P0口輸入。CPU讀取的指令有兩種情況:一是不訪問數(shù)據(jù)存儲(chǔ)器的指令;二是訪問數(shù)據(jù)存儲(chǔ)器的指令。在不執(zhí)行MOVEX指令時(shí),P2口專門用于輸出PCH中的內(nèi)容,因有鎖存功能,可直接與外部存儲(chǔ)器的地址線相連。P0口除了輸出PCL中的內(nèi)容外,還要輸入指令,所以,必須用ALE信號(hào)鎖存PCL。在每個(gè)機(jī)器周期中,允許地址鎖存信號(hào)ALE兩次有效,且在下降沿時(shí)鎖存PCL。ALE信號(hào)的頻率是振蕩頻率的1/6,可用來做外部時(shí)鐘和定時(shí)時(shí)鐘。對(duì)而言,也是每個(gè)機(jī)器中期兩次有效,適用于選通外部程序存儲(chǔ)器,使指令由P0口進(jìn)入片內(nèi)。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器CPU在由外部程序存儲(chǔ)器取第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器MCS-51單片機(jī)應(yīng)用系統(tǒng)中使用得最多的EPROM程序存儲(chǔ)器時(shí)Intel公司典型的27系列芯片,如2764、27128和27512等芯片。EPROM一般都有五種工作方式:(1)讀方式:一般系統(tǒng)工作在這種方式。進(jìn)入這種方式的條件是使片選控制線為低,同時(shí)讓輸出允許控制線為低,就可將指定地址單元的內(nèi)容從數(shù)據(jù)總線上讀出。(2)維持方式:當(dāng)片選控制為高電平時(shí),芯片進(jìn)入維持方式,這時(shí)輸出高阻抗懸浮狀態(tài),不占用數(shù)據(jù)總線。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器MCS-51單片機(jī)應(yīng)用系統(tǒng)第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器(3)編程方式:在Vpp端加上規(guī)定好的高壓,和端加上合適的電平,就能將數(shù)據(jù)線上的數(shù)據(jù)固化到指定的地址單元。(4)編程校核方式:在Vpp端保持相應(yīng)的高壓,再按讀出方式操作,讀出編程固化好的內(nèi)容,以校核寫入的內(nèi)容是否正確。(5)編程禁止方式:當(dāng)片選信號(hào)面無效時(shí),輸出呈高阻狀態(tài)。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器(3)編程方式:在Vpp端第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器四、數(shù)據(jù)存取器的擴(kuò)展MCS-51芯片內(nèi)部具有128B空間的RAM存儲(chǔ)器,它們可以作為寄存器、堆棧、數(shù)據(jù)緩沖器。CPU對(duì)其內(nèi)部RAM有豐富的操作指令,因此這個(gè)RAM是十分珍貴的資源。在許多系統(tǒng)中,僅僅片內(nèi)的RAM存儲(chǔ)器往往不夠,在這種情況下,可以擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。圖2-11給出了單片機(jī)擴(kuò)展RAM的電路結(jié)構(gòu)。圖中P0口分時(shí)傳動(dòng)RAM的低8位地址和數(shù)據(jù),P2口為高8位地址線,用于對(duì)RAM進(jìn)行頁尋址。在外部RAM讀/寫周期,CPU產(chǎn)生讀寫選通信號(hào)。上一頁下一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器四、數(shù)據(jù)存取器的擴(kuò)展上一頁第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器讀寫的時(shí)序通常是,在其讀周期中,P2口輸出外部RAM單元的高8位地址,P0口分時(shí)傳送低8位地址及數(shù)據(jù)。當(dāng)?shù)刂锋i存允許信號(hào)ALE為高電平時(shí),P0口輸出的地址信息有效,ALE的下降沿將此地址打入外部地址鎖存器,接著P0口變?yōu)檩斎敕绞?,讀信號(hào)有效,選通外部RAM,相應(yīng)存儲(chǔ)單元的內(nèi)容出現(xiàn)在P0口,由CPU讀入累加器。外部數(shù)據(jù)存儲(chǔ)器寫周期波形,其操作過程與讀周期類似。寫操作時(shí),在ALE下降為低電平以后,寫信號(hào)才有效,P0口上出現(xiàn)的數(shù)據(jù)寫入相應(yīng)的RAM單元。上一頁返回第六節(jié)MCS-51單片機(jī)的存儲(chǔ)器外部數(shù)據(jù)存儲(chǔ)器讀寫的時(shí)序通圖2-18051單片機(jī)的組成結(jié)構(gòu)圖返回圖2-18051單片機(jī)的組成結(jié)構(gòu)圖返回圖2-28051單片機(jī)的引腳信號(hào)返回圖2-28051單片機(jī)的引腳信號(hào)返回表2-1PSW狀態(tài)字的組成返回表2-1PSW狀態(tài)字的組成返回圖2-3MCS-51內(nèi)部數(shù)據(jù)區(qū)返回圖2-3MCS-51內(nèi)部數(shù)據(jù)區(qū)返回表2-2寄存器工作區(qū)的分配返回表2-2寄存器工作區(qū)的分配返回圖2-4堆棧的結(jié)構(gòu)返回圖2-4堆棧的結(jié)構(gòu)返回圖2-5程序存儲(chǔ)器的結(jié)構(gòu)返回圖2-5程序存儲(chǔ)器的結(jié)構(gòu)返回表2-3中斷向量的入口地址返回表2-3中斷向量的入口地址返回圖2-6內(nèi)部和外部時(shí)鐘電路返回圖2-6內(nèi)部和外部時(shí)鐘電路返回圖2-7復(fù)位電路邏輯圖返回圖2-7復(fù)位電路邏輯圖返回圖2-8譯碼器芯片返回圖2-8譯碼器芯片返回表2-4真值表返回表2-4真值表返回圖2-9程序存儲(chǔ)器的擴(kuò)展圖返回圖2-9程序存儲(chǔ)器的擴(kuò)展圖返回圖2-11外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展返回圖2-11外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展返回第三章MCS-51單片機(jī)系統(tǒng)程序設(shè)計(jì)第一節(jié)MCS-51指令系統(tǒng)概述第二節(jié)MCS-51單片機(jī)指令詳解第三節(jié)MCS-51單片機(jī)系統(tǒng)程序設(shè)計(jì)實(shí)例第三章MCS-51單片機(jī)系統(tǒng)程序設(shè)計(jì)第一節(jié)MCS-51指第一節(jié)MCS-51指令系統(tǒng)概述一、概述MCS-51指令系統(tǒng)是一種簡明易掌握、效率較高的指令系統(tǒng)。MCS-51的基本指令共111條,其中單字節(jié)指令49條,雙字節(jié)指令45條,三字節(jié)指令17條。從指令的執(zhí)行時(shí)間來看,單機(jī)器周期指令64條,雙機(jī)器周期指令45條,只有乘、除兩條指令的執(zhí)行時(shí)間為4個(gè)機(jī)器周期。指令的表示方法稱之為指令格式,其內(nèi)容包括指令的長度和指令內(nèi)部信息的安排等。一條指令通常由兩部分組成,即操作碼和操作數(shù)。下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述一、概述下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述通常在MCS-51指令系統(tǒng)中,有一字節(jié)、二字節(jié)和三字節(jié)等不同長度的指令。一字節(jié)指令只有一個(gè)字節(jié),操作碼和操作數(shù)信息同在其中。二字節(jié)指令包括兩個(gè)字節(jié),其中一個(gè)字節(jié)為操作碼,第二個(gè)字節(jié)是操作數(shù)。三字節(jié)指令中,操作碼占一個(gè)字節(jié),操作數(shù)占兩個(gè)字節(jié),其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。二、尋址方式MCS-51共有5種尋址方式,現(xiàn)介紹如下:上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述通常在MCS-51指令系統(tǒng)中第一節(jié)MCS-51指令系統(tǒng)概述1.立即尋址操作數(shù)就寫在指令中,和操作碼一起放在程序存儲(chǔ)器中。把“#”號(hào)放在立即數(shù)前面,以表示該尋址方式為立即尋址,如#20H。2.寄存器尋址操作數(shù)放在寄存中,在指令中直接以寄存器的名字來表示操作數(shù)的地址。例如MOVA,R0就屬于寄存器尋址,即將RO寄存器的內(nèi)容送到累加器A中。3.直接尋址操作數(shù)放在單片機(jī)的內(nèi)部RAM某單元中,在指令中直接寫出該單元的地址。如前例的ADDA,70H中的70H。上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述1.立即尋址上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述4.寄存器間接尋址寄存器間接尋址方式可用于訪問內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器。訪問內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器的低256個(gè)字節(jié)時(shí),可采用R0或R1作為間接寄存器。這類指令為單字節(jié)指令,其最低位是表示采用R0還是R1作為間接寄存器。這種尋址方式的示意圖如圖3-1所示。訪問外部數(shù)據(jù)存儲(chǔ)器的低256字節(jié)時(shí),只要把MOV改為MOVX就行了。訪問外部數(shù)據(jù)存儲(chǔ)器,還可用數(shù)據(jù)指針DPTR作為間址寄存器,DPTR是16位寄存器,故它可對(duì)整個(gè)外部數(shù)據(jù)存儲(chǔ)器空間(64K)尋址。在執(zhí)行PUSH和POP指令時(shí),也采用寄存器間接尋址,這是堆棧指針SP用作間接寄存器。上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述4.寄存器間接尋址上一頁下一第一節(jié)MCS-51指令系統(tǒng)概述5.基址寄存器加變址寄存器間接尋址這種尋址方式用于訪問程序寄存器的一個(gè)單元,該單元的地址是基址寄存器(DPTR或PC)的內(nèi)容與變地址寄存器A的內(nèi)容之和。這種尋址方式對(duì)查表訪問特別有用。尋址方式的示意圖如圖3-2所示。三、指令執(zhí)行過程和指令符號(hào)意義單片機(jī)執(zhí)行程序的過程,實(shí)際上就是執(zhí)行我們所編制程序的過程,即執(zhí)行逐條指令的過程。計(jì)算機(jī)每執(zhí)行一條指令都可分為三個(gè)階段進(jìn)行,即取指令——分析指令——執(zhí)行指令。上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述5.基址寄存器加變址寄存器間第一節(jié)MCS-51指令系統(tǒng)概述取指令的任務(wù)是:根據(jù)程序計(jì)數(shù)器PC中的值從程序存儲(chǔ)器讀出現(xiàn)行指令,送到指令寄存器。分析指令階段的任務(wù)是:將指令寄存器中的指令操作碼讀出后進(jìn)行譯碼,分析其指令性質(zhì),如指令要求操作數(shù),則尋找操作數(shù)地址。計(jì)算機(jī)執(zhí)行程序的過程實(shí)際上就是逐條指令地重復(fù)上述操作過程,直至遇到停機(jī)指令或循環(huán)等到指令。一般計(jì)算機(jī)進(jìn)行工作時(shí),首先要通過外部設(shè)備把程序和數(shù)據(jù)通過輸入接口電路和數(shù)據(jù)總線送入到存儲(chǔ)器,然后逐條取出執(zhí)行。但單片機(jī)中的程序一般事先都已通過寫入器固化在片內(nèi)或片外程序存儲(chǔ)器中,因而一開機(jī)即可執(zhí)行指令。上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述取指令的任務(wù)是:根據(jù)程序計(jì)數(shù)第一節(jié)MCS-51指令系統(tǒng)概述指令中操作數(shù)的描述符號(hào):Rn——工作寄存器R0~R7Ri——間接尋址寄存器R0、R1Direct——直接地址,包括內(nèi)部128BRAM單元地址、26個(gè)SFR地址。#data——8位常數(shù)#data16——16位常數(shù)addr16——16位目的地址addr11——11位目的地址rel——8位帶符號(hào)的偏移地址DPTR——16位外部數(shù)據(jù)指針寄存器上一頁下一頁返回第一節(jié)MCS-51指令系統(tǒng)概述指令中操作數(shù)的描述符號(hào):上一第一節(jié)MCS-51指令系統(tǒng)概述bit——可直接位尋址的位A——累加器AB——寄存器BC——進(jìn)、借位標(biāo)志位,或位累加器@——間接寄存器或基址寄存器的前綴/——指定位求反(x)——x中的內(nèi)容((x))——x中的地址中的內(nèi)容
——當(dāng)前指令存放的地址上一頁返回第一節(jié)MCS-51指令系統(tǒng)概述bit——可直接位尋址的位上第二節(jié)MCS-51單片機(jī)指令詳解一、數(shù)據(jù)傳輸指令1.累加器相關(guān)的數(shù)據(jù)傳輸指令以下指令的功能是把源操作數(shù)的內(nèi)容送入累加器A,源操作數(shù)有寄存器尋址、直接尋址、間接尋址和立即尋址等方式。2.內(nèi)部RAM單元之間的數(shù)據(jù)傳輸指令下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解一、數(shù)據(jù)傳輸指令下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解內(nèi)部RAM單元之間的數(shù)據(jù)傳輸可以使用直接尋址、寄存器尋址以及寄存器間接尋址方式。3.外部存儲(chǔ)器數(shù)據(jù)傳輸指令外部RAM傳輸指令通常使用間接尋址的方式,主要可以分為以Ri進(jìn)行間接尋址和使用16位的DPTR進(jìn)行的間接尋址。針對(duì)外部RAM的操作只能通過累加器A來完成,MCS-51系統(tǒng)中沒有專門的存儲(chǔ)器讀寫指令,實(shí)際上這些傳輸指令就是讀寫指令,為了區(qū)分是外部寄存器,特別是指令助記符上增加了“X”代表外部之意。具體的指令如下:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解內(nèi)部RAM單元之間的數(shù)據(jù)傳第二節(jié)MCS-51單片機(jī)指令詳解采用Ri的指令有:采用DPTR的指令有:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解采用Ri的指令有:上一頁下第二節(jié)MCS-51單片機(jī)指令詳解4.數(shù)據(jù)交換指令數(shù)據(jù)交換主要是在內(nèi)部RAM單元與累加器A之間進(jìn)行,有整字節(jié)交換、半字節(jié)交換和累加器高低半字節(jié)交換指令。源操作數(shù)有寄存器尋址、直接尋址和寄存器間接尋址等方式,例如:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解4.數(shù)據(jù)交換指令上一頁下一第二節(jié)MCS-51單片機(jī)指令詳解5.堆棧指令在MCS-51內(nèi)部RAM中可以設(shè)定一個(gè)后進(jìn)先出LIFO的區(qū)域作為一個(gè)堆棧。在特殊功能寄存器中有一個(gè)堆棧指針SP,它指出棧頂?shù)奈恢?,在指令系統(tǒng)中有兩條用于數(shù)據(jù)操作的棧操作指令。首先是入棧指令,這條指令的功能是首先將棧指針SP加1,然后把直接地址指出的內(nèi)容送到棧指針SP指示的內(nèi)部RAM單元中。還有對(duì)應(yīng)的出棧指令,出棧指令是將當(dāng)前堆棧指針寄存器SP所指示的單元的內(nèi)容傳送到該指令指定的直接尋址單元中去,然后SP中的內(nèi)容減1.堆棧操作實(shí)際上是通過堆棧指示器SP進(jìn)行的讀寫操作,是以SP為間址寄存器的間接尋址方式。因?yàn)镾P是唯一的,所以在指令中把通過SP的間接尋址的操作數(shù)項(xiàng)隱含了,只表示出直接尋址的操作數(shù)項(xiàng)。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解5.堆棧指令上一頁下一頁返第二節(jié)MCS-51單片機(jī)指令詳解二、算術(shù)運(yùn)算指令1.加法指令在加法指令中,又分位普通加法和帶進(jìn)位的加法。這組加法指令的功能是把所指出的字節(jié)變量與累加器A的內(nèi)容相加,其結(jié)果放在累加器A中。如果位7有進(jìn)位輸出,則置“1”進(jìn)位標(biāo)志Cy,否則對(duì)Cy清“0”,如果位3有進(jìn)位輸出,置“1”輔助進(jìn)位標(biāo)志Ac,否則對(duì)Ac清“0”;如果位6有進(jìn)位輸出而位7沒有進(jìn)位,或者位7有進(jìn)位輸出而位6沒有進(jìn)位,則置“1”溢出標(biāo)志OV,否則對(duì)OV清“0”。源操作數(shù)有寄存器尋址、直接尋址、寄存器間接尋址和立即尋址等方式。帶進(jìn)位的加法,除了與上述的運(yùn)算相似外,還增加了進(jìn)位標(biāo)制Cy參加運(yùn)算;上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解二、算術(shù)運(yùn)算指令上一頁下一第二節(jié)MCS-51單片機(jī)指令詳解上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解2.減法指令通常的減法運(yùn)算都帶有借位,這與帶進(jìn)位的加法十分類似:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解2.減法指令上一頁下一頁返第二節(jié)MCS-51單片機(jī)指令詳解3.增1減1指令這些指令可以實(shí)現(xiàn)對(duì)相應(yīng)的操作數(shù)的增1和減1操作,這種操作不會(huì)影響PSW的狀態(tài),具體指令如下:以上為自增1運(yùn)算,只需將INC更改為DEC,則可以實(shí)現(xiàn)減1運(yùn)算,但增1運(yùn)算中還有INCDPTR,實(shí)現(xiàn)DPTR增1,而減1中卻沒有這條指令。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解3.增1減1指令上一頁下一第二節(jié)MCS-51單片機(jī)指令詳解4.乘除指令MULABDIVABMUL為乘法指令,其功能是把累加器A和寄存器B中的無符號(hào)8位整數(shù)相乘,其16位積得低位字節(jié)在累加器A中,高位字節(jié)在B中。如果積大于255,則置位溢出標(biāo)志位OV,否則對(duì)OV清“0”。進(jìn)位標(biāo)志位總是清“0”。DIV為除法指令,該指令的功能是把累加器A中8位無符號(hào)整數(shù)除以B中的8位無符號(hào)整數(shù),所得的商(為整數(shù))存放在累加器A中,余數(shù)在寄存器B中,清“0”Cy和溢出標(biāo)志位OV。如果B得內(nèi)容為“0”(除數(shù)為“0”),則結(jié)果A,B中的內(nèi)容不定,并置位溢出標(biāo)志位OV。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解4.乘除指令上一頁下一頁返第二節(jié)MCS-51單片機(jī)指令詳解5.十進(jìn)制調(diào)整指令DAA這條指令對(duì)累加器A由前兩個(gè)變量(壓縮的BCD碼)相加的結(jié)果進(jìn)行十進(jìn)制調(diào)整使A中的結(jié)果為二進(jìn)制碼數(shù)。三、邏輯運(yùn)算指令邏輯運(yùn)算指令包括與、或、異或、循環(huán)、累加器清零與求反指令。這些指令中的操作數(shù)都是8位,它們?cè)趫?zhí)行時(shí),不影響標(biāo)志位。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解5.十進(jìn)制調(diào)整指令上一頁下第二節(jié)MCS-51單片機(jī)指令詳解1.與(AND)邏輯運(yùn)算指令邏輯運(yùn)算都是按位進(jìn)行的,邏輯與運(yùn)算用符號(hào)∧表示。以上這幾條指令運(yùn)算結(jié)果存放在A中,下面這兩條指令的運(yùn)算結(jié)果則存放在直接地址的地址單元中:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解1.與(AND)邏輯運(yùn)算指第二節(jié)MCS-51單片機(jī)指令詳解2.或(OR)邏輯運(yùn)算指令邏輯或運(yùn)算用符號(hào)∨表示。以上幾條指令運(yùn)算結(jié)果存放在A中,下面這兩條指令的運(yùn)算結(jié)果則存放在直接尋址的地址單元中:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解2.或(OR)邏輯運(yùn)算指令第二節(jié)MCS-51單片機(jī)指令詳解3.異或邏輯運(yùn)算指令邏輯異或運(yùn)算的規(guī)則是,兩運(yùn)算數(shù)相同時(shí)為假(0),兩運(yùn)算數(shù)相異時(shí)為真(1),這種運(yùn)算用符號(hào)表示。以上這幾條指令運(yùn)算結(jié)果存放在A中,下面這兩條指令的運(yùn)算結(jié)果則存放在直接地址的地址單元中:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解3.異或邏輯運(yùn)算指令上一頁第二節(jié)MCS-51單片機(jī)指令詳解4.累加器清零和求反指令四、控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令包括無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指定、比較轉(zhuǎn)移指令、循環(huán)轉(zhuǎn)移指令及調(diào)用與返回指令。1.無條件轉(zhuǎn)移指令這里又分為長轉(zhuǎn)移、短轉(zhuǎn)移、絕對(duì)轉(zhuǎn)移和變址尋址轉(zhuǎn)移4種方式。長轉(zhuǎn)移指令執(zhí)行時(shí)可以把指令的第二和第三字節(jié)分別裝入PC的高位和低位字節(jié)中,無條件地轉(zhuǎn)向指定地址。轉(zhuǎn)移的目標(biāo)地址可以在64K程序存儲(chǔ)器地址空間的任何地方。指令格式如下:上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解4.累加器清零和求反指令上第二節(jié)MCS-51單片機(jī)指令詳解對(duì)于短轉(zhuǎn)移指令,在執(zhí)行時(shí)在PC加2之后,把指令的有符號(hào)的偏移量rel加到PC上,并計(jì)算出轉(zhuǎn)向地址。因此轉(zhuǎn)向的目標(biāo)地址可以在這條指令前128字節(jié)到后127字節(jié)之間。指令格式如下:絕對(duì)轉(zhuǎn)移指令是2KB范圍內(nèi)的無條件跳轉(zhuǎn)指令。AJMP把MCS-51的64K程序存儲(chǔ)器空間劃分為32個(gè)區(qū),每個(gè)區(qū)為2K字節(jié),轉(zhuǎn)移目標(biāo)地址必須與AJMP下一條指令的第一個(gè)字節(jié)在同一2KB范圍內(nèi),否則,將引起混亂,如果AJMP正好落在區(qū)底的兩個(gè)單元內(nèi),程序就轉(zhuǎn)移到下一個(gè)區(qū)中去了,這時(shí)不會(huì)出現(xiàn)問題。上一頁下一頁返回第二節(jié)MCS-51單片機(jī)指令詳解對(duì)于短轉(zhuǎn)移指令,在執(zhí)行時(shí)在第二節(jié)MCS-51單片機(jī)指令詳解執(zhí)行該指令時(shí),先將PC加2,然后把a(bǔ)ddr11送入PC的低11位,PC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電動(dòng)車品牌授權(quán)與銷售合同
- 二零二五年度文化藝術(shù)勞務(wù)合同制定與文化傳承
- 二零二五年度消防安全技術(shù)服務(wù)與培訓(xùn)合作框架協(xié)議
- 校校合作辦學(xué)協(xié)議書(2025年度)-新能源技術(shù)研發(fā)人才培養(yǎng)
- 二零二五年度印刷廠員工印刷工藝技術(shù)傳承勞動(dòng)合同
- 2025年度綠色低碳城市建設(shè)項(xiàng)目經(jīng)理服務(wù)協(xié)議
- 2025年度校車接送與家長安全協(xié)同管理協(xié)議書
- 江西九江茅山頭企業(yè)管理有限公司2024年紀(jì)檢專干招聘筆試參考題庫附帶答案詳解
- 養(yǎng)牛專業(yè)知識(shí)培訓(xùn)課件
- 2025蒙商銀行招聘部分中層管理人員崗位筆試參考題庫附帶答案詳解
- 鋼結(jié)構(gòu)施工安全培訓(xùn)
- 《貝爾格里爾斯》課件
- 火鍋店消防知識(shí)培訓(xùn)課件
- 超市商品結(jié)構(gòu)圖
- 家庭社會(huì)工作課件
- 嚴(yán)重精神障礙患者個(gè)人信息補(bǔ)充表
- 直腸癌健康宣教
- 沖壓模具治具壽命管制表
- 小學(xué)音樂-《龍里格龍》教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 《兒科學(xué)》課件第15章第四節(jié) 先天性甲狀腺功能減退癥
- 安全管理組織結(jié)構(gòu)分工圖
評(píng)論
0/150
提交評(píng)論