單片機(jī)原理及應(yīng)用(電子類相關(guān)專業(yè))全套教學(xué)課件_第1頁
單片機(jī)原理及應(yīng)用(電子類相關(guān)專業(yè))全套教學(xué)課件_第2頁
單片機(jī)原理及應(yīng)用(電子類相關(guān)專業(yè))全套教學(xué)課件_第3頁
單片機(jī)原理及應(yīng)用(電子類相關(guān)專業(yè))全套教學(xué)課件_第4頁
單片機(jī)原理及應(yīng)用(電子類相關(guān)專業(yè))全套教學(xué)課件_第5頁
已閱讀5頁,還剩861頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

——單片機(jī)入門篇單片機(jī)原理及應(yīng)用全套可編輯PPT課件共13章,包括如何學(xué)習(xí)單片機(jī),常用軟件介紹,單片機(jī)基礎(chǔ)知識(shí)介紹,指令系統(tǒng),單片機(jī)匯編指令應(yīng)用實(shí)例,中斷、定時(shí)/計(jì)數(shù)器及串口的匯編語言編程,單片機(jī)C語言編程基礎(chǔ)知識(shí),I/O口的C語言編程,中斷、定時(shí)/計(jì)數(shù)器及串口的C語言編程,AD/DA轉(zhuǎn)換,LCD顯示屏,總線,傳感器如何學(xué)習(xí)單片機(jī)HowtoLearnMicrocontroller本章將主要介紹什么是單片機(jī)以及如何才能更好地學(xué)習(xí)單片機(jī)2目錄1.2單片機(jī)有何用途1.1什么是單片機(jī)1.4怎么學(xué)習(xí)單片機(jī)1.3為什么要學(xué)習(xí)單片機(jī)如何學(xué)習(xí)單片機(jī)3單片機(jī)(SingleChipMicrocomputer,簡稱SCM)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)將具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。同時(shí),單片機(jī)也被稱為微控制器,因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域。現(xiàn)在的單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。早期的單片機(jī)都是4位或8位,其中最成功的是Intel的8031,因?yàn)楹唵慰煽慷倚阅懿诲e(cuò)獲得了很多好評(píng)。此后,Intel公司又在8031基礎(chǔ)上發(fā)展出了MCS-51系列單片機(jī),基于這一系列單片機(jī)的系統(tǒng)直到現(xiàn)在還在廣泛使用。1.1什么是單片機(jī)4隨著工業(yè)控制領(lǐng)域要求的提高,16位單片機(jī)開始出現(xiàn),但因其性價(jià)比不理想,當(dāng)時(shí)并未得到廣泛應(yīng)用。90年代后期,單片機(jī)的性能得到了跨越式的發(fā)展。隨著Inteli960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代了16位單片機(jī)成為市場主流產(chǎn)品。目前,高端32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器。大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在各系列的單片機(jī)上,掌上電腦和手機(jī)里的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。與此同時(shí),單片機(jī)的價(jià)格也大幅下降,普通型號(hào)的單片機(jī)出廠價(jià)格跌至1美元,最高端的型號(hào)也只有10美元。單片機(jī)是世界上數(shù)量最多的微控制器?,F(xiàn)在,幾乎每件電子產(chǎn)品中都會(huì)有單片機(jī)系統(tǒng)。例如,手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都有單片機(jī)。個(gè)人電腦中也有為數(shù)不少的單片機(jī)在工作,汽車上一般配備40多個(gè)單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百個(gè)單片機(jī)。1.1什么是單片機(jī)5目錄1.2單片機(jī)有何用途1.1什么是單片機(jī)1.4怎么學(xué)習(xí)單片機(jī)1.3為什么要學(xué)習(xí)單片機(jī)如何學(xué)習(xí)單片機(jī)61.2單片機(jī)有何用途7單片機(jī)經(jīng)歷了40多年的發(fā)展,其蹤跡遍布各個(gè)領(lǐng)域。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī),以及程控玩具、電子寵物等,這些都離不開單片機(jī);更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。工業(yè)控制:廣泛應(yīng)用于工業(yè)控制中的數(shù)據(jù)采集系統(tǒng)、通信系統(tǒng)、信號(hào)檢測系統(tǒng)、無線感知系統(tǒng)、測控系統(tǒng)、機(jī)器人等,以及常見的工廠流水線的智能化管理系統(tǒng)、電梯智能化控制系統(tǒng)、各種報(bào)警系統(tǒng)等。智能儀器:廣泛應(yīng)用于儀器儀表中,例如電壓表、功率計(jì)、示波器、各種分析儀等。單片機(jī)的使用使得儀器儀表實(shí)現(xiàn)了數(shù)字化和智能化,且功能比起采用單純的數(shù)字電路更為強(qiáng)大。網(wǎng)絡(luò)和通信:現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信。這為設(shè)備之間通信的實(shí)現(xiàn)和計(jì)算機(jī)網(wǎng)絡(luò)的廣泛使用提供了極好的物質(zhì)條件。廣泛應(yīng)用于電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信,移動(dòng)電話、集群移動(dòng)通信、無線電對(duì)講機(jī)等,及各種需要進(jìn)行通信的設(shè)備中。家用電器:廣泛應(yīng)用于電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材,再到電子秤量設(shè)備等。8模塊化系統(tǒng):某些單片機(jī)系統(tǒng)用于實(shí)現(xiàn)特定功能,它們可以在各種電路中作為其中一個(gè)模塊來使用。這種模塊化的微小系統(tǒng)一般不要求使用人員了解其內(nèi)部結(jié)構(gòu),而只需了解其輸入輸出信號(hào)及系統(tǒng)能夠?qū)崿F(xiàn)的功能即可。例如,音樂集成單片機(jī)可將音樂信號(hào)以數(shù)字的形式存于存儲(chǔ)器中,工作時(shí)可由微控制器讀出數(shù)據(jù),然后轉(zhuǎn)化為模擬音樂電信號(hào)。在大型電路中,這種模塊化應(yīng)用極大地縮小了設(shè)備的體積,簡化了電路設(shè)計(jì),降低了錯(cuò)誤率,同時(shí)也便于更換。醫(yī)用設(shè)備:廣泛應(yīng)用于醫(yī)用呼吸機(jī)、各種分析儀、監(jiān)護(hù)儀、超聲診斷設(shè)備及病床呼叫系統(tǒng)等。汽車電子:廣泛應(yīng)用于汽車中的發(fā)動(dòng)機(jī)控制器、基于CAN總線的汽車發(fā)動(dòng)機(jī)智能電子控制器、GPS導(dǎo)航系統(tǒng)、ABS防抱死制動(dòng)系統(tǒng)、胎壓檢測等。9目錄1.2單片機(jī)有何用途1.1什么是單片機(jī)1.4怎么學(xué)習(xí)單片機(jī)1.3為什么要學(xué)習(xí)單片機(jī)如何學(xué)習(xí)單片機(jī)10(1)(2)(3)單片機(jī)應(yīng)用領(lǐng)域非常廣泛單片機(jī)技術(shù)是學(xué)習(xí)高端電子技術(shù)的基礎(chǔ)學(xué)習(xí)單片機(jī)不僅有前途而且有錢途1.3為什么要學(xué)習(xí)單片機(jī)11(1)單片機(jī)應(yīng)用領(lǐng)域非常廣泛從農(nóng)業(yè)電子產(chǎn)品到工業(yè)電子產(chǎn)品醫(yī)用電子產(chǎn)品到軍用電子產(chǎn)品民用電子產(chǎn)品到商用電子產(chǎn)品12單片機(jī)具有電路設(shè)計(jì)簡單、成本低、性能穩(wěn)定、經(jīng)久耐用等優(yōu)點(diǎn),這些優(yōu)點(diǎn)使其備受設(shè)計(jì)者的青睞。單片機(jī)的魅力還在于隨著電子技術(shù)的飛速發(fā)展,芯片資源更加豐富,它們能夠?qū)崿F(xiàn)的功能越發(fā)強(qiáng)大,從而使外圍電路更加簡單,使用起來也更加方便。因此,學(xué)習(xí)單片機(jī)和應(yīng)用單片機(jī)的群體越來越大。

單片機(jī)技術(shù)

嵌入式系統(tǒng)

DSP

