51單片機(jī)原理與應(yīng)用案例教程(C51編程)王強(qiáng)全套教案課件_第1頁(yè)
51單片機(jī)原理與應(yīng)用案例教程(C51編程)王強(qiáng)全套教案課件_第2頁(yè)
51單片機(jī)原理與應(yīng)用案例教程(C51編程)王強(qiáng)全套教案課件_第3頁(yè)
51單片機(jī)原理與應(yīng)用案例教程(C51編程)王強(qiáng)全套教案課件_第4頁(yè)
51單片機(jī)原理與應(yīng)用案例教程(C51編程)王強(qiáng)全套教案課件_第5頁(yè)
已閱讀5頁(yè),還剩435頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章緒論51單片機(jī)原理與應(yīng)用案例式創(chuàng)新教程(C51編程)

主要內(nèi)容第一章緒論

案例目標(biāo)1單片機(jī)的認(rèn)知1.1單片機(jī)概述1.1.1單片機(jī)組成及其特點(diǎn)1.1.2單片機(jī)軟硬件系統(tǒng)1.1.3單片機(jī)分類(lèi)1.2單片機(jī)的應(yīng)用1.3單片機(jī)的歷史與發(fā)展1.4常見(jiàn)單片機(jī)1.5STC系列單片機(jī)

第一章緒論

隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)的應(yīng)用越來(lái)越廣泛,單片機(jī)控制技術(shù)也在不斷地更新。單片機(jī)從她誕生之日起,就令廣大的電子愛(ài)好者“暗戀”著她。單片機(jī)被廣泛應(yīng)用于家用電器、儀器儀表、工業(yè)自動(dòng)控制、醫(yī)用設(shè)備、辦公自動(dòng)化設(shè)備、安全監(jiān)控、國(guó)防、航空航天等領(lǐng)域。單片機(jī)之所以應(yīng)用廣泛,主要是人們能夠通過(guò)軟件編程就能輕而易舉實(shí)現(xiàn)單片機(jī)檢測(cè)與控制。正因?yàn)閱纹瑱C(jī)的嵌入應(yīng)用,電器才會(huì)不斷更新?lián)Q代、控制才會(huì)越來(lái)越智能、功能才會(huì)越來(lái)越強(qiáng)大。單片機(jī)的出現(xiàn)使我們享受到了電子產(chǎn)品的先進(jìn)技術(shù),使我們感受到了生活的便捷,提高了效率和安全系數(shù)??梢?jiàn),我們的生活和單片機(jī)很密切,單片機(jī)作用越來(lái)越大。單片機(jī)發(fā)展過(guò)程為:通常所說(shuō)的單片機(jī)一般指8位的51系列、AVR系列、PIC系列等有代表性的單片機(jī),后來(lái)出現(xiàn)了16位的單片機(jī)如96系列,再后來(lái)出現(xiàn)了32位的單片機(jī)如ARM等,技術(shù)在一步步提高和超越。

第一章緒論

到20世紀(jì)70年代,計(jì)算機(jī)的功能在數(shù)字邏輯運(yùn)算、推理、自動(dòng)控制、工業(yè)控制等方面突顯出非凡的優(yōu)勢(shì)。各種控制領(lǐng)域開(kāi)始對(duì)計(jì)算機(jī)技術(shù)發(fā)展提出了更高的要求,如基于不同的控制對(duì)象、傳感器信號(hào)的人機(jī)交互操作系統(tǒng)或嵌入式系統(tǒng)領(lǐng)域。為了滿(mǎn)足技術(shù)發(fā)展的需求,近年來(lái),單片微型計(jì)算機(jī)(簡(jiǎn)稱(chēng)單片機(jī))隨之產(chǎn)生。單片機(jī)同時(shí)也被稱(chēng)作“微控制器(MicroController)”。單片機(jī)和嵌入式控制系統(tǒng)有著千絲萬(wàn)縷的聯(lián)系,嵌入式控制系統(tǒng)從定義出發(fā)是指嵌入到對(duì)象體系中的專(zhuān)用計(jì)算機(jī)系統(tǒng)。由于嵌入式系統(tǒng)有過(guò)很長(zhǎng)的一段單片機(jī)獨(dú)立發(fā)展的道路,大多是基于8位單片機(jī),實(shí)現(xiàn)最底層的嵌入式系統(tǒng)應(yīng)用。大多數(shù)從事單片機(jī)應(yīng)用開(kāi)發(fā)人員,都是對(duì)象系統(tǒng)領(lǐng)域中的電子系統(tǒng)工程師,立即脫離了計(jì)算機(jī)專(zhuān)業(yè)領(lǐng)域,以“智能化”器件身份進(jìn)入電子系統(tǒng)領(lǐng)域,沒(méi)有帶入“嵌入式系統(tǒng)”概念。因此,不少?gòu)氖聠纹瑱C(jī)應(yīng)用的人,不了解單片機(jī)與嵌入式系統(tǒng)的關(guān)系,在談到“嵌入式系統(tǒng)”領(lǐng)域時(shí),往往理解成計(jì)算機(jī)專(zhuān)業(yè)領(lǐng)域的,基于32位嵌入式處理器,從事網(wǎng)絡(luò)、通信、多媒體等的應(yīng)用。這樣,“單片機(jī)”與“嵌入式系統(tǒng)”形成了嵌入式系統(tǒng)中常見(jiàn)的兩個(gè)獨(dú)立的名詞。但由于“單片機(jī)”是典型的、獨(dú)立發(fā)展起來(lái)的嵌入式系統(tǒng),從學(xué)科建設(shè)的角度出發(fā),應(yīng)該把它統(tǒng)一成“嵌入式系統(tǒng)”。

第一章緒論

單片機(jī)一詞源于“SingleChipMicrocomputer”,簡(jiǎn)稱(chēng)SCM。隨著SCM技術(shù)、體系結(jié)構(gòu)上不斷擴(kuò)展,其控制功能也不斷完善,單片機(jī)已不能用“單片微型計(jì)算機(jī)”來(lái)準(zhǔn)確表達(dá)其含義,所以國(guó)際上逐漸采用MCU(MicroControllerUnit)來(lái)代替,現(xiàn)在形成了單片機(jī)界公認(rèn)的、最終統(tǒng)一的名詞。在我國(guó)因?yàn)椤皢纹瑱C(jī)”一詞已經(jīng)源用至今,所以仍在繼續(xù)使用。案例目標(biāo)1單片機(jī)的認(rèn)知一、案例學(xué)習(xí)目標(biāo)本書(shū)以學(xué)以致用為原則,為了讓同學(xué)們能在第一章整體了解單片機(jī),并同時(shí)認(rèn)識(shí)單片機(jī)功能,在頭腦中建立起單片機(jī)功能使用的概念,本案例從單片機(jī)三個(gè)實(shí)際應(yīng)用(單片機(jī)智能交通燈控制、智能風(fēng)扇設(shè)計(jì)、智能循跡小車(chē)系統(tǒng))出發(fā),對(duì)單片機(jī)在不同領(lǐng)域功能及用途進(jìn)行闡述和分析。

第一章緒論

案例目標(biāo)1單片機(jī)的認(rèn)知二、案例實(shí)物分析1.單片機(jī)智能交通燈實(shí)例城市智能交通系統(tǒng)中,路口信號(hào)燈控制子系統(tǒng)是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中重要的組成部分,在各種交通監(jiān)控體系中是一個(gè)必不可少的單元。如果能研制一種穩(wěn)定、高效的燈控系統(tǒng)模塊,能夠掛接于各種智能交通控制系統(tǒng)下作為下位機(jī),根據(jù)上位機(jī)的控制要求或命令,方便靈活地控制交通燈,無(wú)疑是有意義的。傳統(tǒng)的交通信號(hào)燈控制系統(tǒng)電路復(fù)雜、體積大、成本高。采用模塊化的單片機(jī)系統(tǒng)控制交通信號(hào),不僅可以簡(jiǎn)化電路結(jié)構(gòu)、降低成本、減小體積,而且控制能力強(qiáng),配置靈活,易于擴(kuò)展,能夠根據(jù)上位機(jī)對(duì)交通流量進(jìn)行監(jiān)測(cè)而得出控制命令,方便高效地進(jìn)行路口交通燈運(yùn)行模式的設(shè)定。新型交通燈單片機(jī)控制系統(tǒng)通過(guò)程序編程,能夠?qū)崿F(xiàn)很強(qiáng)的控制能力。并且安裝靈活,設(shè)置方便,模塊化、結(jié)構(gòu)化的設(shè)計(jì)使其具有良好的可擴(kuò)展性,系統(tǒng)運(yùn)行安全、穩(wěn)定,效率高。

第一章緒論

交通燈控制子系統(tǒng)是智能交通系統(tǒng)中的重要組成部分。選擇微處理器STC89C52RC作為核心芯片,設(shè)計(jì)了一種通用化、可獨(dú)立掛接的交通燈控制模塊。硬件電路圍繞STC89C52RC搭建,由單片機(jī)的I/O口給出控制信號(hào),繼電器驅(qū)動(dòng)交通燈運(yùn)行。下圖是單片機(jī)智能交通燈系統(tǒng)的一個(gè)實(shí)例圖:案例目標(biāo)1單片機(jī)的認(rèn)知

第一章緒論

2.單片機(jī)智能風(fēng)扇實(shí)例電風(fēng)扇并未隨著空調(diào)的普及而淡出市場(chǎng),相反,家用電風(fēng)扇因其風(fēng)力溫和、價(jià)格低廉、相對(duì)省電、安裝和使用簡(jiǎn)單等特點(diǎn)而受到中老年人、兒童和體質(zhì)較弱的人歡迎。單片機(jī)的智能風(fēng)扇為無(wú)線(xiàn)遙控智能可調(diào)風(fēng)扇,通過(guò)無(wú)線(xiàn)遙控和單片機(jī)進(jìn)行通訊,可以控制電風(fēng)扇的風(fēng)速,電風(fēng)扇可以工作在高、中、低三檔。此外,通過(guò)溫度傳感器檢測(cè)環(huán)境溫度,建立一個(gè)控制系統(tǒng),使電風(fēng)扇隨室內(nèi)溫度的變化而自動(dòng)變換檔位,實(shí)現(xiàn)“溫度高,風(fēng)力大,溫度低,風(fēng)力弱”的功能,既節(jié)能環(huán)保,又安全可靠,具有廣泛的應(yīng)用前景。下圖是基于STC89C52單片機(jī)的智能風(fēng)扇控制實(shí)例圖:案例目標(biāo)1單片機(jī)的認(rèn)知

第一章緒論

3.單片機(jī)智能循跡小車(chē)實(shí)例

