版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章緒論第1章目錄1.1單片機(jī)
1.1.1掌握單片機(jī)的概念
1.1.2了解單片機(jī)的發(fā)展歷史及產(chǎn)品近況
1.1.3熟悉嵌入式處理器家族
1.1.4明確單片機(jī)的課程地位及其學(xué)習(xí)方法1.2單片機(jī)開發(fā)所需軟硬件介紹
6.2.1模式0 6.2.2模式1 6.2.3模式2 6.2.4模式31.3數(shù)字電路基礎(chǔ)
1.4數(shù)制與編碼的簡單回顧
6.3.2定時(shí)/計(jì)數(shù)器模式1的應(yīng)用
6.3.3定時(shí)/計(jì)數(shù)器模式2的應(yīng)用
6.3.4定時(shí)/計(jì)數(shù)器門控位GATE的應(yīng)用
6.3.5運(yùn)行中讀定時(shí)/計(jì)數(shù)器1.1單片機(jī)1.1.1單片機(jī)的概念1、單片機(jī)“單片機(jī)”的稱呼由英文名稱“SingleChipMicrocomputer”直接翻譯而來,縮寫為SCM。所謂單片機(jī)就是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM(內(nèi)存)、只讀存儲器ROM(硬盤)、I/O口、中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器和串行接口等功能集成到一塊芯片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)是一個(gè)芯片級的電腦。1.1單片機(jī)1.1.1單片機(jī)的概念1、單片機(jī)目前單片機(jī)業(yè)界主流產(chǎn)品之一,深圳宏晶公司出品的STC89系列單片機(jī)的芯片照片,(a)雙列直插DIP封裝(b)貼片式封裝1.1單片機(jī)1.1.1單片機(jī)的概念2、單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)的應(yīng)用領(lǐng)域十分廣泛,如智能儀表(各類檢測儀表、數(shù)字電壓表、數(shù)字示波器)、家用電器(洗衣機(jī)、空調(diào)等)、軍事裝置(夜視儀、導(dǎo)航儀)、實(shí)時(shí)工業(yè)控制(電鍍生產(chǎn)線、工業(yè)機(jī)器人)。單片機(jī)在系統(tǒng)中主要起到測量和控制的作用。各種機(jī)械裝置一旦用上了單片機(jī),就能使得產(chǎn)品升級換代,并會將其名稱冠以“微電腦控制”、“智能型”標(biāo)志。1.1單片機(jī)1.1.1單片機(jī)的概念2、單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)在儀表、家電、火箭領(lǐng)域的應(yīng)用圖片。其中最左側(cè)的儀表是由本書主編指導(dǎo)本科學(xué)生自主研發(fā)的水體化合物分析儀器,其能夠?qū)崿F(xiàn)在線檢測水體中氨氮及亞硝氮等化合物的含量。是單片機(jī)和分析化學(xué)原理相結(jié)合的跨學(xué)科成果。1.1單片機(jī)1.1.1單片機(jī)的概念2、單片機(jī)與計(jì)算機(jī)(PC)的區(qū)別從本質(zhì)上講,單片機(jī)和計(jì)算機(jī)屬于同祖同宗,單片機(jī)追求的是滿足特定功能的基礎(chǔ)上,體積要足夠小,終極目標(biāo)是將盡量多的外設(shè)集成到芯片內(nèi)部;而計(jì)算機(jī)則追求的主要是高速運(yùn)算、海量存儲,對體積沒有顯著要求。
單片機(jī)與普通微型計(jì)算機(jī)的不同之處在于其將CPU、ROM和RAM三部分,通過內(nèi)部總線連接在一起,集成于一塊芯片上。1.1單片機(jī)1.1.2單片機(jī)的發(fā)展歷史及產(chǎn)品近況1、51系列單片機(jī)的誕生第一階段(1974-1976)單板機(jī)的產(chǎn)生:單板機(jī)是單片機(jī)的前身。風(fēng)靡我國上世紀(jì)80年代,由北京工業(yè)大學(xué)研發(fā)、生產(chǎn)的TP801單板機(jī)就是以Z80為內(nèi)核設(shè)計(jì)的。有代表性的還有美國Fairchild(仙童)公司的F8系列。第二階段(1976-1978)單片機(jī)的低性能階段:最早的單片機(jī)是由美國INTEL(英特爾)公司1976年推出的MCS-48系列,其早已經(jīng)退出歷史舞臺。1.1單片機(jī)1.1.2單片機(jī)的發(fā)展歷史及產(chǎn)品近況1、51系列單片機(jī)的誕生第三階段(1978-1983)單片機(jī)的基本發(fā)展階段:這一時(shí)期INTEL公司的8031單片機(jī)因?yàn)楹唵慰煽?、性能良好獲得了很大的好評。此后INTEL公司發(fā)展出了MCS-51系列單片機(jī)系統(tǒng),“MCS”代表了INTEL公司的產(chǎn)品。 其中基本型產(chǎn)品是8031/8051/8751(對應(yīng)的低功耗是80C31/80C51/87C51)和增強(qiáng)型的8032/8052/8752單片機(jī)。MCS-51系列單片機(jī)的產(chǎn)品典范是8051單片機(jī)。INTEL公司以專利轉(zhuǎn)讓或技術(shù)交換的形式把8051的內(nèi)核技術(shù)轉(zhuǎn)讓給了世界許多半導(dǎo)體芯片廠家,如ATMEL、Philips(飛利浦)、LG、ADI。這些廠家生產(chǎn)的兼容機(jī)與8051的內(nèi)核結(jié)構(gòu)與指令系統(tǒng)相同,并在此基礎(chǔ)上不斷完善其性能,形成了后來稱作“8051系列單片機(jī)”的龐大體系1.1單片機(jī)1.1.2單片機(jī)的發(fā)展歷史及產(chǎn)品近況2、51系列單片機(jī)的發(fā)展從1983年至今,8位51系列單片機(jī)不斷自我發(fā)展、長盛不衰。這時(shí)8位單片機(jī)追求更低的功耗,從而8051系列中的大部分產(chǎn)品已經(jīng)發(fā)展成為80C51,其字符“C“表示了單片機(jī)內(nèi)部集成電路工藝的CMOS化,其功耗更低。更多的外圍電路被裝入單片機(jī)內(nèi)部,“單片化”設(shè)計(jì)思想被更大、更廣的應(yīng)用于單片機(jī)芯片設(shè)計(jì)中。在我國市場上曾經(jīng)風(fēng)靡的機(jī)型有臺灣華邦(Winbond)公司的W78系列,美國ATMEL(愛特梅爾)公司的AT89C5X系列以及AT89S5X系列單片機(jī)。1.1單片機(jī)1.1.2單片機(jī)的發(fā)展歷史及產(chǎn)品近況3、AVR、PIC進(jìn)入8位機(jī)主流市場目前8位單片機(jī)市場上占有率高的除了采用復(fù)雜指令集(CISC)的51系列,還有AVR和PIC(PeripheralInterfaceController)系列單片機(jī)。其中AVR單片機(jī)是1997年美國Atmel公司挪威設(shè)計(jì)中心的A先生與V先生共同研發(fā)出的,所以就簡稱AVR,其第三個(gè)字母R代表了該芯片CPU的精簡指令(RISC)結(jié)構(gòu)。PIC單片機(jī)是美國Microchip(微芯)公司的產(chǎn)品,PIC單片機(jī)CPU亦屬精簡指令結(jié)構(gòu),分別有33、35、58條指令。其種類多,芯片抗干擾能力強(qiáng),也是可以和51系列單片機(jī)抗衡的單片機(jī)。其他如Motorola(摩托羅拉)單片機(jī)、Scenix(西門子)單片機(jī)、EPSON(愛普生)等諸多公司的單片機(jī)也在8位單片機(jī)市場占有自己的位置。1.1單片機(jī)1.1.2單片機(jī)的發(fā)展歷史及產(chǎn)品近況4、16位和32位高檔單片機(jī)的推出20世紀(jì)90年代初,隨著工業(yè)控制領(lǐng)域要求的提高,各大公司都開始推出16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。但TI(美國德州儀器)公司出品的MSP430系列以其超低功耗的特性在儀器儀表及手持設(shè)備領(lǐng)域占有絕對優(yōu)勢。進(jìn)入21世紀(jì),32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場,其中ARM7是典型代表??傊?,目前市場以8位低端和32位高端單片機(jī)齊頭并進(jìn)的形式存在、發(fā)展。8位單片機(jī)的性能得到了飛速提高,處理能力比起20世紀(jì)80年代提高了數(shù)百倍,其主要應(yīng)用在工業(yè)控制領(lǐng)域。32位單片機(jī)主頻已經(jīng)超過300MHz,性能直追90年代中期的個(gè)人電腦CPU,主要應(yīng)用在高端智能通信設(shè)備領(lǐng)域。1.1單片機(jī)1.1.3嵌入式處理器家族4、16位和32位高檔單片機(jī)的推出具有各種不同體系結(jié)構(gòu)的處理器構(gòu)成了嵌入式處理器家族,它們是嵌入式系統(tǒng)的核心部件。據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種數(shù)已經(jīng)超過1000種,按其體系結(jié)構(gòu)主要分為如下四類:單片機(jī)(嵌入式微控制器);嵌入式數(shù)字信號處理器(DigitalSignalProcessor,DSP);嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)片上系統(tǒng)(SystemOnChip,SOC)。1.1單片機(jī)1.1.3嵌入式處理器家族具有各種不同體系結(jié)構(gòu)的處理器構(gòu)成了嵌入式處理器家族,它們是嵌入式系統(tǒng)的核心部件。據(jù)不完全統(tǒng)計(jì),全世界嵌入式處理器的品種數(shù)已經(jīng)超過1000種,按其體系結(jié)構(gòu)主要分為如下四類:單片機(jī)(嵌入式微控制器);嵌入式數(shù)字信號處理器(DigitalSignalProcessor,DSP);嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)片上系統(tǒng)(SystemOnChip,SOC)。1.1單片機(jī)1.1.3嵌入式處理器家族1、嵌入式數(shù)字信號處理器(DSP)DSP是非常擅長于高速實(shí)現(xiàn)各種數(shù)字信號處理運(yùn)算(如數(shù)字濾波FFT,頻譜分析等)的嵌入式處理器。1981年,美國TI(TexasInstruments)公司研制出了著名的TMS320系列,首片低成本、高性能的DSP處理器芯片TMS320C10,使DSP從概念走向了產(chǎn)品。1.1單片機(jī)1.1.3嵌入式處理器家族2、嵌入式微處理器(EMPU)嵌入式微處理器(EMPU)的基礎(chǔ)是通用計(jì)算機(jī)中的CPU。EMPU嵌入式微處理器是由通用計(jì)算機(jī)中的CPU演變而來的。與計(jì)算機(jī)處理器不同的是,在實(shí)際嵌入式應(yīng)用中,只保留和嵌入式應(yīng)用緊密相關(guān)的功能硬件,去除其他的冗余功能部分,這樣就以最低的功耗和資源實(shí)現(xiàn)嵌入式應(yīng)用的特殊要求。和工業(yè)控制計(jì)算機(jī)相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優(yōu)點(diǎn)。但是,嵌入式微處理器在功能方面與標(biāo)準(zhǔn)的微處理器基本上是一樣的。嵌入式處理器目前最成功的就是32位ARM系列,其性能已經(jīng)與幾年前的筆記本電腦相當(dāng),主要有ARM7、ARM9、ARM11以及最新的ARMCrotex系列。1.1單片機(jī)1.1.3嵌入式處理器家族2、嵌入式微處理器(EMPU)以嵌入式微處理器為核心的嵌入式系統(tǒng)能夠運(yùn)行實(shí)時(shí)多任務(wù)系統(tǒng),因此其在多媒體手機(jī)、機(jī)頂盒、數(shù)字電視等領(lǐng)域都應(yīng)用廣泛。“嵌入式系統(tǒng)”這個(gè)名詞在業(yè)界已經(jīng)應(yīng)用很久,但是對其的定義仍然存在很多爭論。廣義上講,凡是系統(tǒng)中嵌入了“嵌入式微處理器”,如:單片機(jī)、DSP、嵌入式微處理器,都稱為“嵌入式系統(tǒng)”。但還是有人僅把“嵌入”嵌入式微處理器的系統(tǒng)稱為“嵌入式系統(tǒng)”。目前人們所說的“嵌入式系統(tǒng)”多指后者。1.1單片機(jī)1.1.3嵌入式處理器家族3、嵌入式片上系統(tǒng)(SOC)該技術(shù)始于20世紀(jì)90年代中期,隨著半導(dǎo)體工藝和超大規(guī)模集成電路(VLSI)設(shè)計(jì)技術(shù)的飛速發(fā)展,在一個(gè)硅片上可實(shí)現(xiàn)一個(gè)更為復(fù)雜的系統(tǒng),這就是片上系統(tǒng)(SOC,SystemOnChip)。SOC的核心思想就是把整個(gè)應(yīng)用電子系統(tǒng)(除無法集成的電路)全部集成在一個(gè)芯片中,避免了大量的PCB設(shè)計(jì)及板機(jī)的調(diào)試工作。SOC將使系統(tǒng)設(shè)計(jì)的技術(shù)發(fā)生革命性變化,標(biāo)志著一個(gè)全新時(shí)代的到來。SOC是在集成電路(IC)向集成系統(tǒng)(IS)轉(zhuǎn)變的大方向下產(chǎn)生的。在單一集成電路芯片上就可以實(shí)現(xiàn)一個(gè)復(fù)雜的電子系統(tǒng),諸如手機(jī)芯片、數(shù)字電視芯片、DVD芯片等。在未來幾年內(nèi),上億個(gè)晶體管、幾千萬個(gè)邏輯門都可望在單一芯片上實(shí)現(xiàn)。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法1、單片機(jī)的課程地位單片機(jī)是大學(xué)自動(dòng)化類及其相關(guān)專業(yè)的一門專業(yè)課,有些學(xué)校甚至把它列為選修課,在眾多課程中,沒有顯出它有多么重要。為什么要學(xué)習(xí)它呢?自動(dòng)化類相關(guān)專業(yè)有很多專業(yè)課,這些專業(yè)課非常重要,是各個(gè)專業(yè)存在的必需課程,學(xué)完這些課程可以使學(xué)習(xí)者成為大學(xué)者的繼承人,但市場對學(xué)者繼承人的需求太少,大量需要的是產(chǎn)品的研發(fā)者,而學(xué)習(xí)單片機(jī)課程就可以成為一個(gè)實(shí)用的研發(fā)工程師。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法1、單片機(jī)的課程地位另外,即使是在校期間。如果你單片機(jī)實(shí)踐動(dòng)手能力強(qiáng),可以參加國內(nèi)認(rèn)知度極高的國家級大學(xué)生第二課堂創(chuàng)新賽事。比較有代表性的有“全國大學(xué)生電子設(shè)計(jì)大賽”、“挑戰(zhàn)杯全國大學(xué)生課外學(xué)術(shù)科技作品競賽和創(chuàng)業(yè)計(jì)劃大賽”、“全國大學(xué)生智能汽車大賽”等賽事。另外還可以參加各省教育廳舉報(bào)的各類賽事,如山東省規(guī)模最大的大學(xué)生賽事是“機(jī)電產(chǎn)品大賽”,另山東省“機(jī)器人大賽”的發(fā)展也方興未艾。據(jù)統(tǒng)計(jì),我國的單片機(jī)年容量已達(dá)1-3億片,且每年以大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。這說明單片機(jī)應(yīng)用在我國才剛剛起步,有著廣闊的前景。培養(yǎng)單片機(jī)應(yīng)用人才,特別是在工程技術(shù)人員中普及單片機(jī)知識有著重要的現(xiàn)實(shí)意義。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法51系列單片機(jī)是初學(xué)者的最佳選擇
51系列單片機(jī)經(jīng)過多年的發(fā)展,圖書、資料豐富,相應(yīng)的網(wǎng)站多、答疑解惑都比較容易。初學(xué)者選擇51系列單片機(jī)開始,是非常明智的選擇。近兩年比較典型51單片機(jī)芯片是AT89C(S)51和宏晶公司的STC89C51芯片。學(xué)好51單片機(jī),再去學(xué)習(xí)AVR//PIC/MSP430將會觸類旁通。也會為ARM、DSP等高級可編程硬件設(shè)備的學(xué)習(xí)打下很好的基礎(chǔ)。如果在學(xué)會單片機(jī)的基礎(chǔ)之上,學(xué)會CPLD和FPGA的開發(fā)以及硬件描述語言,就可以在高速產(chǎn)品的開發(fā)方面獲得一杯羹。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法51系列單片機(jī)是初學(xué)者的最佳選擇 一般來說本科生能夠熟練除51外的另外一種單片機(jī)或熟悉ARM就已經(jīng)很優(yōu)秀了,其他留在工作或研究生階段學(xué)習(xí)是比較現(xiàn)實(shí)的。圖1-3嵌入式硬件技術(shù)體系圖1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法扎實(shí)掌握單片機(jī)內(nèi)部結(jié)構(gòu)及原理十分必要
現(xiàn)在有一種觀點(diǎn)是只要掌握C語言,只需對具體單片機(jī)結(jié)構(gòu)及原理稍作了解,即能開發(fā)單片機(jī)應(yīng)用系統(tǒng)。實(shí)際上由于單片機(jī)的硬件資源極其有限,因此只有真正了解單片機(jī)內(nèi)部的結(jié)構(gòu)、時(shí)序和寄存器的特點(diǎn),才能開發(fā)出執(zhí)行率高、誤碼率少的代碼。當(dāng)你有一天真正開發(fā)項(xiàng)目時(shí)就能感到硬件基礎(chǔ)扎實(shí)的意義。匯編語言的學(xué)習(xí)可以使學(xué)習(xí)者更扎實(shí)的理解單片機(jī)的內(nèi)部結(jié)構(gòu)和原理。但是一定是邊動(dòng)手編程邊學(xué)習(xí)理論,而不是等到把知識掌握得滾瓜爛熟才開始動(dòng)手。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法學(xué)習(xí)過程應(yīng)突出主要矛盾,分層次推進(jìn)
學(xué)習(xí)過程的第一步應(yīng)該購買現(xiàn)成的單片機(jī)學(xué)習(xí)板,這樣只要代碼寫錯(cuò),肯定就是軟件的錯(cuò)誤,從而不需要去懷疑硬件有問題。學(xué)完學(xué)習(xí)板配套的程序后,就應(yīng)該用萬能板焊接單片機(jī)的外圍電路,按學(xué)習(xí)板原理圖焊接好電路后,運(yùn)行你已經(jīng)編好的程序,出了問題肯定是硬件的事情,這樣你算是真正入門了。下面你該需要學(xué)習(xí)的是怎么處理多任務(wù)。因?yàn)檫@個(gè)才是工作中真正用到的,包括時(shí)間片的概念,狀態(tài)機(jī)的概念,學(xué)會這個(gè)你已經(jīng)是個(gè)實(shí)用的自動(dòng)化類本科畢業(yè)生了。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法初學(xué)必要裝備
單片機(jī)是一門動(dòng)手能力要求極高的課程,因此不建議使用PROTEUS等虛擬軟件來學(xué)習(xí)。一定要真正的調(diào)試、焊接線路板?,F(xiàn)在學(xué)習(xí)單片機(jī)的成本已經(jīng)是極低了,下面我們列出了初學(xué)單片機(jī)的必要裝備。 首先,一定要有一臺個(gè)人電腦,無論是臺式機(jī)還是筆記本都可以,一般的配置對于單片機(jī)學(xué)習(xí)來說足以,如果是筆記本盡量購買帶RS232串口的,以后你會感到擁有它還是很方便的。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法初學(xué)必要裝備
其次,需要購買一塊單片機(jī)學(xué)習(xí)板(開發(fā)板),最好帶在線調(diào)試(仿真)功能,帶學(xué)習(xí)視頻更好。初學(xué)忌買功能全而復(fù)雜的學(xué)習(xí)板,只買基本功能的板子,其電路簡單、容易上手。這樣的學(xué)習(xí)板整套價(jià)位在100~200元左右的屬合理。學(xué)習(xí)板套件包括:學(xué)習(xí)板(開發(fā)板)一塊、下載線(一般是USB下載線,用來連接計(jì)算機(jī)和學(xué)習(xí)板,是程序燒錄必備的硬件條件,其還將計(jì)算機(jī)USB的5V電源提供給學(xué)習(xí)板)、編程軟件(實(shí)現(xiàn)程序的編輯、編譯、軟件仿真功能等。一般賣家提供KeilC51)、下載軟件(燒寫程序需要使用,在計(jì)算機(jī)上運(yùn)行,賣家也免費(fèi)提供)。圖1-4是價(jià)格在100元左右的學(xué)習(xí)板圖片。1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法圖1-451單片機(jī)學(xué)習(xí)板圖片1.1單片機(jī)1.1.4
單片機(jī)的課程地位及其學(xué)習(xí)方法2、單片機(jī)的學(xué)習(xí)方法初學(xué)必要裝備第三,要有一塊萬用表,買國產(chǎn)四位半的即可,價(jià)格在150元左右吧,經(jīng)濟(jì)條件有限的買三位半的也可,價(jià)格一般在80元以內(nèi)。有的人說必備項(xiàng)里應(yīng)該有示波器,如果加上這一條那恐怕90%以上的學(xué)生都會放棄嘗試,因?yàn)榧词箛a(chǎn)50MHZ的示波器價(jià)格也要上千元了。對于入門級學(xué)習(xí)有這三條是能夠基本滿足學(xué)習(xí)需求的。要想進(jìn)一步學(xué)習(xí),通過參加各類大賽進(jìn)入學(xué)校實(shí)驗(yàn)室,就能夠享有更好的學(xué)習(xí)環(huán)境和硬件設(shè)備條件。那么示波器、邏輯分析儀、信號發(fā)生器、仿真器、編程器等實(shí)驗(yàn)室一般都有配置。1.2單片機(jī)開發(fā)所需軟硬件介紹單片機(jī)的開發(fā)過程包括硬件電路設(shè)計(jì)、程序編寫(編輯)、編譯、仿真調(diào)試、燒寫(燒錄、固化、下載)等過程。程序的編輯是指利用C語言或匯編語言在個(gè)人電腦上完成程序的書寫過程,一般的文本編輯器例如word及windows自帶的文本編輯器都可以提供程序書寫環(huán)境。但其由于不具備語法錯(cuò)誤識別功能,因此開發(fā)者一般都選用專用的單片機(jī)程序編輯軟件。編譯是指將編程語言翻譯成單片機(jī)能夠識別的二(十六)進(jìn)制代碼的過程。燒寫是指把編譯好的二(十六)進(jìn)制代碼下載到單片機(jī)程序存儲器ROM的過程。仿真調(diào)試包括軟件仿真和硬件仿真,是指程序不可能一次編寫成功,需要借助專業(yè)的軟、硬件仿真調(diào)試工具,利用單步、斷點(diǎn)、運(yùn)行到光標(biāo)處等功能實(shí)現(xiàn)對程序中各變量中間結(jié)果的監(jiān)測。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.1關(guān)于keilC51及其集成開發(fā)環(huán)境keilμVision3KeilC51是德國Keilsoftware公司開發(fā)的用于51系列單片機(jī)的C51語言開發(fā)軟件。具有Windows風(fēng)格的可視化操作界面(見圖1-5);支持匯編語言、C51語言以及兩者混合編程等多種方式的單片機(jī)設(shè)計(jì);能夠完成51系列單片機(jī)以及和51系列兼容的絕大部分類型單片機(jī)的程序設(shè)計(jì)和仿真。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.1關(guān)于keilC51及其集成開發(fā)環(huán)境keilμVision3圖1-5KeilμVision3集成開發(fā)環(huán)境界面1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.2仿真技術(shù)和仿真器1、仿真技術(shù)單片機(jī)開發(fā)過程中沒有中間調(diào)試過程,僅使用編程器或ISP下載線的開發(fā)方法叫做“崩潰——燒寫”模式。其只能從最終結(jié)果檢驗(yàn)硬件設(shè)計(jì)和軟件編程是否正確。如果程序運(yùn)行結(jié)果錯(cuò)誤,只能改動(dòng)程序后擦除芯片重新燒寫,為了調(diào)試一個(gè)程序連續(xù)燒寫芯片數(shù)十次是很正常的事情,但是這樣不但麻煩,還會縮短芯片使用壽命,而且無法觀察程序運(yùn)行中的狀態(tài)。在單片機(jī)開發(fā)中一般簡單的程序利用KeilμVision3本身具有的軟件仿真功能,可以大大減少燒寫次數(shù)。只要不涉及到外部擴(kuò)展接口,在KEIL上仿真運(yùn)行成功的程序,絕大部分燒寫以后都能正常運(yùn)行,對于大型復(fù)雜的程序必須使用單片機(jī)仿真器完成調(diào)試。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.2仿真技術(shù)和仿真器2、仿真器仿真器是指以調(diào)試單片機(jī)軟件為目的而專門設(shè)計(jì)制作的一套專用的硬件裝置。最早的單片機(jī)仿真器是一套獨(dú)立裝置,具有專用的鍵盤和顯示器,用于輸入程序并顯示運(yùn)行結(jié)果?,F(xiàn)在仿真器都是利用PC機(jī)作為標(biāo)準(zhǔn)的輸入輸出裝置,而仿真器本身成為PC和目標(biāo)系統(tǒng)之間的接口而已,仿真方式也從最初的機(jī)器碼發(fā)展到匯編語言、C語言仿真,配合仿真器使用的上位機(jī)軟件與PC機(jī)上的高級語言編程與調(diào)試環(huán)境非常類似。圖1-6是偉福仿真器外形圖。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.2仿真技術(shù)和仿真器2、仿真器 目前,隨著單片機(jī)的小型化,貼片化和具有ISP,IAP等功能的單片機(jī)的廣泛應(yīng)用,傳統(tǒng)單片機(jī)仿真器的應(yīng)用范圍也有所縮小。類似KeilC51等具有單片機(jī)仿真功能的程序軟件在調(diào)試中的應(yīng)用逐漸廣泛。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.2仿真技術(shù)和仿真器3、硬件仿真和軟件仿真 軟件仿真是指在不存在實(shí)際的單片機(jī)應(yīng)用系統(tǒng)硬件電路的情況下,我們可以用上位機(jī)仿真軟件(即能夠?qū)崿F(xiàn)仿真功能的上位機(jī)應(yīng)用軟件,如KEIL仿真器)對單片機(jī)應(yīng)用系統(tǒng)的軟件部分進(jìn)行調(diào)試。硬件仿真是用硬件仿真器或其他替代方法對一個(gè)實(shí)際的單片機(jī)應(yīng)用系統(tǒng)的軟件和硬件部分進(jìn)行調(diào)試,它能真實(shí)地反映實(shí)際的單片機(jī)應(yīng)用系統(tǒng)存在的問題。很明顯硬件仿真的效果更強(qiáng)大,但不同的硬件仿真器仿真能力各不相同。近年又有仿真芯片推出,即該類芯片除具有一般單片機(jī)的功能外,在開發(fā)階段還能夠有一定的在線調(diào)試功能,但與專業(yè)仿真器功能相去甚遠(yuǎn)。即使不同型號的專業(yè)仿真器性能差別也較大。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.3編程器和下載軟件 編程器:程序編輯好后,并且通過編譯生成了HEX格式的二進(jìn)制燒寫文件,就要用編程器把它燒寫到單片機(jī)里面。學(xué)習(xí)階段購買的學(xué)習(xí)板會帶一條下載線,其完成的功能與編程器相同。編程器的使用需要配合上位機(jī)的下載軟件來完成。該軟件一般由編程器廠家或?qū)W習(xí)板出售者免費(fèi)提供。1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.3編程器和下載軟件
圖1-7下載(燒寫)軟件界面1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.3編程器和下載軟件
圖1-7編程器1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.4PROTEL與單片機(jī)學(xué)習(xí)單片機(jī)還需要掌握一種原理圖繪圖軟件,現(xiàn)在常見的是Protel99SE和Protel2004DXP,前者應(yīng)用的人比較多,而且這部分在公司都比較有地位,資格老嘛,用的軟件也老,有時(shí)候也要求手下人用99SE,至于2004DXP的用戶相對較為年輕,其元件庫和封裝庫里要新一些,但是大多數(shù)情況下都需要自己做元件,也就沒什么區(qū)別了。還有個(gè)很嚴(yán)重的問題是二者有點(diǎn)不兼容,大體上說,你如果想和你的上司關(guān)系好點(diǎn),做設(shè)計(jì)時(shí)容易溝通點(diǎn)就學(xué)99SE。串口調(diào)試助手和字模提取軟件等在學(xué)習(xí)串口通訊和點(diǎn)陣及液晶顯示時(shí)一般會用到,去網(wǎng)站下載即可,如果你購買了學(xué)習(xí)板都會贈送你。
1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.5關(guān)于PROTEUS軟件Proteus軟件是英國Labcenterelectronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。Proteus是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、PIC、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.6
字模提取軟件與串口調(diào)試助手單片機(jī)測量或控制的結(jié)果一般都需要顯示,主要選用LED點(diǎn)陣顯示器或LCD液晶顯示器。采用LED點(diǎn)陣顯示器或LCD液晶顯示器時(shí),顯示的字符要經(jīng)過字模提取軟件轉(zhuǎn)換成字形碼,這個(gè)過程由人工通過描點(diǎn)也能完成,但是通過字模軟件效率要高得多。 1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.6字模提取軟件與串口調(diào)試助手
圖1-8字模提取軟件界面1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.6字模提取軟件與串口調(diào)試助手
(a)LED點(diǎn)陣顯示器
(b)液晶顯示器圖1-9LED點(diǎn)陣顯示器和液晶顯示器1.2單片機(jī)開發(fā)所需軟硬件介紹1.2.6字模提取軟件與串口調(diào)試助手串口調(diào)試助手可以實(shí)現(xiàn)的功能包括發(fā)送接受16進(jìn)制數(shù)、字符串等,在單片機(jī)與PC機(jī)進(jìn)行通信時(shí)會用到該類型小軟件。有眾多發(fā)燒友開發(fā)出各種版本,一般購買單片機(jī)學(xué)習(xí)板時(shí)賣方免費(fèi)提供。(a)LED點(diǎn)陣顯示器
(b)液晶顯示器圖1-10串口調(diào)試助手1.3數(shù)字電路基礎(chǔ)1.3.1二進(jìn)制的邏輯運(yùn)算1、“與”運(yùn)算“與”運(yùn)算是實(shí)現(xiàn)“必須都有,否則就沒有”這種邏輯關(guān)系的一種運(yùn)算。邏輯與通常用符號“×”或“∧”或“·”來表示。邏輯乘法運(yùn)算規(guī)則如下:0∧0=0,0∧1=0,1∧0=0,1∧1=1。其運(yùn)算符號如圖1-12所示。1.3數(shù)字電路基礎(chǔ)1.3.1二進(jìn)制的邏輯運(yùn)算2、“或”運(yùn)算“或”運(yùn)算是實(shí)現(xiàn)“只要其中之一有就有”這種邏輯關(guān)系的一種運(yùn)算。邏輯加法通常用符號“+”或“∨”來表示。邏輯加法運(yùn)算規(guī)則如下:0∨0=0,0∨1=1,1∨0=1,1∨1=1。1.3數(shù)字電路基礎(chǔ)1.3.1二進(jìn)制的邏輯運(yùn)算3、“非”運(yùn)算“非”運(yùn)算是實(shí)現(xiàn)“求反”這種邏輯關(guān)系的一種運(yùn)算。0的反是1,1的反是0。其運(yùn)算符號如圖1-14所示。1.3數(shù)字電路基礎(chǔ)1.3.1二進(jìn)制的邏輯運(yùn)算4、“同或”運(yùn)算“同或”運(yùn)算是實(shí)現(xiàn)“必須相同,否則就沒有”這種邏輯關(guān)系的一種運(yùn)算,其邏輯運(yùn)算符為“⊙”。其運(yùn)算規(guī)則如下:0⊙0=1,1⊙0=0,0⊙1=0,1⊙1=1。5、“異或”運(yùn)算“異或”運(yùn)算通常用符號"⊕"表示,“必須相異否則就沒有”。其運(yùn)算規(guī)則為:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0,即兩個(gè)邏輯變量相異,輸出才為1。1.3數(shù)字電路基礎(chǔ)1.3.2數(shù)字電路中“0”與“1”的定義單片機(jī)是一種數(shù)字集成芯片,數(shù)字電路中只有兩種電平:高電平和低電平。常用的邏輯電平有TTL、CMOS、RS-232等。單片機(jī)、74LS系列邏輯芯片采用TTL電平信號:+5V等價(jià)于邏輯1,0V等價(jià)于邏輯0。當(dāng)然這是理想狀態(tài),實(shí)際電壓小于0.4V即認(rèn)為是低電平,電壓高于2.4V即認(rèn)為是高電平(實(shí)際單片機(jī)工作在輸入和輸出狀態(tài)高低電平范圍略有差別)。1.3數(shù)字電路基礎(chǔ)1.3.2數(shù)字電路中“0”與“1”的定義74HC系列和CD4000邏輯芯片一般采用CMOS邏輯電平。CMOS電平VCC達(dá)到5V時(shí),其低電平的上線是0.3V,高電平的下限是3.6V。因此CMOS能驅(qū)動(dòng)TTL電平,即CMOS作為TTL的輸入端時(shí),TTL電平能正確的識別CMOS的高低電平狀態(tài),但反之不可以。CMOS電路中不使用的輸入端不不能懸空,否則會造成邏輯混亂,且HC采用COMS工藝功耗更低,LS的速度比HC略快。PC機(jī)的9針串口為RS-232C電平,其中高電平為-12V,低電平為+12V。這里要強(qiáng)調(diào)的是,RS-232C電平為負(fù)邏輯電平。因此當(dāng)計(jì)算機(jī)與單片機(jī)之間要通信時(shí),需要加電平轉(zhuǎn)換芯片,一般常用的電平轉(zhuǎn)換芯片是MAX232。1.3數(shù)字電路基礎(chǔ)1.3.2數(shù)字電路中“0”與“1”的定義提高:TTL電路和CMOS電路的邏輯電平關(guān)系如下:①VOH——邏輯電平1的輸出電壓。②VOL——邏輯電平0的輸出電壓。③VIH——邏輯電平1的輸入電壓。④VIL——邏輯電平0的輸入電壓圖1-15RS-232串口定義1.3數(shù)字電路基礎(chǔ)1.3.2數(shù)字電路中“0”與“1”的定義TTL電平臨界值:
①VOHmin=2.4V,VOLmax=0.4V。
②VIHmin=2.0V,VILmax=0.8V。CMOS電平臨界值(設(shè)電源電壓為+5v):
①VOHmin=4.99V,VOLmax=0.01V。
②VIHmin=3.5V,VILmax=1.5V。通常情況下,單片機(jī)、DSP、FPGA之間引腳能否直接相連要參考以下方法進(jìn)行判斷:一般來說,同電壓的是可以相連的,不過最好還是好好查看芯片技術(shù)手冊上的VIL、VIH、VOL,VOH的值,看是否能夠匹配。有些情況在一般應(yīng)用中沒有問題,但是參數(shù)上就是有點(diǎn)不夠匹配,在某些情況下可能就不夠穩(wěn)定,或者不同批次的器件就不能運(yùn)行。1.4數(shù)制與編碼的簡單回顧1.4.1數(shù)制十進(jìn)制是人們生活中普遍使用的計(jì)數(shù)制。在十進(jìn)制中,數(shù)用0、1、…、9這10個(gè)符號來描述。計(jì)數(shù)規(guī)則是逢十進(jìn)一。二進(jìn)制是在計(jì)算機(jī)系統(tǒng)中使用的計(jì)數(shù)制。在二進(jìn)制中,數(shù)用0、l這兩個(gè)符號來描述。計(jì)數(shù)規(guī)則是逢二進(jìn)一。二進(jìn)制運(yùn)算規(guī)則簡單,便于物理實(shí)現(xiàn);但書寫冗長,不便于人們閱讀和記憶。二進(jìn)制數(shù)的位可以表示為0或1這兩個(gè)值。生活中開關(guān)的通與斷,指示燈的亮與滅,電動(dòng)機(jī)的啟與停都可以用它來描述和控制。1.4數(shù)制與編碼的簡單回顧1.4.1數(shù)制8個(gè)二進(jìn)制的位構(gòu)成字節(jié)。有些計(jì)算機(jī)存取的最小單位只能是字節(jié)(B)。1個(gè)字節(jié)可以表示28(即256)個(gè)不同的值(0~255)。字節(jié)中的位號從右至左依次為0~7。第0位稱為最低有效位(LSB),第7位稱為最高有效位(MSB)。當(dāng)數(shù)值大于255時(shí),要采用字(2B)或雙字(4B)進(jìn)行表示。字可以表示216(即65536)個(gè)不同的值(0~65535),這時(shí)MSB為第15位。1.4數(shù)制與編碼的簡單回顧1.4.1數(shù)制十六進(jìn)制是人們在計(jì)算機(jī)指令代碼和數(shù)據(jù)的書寫與軟件工具的顯示中經(jīng)常使用的數(shù)制。在十六進(jìn)制中,數(shù)用0、1、…、9和A、B、…、F(或a、b、…、f)這16個(gè)符號來描述計(jì)數(shù)規(guī)則是逢十六進(jìn)一。由于4位二進(jìn)制數(shù)可以直觀地用1位十六進(jìn)制數(shù)表示,所以人們對二進(jìn)制的代碼或數(shù)據(jù)常用十六進(jìn)制形式縮寫。為了區(qū)分?jǐn)?shù)的不同進(jìn)制,可在數(shù)的結(jié)尾以一個(gè)字母標(biāo)識。十進(jìn)制(decimal)數(shù)書寫時(shí)結(jié)尾用字母D(或不帶字母);二進(jìn)制(binary)數(shù)書寫時(shí)結(jié)尾用字母B;十六進(jìn)制(hexadecimal)數(shù)書寫時(shí)結(jié)尾用字母H。部分自然數(shù)的3種進(jìn)制表示如表1-1所示。1.4數(shù)制與編碼的簡單回顧1.4.1數(shù)制表1-1部分自然數(shù)的3種進(jìn)制表示1.4數(shù)制與編碼的簡單回顧1.4.1數(shù)制 在單片機(jī)的程序設(shè)計(jì)中,有時(shí)要用到十進(jìn)制到十六進(jìn)制的轉(zhuǎn)換。下面以一個(gè)示例說明一下十進(jìn)制到十六進(jìn)制的轉(zhuǎn)換方法?!纠?-1】若有一個(gè)十進(jìn)制數(shù)為55536,試將其用十六進(jìn)制表示?解:十進(jìn)制到十六進(jìn)制的轉(zhuǎn)換的基本方法是:除16取余倒序,即先求出的余數(shù)是最低位。由于:
55536/16=3471余03471/16=216余F216/16=8余88/16=0余D 因此,十進(jìn)制數(shù)55536的十六進(jìn)制表示為:D8F0H。1.4數(shù)制與編碼的簡單回顧1.4.2編碼1、字符的編碼字符的編碼采用的是美國標(biāo)準(zhǔn)信息交換代碼(AmericanStandardCodeforInformationIn-terchange,即ASCII碼)。一個(gè)字節(jié)的8位編碼可以表示256種字符。當(dāng)最高位為0時(shí),所表示的字符為標(biāo)準(zhǔn)ASCII碼字符,共有128個(gè),用于表示數(shù)字、英文大寫字母、英文小寫字母、標(biāo)點(diǎn)符號及控制字符等,如附錄A所示;當(dāng)最高位為1時(shí),所表示的是擴(kuò)展ASCII碼字符,表示的是一些特殊符號(如希臘字母等)。ASCII碼常用于計(jì)算機(jī)與外部設(shè)備的字符傳輸。如通過鍵盤的字符輸入,通過打印機(jī)或顯示器的字符輸出。1.4數(shù)制與編碼的簡單回顧1.4.2編碼2、十進(jìn)制數(shù)的編碼(BCD碼)十進(jìn)制是人們在生活中最習(xí)慣的數(shù)制,人們通過鍵盤向計(jì)算機(jī)輸入數(shù)據(jù)時(shí),常用十進(jìn)制輸入。顯示器向人們顯示的數(shù)據(jù)也多為十進(jìn)制形式。計(jì)算機(jī)能直接識別與處理的是二進(jìn)制編碼。用4位二進(jìn)制編碼可以表示1位十進(jìn)制數(shù)。這種用二進(jìn)制編碼表示十進(jìn)制數(shù)的代碼稱為BCD碼。常用的8421BCD編碼如表1-2所示。1.4數(shù)制與編碼的簡單回顧1.4.2編碼由于用4位二進(jìn)制代碼可以表示1位十進(jìn)制數(shù),所以采用8位二進(jìn)制代碼(1個(gè)字節(jié))就可以表示2位十進(jìn)制數(shù)。這種用1個(gè)字節(jié)表示2位十進(jìn)制數(shù)的編碼.稱為壓縮的BCD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《骨折并發(fā)癥的護(hù)理》課件
- 圖書調(diào)配庫室服務(wù)合同
- 2025年烏蘭察布貨物從業(yè)資格證考試
- 2025年汕尾貨運(yùn)車從業(yè)考試題
- 第1章 生物的生殖和發(fā)育(B·能力提升練)-【單元測試】2022-2023學(xué)年八年級生物下冊分層訓(xùn)練AB卷(人教版) 帶解析
- 水利工程招標(biāo)質(zhì)疑應(yīng)對措施
- 冷庫租賃合同:糕點(diǎn)銷售冷藏
- 航海導(dǎo)航員聘用合同協(xié)議
- 員工關(guān)系管理要點(diǎn)
- 音樂會策劃演員錄用合同范例
- FZT 73032-2017 針織牛仔服裝
- 治療用碘131I化鈉膠囊-臨床用藥解讀
- 2024外研版初中英語單詞表匯總(七-九年級)中考復(fù)習(xí)必背
- 安徽省合肥市包河區(qū)2023-2024學(xué)年三年級上學(xué)期期末英語試卷
- 2023-2024學(xué)年天津市河西區(qū)六年級上期末數(shù)學(xué)試卷附答案解析
- 2023-2024學(xué)年山東省青島實(shí)驗(yàn)學(xué)校、育才學(xué)校八年級(上)期末數(shù)學(xué)試卷
- JJF(新) 99-2023 液體流量計(jì)現(xiàn)場校準(zhǔn)規(guī)范
- 專題28 語言綜合運(yùn)用新情境新題型(練習(xí)) -2024年高考語文二輪復(fù)習(xí)講練測(新教材新高考)(解析版)
- 湖南省長沙市雅禮集團(tuán)2023-2024學(xué)年部編版八年級歷史上學(xué)期期末歷史試卷(含答案)
- 鋼結(jié)構(gòu)拆除安全施工方案
- 計(jì)算機(jī)科學(xué)與人工智能教材
評論
0/150
提交評論