FPGA(2)單片機(jī)技術(shù)是學(xué)習(xí)高端電子技術(shù)的基礎(chǔ)13嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,因此適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。他一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成。DSP即數(shù)字信號(hào)處理,是將信號(hào)以數(shù)字方式表示并進(jìn)行相應(yīng)處理的技術(shù),是單片機(jī)技術(shù)的拓展和功能的增強(qiáng),專門用于數(shù)字信號(hào)處理的超高速單片機(jī)。FPGA即現(xiàn)場可編程門陣列,和單片機(jī)有相同的外圍資源,也有時(shí)鐘電路、FLASH和RAM,配置文件相當(dāng)于單片機(jī)的程序,硬件描述語言Verilog和C語言是一樣的。找到稱心如意的工作自主創(chuàng)業(yè)研發(fā)智能電子產(chǎn)品挺進(jìn)電子技術(shù)更高端的領(lǐng)域前途錢途(3)學(xué)習(xí)單片機(jī)不僅有前途而且有錢途14目錄1.2單片機(jī)有何用途1.1什么是單片機(jī)1.4怎么學(xué)習(xí)單片機(jī)1.3為什么要學(xué)習(xí)單片機(jī)如何學(xué)習(xí)單片機(jī)151.4.1基礎(chǔ)理論1.4.2實(shí)驗(yàn)實(shí)踐1.4.3硬件設(shè)計(jì)1.4怎么學(xué)習(xí)單片機(jī)16基礎(chǔ)理論電路模擬電路數(shù)字電路語言匯編語言C語言1.4.1基礎(chǔ)理論17181.4.1基礎(chǔ)理論模擬電路是電子技術(shù)最基礎(chǔ)的學(xué)科,它讓你知道什么是電阻、電容、電感、二極管、三極管、場效應(yīng)管、放大器等等以及它們的工作原理和在電路中的作用,這是學(xué)習(xí)電子技術(shù)必須掌握的基礎(chǔ)知識(shí)。扎實(shí)的模擬電路基礎(chǔ)不僅讓你容易看懂別人設(shè)計(jì)的電路,而且讓你的設(shè)計(jì)的電路更可靠。模擬電路單片機(jī)屬于數(shù)字電路,其概念、術(shù)語、硬件結(jié)構(gòu)和原理都源自數(shù)字電路,如果數(shù)字電路基礎(chǔ)扎實(shí),對(duì)復(fù)雜的單片機(jī)硬件結(jié)構(gòu)和原理就容易理解。如果覺得單片機(jī)很難,那就應(yīng)該先放下單片機(jī)教材,去重溫?cái)?shù)字電路,搞清楚觸發(fā)器、寄存器、門電路、COMS電路、時(shí)序邏輯和時(shí)序圖、進(jìn)制轉(zhuǎn)換等理論知識(shí)。數(shù)字電路191.4.1基礎(chǔ)理論匯編語言是一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語言。在匯編語言中,用助記符代替機(jī)器指令的操作碼,用地址符號(hào)或標(biāo)號(hào)代替指令或操作數(shù)的地址。匯編語言的學(xué)習(xí)可以對(duì)深刻理解和熟練運(yùn)用單片機(jī)有重要的幫助。匯編語言C語言知識(shí)并不難,沒有任何編程基礎(chǔ)的人都可以學(xué)。C語言重點(diǎn)需要掌握的知識(shí)就3個(gè)條件判斷語句、3個(gè)循環(huán)語句、3個(gè)跳轉(zhuǎn)語句和1個(gè)開關(guān)語句。學(xué)習(xí)時(shí)要一條語句一條語句的學(xué),學(xué)一條活用一條,全部學(xué)過用過這些關(guān)鍵語句后,相信你的C基礎(chǔ)建立了。C語言實(shí)驗(yàn)實(shí)踐刻苦學(xué)習(xí)的決心一套完整的學(xué)習(xí)開發(fā)工具理論和實(shí)踐相結(jié)合201.4.2實(shí)驗(yàn)實(shí)踐刻苦學(xué)習(xí)的決心刻苦學(xué)習(xí)的決心1.明確學(xué)習(xí)目的2.端正學(xué)習(xí)心態(tài)3.要多動(dòng)腦勤動(dòng)手4.虛心交流21完整的學(xué)習(xí)開發(fā)工具一臺(tái)電腦一塊單片機(jī)開發(fā)板一套視頻教程一本單片機(jī)教材一本C語言教材理論和實(shí)踐相結(jié)合編程思路和算法決定一個(gè)程序的優(yōu)劣,只有在實(shí)際動(dòng)手編寫的時(shí)候才會(huì)有深切地感悟。1.4.2實(shí)驗(yàn)實(shí)踐編程思路和算法決定一個(gè)程序的優(yōu)劣,只有在實(shí)際動(dòng)手編寫的時(shí)候才會(huì)有深切地感悟。構(gòu)思看到例程題目先試著構(gòu)思自己的編程思路研究看教材或視頻教程里的代碼,研究人家的編程思路,注意與自己思路的差異動(dòng)手照搬人家的思路親自動(dòng)手編寫這個(gè)程序,領(lǐng)會(huì)其中每一條語句的作用修改對(duì)有疑問的地方試著按照自己的思路修改程序,比較程序運(yùn)行效果,領(lǐng)會(huì)其中的奧妙學(xué)習(xí)編寫程序過程221.4.2實(shí)驗(yàn)實(shí)踐231.4.3硬件設(shè)計(jì)設(shè)計(jì)需求分析原理圖設(shè)計(jì)工藝文件處理PCB設(shè)計(jì)設(shè)計(jì)者經(jīng)過深入細(xì)致的調(diào)研和分析,準(zhǔn)確理解項(xiàng)目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須達(dá)成什么功能。是硬件電路設(shè)計(jì)的核心,合適的器件選型、必要的計(jì)算分析以及參數(shù)搭配、仿真工具的運(yùn)用與驗(yàn)證等是其常用工作流程,最終通過繪制原理圖將這些技術(shù)用圖形化語言表達(dá)出來。以電路原理圖為依據(jù)實(shí)現(xiàn)硬件電路的功能。設(shè)計(jì)過程包括制作物理邊框、引入元器件和網(wǎng)絡(luò)、元器件布局、電路板布線等步驟。通常設(shè)計(jì)者可以使用Protel軟件或AltiumDesigner軟件來完成PCB設(shè)計(jì)。布線完成后,需要對(duì)個(gè)別元器件、布線、文字的位置和大小等進(jìn)行調(diào)整完善,以便進(jìn)行生產(chǎn)、調(diào)試和維修。最后進(jìn)行覆銅,完成印制板的制造。數(shù)據(jù)手冊(cè)謝謝觀看2627使用單片機(jī)作為開發(fā)平臺(tái),具體的開發(fā)流程如下:(1)在Keil軟件中使用匯編語言或C語言編寫程序。(2)程序編譯通過后,生成目標(biāo)文件(HEX文件)。(3)使用串口線或USB轉(zhuǎn)串口線連接單片機(jī)硬件電路和計(jì)算機(jī),連接完成后,安裝相應(yīng)的驅(qū)動(dòng)程序。(4)使用下載軟件將目標(biāo)文件寫入單片機(jī)中。(5)運(yùn)行程序。若運(yùn)行結(jié)果未能達(dá)到預(yù)期目標(biāo),可以通過人工檢查、仿真軟件Protues、串口調(diào)試等方法逐一排查錯(cuò)誤并修改程序,然后再重新編譯、下載和運(yùn)行。重復(fù)該過程直至單片機(jī)上的程序能夠完成既定的功能。282.1.1Keil環(huán)境簡介2.1.2串行口的設(shè)置與驅(qū)動(dòng)程序安裝2.1.3STC程序下載軟件29①訪問/,下載KeilμVision4軟件(Keil3或Keil5均可)進(jìn)行安裝,安裝后桌面出現(xiàn)Keil圖標(biāo)。301.啟動(dòng)Keil②為了能夠在創(chuàng)建工程時(shí)選用STC系列芯片,我們需要先對(duì)STC程序下載軟件進(jìn)行配置,以便將該系列芯片添加到Keil中。配置過程如下:在STC提供的下載工具中選擇“Keil仿真設(shè)置”選項(xiàng)卡,單擊按鈕(見圖2-1),打開“瀏覽文件夾”對(duì)話框。。圖2-1添加STC仿真器驅(qū)動(dòng)圖2-2“瀏覽文件夾”對(duì)話框③選擇Keil的安裝目錄“C:\Keil”,單擊“確定”按鈕(見圖2-2),即可將STC系列芯片添加到Keil工程中。31④雙擊桌面上的Keil圖標(biāo),打開工作界面,如圖2-3所示。窗口的頂部為主菜單欄。圖2-3Keil工程界面1.啟動(dòng)Keil⑤Keil菜單簡介File為文件菜單Edit為編輯菜單View菜單為視圖菜單,主要為狀態(tài)欄,工具欄、工程窗口、存儲(chǔ)輸出窗口Project為工程欄,具有創(chuàng)建工程、打開工程等功能Flash欄主要包含F(xiàn)lash的下載、擦除、配置等功能Debug為調(diào)試欄,主要包含斷點(diǎn)設(shè)置、單步運(yùn)行、全速運(yùn)行等功能Peripherals主要在仿真調(diào)試時(shí)使用,用于觀察輸出口及中斷、串行口數(shù)據(jù)傳輸時(shí)相關(guān)寄存器的數(shù)值Tools為工具欄SVCS主要為Keil的版本信息Window主要為窗口欄Help為幫助菜單欄,提供關(guān)于Keil的用法信息321.啟動(dòng)Keil①單擊“Project→NewProject”選項(xiàng),在彈出的對(duì)話框中選擇工程保持路徑及工程名,如圖2-4所示。圖2-4創(chuàng)建一個(gè)Keil工程圖2-5