隨著汽車(chē)科技的進(jìn)步,對(duì)于智能小車(chē)的實(shí)驗(yàn)與設(shè)計(jì)越發(fā)重要,智能小車(chē)一般具有自動(dòng)尋跡、躲避障礙物、報(bào)警等功能。其所運(yùn)用的知識(shí)較為廣泛,主要涉及到汽車(chē)、機(jī)械和計(jì)算機(jī)等專(zhuān)業(yè).智能小車(chē)不但代表汽車(chē)技術(shù)的發(fā)展,也是學(xué)校培養(yǎng)學(xué)生的學(xué)習(xí)能力與動(dòng)手能力的一種主要手段。智能小車(chē)硬件部分主要由驅(qū)動(dòng)轉(zhuǎn)向模塊、霍爾元件、采集模塊和供電模塊等組成,對(duì)于路面黑色引導(dǎo)線(xiàn)是由紅外線(xiàn)傳感器檢測(cè)與采集,進(jìn)而輸送給單片機(jī),由單片機(jī)控制轉(zhuǎn)向和驅(qū)動(dòng)內(nèi)容;軟件部分通過(guò)C語(yǔ)言來(lái)實(shí)現(xiàn),并對(duì)小車(chē)的轉(zhuǎn)向與速度控制方法進(jìn)行了多次改進(jìn),進(jìn)而通過(guò)多次測(cè)試來(lái)完成智能小車(chē)的避障與循跡。單片機(jī)智能循跡小車(chē)實(shí)例如圖所示:案例目標(biāo)1單片機(jī)的認(rèn)知

第一章緒論

1.1單片機(jī)概述自20世紀(jì)70年代單片機(jī)問(wèn)世以來(lái),其功能和技術(shù)不斷擴(kuò)展,因此單片機(jī)得到了廣泛的應(yīng)用。隨著單片機(jī)集成度越來(lái)越高以及單片機(jī)系統(tǒng)的廣泛應(yīng)用,需要軟件編程的能力越來(lái)越高,所以本書(shū)在介紹和講解單片機(jī)的同時(shí)也注重同學(xué)們軟件編程能力的培養(yǎng)。C51語(yǔ)言是近年來(lái)國(guó)內(nèi)外在51單片機(jī)開(kāi)發(fā)中普遍使用的一種程序設(shè)計(jì)語(yǔ)言。由于C51語(yǔ)言功能強(qiáng)大,可讀性好,便于模塊開(kāi)發(fā),庫(kù)函數(shù)非常豐富,編寫(xiě)程序可移植性好等諸多優(yōu)點(diǎn)使之成為單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)最快速、最高效、最普遍的程序設(shè)計(jì)語(yǔ)言。本書(shū)力求把51單片機(jī)的片內(nèi)硬件結(jié)構(gòu)以及外圍電路的接口設(shè)計(jì)與C51單片機(jī)編程緊密地結(jié)合在一起,避免利用較難掌握的匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)。將微型計(jì)算機(jī)的基本組成部分(CPU、I/O接口、存儲(chǔ)器,定時(shí)/計(jì)數(shù)器等)集成在一塊集成芯片上的微型計(jì)算機(jī)。簡(jiǎn)稱(chēng)單片機(jī)(Sing-chipMicrocomputer),又稱(chēng)微控制器(MicroController)。在應(yīng)用上單片機(jī)被稱(chēng)為嵌入式控制器。第一款單片機(jī)是由INTEL公司發(fā)明,叫4004單片機(jī),后來(lái)慢慢發(fā)展出了MCS-51系列和MCS-96系列。市面上常見(jiàn)的51系列單片機(jī)就屬于MCS-51系列,它是8位單片機(jī),而MCS-96系列是16位單片機(jī)。市場(chǎng)上有許多公司生產(chǎn)的51系列兼容單片機(jī),比如飛利浦的87LPC系列,華邦的W78L系列,以及現(xiàn)代的GSM97系列等。

第一章緒論

1.1.1單片機(jī)組成及其特點(diǎn)單片機(jī)是指在一塊芯片上集成了CPU、ROM、RAM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路等,是具有一定規(guī)模的微型計(jì)算機(jī)。單片機(jī)與通用微型計(jì)算機(jī)相比,在硬件結(jié)構(gòu)、指令設(shè)置上均有其獨(dú)到之處,主要特點(diǎn)如下:1.單片機(jī)中的存儲(chǔ)器是以ROM、RAM嚴(yán)格分工的。ROM為程序存儲(chǔ)器,只存放程序、常數(shù)及數(shù)據(jù)表格;而RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū),存放變量。2.采用面向控制的指令系統(tǒng)。為滿(mǎn)足控制的需要,單片機(jī)的邏輯控制能力要優(yōu)于同等級(jí)的CPU,特別是單片機(jī)具有很強(qiáng)的位處理能力,運(yùn)行速度也較髙。3.單片機(jī)的I/O口引腳通常是多功能的。例如,通用I/O引腳可以復(fù)用作為外部中斷或A/D輸入的模擬輸入口等。4.系統(tǒng)齊全,功能擴(kuò)展性強(qiáng),與許多通用微機(jī)芯片接口兼容,給應(yīng)用系統(tǒng)的設(shè)計(jì)和生產(chǎn)帶來(lái)極大的方便。1.1單片機(jī)概述

第一章緒論5.單片機(jī)應(yīng)用是通用的。單片機(jī)主要作為控制器使用,但功能上是通用的,可以像一微處理器那樣廣泛地應(yīng)用在各個(gè)領(lǐng)域。6.體積尺寸小,如各種貼片單片機(jī)。7.功能豐富,實(shí)時(shí)響應(yīng)速度快,可對(duì)I/O直接操作。8.使用便捷,硬件結(jié)構(gòu)簡(jiǎn)單,提供了便捷開(kāi)發(fā)工具。9.性?xún)r(jià)比高,電路板小,接插件少。1.1單片機(jī)概述

第一章緒論1.1.2單片機(jī)軟硬件系統(tǒng)單片機(jī)系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分組成。其中硬件系統(tǒng)是指構(gòu)成單片機(jī)系統(tǒng)的實(shí)體部分,通常有以下幾部分組成:運(yùn)算器、控制器、存儲(chǔ)器、輸入/輸出接口電路等部分。其中,運(yùn)算器和控制器一般統(tǒng)稱(chēng)為中央處理單元(CentralProcessingUnit),簡(jiǎn)稱(chēng)CPU,是單片機(jī)的核心部分,配上存放程序和數(shù)據(jù)的存儲(chǔ)器(ROM、RAM等)、輸人輸出(Input/Output,簡(jiǎn)稱(chēng)I/O)接口電路即構(gòu)成微機(jī)的硬件系統(tǒng)。軟件系統(tǒng)通常是指單片機(jī)系統(tǒng)所使用的各種程序的總體。軟件內(nèi)容放在存儲(chǔ)器中,操作者通過(guò)它對(duì)整個(gè)控制目標(biāo)進(jìn)行控制并與單片機(jī)進(jìn)行信息交換,使單片機(jī)按照操作者的意圖完成任務(wù)。軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成整體的單片機(jī)系統(tǒng),兩者相互作用,形成統(tǒng)一的整體。1.1單片機(jī)概述

第一章緒論1.單片機(jī)的硬件部分單片機(jī)的硬件部分主要包含運(yùn)算器、控制器和存儲(chǔ)器。(1)運(yùn)算器運(yùn)算器是進(jìn)行算術(shù)和邏輯運(yùn)算的部件,它由完成加法運(yùn)算的加法器、存放操作數(shù)和運(yùn)算結(jié)果的寄存器和累加器組成。(2)控制器它是整個(gè)單片機(jī)硬件系統(tǒng)的指揮中心,根據(jù)不同的指令產(chǎn)生不同的動(dòng)作,指揮整個(gè)系統(tǒng)穩(wěn)定運(yùn)行同時(shí)自動(dòng)地進(jìn)行工作。(3)存儲(chǔ)器存儲(chǔ)器有程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器之分,它由大量的存儲(chǔ)單元組成,用以存儲(chǔ)單片機(jī)的數(shù)據(jù)和程序。1.1單片機(jī)概述

第一章緒論2.單片機(jī)的軟件部分涉及到單片機(jī)所有操作指令的集合簡(jiǎn)稱(chēng)指令集。實(shí)際上,程序就是由指令組合而成的機(jī)器控制流程。這種操作流程并非只是自上而下的簡(jiǎn)單形式,它具有不同的控制、計(jì)算等任務(wù)。以下是對(duì)尋址方式和各類(lèi)指令的介紹。(1)尋址方式:立即尋址、寄存器尋址、直接尋址、寄存器間接尋址、變址尋址、相對(duì)尋址、位尋址等。(2)數(shù)據(jù)傳輸類(lèi)指令:立即數(shù)置數(shù)指令、片內(nèi)數(shù)據(jù)存儲(chǔ)器單元與累加器之間的傳送指令、片內(nèi)外數(shù)據(jù)存儲(chǔ)器單元與累加器之間的傳送指令、程序存儲(chǔ)器單元與累加器之間的傳送指令、字節(jié)交換指令、堆棧操作指令等。(3)算術(shù)操作類(lèi)指令:加法指令、減法指令、乘法指令、除法指令、加1指令、減1指令、十進(jìn)制調(diào)整指令等。1.1單片機(jī)概述

第一章緒論(4)邏輯操作類(lèi)指令:與指令、或指令、異或指令、累加器操作指令。(5)位操作類(lèi)指令:位傳送類(lèi)指令、位邏輯操作類(lèi)指令、位條件轉(zhuǎn)移類(lèi)指令。(6)程序轉(zhuǎn)移類(lèi)指令:無(wú)條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、調(diào)用和返回指令、空操作指令。(7)偽指令:ORG指令、END指令、DB指令、DW指令、DS指令、EQU指令、bit指令。1.1.3單片機(jī)分類(lèi)1.根據(jù)指令結(jié)構(gòu)的分類(lèi)當(dāng)今單片機(jī)廠商眾多,產(chǎn)品功能不盡相同。在實(shí)際應(yīng)用中,要選擇適合的單片機(jī)種類(lèi)和型號(hào),需要對(duì)單片機(jī)的種類(lèi)有所認(rèn)識(shí)。從不同的角度,單片機(jī)有不同的分類(lèi)。1.1單片機(jī)概述

第一章緒論