選擇單片機(jī)型號(hào)為STCMCU332.創(chuàng)建Keil工程②然后單擊“保存”按鈕后出現(xiàn)如圖2-5所示對(duì)話框,單擊其中的下拉菜單按鈕,選擇“STCMCUDatabase”選項(xiàng)。③打開“SelectDeviceforTarget‘Target1’…”對(duì)話框,在對(duì)話框左側(cè)的列表中選擇STC89C52RC芯片,單擊“OK”按鈕,如圖2-6所示。34圖2-6

芯片選擇窗口圖2-7

是否拷貝啟動(dòng)代碼到工程選擇窗口④打開“μVision”對(duì)話框,該對(duì)話框用于選擇是否將啟動(dòng)代碼拷貝到工程中。一般情況下,采用匯編語言編程時(shí)選擇“否”,采用C語言編程時(shí)選擇“是”。此處單擊“否(N)”按鈕,完成Keil工程的創(chuàng)建,如圖2-7所示。2.創(chuàng)建Keil工程圖2-8

文件保存窗口①選擇“File”→“New…”菜單,創(chuàng)建文件,然后單擊工具欄中的“保存”按鈕打開“SaveAs”對(duì)話框,在“文件名”編輯框中輸入“第一個(gè)單片機(jī)例子.asm”,單擊“保存”按鈕,如圖2-8所示。353.創(chuàng)建文件此過程是為了將空白文件保存為指定的匯編格式文件,以便將其添加到工程中。②右擊“Project”工程欄中的“SourceGroup”文件夾,在彈出的快捷菜單中選擇“AddFilestoGroup‘SourceGroup1’”選項(xiàng)(見圖2-9),打開“AddFilestoGroup‘SourceGroup1’”對(duì)話框,在“文件類型”下拉列表中選擇“AsmSourcefile(*.s*;*.src;*.a*)”選項(xiàng),在“名稱”列表中選擇“第一個(gè)單片機(jī)例子.asm”文件,單擊“Add”按鈕,即可將匯編文件添加至工程中,如圖2-10所示。36圖2-9

添加文件到工程欄窗口圖2-10

選擇添加的文件3.創(chuàng)建文件①雙擊工程下的“第一個(gè)單片機(jī)例子.asm”文件,打開程序編輯界面(見圖2-11),在代碼編輯區(qū)輸入程序代碼。圖2-11

輸入程序代碼374.設(shè)置工程代碼編輯區(qū)②程序編輯完成后,先保存文件,然后右擊“Project”工程導(dǎo)航欄中的“Target1”文件夾圖標(biāo),在彈出的快捷菜單中選擇“OptionforTarget‘Target1’...”選項(xiàng)(見圖2-12)。圖2-12工程設(shè)置菜單384.設(shè)置工程圖2-13Target選項(xiàng)卡③此時(shí)打開“OptionforTarget‘Target1’”對(duì)話框,選擇“Target”選項(xiàng)卡,在“Xtal”編輯框內(nèi)輸入開發(fā)板的晶振頻率12.0(此處假定使用的單片機(jī)開發(fā)板晶振頻率為12MHz),如圖2-13所示。④切換到“Output”選項(xiàng)卡,選中“CreatHEXFile”復(fù)選框,單擊“OK”按鈕(見圖2-14)返回Keil工程界面。圖2-14Output選項(xiàng)卡394.設(shè)置工程圖2-15編譯信息輸出窗口⑤單擊Keil快捷工具欄中的第3個(gè)按鈕,即Rebuild按鈕(或選擇“Project”→“Rebuildalltargetfiles”菜單)編譯程序,編譯通過后的輸出信息如圖2-15所示。此時(shí)已經(jīng)創(chuàng)建了一個(gè)名為“第一個(gè)單片機(jī)例子.hex”的HEX文件。。選擇“Debug”→“Start/StopDebugSession”菜單(見圖2-16)進(jìn)入調(diào)試模式,如圖2-17所示。405.調(diào)試運(yùn)行圖2-16調(diào)試命令菜單圖2-17如下頁所示。界面上方左側(cè)的調(diào)試工具欄圖標(biāo)(這些調(diào)試命令在Debug菜單中)是程序調(diào)試時(shí)非常有用的工具,具體見下頁圖。調(diào)試工具欄中的圖標(biāo)依次表示設(shè)置斷點(diǎn)、使斷點(diǎn)生效或失效、關(guān)閉所有斷點(diǎn)及清除所有斷點(diǎn)。界面左側(cè)的樹狀列表顯示了若干寄存器及其狀態(tài)值,例如,寄存器r0~r7,a,b,sp,pc,auxr,dptr,以及psw等。此外,還可以通過此處的sec寄存器觀察到運(yùn)行時(shí)間(單位為秒)。復(fù)位全速運(yùn)行停止單步運(yùn)行不進(jìn)入函數(shù)內(nèi)部運(yùn)行從函數(shù)內(nèi)部跳出運(yùn)行到415.調(diào)試運(yùn)行⑦圖2-17調(diào)試界面若想觀察程序運(yùn)行過程中存儲(chǔ)單元的數(shù)據(jù)情況,可以選擇“View”→“MemoryWindow”→“Memory1”菜單,此時(shí)在工作界面下方會(huì)顯示出程序存儲(chǔ)器觀察窗口,如圖2-18所示。圖2-18

程序存儲(chǔ)器觀察窗口圖2-19觀察內(nèi)部數(shù)據(jù)存儲(chǔ)器中內(nèi)容圖2-20觀察外部數(shù)據(jù)存儲(chǔ)器中內(nèi)容426.存儲(chǔ)器觀察不同類型的存儲(chǔ)器單元需要使用不同的大寫字母加以區(qū)分。觀察程序存儲(chǔ)器內(nèi)容,可以在Address后的編輯框中輸入“C:”,冒號(hào)后緊跟地址單元。例如,輸入“C:0000H”,如圖2-18所示。觀察內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)容,可以在Address后的編輯框中輸入“D:”,冒號(hào)后緊跟地址單元。例如,輸入“D:90H”,如圖2-19所示。觀察外部數(shù)據(jù)存儲(chǔ)器內(nèi)容,可以在Address后的編輯框中輸入“X:”,冒號(hào)后緊跟地址單元。例如,輸入“X:0x1fff”,如圖2-20所示。程序運(yùn)行期間,通過選擇Peripherals菜單中的相關(guān)菜單項(xiàng)(見圖2-21),可以實(shí)時(shí)查看I/O口、串口、中斷和定時(shí)器等信息。

例如,要觀察P1口的狀態(tài),可以選擇“Peripherals”→“I/O-Ports”→“Port1”菜單,此時(shí)系統(tǒng)將打開“ParallelPort1”對(duì)話框,其中顯示了P1口各個(gè)引腳的值,如圖2-22所示。圖2-21

Peripherals菜單437.輸入輸出窗口觀察圖2-22顯示P1口數(shù)值情況

如要將程序下載到單片機(jī)中,通常采用串行口,在早期的電腦主板上有串行口,可以直接與開發(fā)板相連進(jìn)行下載,但是現(xiàn)在大部分編程人員采用的筆記本電腦都沒有串行口,要解決用串口下載程序到單片機(jī)的問題,通??梢赃x擇USB轉(zhuǎn)串行口線,該下載線內(nèi)部集成了USB與串行口數(shù)據(jù)轉(zhuǎn)換芯片,如圖2-23所示。USB轉(zhuǎn)串口線屬于一種硬件設(shè)備,需要安裝好驅(qū)動(dòng)程序才能正常工作,目前這類設(shè)備的商家大多會(huì)在線發(fā)送驅(qū)動(dòng)文件給用戶,用戶可以直接點(diǎn)擊“下一步”即可完成安裝,用戶也可以通過“魯大師”或“驅(qū)動(dòng)精靈”檢測硬件更新情況,然后選擇列表中對(duì)應(yīng)的驅(qū)動(dòng),一般該類設(shè)備的驅(qū)動(dòng)會(huì)出現(xiàn)“Usb-Serial”字樣,直接選擇“安裝”即可。圖2-23

USB轉(zhuǎn)串口線44

在進(jìn)行單片機(jī)程序下載過程中,經(jīng)常會(huì)出現(xiàn)下載軟件的串口與電腦設(shè)備管理器中的串口不一致的情況,從而導(dǎo)致程序無法下載進(jìn)去,此時(shí),用戶可以通過以下步驟進(jìn)行設(shè)置(以電腦操作系統(tǒng)是Win7旗艦版為例):右擊桌面上“我的電腦”圖標(biāo),在彈出的快捷菜單中選擇“屬性”選項(xiàng),進(jìn)入控制面板主頁界面,如圖2-24所示(下圖)。執(zhí)行“設(shè)備管理器”命令,進(jìn)入設(shè)備管理器界面。單擊界面中“端口”左側(cè)的三角形,展開端口列表,如圖2-25所示(下圖)。查看含有“USB-SERIAL××(COM××)”字樣的端口,確定電腦當(dāng)前所使用的串口號(hào)。例如,圖2-25中顯示當(dāng)前串口是COM4。查看(3)中的串口號(hào)與STC下載軟件中的串口號(hào)(見圖2-26)是否一致。如果二者一致,即可正確下載程序到單片機(jī)上;如不一致則返回(3),并完成電腦串口的更改。操作如下:將鼠標(biāo)放置在當(dāng)前“USB-SERIAL××(COM××)”上,右擊打開“屬性”對(duì)話框,單擊“端口設(shè)置”頁中的“高級(jí)”按鈕,在“COM端口號(hào)”下拉列表中選擇合適的端口,使其與STC下載軟件中的串口號(hào)保持一致。。45生成HEX文件并設(shè)置好串口之后,就可以將程序下載到STC單片機(jī)中了。訪問/,下載STC-ISP軟件。打開該軟件時(shí),軟件會(huì)自動(dòng)將驅(qū)動(dòng)文件復(fù)制到相關(guān)的系統(tǒng)目錄中,其界面如圖2-26所示。圖2-26

STC程序下載軟件界面46該軟件的操作步驟如下:①選擇單片機(jī)型號(hào)。在“單片機(jī)型號(hào)”的下拉列表中選擇STC89C52RC/LE52RC芯片。②選擇串口。若已經(jīng)連接好USB轉(zhuǎn)串口線,單擊“掃描”按鈕會(huì)自動(dòng)出現(xiàn)已連接的串口。如未出現(xiàn),則需要更改串口號(hào)(更改方法見2.1.2節(jié)),再重新掃描即可。

③單擊“打開程序文件”按鈕,選擇要加載的HEX文件。

④單擊左下方的“下載/編程”按鈕(在單擊該按鈕之前確保單片機(jī)未上電,因?yàn)樵搯?dòng)方式屬于冷啟動(dòng)),等待一段時(shí)間。

⑤給單片機(jī)上電,此時(shí),在窗口的右下方出現(xiàn)下載進(jìn)度條,下載完成后,即可在單片機(jī)上運(yùn)行程序了。47482.2.1Protues電路仿真軟件簡介2.2.2Protues創(chuàng)建實(shí)例49Proteus軟件是英國LabCenterElectronics公司出版的EDA工具軟件。

Proteus是將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)。

它可以完成原理圖布圖、代碼調(diào)試及單片機(jī)與外圍電路的協(xié)同仿真,還可以一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)從概念到產(chǎn)品的完整設(shè)計(jì)。50該軟件的處理器模型支持8051,HC11,PIC10/12/16/18/24/30/DsPIC33,AVR,ARM,8086和MSP430等處理器,2010年又增加了Cortex和DSP系列處理器。隨著芯片的不斷發(fā)展,它也在不斷增加其他系列的處理器模型。在編譯方面,它支持IAR、Keil和MPLAB等多種編譯器。Protues軟件的最新版本可以從/網(wǎng)站下載,下面以單片機(jī)控制流水燈為例說明Protues8的使用方法。51安裝Protues8軟件后,雙擊圖標(biāo)打開軟件,初始界面如圖2-27所示。圖2-27

Protues8啟動(dòng)界面File為該軟件的相應(yīng)操作欄,與大多數(shù)軟件功能類似System為該軟件的相應(yīng)設(shè)置Help為該軟件相應(yīng)的幫助欄52

第一步:選擇“File”→“NewProject”菜單,打開“NewProjectWizards:Start”對(duì)話框,在“Name”編輯框輸入工程名“單片機(jī)流水燈仿真實(shí)例.pdsprj”;在“Path”編輯框輸入工程的保存路徑(也可以通過“Browse”按鈕選擇保存路徑),這里路徑設(shè)定為桌面上名為“Protues單片機(jī)流水燈仿真實(shí)例”的空文件夾;工程類型設(shè)置區(qū)選擇“NewProject”單選鈕,單擊“Next”按鈕,如圖2-28所示。圖2-28創(chuàng)建工程窗口——工程命名與路徑保存53

第二步:打開“NewProjectWizards:SchematicDesign”對(duì)話框,選擇“Createaschematic

fromtheselectedtemplate”單選鈕,在“DesignTemplate”列表中選擇“DEFAULT”選項(xiàng),它表示創(chuàng)建一個(gè)默認(rèn)的原理圖模板,然后單擊“Next”按鈕,如圖2-29所示。圖2-29原理圖模板選擇窗口54

第三步:打開“NewProjectWizards:PCBLayout”對(duì)話框,選擇是否創(chuàng)建一個(gè)PCB

設(shè)計(jì)圖。本例只需創(chuàng)建一個(gè)單片機(jī)的仿真原理圖,不需要?jiǎng)?chuàng)建PCB,故選擇“DonotcreateaPCBlayout”單選鈕。單擊“Next”按鈕,如圖2-30所示。圖2-30PCB模板選擇窗口55

第四步:打開“NewProjectWizards:Firmware”對(duì)話框,選擇“CreateFirmwareProject”

單選鈕,表示創(chuàng)建一個(gè)單片機(jī)工程。在“Family”下拉列表中選擇單片機(jī)類型為“8051”;在“Contoller”下拉列表中選擇單片機(jī)子類為“80C51”;在“Compiler”下拉列表中選擇編譯軟件為“Keilfor8051(notconfigured)”,單擊“Next”按鈕,如圖2-31所示。圖2-31選擇是否創(chuàng)建一個(gè)單片機(jī)工程56

第五步:打開下一個(gè)對(duì)話框后,單擊“Finish”按鈕進(jìn)入原理圖繪制界面,單擊左側(cè)導(dǎo)航欄中的“P”按鈕,如圖2-32所示。圖2-32

Protues單片機(jī)原理圖繪制界面57仿真運(yùn)行按鈕

第六步:打開“PickDevices”對(duì)話框,在“Keywords”編輯框中輸入關(guān)鍵詞“LED”,對(duì)話框中部將出現(xiàn)關(guān)于LED的搜索結(jié)果,選擇“LED-RED”選項(xiàng),右側(cè)上方即可出現(xiàn)該器件的預(yù)覽圖,單擊“OK”按鈕,如圖2-33所示。圖2-33選擇元器件對(duì)話框58

第七步:使用步驟6中同樣的方法在Keywords編輯框中分別輸入關(guān)鍵詞“CRYSTAL”“CAP”“RES”,選擇相應(yīng)的晶振、電容和電阻。添加完元器件后,修改各元器件參數(shù),并按圖連接各元器件,如圖2-34所示。圖2-34基于單片機(jī)的LED流水燈原理圖59

第八步:雙擊原理圖中的80C51芯片,打開“EditComponent”對(duì)話框。單擊“ProgramFile”右側(cè)的文件夾按鈕,選擇需要導(dǎo)入的HEX文件(此處借助本章2.1.1節(jié)生成的HEX文件進(jìn)行導(dǎo)入),單擊“OK”按鈕,如圖2-35所示。圖2-35導(dǎo)入HEX文件60

第九步:返回原理圖界面,單擊仿真運(yùn)行按鈕(見圖2-32),即可進(jìn)行單片機(jī)控制流水燈的仿真,仿真效果如圖2-36所示。圖2-36流水燈從上到下依次點(diǎn)亮的仿真界面61進(jìn)入仿真狀態(tài)后,我們可以看到,D1~D8流水燈元器件中會(huì)交替出現(xiàn)亮、滅兩種顯示效果。622.3.1串口調(diào)試助手2.3.2單片機(jī)編程小精靈2.3.3數(shù)碼管代碼生成工具2.3.4點(diǎn)陣數(shù)據(jù)生成工具2.3.5液晶漢字模提取軟件LcmLimo2.3.6簡譜譜寫工具M(jìn)usicEncode63在單片機(jī)的編程和調(diào)試過程中,串口的使用比較頻繁。讀者可以使用STC下載軟件自帶的調(diào)試功能查看串口數(shù)據(jù),也可以使用串口調(diào)試助手進(jìn)行查看,如圖2-37所示。

該軟件可設(shè)置串口、比特率、校驗(yàn)位、數(shù)據(jù)位及停止位,同時(shí)具有自動(dòng)發(fā)送和十六進(jìn)制發(fā)送功能。單擊“保存顯示數(shù)據(jù)”按鈕還可以保存串口接收到的數(shù)據(jù)。它是通信測試中的有力工具。圖2-37