單片機(jī)根據(jù)指令結(jié)構(gòu)分類(lèi),單片機(jī)有復(fù)雜指令集(CISC)結(jié)構(gòu)和精簡(jiǎn)指令集(RISC)結(jié)構(gòu)兩類(lèi)。采用復(fù)雜指令集結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線(xiàn)和指令線(xiàn)分時(shí)復(fù)用,即所謂馮·諾伊曼結(jié)構(gòu)或普林斯頓結(jié)構(gòu)。它的指令豐富,功能較強(qiáng),但取指令和取數(shù)據(jù)不能同時(shí)進(jìn)行,速度受限,價(jià)格亦高。采用精簡(jiǎn)指令集結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線(xiàn)和指令線(xiàn)分離,即所謂哈佛結(jié)構(gòu)。這使得取指令和取數(shù)據(jù)可同時(shí)進(jìn)行,且由于一般指令線(xiàn)寬于數(shù)據(jù)線(xiàn),使其指令較同類(lèi)單片機(jī)指令包含更多的處理信息,執(zhí)行效率更高,速度更快。同時(shí),這種單片機(jī)指令多為單字節(jié),程序存儲(chǔ)器的空間利用率大大提高,有利于實(shí)現(xiàn)微型化。屬于復(fù)雜指令集結(jié)構(gòu)的單片機(jī)有:Intel8051系列、MotorolaM68110系列、TIMSP430系列、Atmel的AT89系列、臺(tái)灣Winbond(華邦)W78系列、荷蘭Pilips的PCF80C51系列等。屬于精簡(jiǎn)指令集結(jié)構(gòu)的單片機(jī)有:韓國(guó)三星公司的KS57C系列4位單片機(jī)、臺(tái)灣義隆的EM-78系列、臺(tái)灣HOLTEK公司的HT48XX系列單片機(jī)、SCENIX的8位復(fù)雜指令集結(jié)構(gòu)SX系列單片機(jī)、EPSON單片機(jī)的SMC系列等。1.1單片機(jī)概述

第一章緒論

控制關(guān)系較簡(jiǎn)單的小家電可以采用精簡(jiǎn)指令集型單片機(jī),如水表、熱表、電表、電動(dòng)玩具等;控制關(guān)系較為復(fù)雜的場(chǎng)合,如通信產(chǎn)品、工業(yè)控制系統(tǒng)等,應(yīng)采用復(fù)雜指令集單片機(jī),隨著精簡(jiǎn)指令集單片機(jī)的迅速完善,其在控制關(guān)系復(fù)雜的場(chǎng)合也毫不遜色。2.根據(jù)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是否分開(kāi)的分類(lèi)根據(jù)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是否分開(kāi),分為哈佛結(jié)構(gòu)和普林斯頓結(jié)構(gòu)。哈佛結(jié)構(gòu)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的結(jié)構(gòu)。普林斯頓結(jié)構(gòu)是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。1.1單片機(jī)概述

第一章緒論

1.2單片機(jī)的應(yīng)用單片機(jī)應(yīng)用的主要領(lǐng)域:(1)智能化家用電器:各種家用電器普遍采用單片機(jī)智能化控制代替?zhèn)鹘y(tǒng)的電子線(xiàn)路控制,升級(jí)換代,提高檔次,如家用全自動(dòng)洗衣機(jī)、變頻空調(diào)、電視機(jī)、錄像機(jī)、微波爐、電冰箱、電飯煲等。再比如現(xiàn)代辦公室使用的大量通信電子辦公設(shè)備都嵌入了單片機(jī),如打印機(jī)、復(fù)印機(jī)、傳真機(jī)、繪圖機(jī)、考勤機(jī)、電話(huà)以及通用計(jì)算機(jī)中的鍵盤(pán)譯碼、磁盤(pán)驅(qū)動(dòng)等。(2)智能化儀表:采用單片機(jī)智能化的功能大大提高了儀表的功能,強(qiáng)化了其數(shù)據(jù)處理和采集功能。數(shù)據(jù)處理效率和速度不斷提高,同時(shí)增添了許多實(shí)際應(yīng)用功能如數(shù)據(jù)存儲(chǔ)、故障檢測(cè)。同時(shí)結(jié)合現(xiàn)今互聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)了聯(lián)網(wǎng)集控等功能。(3)商業(yè)營(yíng)銷(xiāo)設(shè)備:在商業(yè)營(yíng)銷(xiāo)系統(tǒng)中已廣泛使用的電子秤、收款機(jī)、條形碼閱讀器、IC卡刷卡機(jī)、出租車(chē)計(jì)價(jià)器以及倉(cāng)儲(chǔ)安全監(jiān)測(cè)系統(tǒng)、商場(chǎng)保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保險(xiǎn)系統(tǒng)等,都采用了單片機(jī)控制。

第一章緒論

(4)工業(yè)自動(dòng)化控制:工業(yè)自動(dòng)化控制是最早采用單片機(jī)控制的領(lǐng)域之一。如各種測(cè)控系統(tǒng)、過(guò)程控制、機(jī)電一體化、PLC等。在化工、建筑、冶金等各種工業(yè)領(lǐng)域中都要用到單片機(jī)控制。(5)智能化通信產(chǎn)品:最突出的是手機(jī),當(dāng)然手機(jī)內(nèi)的芯片屬專(zhuān)用型單片機(jī)。(6)汽車(chē)電子產(chǎn)品:現(xiàn)代汽車(chē)的集中顯示系統(tǒng)、動(dòng)力監(jiān)測(cè)控制系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)和運(yùn)行監(jiān)視器(黑匣子)等都離不開(kāi)單片機(jī)。(7)航空航天系統(tǒng)和國(guó)防軍事、尖端武器等領(lǐng)域:?jiǎn)纹瑱C(jī)的應(yīng)用更是不言而喻。單片機(jī)應(yīng)用的定義不僅在于它的廣闊范圍及所帶來(lái)的經(jīng)濟(jì)效益,更重要的是,單片機(jī)的應(yīng)用從根本上改變了控制系統(tǒng)的傳統(tǒng)設(shè)計(jì)思想和方法。以前采用硬件電路實(shí)現(xiàn)的大部分控制功能,正在用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)。以前自動(dòng)控制中的PID調(diào)節(jié),現(xiàn)在可以用單片機(jī)實(shí)現(xiàn)具有智能化的數(shù)字計(jì)算控制、模擬控制和自適應(yīng)控制。這種以軟件取代硬件并能提高系統(tǒng)性能的控制技術(shù)稱(chēng)為微控技術(shù)。隨著單片機(jī)的應(yīng)用和推廣,微控制技術(shù)將不斷發(fā)展和完善。1.2單片機(jī)的應(yīng)用

第一章緒論

1.軟件開(kāi)發(fā)環(huán)境

軟件開(kāi)發(fā)涉及以下四部分內(nèi)容:C語(yǔ)言編譯器、匯編器、調(diào)試器、燒錄軟件。軟件開(kāi)發(fā)環(huán)境所涉及的部件及其相互關(guān)系如下圖所示:硬件設(shè)計(jì)是單片機(jī)應(yīng)用開(kāi)發(fā)的基礎(chǔ),軟件的編程是建立在硬件開(kāi)發(fā)的基礎(chǔ)之上,軟硬件設(shè)計(jì)的巧妙結(jié)合是項(xiàng)目開(kāi)發(fā)質(zhì)量保證的關(guān)鍵。單片機(jī)生產(chǎn)商在將功能落實(shí)到實(shí)際應(yīng)用的同時(shí)也不斷在單片機(jī)開(kāi)發(fā)環(huán)境上下功夫,國(guó)內(nèi)外單片機(jī)生產(chǎn)廠商都有自己獨(dú)特的開(kāi)發(fā)軟件和硬件開(kāi)發(fā)平臺(tái)。其中單片機(jī)的應(yīng)用開(kāi)發(fā)環(huán)境通常包含以下四部分內(nèi)容:集成的開(kāi)發(fā)軟件環(huán)境、開(kāi)發(fā)硬件平臺(tái)、燒錄設(shè)備、硬件仿真器等四部分。單片機(jī)學(xué)習(xí)主要針對(duì)的內(nèi)容為軟件和硬件環(huán)境的學(xué)習(xí)。1.2單片機(jī)的應(yīng)用

第一章緒論

1.2單片機(jī)的應(yīng)用

第一章緒論

2.單片機(jī)硬件開(kāi)發(fā)平臺(tái)單片機(jī)的應(yīng)用開(kāi)發(fā)不單是軟件的開(kāi)發(fā),它與開(kāi)發(fā)語(yǔ)言和硬件密切相關(guān)。掌握單片機(jī)應(yīng)用的軟硬件開(kāi)發(fā)需要一個(gè)過(guò)程。首先必須掌握數(shù)字電路和模擬電路方面的知識(shí),還必須學(xué)習(xí)單片機(jī)原理、硬件結(jié)構(gòu)、擴(kuò)展接口和編程語(yǔ)言。初次開(kāi)發(fā)時(shí)因沒(méi)有經(jīng)驗(yàn),可能要經(jīng)過(guò)多次反復(fù)才能完成項(xiàng)目。這時(shí),就會(huì)得到較大的收獲和積累,它表現(xiàn)在硬件設(shè)計(jì)方面的積累、軟件編程方面的積累、設(shè)計(jì)與調(diào)試經(jīng)驗(yàn)方面的積累。單片機(jī)應(yīng)用開(kāi)發(fā)是市場(chǎng)需要,硬件是市場(chǎng)需要的最終目標(biāo)。單片機(jī)應(yīng)用開(kāi)發(fā)編程必須通過(guò)硬件來(lái)實(shí)現(xiàn),調(diào)試是在硬件實(shí)現(xiàn)同時(shí)加以驗(yàn)證的手段。單片機(jī)控制處理能力的實(shí)現(xiàn)依賴(lài)于程序存儲(chǔ)器中的程序。程序必須通過(guò)燒錄才能載入單片機(jī)的程序存儲(chǔ)器。目前,大多數(shù)單片機(jī)已經(jīng)具備在線(xiàn)燒錄能力,可以不再使用硬件燒錄器就能完成燒錄。在單片機(jī)應(yīng)用開(kāi)發(fā)過(guò)程中,硬件仿真是必要的。硬件仿真器是單片機(jī)開(kāi)發(fā)過(guò)程中進(jìn)行硬件仿真調(diào)試的儀器,硬件仿真器一般需要在軟件工具的配合下才能實(shí)現(xiàn)硬件仿真。1.2單片機(jī)的應(yīng)用

第一章緒論

1.3單片機(jī)的歷史與發(fā)展早期的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很好評(píng)。此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)?;谶@一系列的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢(xún)r(jià)比不理想并未得到廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)有了很大提高。后來(lái)以ARM系列為代表的32位單片機(jī)迅速取代了16位單片機(jī)的地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了很多倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專(zhuān)用處理器,而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量專(zhuān)用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使

第一章緒論