串口調(diào)試助手64單片機(jī)技術(shù)已經(jīng)比較成熟,某些簡單功能的編寫可以使用現(xiàn)成的代碼,如延時(shí)函數(shù)的編寫、定時(shí)器/計(jì)數(shù)器的設(shè)定、串口比特率和中斷/控制字的設(shè)置等。有不少單片機(jī)編程工具已經(jīng)集成了上述功能,只要填上對(duì)應(yīng)的參數(shù)就可以自動(dòng)生成相應(yīng)的程序。這里介紹一款可以實(shí)現(xiàn)此功能的軟件——單片機(jī)編程小精靈,其界面如圖2-38所示。以生成延時(shí)子函數(shù)為例,在軟件中填寫單片機(jī)的晶振和延時(shí)時(shí)間,選擇需要生成的代碼類型,單擊“計(jì)算”按鈕即可生成延時(shí)子函數(shù)代碼。圖2-38

單片機(jī)編程小精靈界面65單片機(jī)的顯示器件中,數(shù)碼管的使用也是十分常見的。目前,已經(jīng)有不少自動(dòng)生成數(shù)碼管啟動(dòng)代碼的工具,LED段碼數(shù)據(jù)生成軟件就是其中的一款,其界面如圖2-39所示。在這類軟件中,可以選擇數(shù)碼管的類型(共陰極或者共陽極)和生成的代碼類型,單擊“自動(dòng)”按鈕即可生成相應(yīng)的啟動(dòng)代碼,復(fù)制到程序中就可以直接使用,非常方便。圖2-39

LED段碼數(shù)據(jù)生成軟件界面66點(diǎn)陣也是常用的屏幕顯示工具。字模提取軟件可以按照“文字輸入?yún)^(qū)”中輸入的漢字和字符生成圖像及點(diǎn)陣代碼,還可以模擬動(dòng)畫等,其界面如圖2-40所示。圖2-40

點(diǎn)陣代碼生成工具界面67液晶字模提取軟件能夠?qū)⑤斎氲臐h字或字符(見圖2-41)生成相應(yīng)的代碼(見圖2-42),使用LCD1602或LCD12864液晶屏幕可以將這些代碼再轉(zhuǎn)換成漢字顯示出來。圖2-41液晶漢字模提取軟件LcmZimo參數(shù)設(shè)置與數(shù)據(jù)輸入界面圖2-42

液晶漢字模提取軟件LcmZimo代碼生成界面68利用單片機(jī)可以制作電子音樂播放器,選擇一款比較好的譜曲工具關(guān)系到編程的效率。MusicEncode工具在譜曲轉(zhuǎn)換方面有獨(dú)到之處。例如,將樂曲“小蘋果”的開頭曲譜寫成C語言代碼(見圖2-43),對(duì)照樂譜,從右側(cè)選擇相應(yīng)的音符,左上方就會(huì)出現(xiàn)對(duì)應(yīng)的樂譜符號(hào),單擊“開始轉(zhuǎn)換”按鈕,即可將音符轉(zhuǎn)換成C語言數(shù)組。圖2-43

MusicEncode譜曲工具697273在單片機(jī)出現(xiàn)之前,電腦的功能部件(如CPU、內(nèi)存、I/O接口等)大都安裝在一塊主板上,通常將這樣的主板稱為單板機(jī)。

隨著工業(yè)應(yīng)用的不斷深入,要求在一塊芯片上集成上述多種功能,于是,單片機(jī)應(yīng)運(yùn)而生了。單板機(jī)與單片機(jī)的主要結(jié)構(gòu)如圖3-1所示。

單片機(jī)是指在一塊芯片內(nèi)部集成了中央處理器、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器和I/O接口電路等計(jì)算機(jī)中的主要功能部件的微型計(jì)算機(jī),也稱為微控制器。單片機(jī)具有功能強(qiáng)大、價(jià)格低廉、抗干擾能力強(qiáng)等優(yōu)點(diǎn),在單片機(jī)的外圍配置合適的器件就可以組成各具特色的應(yīng)用系統(tǒng)。因此,它被廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、國防、科研及日常生活當(dāng)中。圖3-1單板機(jī)與單片機(jī)(a)單板機(jī)(b)單片機(jī)743.1.1單片機(jī)的發(fā)展歷程3.1.2單片機(jī)的發(fā)展趨勢75第一個(gè)單片機(jī)出現(xiàn)在1974年,它是由美國的FairChild公司研制出來的。單片機(jī)的發(fā)展經(jīng)歷了4位機(jī)、8位機(jī)、16位機(jī)和32位機(jī)幾個(gè)階段。76①第一代單片機(jī)(1974—1976年):該時(shí)期為單片機(jī)的起步階段。此時(shí)的單片機(jī)主要為4位機(jī),典型的代表產(chǎn)品是Intel公司的4位單片機(jī)4004,主要應(yīng)用于家用電器領(lǐng)域。77②

第二代單片機(jī)(1976—1978年):該時(shí)期為單片機(jī)的發(fā)展階段。這個(gè)時(shí)期生產(chǎn)的單片機(jī)主要為中低檔的8位單片機(jī),片內(nèi)集成了CPU、I/O接口電路、定時(shí)器和ROM程序存儲(chǔ)器等,這一階段的8位機(jī)存儲(chǔ)容量小、性能低,目前已經(jīng)很少使用。當(dāng)時(shí)的主流產(chǎn)品是MCS-48系列單片機(jī)。78③

第三代單片機(jī)(1979—1982年):這一代單片機(jī)的存儲(chǔ)容量和尋址范圍都有較大的提升,片內(nèi)不僅增加了中斷源、并行I/O口和定時(shí)/計(jì)數(shù)器,還集成了全雙工串行通信接口電路。當(dāng)時(shí)的主流型號(hào)為MCS-51系列單片機(jī)。79④

第四代單片機(jī)(1982—1990年):這是16位單片機(jī)和8位高性能單片機(jī)并行發(fā)展的時(shí)代。16位單片機(jī)的功能比8位單片機(jī)功能更加強(qiáng)大,該時(shí)期的主流型號(hào)為MCS-96系列單片機(jī)。我國對(duì)單片機(jī)的研究主要從第四代單片機(jī)開始。全國首屆單片機(jī)開發(fā)與應(yīng)用交流會(huì)于1986年在上海召開,單片機(jī)在其后的短短五年時(shí)間里發(fā)展極為迅速,那是關(guān)于單片機(jī)的第一次研究高潮。80⑤