使用專(zhuān)用的Windows和Linux操作系統(tǒng)。事實(shí)上單片機(jī)是世界上數(shù)量最多的計(jì)算機(jī)?,F(xiàn)代人類(lèi)生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話(huà)、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都最少配有1-2個(gè)單片機(jī)。而個(gè)人電腦中也會(huì)有為數(shù)不少的單片機(jī)在工作。汽車(chē)上一般配備40多個(gè)單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺(tái)單片機(jī)在同時(shí)工作!單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SOC三大階段。單片機(jī)作為微型計(jì)算機(jī)的一個(gè)重要分支,應(yīng)用面很廣,發(fā)展很快。自單片機(jī)誕生至今,已發(fā)展出上百種系列的近千個(gè)機(jī)種。目前,單片機(jī)發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。1.3單片機(jī)的歷史與發(fā)展

第一章緒論

1.SCM即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,主要是尋求單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。2.MCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì),將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不能忘記Intel和Philips的歷史功績(jī)。3.單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決方案;因此,專(zhuān)用單片機(jī)的發(fā)展自然形成了SOC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SOC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。1.3單片機(jī)的歷史與發(fā)展

第一章緒論

從單片機(jī)經(jīng)歷的實(shí)踐性歷史階段大體劃分如下四個(gè)階段:(1)第一階段(1976-1978):?jiǎn)纹瑱C(jī)的嘗試探索階段。以Intel公司的MCS–48為代表。MCS–48的推出是在工控領(lǐng)域的探索,參與這一探索的公司還有Motorola、Zilog等,都取得了滿(mǎn)意的效果。這就是SCM的誕生年代,“單片機(jī)”一詞即由此得來(lái)。(2)第二階段(1978-1982):?jiǎn)纹瑱C(jī)的完善階段。Intel公司在MCS–48基礎(chǔ)上推出了完善的、典型的單片機(jī)系列MCS–51。它在以下幾個(gè)方面奠定了典型的通用總線(xiàn)型單片機(jī)體系結(jié)構(gòu)。①完善的外部總線(xiàn)。MCS-51設(shè)置了經(jīng)典的8位單片機(jī)的總線(xiàn)結(jié)構(gòu),包括8位數(shù)據(jù)總線(xiàn)、16位地址總線(xiàn)、控制總線(xiàn)及具有很多機(jī)通信功能的串行通信接口。②CPU外圍功能單元的集中管理模式。③體現(xiàn)工控特性的位地址空間及位操作方式。④指令系統(tǒng)趨于豐富和完善,并且增加了許多突出控制功能的指令。1.3單片機(jī)的歷史與發(fā)展

第一章緒論

(3)第三階段(1982-1990):8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段,也是單片機(jī)向微控制器發(fā)展的階段。Intel公司推出的MCS–96系列單片機(jī),將一些用于測(cè)控系統(tǒng)的模數(shù)轉(zhuǎn)換器、程序運(yùn)行監(jiān)視器、脈寬調(diào)制器等納入片中,體現(xiàn)了單片機(jī)的微控制器特征。隨著MCS–51系列的廣范應(yīng)用,許多電氣廠商競(jìng)相使用80C51為內(nèi)核,將許多測(cè)控系統(tǒng)中使用的電路技術(shù)、接口技術(shù)、多通道A/D轉(zhuǎn)換部件、可靠性技術(shù)等應(yīng)用到單片機(jī)中,增強(qiáng)了外圍電路功能,強(qiáng)化了智能控制的特征。(4)第四階段(1990至今):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面深入地發(fā)展和應(yīng)用,高速、大尋址范圍、強(qiáng)運(yùn)算能力更加強(qiáng)大的8位/16位/32位通用型單片機(jī)將有更寬廣的未來(lái)。1.3單片機(jī)的歷史與發(fā)展

第一章緒論

1.4常見(jiàn)單片機(jī)常用的幾種單片機(jī)簡(jiǎn)單的介紹和比較:AVR系列:

AVR單片機(jī)是Atmel公司推出的較為新穎的單片機(jī),其顯著的特點(diǎn)為高性能、高速度、低功耗。它取消機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè)。AVR單片機(jī)指令以字為單位,且大部分指令都為單周期指令。而單周期既可執(zhí)行本指令功能,同時(shí)還可以完成下一條指令的讀取。通常時(shí)鐘頻率用4~8MHz,故最短指令執(zhí)行時(shí)間為250~125ns。通用寄存器一共32個(gè)(R0~R31),前16個(gè)寄存器(R0~R15)都不能直接與立即數(shù)打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數(shù)打交道,顯然要優(yōu)于前者。

AVR的專(zhuān)用寄存器集中在00~3F地址區(qū)間,無(wú)需像PIC那樣得先進(jìn)行選存儲(chǔ)體的過(guò)程,使用起來(lái)比PIC方便。AVR的片內(nèi)RAM的地址區(qū)間為0~$00DF(AT90S2313)和0060~025F(AT90S8515、AT90S8535),它們占用的是數(shù)據(jù)空間的地址,這些片內(nèi)RAM僅僅是用來(lái)存儲(chǔ)數(shù)據(jù)的,通常不具備通用寄存器的功能。當(dāng)程序復(fù)雜時(shí),通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達(dá)128個(gè)(為AVR的4倍),編程時(shí)就不會(huì)有這種感覺(jué)。AVR的I/O腳類(lèi)似PIC,它也有用來(lái)控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平輸入電流20mA。雖不如PIC,但比51系列強(qiáng)。

第一章緒論

51系列:

應(yīng)用最廣泛的八位單片機(jī)首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)。世界有許多著名的芯片公司都購(gòu)買(mǎi)了51芯片的核心專(zhuān)利技術(shù),并在其基礎(chǔ)上進(jìn)行性能上的擴(kuò)充,使得芯片功能得到進(jìn)一步的完善,形成了一個(gè)龐大的體系,直到現(xiàn)在仍在不斷翻新,把單片機(jī)世界吵得沸沸揚(yáng)揚(yáng)。有人推測(cè),51芯片可能最終形成事實(shí)上的標(biāo)準(zhǔn)MCU芯片。

51系列優(yōu)點(diǎn)之一是它從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱(chēng)作位處理器,或布爾處理器。它的處理對(duì)象不是字或字節(jié)而是位。它不光能對(duì)片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測(cè)試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來(lái)得心應(yīng)手。雖然其他種類(lèi)的單片機(jī)也具有位處理功能,但能進(jìn)行位邏輯運(yùn)算的實(shí)屬少見(jiàn)。51系列在片內(nèi)RAM區(qū)間還特別開(kāi)辟了一個(gè)雙重功能的地址區(qū)間,十六個(gè)字節(jié),單元地址20H~2FH,它既可作1.4常見(jiàn)單片機(jī)

第一章緒論

字節(jié)處理,也可作位處理(作位處理時(shí),合128個(gè)位,相應(yīng)位地址為00H~7FH),使用很靈活。這一功能無(wú)疑給使用者提供了很大的方便,因?yàn)橐粋€(gè)較復(fù)雜的程序在運(yùn)行過(guò)程中會(huì)遇到很多分支,因而需建立很多標(biāo)志位,在運(yùn)行過(guò)程中,需要對(duì)有關(guān)的標(biāo)志位進(jìn)行置位、清零或檢測(cè),以確定程序的運(yùn)行方向。而實(shí)施這一處理(包括前面所有的位功能),只需用一條位操作指令即可。51系列的另一個(gè)優(yōu)點(diǎn)是乘法和除法指令,這給編程也帶來(lái)了便利。作乘法時(shí),只需一條指令就行了,即MULAB(兩個(gè)乘數(shù)分別在累加器A和寄存器B中。積的低位字節(jié)在累加器A中,高位字節(jié)在寄存器B中)。很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用,十分不便。在51系列中,還有一條二進(jìn)制-十進(jìn)制調(diào)整指令DA能將二進(jìn)制變?yōu)锽CD碼,這對(duì)于十進(jìn)制的計(jì)量十分方便。而在其他的單片機(jī)中,則也需調(diào)用專(zhuān)用的子程序才行。1.4常見(jiàn)單片機(jī)

第一章緒論

51系列I/O腳使用簡(jiǎn)單,但高電平時(shí)輸出能力有限,可謂有利有弊。故其他系列的單片機(jī)(如PIC系列、AVR系列等)對(duì)I/O口進(jìn)行了改進(jìn),雖然增加了方向寄存器以確定輸入或輸出,但是使用也變得復(fù)雜。

一些簡(jiǎn)裝的51產(chǎn)品也相應(yīng)出現(xiàn),如Atmel公司的AT89C1051、AT89C2051、AT89C4051等(閃速存儲(chǔ)器分別為1K、2K、4K等,但不能外接數(shù)據(jù)存儲(chǔ)器),指令系統(tǒng)與AT89C51完全兼容,但引腳均為20腳,不光體積小,而且價(jià)格低廉,這使得其他的公司競(jìng)相仿照。不過(guò),原51系列也有許多值得改進(jìn)之處,如運(yùn)行速度過(guò)慢等。當(dāng)晶振頻率為12MHz時(shí),機(jī)器周期精確度達(dá)1μs,顯然適應(yīng)不了現(xiàn)代高速運(yùn)行的需要。華邦公司(Winbond)生產(chǎn)的產(chǎn)品型號(hào)為W77系列和W78系列,W78系列與AT89C系列完全兼容。W77系列為增強(qiáng)型,對(duì)原有的8051的時(shí)序作了改進(jìn),每個(gè)機(jī)器周期從12個(gè)時(shí)鐘周期改為4個(gè)周期,使速度提高了三倍,同時(shí),晶振頻率最高可達(dá)40MHz。W77系列還增加了看門(mén)狗WatchDog、ISP功能、兩組UART、兩組DPTR數(shù)據(jù)指針等多種功能。1.4常見(jiàn)單片機(jī)

第一章緒論

PIC系列:PIC單片機(jī)系列是美國(guó)微芯公司(Microship)的產(chǎn)品,是當(dāng)前市場(chǎng)份額增長(zhǎng)最快的單片機(jī)之一。CPU采用RISC結(jié)構(gòu),分別有33、35、58條指令(視單片機(jī)的級(jí)別而定),屬精簡(jiǎn)指令集。而51系列有111條指令,AVR單片機(jī)有118條指令,都比前者復(fù)雜。采用Harvard雙總線(xiàn)結(jié)構(gòu),運(yùn)行速度快(指令周期約160~200ns),它能使程序存儲(chǔ)器的訪(fǎng)問(wèn)和數(shù)據(jù)存儲(chǔ)器的訪(fǎng)問(wèn)并行處理,這種指令流水線(xiàn)結(jié)構(gòu),在一個(gè)周期內(nèi)完成兩部分工作,一是執(zhí)行指令,二是從程序存儲(chǔ)器取出下一條指令,這樣總的看來(lái)每條指令只需一個(gè)周期(個(gè)別除外),這也是高效率運(yùn)行的原因之一。此外,它還具有低工作電壓、低功耗、驅(qū)動(dòng)能力強(qiáng)等特點(diǎn)。PIC系列單片機(jī)共分三個(gè)級(jí)別,即基本級(jí)、中級(jí)、高級(jí)。其中以中級(jí)的PIC16F873(A)、PIC16F877(A)用的最多,這兩種芯片除了引出腳不同外,C16F873(A)為28腳的DIP或SOIC封裝,PIC16F877(A)為40腳的DIP或44腳的PLCC/QFP封裝),其他的差別并不很大。

1.4常見(jiàn)單片機(jī)

第一章緒論

PIC系列單片機(jī)的I/O口是雙向的,其輸出電路為CMOS互補(bǔ)推挽輸出電路。I/O腳增加了用于設(shè)置輸入或輸出狀態(tài)的方向寄存器(TRISn,其中n對(duì)應(yīng)各口,如A、B、C、D、E等),從而解決了51系列I/O腳為高電平時(shí)同為輸入和輸出的狀態(tài)。當(dāng)置位1時(shí)為輸入狀態(tài),且不管該腳呈高電平或低電平,對(duì)外均呈高阻狀態(tài);置位0時(shí)為輸出狀態(tài),不管該腳為何種電平,均呈低阻狀態(tài),有相當(dāng)?shù)尿?qū)動(dòng)能力,低電平吸入電流達(dá)25mA,高電平輸出電流可達(dá)20mA。相對(duì)于51系列而言,這是一個(gè)很大的優(yōu)點(diǎn),它可以直接驅(qū)動(dòng)數(shù)碼管顯示且外電路簡(jiǎn)單。它的A/D為10位,能滿(mǎn)足精度要求。具有在線(xiàn)調(diào)試及編程(ISP)功能。

該系列單片機(jī)的專(zhuān)用寄存器(SFR),并不像51系列那樣都集中在一個(gè)固定的地址區(qū)間內(nèi)(80~FFH),而是分散在四個(gè)地址區(qū)間內(nèi),即存儲(chǔ)體0(Bank0:00~7FH)、存儲(chǔ)體1(Bank1:80~FFH)、存儲(chǔ)體2(Bank2:100~17FH)、存儲(chǔ)體3(Bank3:180~1FFH)。只有5個(gè)專(zhuān)用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個(gè)存儲(chǔ)體內(nèi)同時(shí)出現(xiàn)。在編程過(guò)程中,少不了要與專(zhuān)用寄存器打交道,得反復(fù)地選擇對(duì)應(yīng)的存儲(chǔ)器,也即對(duì)狀態(tài)寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。1.4常見(jiàn)單片機(jī)

第一章緒論

1.5STC系列單片機(jī)STC系列單片機(jī)技術(shù)成熟并且功能優(yōu)異,它是由深圳宏晶公司研制發(fā)明,這種系列的單片機(jī)相對(duì)于傳統(tǒng)的8051單片機(jī)有很多優(yōu)勢(shì),比如在性能、片內(nèi)資源、工作速率上都有大幅提升。特別注意的是STC系列單片機(jī)采用了基于Flash的在線(xiàn)系統(tǒng)編程技術(shù),使單片機(jī)在系統(tǒng)開(kāi)發(fā)方面變得簡(jiǎn)單快捷,避免了使用仿真器和專(zhuān)用編碼器在單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)中帶來(lái)的不便,這樣方便了同學(xué)們學(xué)習(xí)。下圖就是STC系列一款單片機(jī)(STC12C5A60S2)實(shí)物圖。

第一章緒論

目前單片機(jī)生產(chǎn)商眾多,其中單片機(jī)種類(lèi)也琳瑯滿(mǎn)目,為了滿(mǎn)足不同單片機(jī)應(yīng)用系統(tǒng)的控制需求,STC系列單片機(jī)具有百種單片機(jī)產(chǎn)品。從單片機(jī)工作速率和片內(nèi)資源配置角度分析,STC分為若干個(gè)系列產(chǎn)品。按照工作速率分為12/6T和1T產(chǎn)品,其中12/6T是指一個(gè)機(jī)器周期內(nèi)的12個(gè)時(shí)鐘或6個(gè)時(shí)鐘,這種產(chǎn)品包括STC89和STC90兩個(gè)系列;1T是指一個(gè)機(jī)械周期只有1個(gè)系統(tǒng)時(shí)鐘,包括STC11/10和STC12/15系列。為了便于理解我們以STC15F2K60S2為列,介紹一下這種單片機(jī)的片內(nèi)資源和功能。STC15F2K60S2單片機(jī)存儲(chǔ)器包括程序Flash、數(shù)據(jù)Flash、基本RAM以及擴(kuò)展RAM四個(gè)部分,程序FlashROM用做程序存儲(chǔ)器。用于存放程序代碼和常數(shù);數(shù)據(jù)Flash用做EEPROM,用于存放一些既能通過(guò)變量改變、停機(jī)時(shí)又不會(huì)被破壞的工作參數(shù)?;綬AM包括低128字節(jié)RAM、高128字節(jié)RAM和特殊功能寄存器三個(gè)部分,其中低128字節(jié)RAM又分為工作寄存器組、位尋址區(qū)與一般數(shù)據(jù)存儲(chǔ)器三個(gè)部分,高128字節(jié)RAM是數(shù)據(jù)存儲(chǔ)器,而特殊功能寄存器具有特殊的含義,總是與單片機(jī)的內(nèi)部接口電路有關(guān);擴(kuò)展RAM是數(shù)據(jù)存儲(chǔ)器的延伸,用于存儲(chǔ)一般的數(shù)據(jù)。1.5STC系列單片機(jī)

第一章緒論

STC15F2K60S2系列單片機(jī)有P0、P1、P3、P4、P5.4/P5.5等I/O口,但封裝不同,引出的I/O端口的引腳數(shù)是不同的。通過(guò)設(shè)置,P0、P1、P3、P4、P5口可工作在準(zhǔn)雙向口工作模式,或推挽輸出工作模式,或僅為輸入(高阻)工作模式,或開(kāi)漏工作模式。I/O口的最大驅(qū)動(dòng)能力為20mA,但單片機(jī)的總驅(qū)動(dòng)能力不能超過(guò)120mA。STC15F2K60S2單片機(jī)的主時(shí)鐘有內(nèi)部高精準(zhǔn)R/C時(shí)鐘和外部時(shí)鐘兩種模式,通過(guò)設(shè)置時(shí)鐘分頻寄存器,可動(dòng)態(tài)調(diào)整單片機(jī)的系統(tǒng)的速度。STC15F2K60S2單片機(jī)的主時(shí)鐘可通過(guò)P5.4輸出。1.5STC系列單片機(jī)

本章結(jié)束謝謝觀看

第二章51單片機(jī)結(jié)構(gòu)體3951單片機(jī)原理與應(yīng)用案例式創(chuàng)新教程(C51編程)第二章51單片機(jī)結(jié)構(gòu)體主要內(nèi)容案例目標(biāo)2單片機(jī)的內(nèi)核2.151單片機(jī)的內(nèi)部資源與引腳功能2.1.1AT89C51單片機(jī)的基本組成2.1.2AT89C51單片機(jī)引腳功能2.1.3AT89S52單片機(jī)簡(jiǎn)介2.251單片機(jī)的硬件結(jié)構(gòu)2.351單片機(jī)的存儲(chǔ)器2.3.1AT89S51單片機(jī)存儲(chǔ)配置簡(jiǎn)介2.3.2程序存儲(chǔ)器2.3.3數(shù)據(jù)存儲(chǔ)器2.3.4特殊功能寄存器2.451單片機(jī)的時(shí)鐘與復(fù)位2.4.1CPU時(shí)序2.4.2時(shí)鐘電路2.4.3復(fù)位電路案例目標(biāo)3單片機(jī)最小系統(tǒng)的硬件設(shè)計(jì)2.5單片機(jī)最小系統(tǒng)的硬件設(shè)計(jì)2.5.1單片機(jī)最小系統(tǒng)原理圖2.5.2單片機(jī)最小系統(tǒng)原理圖講解2.5.3單片機(jī)最小系統(tǒng)元器件清單2.5.4單片機(jī)最小系統(tǒng)實(shí)物圖2.5.5單片機(jī)最小系統(tǒng)注意事項(xiàng)2.5.6單片機(jī)最小系統(tǒng)電子元器件2.5.7電子元器件的焊接2.151單片機(jī)的內(nèi)部資源與引腳功能ATMEL89系列單片機(jī)是ATMEL(艾特美爾)公司生產(chǎn)的與MCS-51系列單片機(jī)兼容的產(chǎn)品。這個(gè)系列產(chǎn)品的最大特點(diǎn)是在片內(nèi)含有Flash存儲(chǔ)器。因此,有著十分廣泛的應(yīng)用前景和用途。89系列單片機(jī)型號(hào)說(shuō)明:89系列單片機(jī)型號(hào)由三個(gè)部分組成,它們分別是前綴、型號(hào)、后綴,其格式如下:AT89C(LV、S)XXXXXXXX1、前綴

前綴由字母“AT”組成,表示該器件是ATMEL公司的產(chǎn)品。2、型號(hào)

型號(hào)由“89CXXXX”或“89LVXXXX”或“89SXXXX”等表示?!?”表示芯片內(nèi)部含F(xiàn)lash存儲(chǔ)器;“C”表示是CMOS產(chǎn)品;“LV”表示低電壓產(chǎn)品;“S”表示含可下載的Flash存儲(chǔ)器?!癤XXX”為表示型號(hào)的數(shù)字,如:51、2051、8252等。第二章51單片機(jī)結(jié)構(gòu)體2025/6/5傳2.151單片機(jī)的內(nèi)部資源與引腳功能

3、后綴

后綴由“XXXX”四個(gè)參數(shù)組成,與產(chǎn)品型號(hào)間用“-”號(hào)隔開(kāi)。后綴中第一個(gè)參數(shù)“X”表示速度,其意義如下:X=12,表示速度為12MHz;X=16,表示速度為16MHz;X=20,表示速度為20MHz;X=24,表示速度為24MHz。后綴中的第二個(gè)參數(shù)“X”表示封裝,其意義如下:X=J,表示PLCC封裝;X=P,表示塑料雙列直插DIP封裝;X=S,表示SOIC封裝;X=Q,表示PQFP封裝;X=A,表示TQFP封裝;X=W,表示裸芯片。后綴中的第三個(gè)參數(shù)“X”表示溫度范圍,其意義如下:X=C,表示商業(yè)用產(chǎn)品,溫度范圍為0~+70oC;X=I,表示工業(yè)用產(chǎn)品,溫度范圍為-40o~+85oC;X=A,表示汽車(chē)用產(chǎn)品,溫度范圍為-40o~+125oC;X=M,表示軍用產(chǎn)品,溫度范圍為-55o~+150oC。2025/6/52.151單片機(jī)的內(nèi)部資源與引腳功能