第五代單片機(jī)(1990年至今):微控制器的全面發(fā)展階段。隨著單片機(jī)在各個(gè)領(lǐng)域全面而深入的應(yīng)用,這個(gè)時(shí)期出現(xiàn)了高速、大尋址范圍、強(qiáng)運(yùn)算能力的8位/16位/32位通用型單片機(jī),如32位的ARM系列處理器和用于智能電子玩具的小型廉價(jià)單片機(jī)等。81在要求單片機(jī)性能提高的同時(shí),人們還要求單片機(jī)的功耗越來越低。MCS-51系列的8031單片機(jī)在推出時(shí)功耗高達(dá)630mW,而現(xiàn)在的單片機(jī)功耗普遍都在100mW左右。現(xiàn)在的單片機(jī)制造商基本都采用了CMOS工藝(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。例如,80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS工藝(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)以降低功耗。CHMOS同時(shí)具備了高速和低功耗的特點(diǎn),這些特征使其更適合電池供電的低功耗應(yīng)用場合。所以,這種工藝將是今后一段時(shí)期內(nèi)單片機(jī)工藝發(fā)展的主要方向。1.低功耗化82常規(guī)的單片機(jī)都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口、中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路等功能集成在一塊芯片上。增強(qiáng)型的單片機(jī)還集成了如A/D轉(zhuǎn)換器、PWM(脈寬調(diào)制電路)、WDT(看門狗)等功能,單片機(jī)廠商甚至可以根據(jù)用戶的要求量身定做單片機(jī)。例如,有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路集成在芯片上。越來越多的功能集成在一塊芯片上使單片機(jī)具有強(qiáng)大的擴(kuò)展和控制能力?,F(xiàn)在的產(chǎn)品普遍要求體積小、重量輕、功能強(qiáng),這就要求單片機(jī)除了功能強(qiáng)、功耗低以外,還要求其體積要小。當(dāng)前單片機(jī)的SMD封裝(見圖3-2)越來越受歡迎,它同時(shí)滿足了功能強(qiáng)、體積小的要求,使得單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。2.微型單片化83圖3-2微型化的ARM芯片目前的單片機(jī)雖然品種繁多,但以8051為核心的單片機(jī)仍占市場主導(dǎo)地位,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司生產(chǎn)的單片機(jī)、ATMEL公司的單片機(jī)以及中國臺(tái)灣的Winbond系列單片機(jī)。MICROCHIP公司的PIC單片機(jī)也有著強(qiáng)勁的發(fā)展勢頭。中國臺(tái)灣的HOLTEK公司近年的單片機(jī)產(chǎn)量與日俱增,它憑借價(jià)低質(zhì)優(yōu)的特點(diǎn)占據(jù)了一定的市場份額。此外,還有MOTOROLA公司、日本幾家大公司生產(chǎn)的單片機(jī)都活躍在單片機(jī)市場上。在一定時(shí)期內(nèi),這種多產(chǎn)品共存的情形將繼續(xù)保持。單片機(jī)的發(fā)展走的是依存互補(bǔ)、共同發(fā)展的道路,不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面。3.主流產(chǎn)品與多品種共存84853.2.1典型產(chǎn)品簡介3.2.2STC單片機(jī)86單片機(jī)與通用計(jì)算機(jī)的發(fā)展不同,通用計(jì)算機(jī)追求的是多功能化,而單片機(jī)追求的是專用性,量體裁衣地滿足應(yīng)用需求才是單片機(jī)發(fā)展的目的。因此,市場上各類單片機(jī)可以在不同的應(yīng)用場合大展身手。87

STC系列單片機(jī)是由深圳宏晶科技公司研發(fā)的。該系列單片機(jī)完全兼容MCS-51單片機(jī),其主流型號(hào)包括STC89系列、STC90系列、STC12系列、STC60系列、STC11系列、IAP12系列,以及STC15系列單片機(jī)等。在這些系列中,有些單片機(jī)內(nèi)部集成了常用功能模塊(如定時(shí)器、串行口、中斷、I/O口等),還有些單片機(jī)集成了ADC、PCA/PWM/CCP/DAC、SPI、看門狗、內(nèi)部復(fù)位、掉電喚醒專用定時(shí)器等功能模塊。STC系列單片機(jī)在工業(yè)測控領(lǐng)域有大量的應(yīng)用,它是開發(fā)人員必須掌握的一款單片機(jī)。1.STC系列單片機(jī)88

MICROCHIP是全球領(lǐng)先的單片機(jī)和模擬半導(dǎo)體供應(yīng)商,它于2016年收購了ATMEL(該公司生產(chǎn)的主流單片機(jī)是AT89C51)。其主要產(chǎn)品是16C系列8位單片機(jī),該系列單片機(jī)的CPU采用RISC(精簡指令集)結(jié)構(gòu),僅33條指令,運(yùn)行速度快,且以低價(jià)位著稱,一般單片機(jī)價(jià)格都在一美元以下。該公司生產(chǎn)的PIC單片機(jī)的突出特點(diǎn)是體積小、功耗低、可靠性高以及抗干擾性能好,且大部分芯片都有其兼容的FLASH程序存儲(chǔ)器。2.MICROCHIP公司單片機(jī)89PHILIPS公司的單片機(jī)是基于8051內(nèi)核的單片機(jī),其內(nèi)部嵌入了掉電檢測、片內(nèi)RC振蕩器等功能,這使51LPC系列單片機(jī)在高集成度、低成本、低功耗的應(yīng)用設(shè)計(jì)中可以滿足多方面的性能要求。2006年末,從飛利浦公司獨(dú)立出來的半導(dǎo)體公司NXP(恩智浦),目前主要提供各種半導(dǎo)體產(chǎn)品與軟件,其生產(chǎn)的32位單片機(jī)為移動(dòng)通信、消費(fèi)類電子、非接觸式付費(fèi)與連線以及車內(nèi)娛樂等產(chǎn)品帶來了更優(yōu)質(zhì)的感知體驗(yàn)。3.

PHLIPIS51LPC系列單片機(jī)90德州儀器提供了TMS370和MSP430兩大系列通用單片機(jī)。TMS370系列單片機(jī)是8位CMOS單片機(jī),具有多種存儲(chǔ)模式和多種外圍接口,適用于復(fù)雜的實(shí)時(shí)控制場合。MSP430系列單片機(jī)是一種超低功耗、功能集成度較高的16位單片機(jī),它又被稱為混合信號(hào)處理器。它將多個(gè)不同功能的模擬電路、數(shù)字電路和微處理器集成在一個(gè)芯片上,以提供滿足實(shí)際應(yīng)用需求的單片機(jī)解決方案。該系列單片機(jī)多用于低功耗場合,如需要電池供電的便攜式儀器儀表等。4.

TI公司單片機(jī)91凌陽單片機(jī)主要用于需要處理大量數(shù)字信號(hào)的場合。凌陽單片機(jī)的種類比較多,按照CPU的類型和數(shù)據(jù)總線的位數(shù)基本可以分為8位機(jī)和16位機(jī)系列。8位機(jī)主要用于高級(jí)電子玩具、各種檔次的電子琴、玩具、計(jì)算器、語音識(shí)別數(shù)據(jù)庫系統(tǒng)、游戲機(jī)、嵌入式計(jì)算機(jī)系統(tǒng)等。凌陽16位單片機(jī)的CPU內(nèi)核是凌陽推出的μ’nSPTM16位微處理器芯片,它是構(gòu)成SPCE系列單片機(jī)的基礎(chǔ)。SPCE系列單片機(jī)的數(shù)據(jù)總線被增至16位,大大提高了數(shù)據(jù)的訪問速度,除此之外,它還被賦予了數(shù)字信號(hào)處理(DSP)功能。5.凌陽單片機(jī)92飛思卡爾半導(dǎo)體(FreescaleSemiconductor)是全球領(lǐng)先的半導(dǎo)體公司,飛思卡爾的產(chǎn)品主要面向汽車、網(wǎng)絡(luò)、工業(yè)和消費(fèi)電子市場,它的主要應(yīng)用包括汽車安全、混合動(dòng)力和全電動(dòng)汽車、下一代無線基礎(chǔ)設(shè)施、智能能源管理、便攜式醫(yī)療器件、消費(fèi)電子、工業(yè)、醫(yī)療保健等。其產(chǎn)品范圍包括8位微控制器、16位微控制器、32位ARMCortex-M架構(gòu)微控制器Kinetis系列、ARMCortex-A架構(gòu)i.MX系列處理器、PowerArchitecture?/PowerQUICC?、高性能網(wǎng)絡(luò)處理器、高性能多媒體處理器、高性能工業(yè)控制處理器、CodeWarrior?開發(fā)工具、數(shù)字信號(hào)處理器與控制器、電源管理、RF射頻功率放大器、高性能線性功率放大器GPA、音視頻家電射頻多媒體處理器、傳感器等。6.飛思卡爾單片機(jī)93

RENESAS是2003年4月1日由日立制作所半導(dǎo)體部門和三菱電機(jī)半導(dǎo)體部門合并成立的。它是制造嵌入式半導(dǎo)體的全球領(lǐng)先供應(yīng)商,也是世界第六大半導(dǎo)體制造商。RENESAS結(jié)合了日立與三菱在半導(dǎo)體方面的先進(jìn)技術(shù)和豐富經(jīng)驗(yàn),其產(chǎn)品遍布無線網(wǎng)絡(luò)、汽車、消費(fèi)與工業(yè)市場設(shè)計(jì)等領(lǐng)域。7.瑞薩單片機(jī)94飛思卡爾公司協(xié)辦了全國大學(xué)生“飛思卡爾”杯智能汽車競賽。該競賽得到了教育部相關(guān)領(lǐng)導(dǎo)、飛思卡爾公司領(lǐng)導(dǎo)及各高校師生的高度認(rèn)可。目前,它已發(fā)展成全國30個(gè)省市自治區(qū)、近300所高校廣泛參與的全國大學(xué)生智能汽車競賽。2008年,該競賽被教育部列為國家教學(xué)質(zhì)量與教學(xué)改革工程資助項(xiàng)目中的科技人文競賽之一。三星電子于1992年8月在中國惠州投資建立了三星電子有限公司(SEHZ)。此后,三星電子不斷加大在中國的投資與合作,截止到2017年底,在華累計(jì)投資額已達(dá)312億美元,成為對(duì)中國投資最大的韓國企業(yè)。目前,三星公司生產(chǎn)的32位ARM微處理器主流產(chǎn)品型號(hào)有S3C2410、S3C2440等。8.三星公司單片機(jī)

ST公司旗下的微控制器從8位到32位都有。8位的STM8系列單片機(jī)和32位的STM32ARMCortexM微控制器均具有強(qiáng)大的功能,它們通常用于LCD控制器、馬達(dá)控制定時(shí)器、防篡改保護(hù)、嵌入式EEPROM、DMA矩陣和針對(duì)電池供電的低功耗模式等場合。9.ST公司單片機(jī)95STC系列單片機(jī)的典型型號(hào)為STC89系列單片機(jī)。以STC89C52RC單片機(jī)為例,它內(nèi)部自帶8K程序存儲(chǔ)器和512字節(jié)數(shù)據(jù)存儲(chǔ)器,同時(shí)集成了4KB的EEPROM;芯片內(nèi)部還包含3個(gè)定時(shí)器、1個(gè)異步串行口、4個(gè)并行I/O口、1個(gè)看門狗定時(shí)器、4路外部中斷和一個(gè)專用復(fù)位電路模塊,其內(nèi)部結(jié)構(gòu)如圖3-3所示。96圖3-3STC單片機(jī)內(nèi)部結(jié)構(gòu)97

(1)工作頻率范圍為0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz。(2)通用I/O口有32個(gè)。復(fù)位后,P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,用作擴(kuò)展的總線時(shí)不用加上拉電阻,用作I/O口時(shí)需加上拉電阻。(3)具有ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程)的特性,無須專用編程器和仿真器,可通過串口(RXD/P3.0,TXD/P3.1)直接下載用戶程序,數(shù)秒即可完成。1.