后綴中的第四個(gè)參數(shù)“X”用于說(shuō)明產(chǎn)品的處理情況,其意義如下:X為空,表示為標(biāo)準(zhǔn)處理工藝;X=/883,表示處理工藝采用MIL-STD-883標(biāo)準(zhǔn)。

例如:?jiǎn)纹瑱C(jī)型號(hào)為“AT89C51-12PI”,則表示意義為該單片機(jī)是ATMEL公司的Flash單片機(jī),采用CMOS結(jié)構(gòu),速度為12MHz,封裝為塑封DIP(雙列直插方式),是工業(yè)用產(chǎn)品,按標(biāo)準(zhǔn)處理工藝生產(chǎn)。AT89S51系列單片機(jī)可分為兩大系列:51子系列和52子系列。(1)51子系列單片機(jī)的典型產(chǎn)品有8051、87C51、AT89S51、STC89S51等。它們的結(jié)構(gòu)基本相同,其主要差別反映在片內(nèi)存儲(chǔ)器的配置上有所不同。(2)52子系列單片機(jī)的典型產(chǎn)品有8052、87C52,AT89S52、STC89S52。內(nèi)含8KB的掩膜ROM程序存儲(chǔ)器和256B的RAM數(shù)據(jù)存儲(chǔ)器。2025/6/52.151單片機(jī)的內(nèi)部資源與引腳功能

2.1.1AT89C51單片機(jī)的基本組成51單片機(jī)內(nèi)部由CPU、4KB的ROM、128單元的RAM、4個(gè)8位的I/O并行端口、一個(gè)串行口、兩個(gè)16位定時(shí)/計(jì)數(shù)器及中斷系統(tǒng)等組成。1.CPU中央處理器是單片機(jī)的核心部件,包括運(yùn)算器、控制器和寄存器。運(yùn)算器又稱(chēng)為算數(shù)邏輯單元,其功能是對(duì)數(shù)據(jù)進(jìn)行算術(shù)邏輯運(yùn)算,產(chǎn)生控制信號(hào),負(fù)責(zé)數(shù)據(jù)的輸入與輸出。另外,51系列單片機(jī)的CPU中還包含了兩個(gè)專(zhuān)門(mén)處理1位二進(jìn)制數(shù)的布爾處理器進(jìn)行位操作。運(yùn)算器:ALU運(yùn)算器的功能是:對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。計(jì)算機(jī)對(duì)任何數(shù)據(jù)的加工、處理必須由運(yùn)算器完成。控制器:控制器的功能是:接受來(lái)自程序存儲(chǔ)器ROM存儲(chǔ)單元的指令,并對(duì)其進(jìn)行譯碼,通過(guò)分協(xié)調(diào)工作,完定時(shí)和控制電路,按時(shí)序規(guī)定發(fā)出指令功能所需要的各種(內(nèi)部和外部)控制信息,使各部分完成指令功能所需的操作??刂破髦饕ǔ绦蛴?jì)數(shù)器、指令寄存器、指令譯碼器及定時(shí)控制電路等。2025/6/52.片內(nèi)程序存儲(chǔ)器8051共有4096個(gè)8位掩膜ROM,用以存放程序、原始數(shù)據(jù)和表格。3.片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM用以存放可以讀寫(xiě)的數(shù)據(jù),如運(yùn)算中間結(jié)果、最終結(jié)果以及顯示的數(shù)據(jù)等。8051內(nèi)部有128個(gè)8位數(shù)據(jù)存儲(chǔ)單元和128個(gè)專(zhuān)用寄存器單元,它們是統(tǒng)一編址的,專(zhuān)用寄存器只能用于存放控制指令數(shù)據(jù),用戶(hù)只能訪(fǎng)問(wèn),不能用于存放用戶(hù)數(shù)據(jù),所以用戶(hù)能使用的RAM只有128個(gè);4.并行I/O口P0~P3是四個(gè)8位并行I/O口,每個(gè)口既可作為輸入,也可作為輸出。單片機(jī)在與外部存儲(chǔ)器及I/O端口設(shè)備交換數(shù)據(jù)時(shí),由P0~P3口完成。5.定時(shí)器/計(jì)數(shù)器51子系列單片機(jī)共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器(52子系列有3個(gè)),每個(gè)定時(shí)器/計(jì)數(shù)器既可以設(shè)置成計(jì)數(shù)方式,也可以設(shè)置成定時(shí)方式,并通過(guò)計(jì)數(shù)結(jié)果來(lái)實(shí)現(xiàn)計(jì)時(shí)。6.中斷系統(tǒng)51系列單片機(jī)共有5個(gè)中斷源(52系列有6個(gè)),分為2個(gè)優(yōu)先級(jí),每個(gè)中斷源的優(yōu)先級(jí)都可以編程進(jìn)行控制。7.串行接口

串行接口提供對(duì)數(shù)據(jù)各位按序一位一位地傳送。8.時(shí)鐘電路OSC

時(shí)鐘電路用于產(chǎn)生單片機(jī)中最基本的時(shí)間單位。2.151單片機(jī)的內(nèi)部資源與引腳功能

2025/6/52.1.2AT89C51單片機(jī)引腳功能

51系列單片機(jī)中的89C51單片機(jī)通常使用40引腳的雙列直插式封裝。在這40個(gè)引腳中,電源和接地線(xiàn)2根,外置石英振蕩器的時(shí)鐘線(xiàn)2根,4組8位I/O共32個(gè)口,中斷接口線(xiàn)與并行接口中的P3接口線(xiàn)復(fù)用。因?yàn)槭艿揭_數(shù)目的限制,51單片機(jī)的引腳具有第二功能。單片機(jī)引腳可分為4類(lèi):電源引腳、時(shí)鐘引腳、控制引腳和I/O引腳。牢記引腳的位置對(duì)熟練的調(diào)試單片機(jī)非常有幫助。區(qū)分芯片引腳序號(hào)觀察其表面,大都會(huì)找到一個(gè)凹進(jìn)去的小圓坑,或是用顏色標(biāo)識(shí)的小標(biāo)記(圓點(diǎn)或三角或其他小圖形),這個(gè)小圓坑或小標(biāo)識(shí)所對(duì)應(yīng)的引腳就是此芯片的第一給引腳。2.151單片機(jī)的內(nèi)部資源與引腳功能

1.主電源引腳VCC和GND電源引腳提供芯片的工作電源,51系列單片機(jī)采用+5V供電。1.VCC(40號(hào)引腳):VCC接+5V電壓。2.GND(20號(hào)引腳):GND接地。2.時(shí)鐘電路引腳XTAL1(19)和XTAL2(18)XTAL1(19腳)接外部晶體和微調(diào)電容的一端。在芯片內(nèi)部,它是振蕩電路反相放大器的輸入端,在采用外部時(shí)鐘時(shí),此引腳應(yīng)接地。XTAL2(18腳)接外部晶體和微調(diào)電容的另一端。在芯片內(nèi)部,它是振蕩電路反相放大器的輸出端,振蕩電路的頗率就是晶體的固有頻率。在外接外部時(shí)鐘時(shí),該引腳接收振蕩器的脈沖信號(hào),即將此脈沖信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。要檢查51單片機(jī)的振蕩電路是否正確工作,可用示波器查看XTAL2端口是否有脈沖信號(hào)輸出,若有信號(hào)輸出,則為正常工作。2.151單片機(jī)的內(nèi)部資源與引腳功能

3.控制信號(hào)引腳(1)RST/VPD(9號(hào)引腳)復(fù)位的目的是使單片機(jī)和系統(tǒng)中的其它部件處于某種確定的初始狀態(tài)。時(shí)鐘電路工作后,在RST引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,單片機(jī)內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)寄存器狀態(tài)如表2.1.4所示。只要該引腳保持高電平,單片機(jī)將循環(huán)復(fù)位。當(dāng)該引腳從高電平變成低電平時(shí),單片機(jī)將從0000H單元開(kāi)始執(zhí)行程序。表2.1.4復(fù)位后內(nèi)部寄存器狀態(tài)寄存器內(nèi)容寄存器內(nèi)容PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIP***00000SBUF不定IE0**00000PCON0***00002.151單片機(jī)的內(nèi)部資源與引腳功能

說(shuō)明:復(fù)位不影響片內(nèi)RAM狀態(tài),只要該引腳保持高電平,單片機(jī)將循環(huán)復(fù)位。當(dāng)該引腳從高電平變成低電平時(shí),單片機(jī)將0000H單元開(kāi)始執(zhí)行程序。該引腳還有復(fù)用功能。接+5V備用電源,一旦VCC電位突然下降或斷電,能保護(hù)RAM內(nèi)的信息不會(huì)丟失,復(fù)電后能繼續(xù)正常工作。復(fù)位有兩種:上電復(fù)位和開(kāi)關(guān)復(fù)位。上電復(fù)位:在通電瞬間,由于電容兩端電壓不能突變,電容通過(guò)電阻充電,在RST端出現(xiàn)高電平,隨著時(shí)間推移,RST端逐漸變成低電平。如圖2.1.1所示。

圖2.1.1單片機(jī)上電復(fù)位結(jié)構(gòu)圖2.151單片機(jī)的內(nèi)部資源與引腳功能

開(kāi)關(guān)復(fù)位:在程序運(yùn)行期間,如果有必要也可通過(guò)開(kāi)關(guān)使系統(tǒng)復(fù)位。如圖2.1.2所示

圖2.1.2單片機(jī)開(kāi)關(guān)復(fù)位結(jié)構(gòu)圖2.151單片機(jī)的內(nèi)部資源與引腳功能

(2)ALE (30腳):地址鎖存信號(hào)/編程脈沖輸入端當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),P0口輸出的低八位地址是由ALE輸出的控制信號(hào)鎖存到片外地址鎖存器的。由于P0口作為地址/數(shù)據(jù)復(fù)用口,在ALE為高電平期間,P0口上出現(xiàn)的是地址信息,在(多余)ALE下降沿將地址信息鎖存到片外地址鎖存器,在ALE為低電平期間,P0口上出現(xiàn)的一般是指令或數(shù)據(jù)。除訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器外,ALE引腳會(huì)以時(shí)鐘頻率的六分之一輸出脈沖,可用作系統(tǒng)中其它芯片的時(shí)鐘源。(3)PSEN程序存儲(chǔ)允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。PSEN低電平有效,8051訪(fǎng)問(wèn)片外程序存儲(chǔ)器時(shí),程序計(jì)數(shù)器PC通過(guò)P2口和P0口輸出十六位地址,PSEN作為程序存儲(chǔ)器讀信號(hào),輸出負(fù)脈沖將相應(yīng)存儲(chǔ)單元的指令讀出并送到P0口上。PSEN也可以驅(qū)動(dòng)8個(gè)TTL門(mén)輸入。2.151單片機(jī)的內(nèi)部資源與引腳功能

(4)EA/VPP內(nèi)部和外部程序存儲(chǔ)器選擇信號(hào)。

當(dāng)EA為高電平時(shí),CPU從片內(nèi)程序存儲(chǔ)器取指令執(zhí)行,地址超過(guò)0FFFH后自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器;當(dāng)EA為低電平時(shí),CPU只從片外程序存儲(chǔ)器取指令。對(duì)片內(nèi)EPROM編程時(shí),該腳接21V編程電壓VPP。4.并行I/O口P0~P3端口引腳

51系列單片機(jī)有4個(gè)雙向的8位并行I/O端口:P0、P1、P2和P3,它們的輸出鎖存器屬于特殊功能寄存器。4個(gè)端口除了按字節(jié)輸入/輸出外,還可位尋址,便于實(shí)現(xiàn)位控功能。2.151單片機(jī)的內(nèi)部資源與引腳功能

89系列單片機(jī)有多種型號(hào),其中AT89C1051、AT89C2051屬低檔低電壓產(chǎn)品,為20腳封裝,最低工作電壓為2.7V;AT89C51、AT89LV51、AT89C52、AT89LV52、AT89S52為中檔產(chǎn)品,與8051完全兼容,AT89S52為增強(qiáng)型,內(nèi)含看門(mén)狗電路;本節(jié)主要介紹AT89S52的結(jié)構(gòu)特點(diǎn)與應(yīng)用。圖2.1.3為AT89S52引腳圖。2.1.3AT89S52單片機(jī)簡(jiǎn)介圖2.1.3AT89S52單片機(jī)引腳圖2.151單片機(jī)的內(nèi)部資源與引腳功能

AT89S52是一款低能耗、高性能的8位CMOS微處理器,芯片內(nèi)部具有8K字節(jié)閃速存儲(chǔ)器,允許在系統(tǒng)內(nèi)改寫(xiě)或用常規(guī)非易失性存儲(chǔ)器編程器編程。芯片采用51系列指令集并與51系列單片機(jī)引腳兼容。AT89S52單片機(jī)有如下特點(diǎn):lAT89S52單片機(jī)與MCS-51產(chǎn)品兼容;l具有8K字節(jié)可在系統(tǒng)編程的Flash內(nèi)部程序存儲(chǔ)器,可寫(xiě)/擦10000次;l4.0V~5.5V的工作電壓范圍;l全靜態(tài)操作:0Hz~24MHz;l三級(jí)程序存儲(chǔ)器加密;l256字節(jié)內(nèi)部RAM(數(shù)字寄存器);l32根可編程I/O線(xiàn);l三個(gè)16位定時(shí)器/計(jì)數(shù)器;l8個(gè)中斷源;l全雙工異步串行通信通道;l低功耗空閑和掉電方式;l通過(guò)中斷中止掉電方式;l看門(mén)狗定時(shí)器;l兩個(gè)數(shù)據(jù)指針;2.151單片機(jī)的內(nèi)部資源與引腳功能

AT89S52單片機(jī)較8051單片機(jī)內(nèi)部多了一個(gè)8K字節(jié)的Flash程序存儲(chǔ)器,一個(gè)16位的定時(shí)器/計(jì)數(shù)器,一個(gè)中斷源,還多了128字節(jié)內(nèi)部RAM,與8051完全兼容。1.存儲(chǔ)器結(jié)構(gòu)

MCS-51產(chǎn)品有一個(gè)獨(dú)立的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址空間。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可最大尋址64K。如表2.1.5所示。2.151單片機(jī)的內(nèi)部資源與引腳功能

表2.1.5AT89S52特殊功能寄存器映象及復(fù)位狀態(tài)FBH

FFHF0HB00000000

F7HEBH

EFHE0HACC00000000

E7HDBH

DFHD0HPSW00000000

D7HCBHT2CON00000000T2MODXXXXXXOORCAP2L00000000RCAP2H00000000TL200000000TH2000000000

CFHC0H

C7HB8HIPXX000000

BFHB0HP311111111

B7HABHIE0X000000

AFHA0HP211111111

AUXR1XXXXXX0

WDTRSTXXXXXXXX

A7H

9BHSCON00000000SBUFXXXXXXXX

9FH

90HP111111111

97HB8HTCON00000000TMOD00000000TL000000000TL100000000TH000000000TH100000000AUXRXXX00XX0

8FH80HP011111111SP00000111DP0L00000000DP0H00000000DP1L00000000DP1H00000000

PCON0XXX000087H2.151單片機(jī)的內(nèi)部資源與引腳功能

(1)程序存儲(chǔ)器。如果EA(-)引腳接地,系統(tǒng)尋址外部程序存儲(chǔ)器。對(duì)于AT89S52,如果EA(-)引腳接至VCC,CPU執(zhí)行內(nèi)部存儲(chǔ)器0000H到1FFFH的程序,外部程序存儲(chǔ)器尋址空間為2000H到FFFFH。(2)數(shù)據(jù)存儲(chǔ)器。AT89S52具有256字節(jié)的片內(nèi)RAM。高128單元與專(zhuān)用寄存器地址空間重疊,亦即高128單元與專(zhuān)用寄存器空間有相同的地址,而物理上與專(zhuān)用寄存器是分開(kāi)的。若采用直接尋址方式,則是直接訪(fǎng)問(wèn)特殊功能寄存器;若采用間接尋址方式,則是訪(fǎng)問(wèn)高128單元的RAM。堆棧操作也是間接尋址,所以,高128單元的數(shù)據(jù)RAM可作為棧區(qū)使用。(3)特殊功能寄存器。在數(shù)據(jù)存儲(chǔ)器中,專(zhuān)用寄存器地址空間的映象如表2.1.5所示。AT89S52的特殊功能寄存器總計(jì)為32個(gè),比8051單片機(jī)多了11個(gè)SFR。2.151單片機(jī)的內(nèi)部資源與引腳功能

2.定時(shí)器AT89S52有三個(gè)16位定時(shí)器:T0、T1、T2。T0、T1與8051、AT89C51及AT89C52單片機(jī)工作方式相同,定時(shí)器T2有三種工作方式:捕獲方式,自動(dòng)重裝載方式(向上或向下計(jì)數(shù))和波特率發(fā)生器方式。操作方式由T2CON的控制位來(lái)選擇,見(jiàn)表2.1.6。詳細(xì)工作方式見(jiàn)有關(guān)資料。表2.1.6定時(shí)器2工作方式RLCK+TCLKCP/RL2TR2工作方式00116位自動(dòng)重裝載位自動(dòng)重裝載01116位捕獲位捕獲1×1波特率發(fā)生器××0(關(guān)閉)2.151單片機(jī)的內(nèi)部資源與引腳功能

AT89S52共有6個(gè)中斷源:兩個(gè)外部中斷(INT0(一)、INT1(一)),三個(gè)定時(shí)器中斷(T0、T1、T2)和一個(gè)串行口中斷。通過(guò)專(zhuān)用寄存器IE置位或清0,可分別控制這些中斷源中每一個(gè)允許或禁止中斷。IE也有一個(gè)總禁止位EA,它可以同時(shí)禁止所有中斷,見(jiàn)表2.1.7所示。表2.1.7中斷允許寄存器IE2.151單片機(jī)的內(nèi)部資源與引腳功能

4.空閑方式

在空閑方式下,CPU自身進(jìn)入睡眠狀態(tài),但片上其它外圍部件處于激活狀態(tài)。這種方式由軟件調(diào)用。在空閑方式期間,片RAM和所有特殊功能寄存器的內(nèi)容保持不變。空閑方式可被任何允許的中斷或硬件復(fù)位來(lái)終止。當(dāng)空閑方式由硬件復(fù)位終止時(shí),通常系統(tǒng)在空閑處恢復(fù)程序的執(zhí)行。硬件復(fù)位只需要信號(hào)持續(xù)有效兩個(gè)機(jī)器周期,就可完成復(fù)位。5.掉電工作方式

在掉電方式下片內(nèi)振蕩器停止工作。調(diào)用掉電指令是執(zhí)行的最后一條指令。片內(nèi)RAM和特殊功能寄存器的值保持不變,直到掉電方式終止。退出掉電方式可以通過(guò)硬件復(fù)位或一個(gè)允許的外部中斷來(lái)完成。復(fù)位后將重新定義所有專(zhuān)用寄存器,但不改變RAM的內(nèi)容。在VCC未恢復(fù)到正常工作電壓之前,不能啟動(dòng)復(fù)位,且復(fù)位信號(hào)應(yīng)保持足夠長(zhǎng)的時(shí)間,以便保證振蕩器的起振和達(dá)到穩(wěn)定。2.151單片機(jī)的內(nèi)部資源與引腳功能

6.看門(mén)狗定時(shí)器(WDT)

看門(mén)狗定時(shí)器是單片機(jī)的一個(gè)組成部分,實(shí)際上是一個(gè)計(jì)數(shù)器一般給看門(mén)狗一個(gè)大數(shù),程序開(kāi)始運(yùn)行后看門(mén)狗開(kāi)始倒計(jì)數(shù)。如果程序運(yùn)行正常,過(guò)一段時(shí)間CPU應(yīng)發(fā)出指令讓看門(mén)狗復(fù)位,重新開(kāi)始倒計(jì)數(shù)。如果看門(mén)狗減到0就認(rèn)為程序沒(méi)有正常工作,強(qiáng)制整個(gè)系統(tǒng)復(fù)位。WDT由一個(gè)13位的計(jì)數(shù)器和一個(gè)看門(mén)狗定時(shí)器復(fù)位特殊功能寄存器(WDTRST)組成。WDT默認(rèn)設(shè)置為無(wú)效。若當(dāng)WDT工作時(shí),在振蕩器工作期間,它將隨每個(gè)機(jī)器周期加法計(jì)數(shù)。這意味著至少每到8191個(gè)機(jī)器周期需對(duì)WDT重新設(shè)置,即重新向WDTRST寄存器寫(xiě)入01EH和0E1H。WDTRST是只寫(xiě)寄存器。WDT計(jì)數(shù)器不能讀寫(xiě)。WDT休息時(shí)間依賴(lài)于外部時(shí)鐘頻率。只有通過(guò)硬件復(fù)位或WDT溢出復(fù)位才能取消WDT。當(dāng)WDT溢出復(fù)位時(shí),在RST引腳將輸出一個(gè)高電平脈沖。脈沖持續(xù)時(shí)間為96×TOSC(TOSC=1/FOSC)。為充分利用WDT,需周期性執(zhí)行一段指令以避免WDT復(fù)位。2.151單片機(jī)的內(nèi)部資源與引腳功能