STC89C52RC單片機(jī)的主要特點(diǎn)98正常工作模式:典型功耗為4mA~7mA??臻e模式:典型功耗為2mA。掉電模式:典型功耗<0.1μA。該模式使單片機(jī)適用于水表、氣表等電池供電系統(tǒng)及便攜式設(shè)備。2.

STC89C52RC單片機(jī)的功耗99STC89系列單片機(jī)命名規(guī)則如圖3-4(下頁圖)所示。例如,STC89C52RC40I-PDIP40單片機(jī)表示的含義是:該芯片是基于8051內(nèi)核的,其指令周期為12個(gè)時(shí)鐘周期或6個(gè)時(shí)鐘周期;工作電壓為3.8V~5.5V;程序存儲(chǔ)空間為8K字節(jié),RAM大小為512字節(jié);外部晶振最高可接入40MHz,芯片使用溫度范圍為?40℃~+85℃,封裝為雙列直插式。3.

STC89系列單片機(jī)命名規(guī)則100圖3-4STC公司單片機(jī)各字段含義101STC89××RC/RD+系列單片機(jī)內(nèi)部包含了若干功能模塊,CPU是如何驅(qū)動(dòng)這些模塊正常工作的呢?單片機(jī)在存儲(chǔ)空間開辟了一些獨(dú)立的存儲(chǔ)單元,這些被稱為特殊功能寄存的獨(dú)立存儲(chǔ)單元可以完成對(duì)各功能模塊的設(shè)置、監(jiān)測及控制,CPU就是通過特殊功能寄存器來完成各種復(fù)雜場合下的精準(zhǔn)操作。特殊功能寄存器(SFR)位于單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū)的高128字節(jié)(80H~FFH單元)區(qū)域,各寄存器地址及含義如表3-1(下頁)所示。4.

STC89××RC/RD+系列單片機(jī)的特殊功能寄存器102表3-1特殊功能寄存器地址及各位情況寄存器

符號(hào)地址寄存器名稱76543210復(fù)位值P080H8位P0口P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.01111,1111SP81H堆棧指針0000,0111DPL82H數(shù)據(jù)指針低位0000,0000DPH83H數(shù)據(jù)指針高位0000,0000PCON87H電源控制器SMODSMOD0-P0FGF1GF0PDIDL00x1,0000TCON88H定時(shí)/計(jì)數(shù)器T0和T1控制器TF1TR1TF0TR0IE1IT1IE0IT00000,0000TMOD89H定時(shí)/計(jì)數(shù)器工作模式寄存器GATEC/T#M1M0GATEC/T#M1M00000,0000TL08AH定時(shí)/計(jì)數(shù)器0低字節(jié)0000,0000TL18BH定時(shí)/計(jì)數(shù)器1

低字節(jié)0000,0000103表3-1特殊功能寄存器地址及各位情況(續(xù))寄存器

符號(hào)地址寄存器名稱76543210復(fù)位值TH08CH定時(shí)/計(jì)數(shù)器0高字節(jié)0000,0000TH18DH定時(shí)/計(jì)數(shù)器1

高字節(jié)0000,0000AUXR8EH輔助寄存器0------EXTRAMALE0FFxxxx,xx00P190H8位P1口P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01111,1111SCON98H串行口控制器SM0SM1SM2RENTB8RB8TIRI0000,0000SBUF99H串行口

數(shù)據(jù)緩沖器xxxx,xxxxP2A0H8位P2口P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01111,1111AUXR1A2H輔助寄存器1----GF2--DPSxxxx,0xx0IEA8H中斷使能EA-ET2ESET1EX1ET0EX00000,0000SADDRA9H從地址0000,0000P3B0H8位P3口P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.01111,1111104表3-1特殊功能寄存器地址及各位情況(續(xù))寄存器

符號(hào)地址寄存器名稱76543210復(fù)位值IPHB7H中斷優(yōu)先級(jí)

高位PX3HPX2HPT2HPSHPT1HPX1HPT0HPX0H0000,0000IPB8H中斷優(yōu)先級(jí)

低位--PT2PSPT1PX1PT0PX0xx00,0000SADENB9H從地址0000,0000X1CONC0HAUXL中斷

控制器PX3EX3IE3IT3PX2EX2IE2IT20000,0000T2CONC8H定時(shí)/計(jì)數(shù)器T2控制器TF2EXF2RCLKTCLKEXEN2TR2C/T2#CP/RL2#0000,0000T2MODC9H定時(shí)/計(jì)數(shù)器2

模式------T20EDCENxxxx,xx00RCAP2LCAH定時(shí)/計(jì)數(shù)器2

重裝/捕獲低位0000,0000RCAP2HCBH定時(shí)/計(jì)數(shù)器2

重裝/捕獲高位0000,0000105表3-1特殊功能寄存器地址及各位情況(續(xù))寄存器

符號(hào)地址寄存器名稱76543210復(fù)位值TL2CCH定時(shí)/計(jì)數(shù)器2

低位0000,0000TH2CDH定時(shí)/計(jì)數(shù)器2

低位0000,0000PSWD0H程序狀態(tài)字

寄存器CYACF0RS1RS0OVF1P0000,0000ACCE0H累加器0000,0000WDT_

CONTRE1H看門狗定時(shí)--EN_WDTCLR_WDTIDLE_WDTPS2PS1PS0xx00,0000P4E8H4位P4口----P4.3P4.2P4.1P4.0xxxx,1111BF0HB寄存器0000,00001063.3.1進(jìn)位計(jì)數(shù)制及其各進(jìn)制之間的轉(zhuǎn)換3.3.2二進(jìn)制運(yùn)算3.3.3帶符號(hào)數(shù)的表示方法107進(jìn)位計(jì)數(shù)制是按進(jìn)位原則進(jìn)行計(jì)數(shù)的方法。(1)十進(jìn)制①有10個(gè)不同的數(shù)字符號(hào)(0,1,2,3,4,5,6,7,8,9)②低位向高位進(jìn)位的規(guī)律是“逢十進(jìn)一”。如:879=800+70+9=8×102+7×101+9×100其中:上式中的10稱為十進(jìn)制的基數(shù),102、101、100稱為各數(shù)位的權(quán)。(2)二進(jìn)制①二進(jìn)制數(shù)有2個(gè)不同的數(shù)碼:0,1。②二進(jìn)制數(shù)逢二進(jìn)一。(1101.1011)2=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4其中:2稱為二進(jìn)制的基數(shù),23、22、21、20、2-1、2-2、2-3、2-4稱為各數(shù)位的權(quán)。1081.進(jìn)位計(jì)數(shù)制進(jìn)位計(jì)數(shù)制是按進(jìn)位原則進(jìn)行計(jì)數(shù)的方法。(3)八進(jìn)制①8進(jìn)制數(shù)有8個(gè)不同的數(shù)碼:(0,1,2,3,4,5,6,7)②8進(jìn)制數(shù)逢八進(jìn)一。(678)8=6×82+7×81+8×80其中:8稱為八進(jìn)制的基數(shù),82,81,80稱為各數(shù)位的權(quán)。(4)十六進(jìn)制數(shù)①16進(jìn)制數(shù)有16個(gè)不同的數(shù)碼:(0,1,2,3,…,7,8,9,A,B,C,D,E,F(xiàn))②16進(jìn)制數(shù)逢16進(jìn)一。(2AB.1C)16=2×162+A×161+B×160+1×16-1+C×16-2其中:16稱為16進(jìn)制的基數(shù),162,161,160,16-1,16-2。109(1)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制十進(jìn)制是人們比較習(xí)慣的計(jì)數(shù)方式,十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)采用的是“除2取余”法。

例如,將整數(shù)79轉(zhuǎn)換成二進(jìn)制數(shù),轉(zhuǎn)換過程是先將數(shù)字79除以2,得出余數(shù)1,用得到的商再除以2,得出余數(shù)1,然后再用商繼續(xù)除以2……直至商為0;這時(shí),將得到的余數(shù)按逆序排列,即可得出79的二進(jìn)制序列(1001111)2,如圖3-5所示。

十進(jìn)制小數(shù)的轉(zhuǎn)換方法這里不再詳細(xì)描述,請(qǐng)讀者自行查閱相關(guān)資料。1102.各進(jìn)制之間的轉(zhuǎn)換圖3-5十進(jìn)制轉(zhuǎn)二進(jìn)制(2)二進(jìn)制轉(zhuǎn)換為十進(jìn)制

方法是:將二進(jìn)制各數(shù)位的數(shù)值乘以對(duì)應(yīng)的權(quán),得到的結(jié)果就是對(duì)應(yīng)的十進(jìn)制數(shù)。例如:(110.01)2=1×22+1×21+0×20+0×2?1+1×2?2=6.25(3)二進(jìn)制轉(zhuǎn)換為十六進(jìn)制由于二進(jìn)制數(shù)中的0000~1111正好對(duì)應(yīng)到十六進(jìn)制數(shù)中的各個(gè)位,所以其轉(zhuǎn)化方法是將二進(jìn)制數(shù)以小數(shù)點(diǎn)分隔,每4位劃分為一組,不足4位的部分向前或向后補(bǔ)0,然后將劃分好的4位二進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的十六進(jìn)制數(shù)。例如:(1101110.101)2=(01101110.1010)2=(6E.A)16111112十進(jìn)制、二進(jìn)制和十六進(jìn)制之間的對(duì)應(yīng)關(guān)系如表3-2所示。表3-2各進(jìn)制之間的對(duì)應(yīng)關(guān)系十進(jìn)制數(shù)4位二進(jìn)制數(shù)十六進(jìn)制數(shù)十進(jìn)制數(shù)4位二進(jìn)制數(shù)十六進(jìn)制數(shù)000000810008100011910019200102101010A300113111011B401004121100C501015131101D601106141110E701117151111F(1)二進(jìn)制加法運(yùn)算根據(jù)“逢二進(jìn)一”的原則,二進(jìn)制加法法則為:0+0=0,0+1=1,1+0=1,1+1=10(為2時(shí)向高位進(jìn)一位)(2)二進(jìn)制數(shù)減法運(yùn)算根據(jù)“借一當(dāng)二”的原則,二進(jìn)制減法法則為:0-0=0,0-1=1(不夠減,向高位借一位),1-0=1,1-1=0(3)二進(jìn)制數(shù)乘法運(yùn)算在原則上是當(dāng)兩個(gè)乘數(shù)均為1時(shí),積為1,否則積為0。乘法法則為:

0×0=0,0×1=0,1×0=0,1×1=11131.算術(shù)運(yùn)算(1)與運(yùn)算規(guī)則為“遇0得0”,即參與運(yùn)算的兩個(gè)數(shù)中只要有一個(gè)為0,結(jié)果就為0;只有當(dāng)兩個(gè)操作數(shù)均為1時(shí),結(jié)果才為1。具體規(guī)則為:

0·0=0,0·1=0,1·0=0,1·1=1(2)或運(yùn)算規(guī)則為“遇1得1”,即參與運(yùn)算的兩個(gè)數(shù)中只要有一個(gè)為1,結(jié)果就為1;只有當(dāng)兩個(gè)操作數(shù)均為0時(shí),結(jié)果才為0。具體規(guī)則為:0+0=0,0+1=1,1+0=1,1+1=1(3)非運(yùn)算規(guī)則為“按位取反”,即運(yùn)算結(jié)果為參與運(yùn)算的操作數(shù)取反后的值。具體規(guī)則如下:=1,=0(4)異或運(yùn)算原則為“相異為1,相同為0”,即當(dāng)兩個(gè)操作不同時(shí),結(jié)果為1;當(dāng)兩個(gè)操作數(shù)相同時(shí),結(jié)果為0。具體規(guī)則如下:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=01142.邏輯運(yùn)算實(shí)際應(yīng)用中存在正負(fù)數(shù)的問題,由于計(jì)算機(jī)只能識(shí)別0和1代碼,因此,若要在計(jì)算機(jī)中表示正負(fù)數(shù),需要指定一位二進(jìn)制位為符號(hào)位。通常指定二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位,最高位為0表示正數(shù),最高位為1表示負(fù)數(shù)。

常用的帶符號(hào)數(shù)的表示方法有以下幾種:(1)機(jī)器數(shù)將一個(gè)數(shù)在機(jī)器中的表示形式稱為機(jī)器數(shù)。(2)真值將機(jī)器數(shù)的實(shí)際數(shù)值稱為真值。(3)原碼正數(shù)的符號(hào)位用0表示,負(fù)數(shù)的符號(hào)位用1表示,數(shù)值部分用真值的絕對(duì)值表示的二進(jìn)制機(jī)器數(shù)稱為原碼,一般用[X]原表示。

例如,+113與?113在8位單片機(jī)中的原碼表示為:

[+113]原=01110001B;[-113]原=11110001B

其中:0的原碼不唯一,即[+0]原=00000000B,[?0]原=10000000B。115(4)反碼正數(shù)的反碼與該數(shù)的原碼相同;負(fù)數(shù)的反碼等于該數(shù)的原碼保留符號(hào)位,其余位按位取反。反碼通常用[X]反表示。例如:X=+101,則[X]反=[X]原=01100101BX=-101,則[X]原=11100101B,[X]反=10011010B(5)補(bǔ)碼正數(shù)的補(bǔ)碼是其本身;

負(fù)數(shù)的補(bǔ)碼對(duì)其原碼求反碼,再在數(shù)值末位加上1,即[X]補(bǔ)=[X]反+1。

例如:[+73]補(bǔ)=[+73]原=01001001B

[-73]補(bǔ)=[-73]反+1=11001001+1=10110111B

[-30]補(bǔ)=[-30]反+1=11100001+1=11100010B116(6)BCD碼

BCD碼是一種用4位二進(jìn)制數(shù)代表一位十進(jìn)制數(shù)的代碼,即用0000~1001代表0~9。

例如:(678)BCD=(011001111000)BCD常用的幾種BCD碼如表3-3所示。表3-3常用的幾種BCD碼117BCD碼進(jìn)制數(shù)8421碼5421碼余3碼2421A碼2421B碼000000000001100000000100010001010000010001200100010010100100010300110011011000110011401000100011101000100501011000100001011011601101001100101101100701111010101001111101810001011101111101110910011100110011111111(7)ASCII碼它是由8位二進(jìn)制數(shù)組成,其中最高位為校驗(yàn)位,用于傳輸過程中檢驗(yàn)數(shù)據(jù)的正確性。其余7位二進(jìn)制數(shù)表示一個(gè)字符,共有128種組合(右表,表中數(shù)字為十進(jìn)制數(shù))。

例如,ASCII碼值為65代表大寫字母A,數(shù)字0的ASCII碼值為80等。

ASCII值控制字符ASCII值字符ASCII值字符ASCII值字符012345678910111213141516171819202122232425262728293031NULSOHSTXETXEOTENDACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS3233343536373839404142434445464748495051525354555657585960616263(space)!“#$%&‘()*+,-./0123456789:;<

=>

?6465666768697071727374757677787980818283848586878889909192939495@A62BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_96979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127`abcdefghijklmnopqrstuvwxyz{|}~(del)1181193.4.1

單片機(jī)內(nèi)部結(jié)構(gòu)3.4.251單片機(jī)的引腳定義及功能12051單片機(jī)內(nèi)部包括中央處理器、內(nèi)部數(shù)據(jù)存儲(chǔ)器、內(nèi)部程序存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、并行I/O口、串口、中斷控制系統(tǒng)和時(shí)鐘電路等部件,如圖3-6所示。圖3-6單片機(jī)內(nèi)部結(jié)構(gòu)框圖121122

中央處理器(CPU):CPU是單片機(jī)的核心部件,CPU內(nèi)包含運(yùn)算器、控制器以及寄存器等。

內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM):51單片機(jī)芯片內(nèi)共有256個(gè)RAM單元,其中后128個(gè)單元被專用寄存器占用,供用戶使用的只是前128個(gè)單元。因此,通常所說的內(nèi)部數(shù)據(jù)存儲(chǔ)器指的是前128個(gè)單元,簡稱為內(nèi)部RAM,其地址范圍是00H~7FH。后128個(gè)特殊寄存器區(qū)的地址范圍為80H~0FFH。

內(nèi)部程序存儲(chǔ)器(ROM):51單片機(jī)內(nèi)部有4KB字節(jié)的程序存儲(chǔ)器ROM,用于存放程序、原始數(shù)據(jù)或表格,也簡稱為內(nèi)部ROM。51系列內(nèi)部ROM的地址范圍為0000H~0FFFH(4KB)。

定時(shí)器/計(jì)數(shù)器:51系列單片機(jī)共有2個(gè)16位的定時(shí)/計(jì)數(shù)器,它們主要用來完成定時(shí)或計(jì)數(shù)功能。用作定時(shí)器時(shí),計(jì)數(shù)內(nèi)部分頻時(shí)鐘實(shí)現(xiàn)定時(shí)功能;用作計(jì)數(shù)器時(shí),系統(tǒng)對(duì)P3.4(T0)或P3.5(T1)端口的低電平脈沖計(jì)數(shù)。123

并行I/O口:

51單片機(jī)共有4個(gè)8位的I/O口(P0,P1,P2,P3),這些I/O口用于完成數(shù)據(jù)的輸入和輸出。

串行口:

51單片機(jī)有一個(gè)可編程的全雙工通信串口,可用來實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。該串口既可作為全雙工異步通信收發(fā)器使用,又可作為移位器使用。它通過RXD(P3.0)引腳接收數(shù)據(jù),TXD(P3.1)引腳發(fā)送數(shù)據(jù)。

中斷控制系統(tǒng):

51單片

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論