2.251單片機(jī)的硬件結(jié)構(gòu)AT89S52內(nèi)部結(jié)構(gòu)圖如圖2.2.1所示

圖2.2.1AT89S52內(nèi)部結(jié)構(gòu)圖2.251單片機(jī)的硬件結(jié)構(gòu)1運(yùn)算部件:ALU、A、BALU:功能強(qiáng)大,它不僅可對(duì)8位變量進(jìn)行邏輯“與、或、異或”、循環(huán)、求補(bǔ)和清零等基本操作,還可以進(jìn)行加、減、乘、除等基本運(yùn)算,ALU還具有位處理操作,如置位、清零、求補(bǔ)、測(cè)試。轉(zhuǎn)移及邏輯“與、或”等操作。累加器A:ALU中的主要寄存器,大部分指令都用到它。寄存器B:是為執(zhí)行乘法和除法操作設(shè)置的,在不執(zhí)行乘、除法操作的一般情況下可把它當(dāng)作一個(gè)普通寄存器使用。2程序狀態(tài)寄存器:PSW如表2.2.1

表2.2.1PSW位聲明

PSW.1是保留位,未用。2.251單片機(jī)的硬件結(jié)構(gòu)PSW.1是保留位,未用。Cy(PSW.7)進(jìn)位標(biāo)志位,在執(zhí)行算術(shù)和邏輯指令時(shí),可以被硬件或軟件置位或清除,在位處理器中,它是位累加器。Ac(PSW.6)輔助進(jìn)位標(biāo)志位。F0(PSW.5)標(biāo)志位,它是由用戶(hù)使用的一個(gè)狀態(tài)標(biāo)志位。RS1、RS0(PSW.4、PSW.3):寄存器區(qū)選擇控制位OV(PSW.2):溢出標(biāo)志位。P(PSW.0)奇偶標(biāo)志位。每個(gè)指令周期都由硬件來(lái)置位或清除,以表示累加器A中值為1的位數(shù)的奇偶數(shù)。2.351單片機(jī)的存儲(chǔ)器2.3.1AT89S51單片機(jī)存儲(chǔ)配置簡(jiǎn)介

單片機(jī)的存儲(chǔ)結(jié)構(gòu)有兩種:一種結(jié)構(gòu)稱(chēng)為哈佛結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi),相互獨(dú)立;另一種結(jié)構(gòu)稱(chēng)為普林斯頓結(jié)構(gòu),即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是統(tǒng)一的,地址空間統(tǒng)一編址。STC89C52系列單片機(jī)的存儲(chǔ)器結(jié)構(gòu)屬于哈佛結(jié)構(gòu),主要特點(diǎn)是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的尋址空間是相互獨(dú)立的,各有各的尋址機(jī)構(gòu)和尋址方式。對(duì)于51系列(8031除外)有4個(gè)物理上相互獨(dú)立的存儲(chǔ)空間:片內(nèi)、片外程序存儲(chǔ)器,片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器。圖2.3.1為STC89C52系列單片機(jī)存儲(chǔ)器的配置圖。2.351單片機(jī)的存儲(chǔ)器圖2.3.1(a)程序存儲(chǔ)器 圖2.3.1(b)數(shù)據(jù)存儲(chǔ)器2.351單片機(jī)的存儲(chǔ)器

從邏輯上(用戶(hù)角度)看,有3個(gè)邏輯空間:片內(nèi)外統(tǒng)一編址的64KB程序存儲(chǔ)空間;256B(51系列)的片內(nèi)數(shù)據(jù)存儲(chǔ)空間(其中包括特殊功能寄存器空間);64KB片外數(shù)據(jù)存儲(chǔ)空間。對(duì)于這三個(gè)邏輯空間,采用不同的指令形式和尋址方式訪(fǎng)問(wèn)。在用C語(yǔ)言編程時(shí)設(shè)計(jì)了不同的數(shù)據(jù)存儲(chǔ)類(lèi)型:CPU訪(fǎng)問(wèn)片內(nèi)、片外ROM,數(shù)據(jù)類(lèi)型用code;訪(fǎng)問(wèn)片外RAM,數(shù)據(jù)類(lèi)型用pdata和xdata;訪(fǎng)問(wèn)片內(nèi)RAM,數(shù)據(jù)類(lèi)型用data、bdata和idata。其具體應(yīng)用在后面的章節(jié)中說(shuō)明。2.351單片機(jī)的存儲(chǔ)器2.3.2程序存儲(chǔ)器在計(jì)算機(jī)處理問(wèn)題之前,必須事先把編好的程序和所需表格常數(shù)等存入機(jī)器之中,單片機(jī)中完成這一任務(wù)的物理器件就是程序存儲(chǔ)器。程序存儲(chǔ)器是以程序計(jì)數(shù)器PC作地址指針,STC89C52的程序計(jì)數(shù)器PC是16位的,因此最大尋址空間為64KB,地址范圍為0000H~FFFFH。51系列的存儲(chǔ)器把程序的存儲(chǔ)空間和數(shù)據(jù)的存儲(chǔ)空間嚴(yán)格區(qū)分。2.351單片機(jī)的存儲(chǔ)器2.3.3數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器用于存放程序運(yùn)算的中間結(jié)果、狀態(tài)標(biāo)志位等。數(shù)據(jù)存儲(chǔ)器由RAM構(gòu)成,一旦掉電,其數(shù)據(jù)將丟失。1.數(shù)據(jù)存儲(chǔ)器配置數(shù)據(jù)存儲(chǔ)器分為內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器,是兩個(gè)獨(dú)立的地址空間,應(yīng)分別單獨(dú)編址。數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)如圖2.3.2所示。圖2.3.2數(shù)據(jù)存儲(chǔ)器2.351單片機(jī)的存儲(chǔ)器2.片內(nèi)數(shù)據(jù)存儲(chǔ)器的配置(1)片內(nèi)數(shù)據(jù)存儲(chǔ)器256B地址空間和SFR。內(nèi)部數(shù)據(jù)存儲(chǔ)器是最活躍、最靈活的存儲(chǔ)空間,STC89C52指令系統(tǒng)尋址方式及應(yīng)用程序大部分是面向內(nèi)部數(shù)據(jù)存儲(chǔ)器的。內(nèi)部數(shù)據(jù)存儲(chǔ)器由片內(nèi)RAM和特殊功能寄存器SFR兩大部分統(tǒng)一編址。片內(nèi)RAM低128B,地址空間為00H~7FH。高128B為特殊功能寄存器(SFR)區(qū),地址空間為80H~FFH,其中僅有21個(gè)字節(jié)單元是有定義的。(2)外部數(shù)據(jù)存儲(chǔ)器最大可擴(kuò)充為64KB,其指示地址靠數(shù)據(jù)指針DPTR(16位)。3.工作寄存器區(qū)在低128B的RAM區(qū)中,將地址00~1FH共32個(gè)單元設(shè)為工作寄存器區(qū),這32個(gè)單元又分為4組,每組由8個(gè)單元按序組成通用寄存器R0~R7。通用寄存器R0~R7不僅用于暫存中間結(jié)果,而且是CPU指令中尋址方式不可缺少的工作單元。2.351單片機(jī)的存儲(chǔ)器4.可位尋址區(qū)地址為20H~2FH的16個(gè)RAM(字節(jié))單元,既可以像普通RAM單元按字節(jié)地址進(jìn)行存取,又可以按位進(jìn)行存取,這16個(gè)字節(jié)共有128(16×8)個(gè)二進(jìn)制位,每一位都分配一個(gè)位地址,編址為00H~7FH。5.數(shù)據(jù)緩沖區(qū)在30H~7FH區(qū)的80個(gè)RAM單元為用戶(hù)RAM區(qū),只能按字節(jié)存取。所以,30H~7FH區(qū)是真正的數(shù)據(jù)緩沖區(qū)。2.351單片機(jī)的存儲(chǔ)器2.3.4特殊功能寄存器在片內(nèi)數(shù)據(jù)存儲(chǔ)器的80H~FFH單元(高128B)中,有21個(gè)單元作為專(zhuān)用寄存器(SFR),又稱(chēng)特殊功能寄存器。(1)累加器ACC:字節(jié)地址為E0H,并可對(duì)其D0~D7各位進(jìn)行位尋址。D0~D7位地址相應(yīng)為E0H~E7H。(2)程序狀態(tài)字PSW:字節(jié)地址為D0H。D0~D7數(shù)據(jù)位的位地址相應(yīng)為D0H~D7H。并可對(duì)其D0~D7各位進(jìn)行位尋址。主要用于寄存當(dāng)前指令執(zhí)行后的某些狀態(tài)信息。例如:Cy表示進(jìn)位/借位標(biāo)志,指令助記符為C,位地址為D7H(也可表示為PSW.7)。(3)堆棧指針SP:字節(jié)地址為81H,不能進(jìn)行位尋址。(4)端口P1:字節(jié)地址為90H,并可對(duì)其D0~D7各位進(jìn)行位尋址。D0~D7數(shù)據(jù)位的位地址相應(yīng)為90H~97H(也可表示為P1.0~P1.7)。2.451單片機(jī)的時(shí)鐘與復(fù)位2.4.1CPU時(shí)序時(shí)序就是計(jì)算機(jī)指令執(zhí)行時(shí)各種微操作在時(shí)間上的順序關(guān)系。計(jì)算機(jī)所執(zhí)行的每一操作都是在時(shí)鐘信號(hào)的控制下進(jìn)行的。每執(zhí)行一條指令,CPU都要發(fā)出一系列特定的控制信號(hào),以實(shí)現(xiàn)指令的正確執(zhí)行。1.時(shí)鐘周期、機(jī)器周期和指令周期(1)時(shí)鐘周期時(shí)鐘周期也稱(chēng)振蕩周期,即振蕩器的振蕩頻率fosc的倒數(shù),是時(shí)序中最小的時(shí)間單位。通常51單片機(jī)使用12MHz的石英晶體振蕩器,則此時(shí),時(shí)鐘周期為1/12微秒。(2)機(jī)器周期執(zhí)行一條指令的過(guò)程可分為若干個(gè)階段,每一階段完成一規(guī)定的操作,完成一個(gè)規(guī)定操作所需要的時(shí)間稱(chēng)為一個(gè)機(jī)器周期。通常機(jī)器周期為時(shí)鐘周期的12倍,使用12MHz晶振時(shí),51單片機(jī)的機(jī)器周期為1微秒。(3)指令周期指令周期定義為執(zhí)行一條指令所用的時(shí)間。指令周期通常為1-4個(gè)機(jī)器周期,乘除指令耗時(shí)最多為4個(gè)機(jī)器周期,使用12MHz晶振時(shí),51單片機(jī)完成一次乘除指令需要消耗大約

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論