《單片微型計(jì)算機(jī)及接口技術(shù)》課件(完整版)_第1頁
《單片微型計(jì)算機(jī)及接口技術(shù)》課件(完整版)_第2頁
《單片微型計(jì)算機(jī)及接口技術(shù)》課件(完整版)_第3頁
《單片微型計(jì)算機(jī)及接口技術(shù)》課件(完整版)_第4頁
《單片微型計(jì)算機(jī)及接口技術(shù)》課件(完整版)_第5頁
已閱讀5頁,還剩315頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片微型計(jì)算機(jī)及接口技術(shù) 本書基于51內(nèi)核,融合了多種新型的單片機(jī),結(jié)合編者多年的教學(xué)和科研經(jīng)驗(yàn),系統(tǒng)全面地介紹了單片機(jī)應(yīng)用系統(tǒng)的基本概念、結(jié)構(gòu)、軟硬件設(shè)計(jì)方法和相關(guān)的開發(fā)工具。內(nèi)容更加側(cè)重于接口技術(shù),讀者對接口的應(yīng)用有了更深入的了解,可以按照不同的應(yīng)用需求選擇不同的接口進(jìn)行應(yīng)用開發(fā)。通過本書的學(xué)習(xí),可以幫助讀者從系統(tǒng)的角度掌握單片機(jī)應(yīng)用系統(tǒng)的基本知識,掌握單片機(jī)應(yīng)用系統(tǒng)開發(fā)的基本方法,具備開發(fā)單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)技能。 本書適用于計(jì)算機(jī)、電子、電氣、通信等與控制相關(guān)的專業(yè)作為“單片機(jī)原理與應(yīng)用”或“微型計(jì)算機(jī)接口技術(shù)”課程的教材,也適用于IT企業(yè)嵌入式工程師作為單片機(jī)開發(fā)參考手冊。 第1章

2、概述 第2章 51內(nèi)核的單片機(jī)第3章 單片機(jī)的軟件開發(fā)環(huán)境第4章 51匯編語言程序設(shè)計(jì)第5章 C51程序設(shè)計(jì)語言第6章 51內(nèi)核單片機(jī)的基本應(yīng)用接口設(shè)計(jì)第7章 51內(nèi)核單片機(jī)的通信接口設(shè)計(jì)第8章 51實(shí)時(shí)操作系統(tǒng)第9章 單片機(jī)應(yīng)用系統(tǒng)的開發(fā)實(shí)例第一章 概述4導(dǎo)讀 本章重點(diǎn)介紹單片機(jī)與接口技術(shù)的一些基本知識。 本章內(nèi)容一般只要求作認(rèn)識性了解,通過學(xué)習(xí),學(xué)生應(yīng)該能夠: 初步建立對單片機(jī)系統(tǒng)的全面認(rèn)識; 了解關(guān)于接口的一些基本概念和數(shù)據(jù)傳送方式; 掌握認(rèn)識接口的基本方法 為今后的深入學(xué)習(xí)和研究打下基礎(chǔ)。 1.1 單片機(jī)與微控制器 按照馮.諾依曼原則,一臺(tái)計(jì)算機(jī)的硬件系統(tǒng)由五大部分(運(yùn)算器、控制器、存

3、儲(chǔ)器、輸入設(shè)備、輸出設(shè)備)組成。 一般的計(jì)算機(jī),是采用按邏輯功能劃分的各種微機(jī)電路芯片(如:CPU芯片、存儲(chǔ)器芯片、I/O芯片等)組裝而成的,即所謂“多片結(jié)構(gòu)的計(jì)算機(jī)”。 單片機(jī)則是將CPU、存儲(chǔ)器、I/O接口等集成在一塊芯片上,因此稱為“Single-Chip Microcomputer”。 單片機(jī)主要是針對工業(yè)控制以及與控制有關(guān)的數(shù)據(jù)處理而設(shè)計(jì)的。單片機(jī)的發(fā)展 目前,單片機(jī)的發(fā)展已近40年的歷史,它是硬件和軟件交替發(fā)展的,可以分為四個(gè)階段。 第一階段(1971-1974年): 第二階段(1974-1978年):初級單片機(jī)階段。 第三階段(1978-1983年):高性能單片機(jī)階段。 第四階段

4、(1983年至今): 1971年11月,Intel推出MCS-4微型計(jì)算機(jī)系統(tǒng)(包括4001ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微處理器 )。這個(gè)時(shí)期的微處理器還不是真正意義上的單片機(jī),但卻拉開了單片機(jī)研制的序幕。 這個(gè)時(shí)期的代表產(chǎn)品是Intel公司的8048,它出現(xiàn)在1976年。8048片內(nèi)包含了微型計(jì)算機(jī)的基本單元(CPU、存儲(chǔ)器、并行I/O、定時(shí)計(jì)數(shù)器等),形成了實(shí)際的單片機(jī)。 這個(gè)時(shí)期的代表產(chǎn)品是Intel公司的8051,它出現(xiàn)在1980年。由于其面向控制的獨(dú)特功能,使其在工業(yè)控制領(lǐng)域引起了轟動(dòng)。在此基礎(chǔ)上發(fā)展的51系列單片機(jī),迅速成為應(yīng)用最廣泛的單片機(jī)系

5、列。 高檔單片機(jī)和專用單片機(jī)階段。微控制器 由于Intel公司徹底開放了8051單片機(jī)的技術(shù),使得世界上很多IT廠商加入到開發(fā)與改造8051單片機(jī)的行列中,開發(fā)出各種基于51內(nèi)核的新型單片機(jī)產(chǎn)品。 隨著單片機(jī)技術(shù)的不斷發(fā)展,新型的單片機(jī)內(nèi)部不斷擴(kuò)展了各種控制功能。如:A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、脈寬調(diào)制器(PWM)、計(jì)數(shù)器捕獲/比較邏輯(PCA)、高速I/O口等等,使得它已突破了Microcomputer的傳統(tǒng)內(nèi)容,而朝著Microcontroller的內(nèi)涵發(fā)展。因此國外已將單片機(jī)統(tǒng)一稱為Microcontroller(微控制器)。國內(nèi),仍按習(xí)慣稱為“單片機(jī)”,但其實(shí)質(zhì)應(yīng)該是“微控制器”或“單

6、片微控制器”。 1.2 單片機(jī)系統(tǒng) 同計(jì)算機(jī)系統(tǒng)一樣,單片機(jī)系統(tǒng)也是由硬件系統(tǒng)和軟件系統(tǒng)構(gòu)成的。 單片機(jī)的硬件系統(tǒng)分為單片機(jī)、單片機(jī)系統(tǒng)和單片機(jī)應(yīng)用系統(tǒng)三個(gè)層次。 單片機(jī): 單片機(jī)系統(tǒng): 單片機(jī)應(yīng)用系統(tǒng): 單片機(jī)的軟件一般可以分層為系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件處于底層硬件和高層應(yīng)用軟件之間。但是,單片機(jī)的資源有限,設(shè)計(jì)者必須在系統(tǒng)軟件的功能與構(gòu)成系統(tǒng)軟件的軟硬件開銷之間,仔細(xì)地尋求平衡。 將CPU和計(jì)算機(jī)的外圍功能單元(如:存儲(chǔ)器、I/O口、定時(shí)計(jì)數(shù)器、中斷系統(tǒng)等)集成在一起的芯片。 當(dāng)單片機(jī)內(nèi)部的計(jì)算機(jī)外圍功能單元不能滿足對象要求時(shí),通過系統(tǒng)擴(kuò)展,在外部并行總線上擴(kuò)展相應(yīng)的計(jì)算機(jī)外圍功能單元

7、所構(gòu)成的系統(tǒng)。構(gòu)成單片機(jī)系統(tǒng)的手段是“系統(tǒng)擴(kuò)展”。 通過系統(tǒng)配置,給單片機(jī)系統(tǒng)按控制對象的環(huán)境要求配置相應(yīng)的外部接口電路(如:數(shù)據(jù)采集系統(tǒng)的傳感器接口、控制系統(tǒng)的伺服驅(qū)動(dòng)接口單元以及人機(jī)界面等),以構(gòu)成滿足對象全部要求的單片機(jī)硬件環(huán)境。構(gòu)成單片機(jī)應(yīng)用系統(tǒng)的手段是“系統(tǒng)配置”。1.3 關(guān)于接口的一些基本概念1、接口與端口2、接口的基本形式3、接口電路的基本組成1、接口與端口. 接口的概念 計(jì)算機(jī)在工作過程中,CPU要不斷地與其它部件交換信息。CPU不是直接與外部設(shè)備交換信息的,而是經(jīng)過一個(gè)中間電路,這個(gè)電路就稱為“接口電路”,簡稱“接口”。所謂接口就是主機(jī)與外部設(shè)備連接的橋梁,由它來完成CPU與

8、外部設(shè)備之間信息的傳遞。 一般將外部設(shè)備與接口合稱為“I/O系統(tǒng)”。接口又稱為“設(shè)備控制器”或“適配器”。. 端口的概念 這里所說的端口,是指接口電路內(nèi)可由程序員通過選擇進(jìn)行讀/寫的那些寄存器的地址。 通常,一個(gè)外設(shè)可用一個(gè)接口與計(jì)算機(jī)總線相連。但由于工作需要,一個(gè)接口中往往有幾個(gè)端口。除了數(shù)據(jù)口外,還有命令口(或控制口)和狀態(tài)口,分別用于對數(shù)據(jù)、命令和狀態(tài)進(jìn)行鎖存。2、接口的基本形式 I/O接口通常是數(shù)據(jù)傳送的中轉(zhuǎn)站,它的動(dòng)作受控制信號的控制。因此,I/O接口一方面與數(shù)據(jù)總線相連,同時(shí)還必須與控制總線相連。為了保證通信的兩方都得到數(shù)據(jù),它至少應(yīng)包含一個(gè)具有數(shù)據(jù)鎖存能力的鎖存器,鎖存器和緩沖器

9、一起用以實(shí)現(xiàn)對輸入/輸出數(shù)據(jù)的鎖存與緩沖。此外,對鎖存器還必須有選擇機(jī)構(gòu)和讀/寫控制,使 CPU能有選擇地對I/O端口進(jìn)行讀或?qū)憽?、接口電路的基本組成 接口是主機(jī)(CPU)與外部設(shè)備連接的橋梁,一定存在兩個(gè)方向的連接界面,一方面與主機(jī)(CPU)的連接,另一方面與外部設(shè)備的連接,由它來完成CPU與外部設(shè)備之間信息的傳遞。 接口電路主要由若干個(gè)端口和相應(yīng)的控制邏輯組成。 例如,要完成端口的選擇,要有地址譯碼部件;要完成中斷控制,要有中斷控制邏輯;要完成差錯(cuò)檢測,要有差錯(cuò)檢測邏輯等。1.4 數(shù)據(jù)傳送方式1、I/O接口與外部設(shè)備之間的數(shù)據(jù)傳送方式 I/O接口與外部設(shè)備的數(shù)據(jù)傳送方式是由所用外部設(shè)備決

10、定的。根據(jù)外部設(shè)備的特點(diǎn),有以下三種數(shù)據(jù)傳送方式:、無條件傳送方式、同步傳送方式、應(yīng)答方式 無條件傳送方式認(rèn)為外部設(shè)備始終是準(zhǔn)備好的,能隨時(shí)接收或提供數(shù)據(jù)。 同步傳送方式是指接口以某一確定的時(shí)鐘速率和外設(shè)交換數(shù)據(jù)。例如,對磁盤信息的讀寫,計(jì)算機(jī)外部的同步通信都采用這種傳送方式。這是一種速度較高的數(shù)據(jù)傳送方式。它適用于中等以上數(shù)據(jù)傳送速率和按規(guī)則間隔工作的外部設(shè)備。同步傳送方式的關(guān)鍵是確定數(shù)據(jù)傳送的起始與停止,通常采用的是使用專門信息或作出某些規(guī)定。 應(yīng)答方式又稱為握手(Hand shake)方式。應(yīng)答方式要安排一對握手線。一根由接口送信號到外設(shè),一根由外設(shè)送信號到接口。它們可以是一位控制信號或

11、狀態(tài)信號。1.4 數(shù)據(jù)傳送方式2、CPU與I/O接口之間的數(shù)據(jù)傳送方式 CPU與I/O接口的數(shù)據(jù)傳送方式通常稱為輸入/輸出的控制方式。采用何種方式和接口與外設(shè)之間的數(shù)據(jù)傳送方式有很大關(guān)系。常見的方式有以下幾種:、無條件傳送方式、查詢傳送方式、中斷方式、直接存儲(chǔ)器存?。―MA)方式 無條件傳送方式(或稱簡單的I/O方式)對應(yīng)于接口與外設(shè)間的無條件傳送方式。適用于那些隨時(shí)都能讀、寫數(shù)據(jù)的設(shè)備。 無條件傳送方式的接口要求比較簡單,只需具有選址和緩沖功能即可。 很多外部設(shè)備,其狀態(tài)不是已知的。例如,有些與CPU異步工作的設(shè)備,其工作狀態(tài)總在變化,在這種情況下,利用無條件傳送方式進(jìn)行數(shù)據(jù)傳送就很難保證數(shù)

12、據(jù)的可靠性,因此必須在數(shù)據(jù)傳送之前,對目標(biāo)設(shè)備的狀態(tài)進(jìn)行查詢,確知外設(shè)已做好了傳送數(shù)據(jù)的準(zhǔn)備時(shí)再進(jìn)行數(shù)據(jù)傳送,否則,CPU等待并持續(xù)不斷地查詢,一旦外設(shè)準(zhǔn)備好,則立即進(jìn)行讀或?qū)懖僮?,這種式稱為查詢傳送方式。 為了提高系統(tǒng)效率和實(shí)時(shí)性,可以采用中斷傳送方式。 在中斷傳送方式下,外設(shè)具有申請CPU服務(wù)的主動(dòng)權(quán),當(dāng)輸入設(shè)備已將數(shù)據(jù)準(zhǔn)備好或者輸出設(shè)備可以接收數(shù)據(jù)時(shí),便可以向CPU發(fā)出中斷請求,如果CPU允許中斷響應(yīng),則CPU暫時(shí)停下目前的工作而和外設(shè)進(jìn)行一次數(shù)據(jù)傳輸。等輸入操作完成后,CPU繼續(xù)進(jìn)行原來的工作。 在DMA方式下,外部設(shè)備利用專門的接口電路直接和存儲(chǔ)器進(jìn)行高速數(shù)據(jù)傳送,并不經(jīng)過CPU。這

13、樣,進(jìn)行傳輸就不必進(jìn)行保護(hù)現(xiàn)場之類的一系列額外操作,數(shù)據(jù)傳輸?shù)乃俣然旧蠜Q定于外設(shè)和存儲(chǔ)器的速度。 1.5 認(rèn)識接口的基本方法 為了實(shí)現(xiàn)接口的基本功能,一方面需要有物理基礎(chǔ)硬件的支持;另一方面還要有相應(yīng)的程序軟件驅(qū)動(dòng)。所以,一個(gè)能夠?qū)嶋H運(yùn)行的接口,應(yīng)由硬件和軟件兩部分組成。 要掌握接口的應(yīng)用,必須從硬件與軟件兩方面來認(rèn)識它: 1、接口的外特性(硬件) 2、接口的編程(軟件)1、接口的外特性(硬件) 接口的外特性,就是接口的應(yīng)用特性,一般包括以下幾個(gè)方面:. 接口的邏輯組成. 接口的引腳信號. 與接口相關(guān)的寄存器(端口) 通過接口的連接框圖了解接口的邏輯組成。 對于擴(kuò)展的接口電路,可以采用兩側(cè)分

14、析法來認(rèn)識接口的引腳信號。 其一是與CPU連接的一側(cè),了解它提供的數(shù)據(jù)線的寬度、地址線的寬度、控制線的邏輯定義(高電平有效、低電平有效、脈沖跳變)、以及時(shí)序關(guān)系。 其二是與外設(shè)連接的一側(cè),情況比較復(fù)雜,因?yàn)楸豢貙ο蠓N類繁多,型號不一,所提供的信號線五花八門,其邏輯定義,時(shí)序關(guān)系,電平高低差異甚大。 了解接口中的端口非常重要,一切對外設(shè)的操作都是通過對接口中的端口的操作來實(shí)現(xiàn)的。要正確的應(yīng)用接口,必須從以下兩個(gè)方面了解端口。 了解端口的功能 了解端口的地址分配 對于地址復(fù)用的端口,必須詳細(xì)了解其采用的是哪種技術(shù),才能夠正確的實(shí)現(xiàn)對端口的操作。 常用的端口復(fù)用方法 常用的端口復(fù)用方法有如下幾種:I

15、特征位法 在每次寫入控制信息中留出若干位用于區(qū)分寫入的是哪一種命令字。這些位稱為特征位。II索引法 每次寫入控制信息時(shí)先寫入索引值,然后寫入命令字。由索引值決定命令字寫入哪一個(gè)寄存器。此方法在命令種類多時(shí)尤其有用。III特定順序法 這種方法要求寫入命令字時(shí)要按照嚴(yán)格的寫入次序。由事先走好的次序決定哪一個(gè)命令寫入哪一個(gè)寄存器。2、接口的編程(軟件) 從實(shí)現(xiàn)接口的功能來看,一個(gè)完整的接口程序主要包括初始化程序段和數(shù)據(jù)傳送程序段。 初始化程序段 數(shù)據(jù)傳送程序段 初始化程序一般包括兩大內(nèi)容,其一對于可編程接口芯片,使用前都需要設(shè)置其工作方式及初始工作條件;其二是傳送方式的初始化處理,對于中斷方式,有中

16、斷源的屏蔽/開放、中斷優(yōu)先級的設(shè)置等;對于DMA方式,有相關(guān)的DMA通道的開放/屏蔽等。 只要有數(shù)據(jù)傳送,就一定涉及到傳送方式。無條件傳送方式: 比較簡單,只要直接用指令去讀或?qū)懠纯?。程序查詢方式?需要首先讀取狀態(tài)口,檢測外設(shè)或接口的狀態(tài),根據(jù)狀態(tài)進(jìn)行分析,如果外設(shè)傳送數(shù)據(jù)準(zhǔn)備就緒時(shí),即進(jìn)行數(shù)據(jù)傳送,否則,返回讀取狀態(tài)口,持續(xù)不斷地查詢,直到外設(shè)準(zhǔn)備好,再進(jìn)行讀或?qū)懖僮?。程序中斷方式?數(shù)據(jù)傳送是在中斷服務(wù)程序中進(jìn)行的。 本章小結(jié) 本章介紹了單片機(jī)與接口技術(shù)的一些基本知識。通過本章的學(xué)習(xí),讀者可以了解單片機(jī)與接口技術(shù)的一些基本概念和數(shù)據(jù)傳送的方式,掌握認(rèn)識接口的基本方法,為進(jìn)一步學(xué)習(xí)奠定基礎(chǔ)

17、。 1、什么是單片機(jī)?2、單片機(jī)的硬件系統(tǒng)分為哪幾個(gè)層次?4、什么是接口?什么是端口?6、接口與外設(shè)之間有哪幾種傳送數(shù)據(jù)的方式?21第二章 51內(nèi)核的單片機(jī)22導(dǎo)讀 自Intel公司開放了8051單片機(jī)技術(shù),世界上很多IT廠商加入到開發(fā)與改造8051單片機(jī)的行列中,基于51內(nèi)核的各種新型單片機(jī)產(chǎn)品不斷涌現(xiàn)。 本章內(nèi)容一般只要求作認(rèn)識性了解,通過學(xué)習(xí),學(xué)生應(yīng)該能夠: 初步建立對51系列單片機(jī)的全面認(rèn)識; 了解51內(nèi)核單片機(jī)的體系結(jié)構(gòu)、在片資源 能夠根據(jù)實(shí)際的應(yīng)用選擇相應(yīng)的單片機(jī)芯片。2.1 傳統(tǒng)的MCS51系列單片機(jī) 1980年Intel公司在MCS48系列單片機(jī)的基礎(chǔ)上推出了MCS51系列單片

18、機(jī),由于該系列單片機(jī)片內(nèi)含有存儲(chǔ)器、定時(shí)計(jì)數(shù)器、并行I/O口和串行I/O口,成為單片機(jī)應(yīng)用系統(tǒng)的主流產(chǎn)品。1、MCS51單片機(jī)的基本型號2、MCS51單片機(jī)的在片資源3、MCS51的引腳信號 1、MCS51單片機(jī)的基本型號 MCS51系列單片機(jī)的基本型號有5種,主要區(qū)別是片內(nèi)存儲(chǔ)器不同。 型號ROMRAM定時(shí)計(jì)數(shù)器并行I/OUART中斷系統(tǒng)EPROMROM中斷源優(yōu)先級8031128B2*16位41528032256B3*16位416280514KB128B2*16位415280528KB256B3*16位416287514KB128B2*16位41522、MCS51單片機(jī)的在片資源 MCS51

19、單片機(jī)在一塊芯片中集成了 CPU、 RAM、 ROM、定時(shí)計(jì)數(shù)器和I/O接口等多種功能(如圖所示)。其內(nèi)部包含的功能部件如下: 一個(gè)8位CPU; 一個(gè)片內(nèi)振蕩器及時(shí)鐘電路; 4K字節(jié)ROM程序存儲(chǔ)器: 128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器; 兩個(gè) 16位定時(shí)計(jì)數(shù)器; 可尋址 64K外部數(shù)據(jù)存儲(chǔ)器和 64K外部程序存儲(chǔ)器空間的控制電路; 32條可編程的I/O線(四個(gè)8位并行I/O端口) 一個(gè)可編程全雙工串行口; 具有五個(gè)中斷源、兩個(gè)優(yōu)先級嵌套中斷結(jié)構(gòu)。圖中4K(4096)字節(jié)的ROM存儲(chǔ)器部分用EPROM替換就成為8751;圖中去掉ROM部分就成為8031的結(jié)構(gòu)圖 3、MCS51的引腳信號 MCS51系列

20、單片機(jī)通常有兩種封裝方式,一種是雙列直插式封裝(DIP);另一種是方形封裝(PLCC)。圖 (a)為雙列直插式封裝引腳排列圖,(b)為邏輯符號圖。 40條引腳說明 主電源引腳Vss和Vcc Vss Vcc 外接晶體引腳 XTAL1 XTAL2 控制或與其它電源復(fù)用引腳 RST/Vpd ALE/nPROG nPSEN nEA/Vpp 輸入/輸出引腳 P0.0P0.7 P1.0P1.7 P2.0P2.7 P3.0P3.7 電源接地 電源+5伏 內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。 內(nèi)部振蕩器的反相放大器的輸出端,是外接晶體的另一端。當(dāng)采用外部振蕩器

21、時(shí),此引腳接外部振蕩源。 當(dāng)振蕩器運(yùn)行時(shí)。在此引腳上出現(xiàn)不少于兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位。 在 Vcc掉電期間,此引腳可接上備用電源,由 Vpd向內(nèi)部 RAM提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。 正常操作時(shí)為ALE功能(允許地址鎖存),提供把地址的低字節(jié)鎖存到外部鎖存器。ALE引腳以不變的頻率(振蕩周期的1/6)周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時(shí)鐘,或用于定時(shí)目的。但要注意,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。ALE端可以驅(qū)動(dòng)(吸收或輸出電流)八個(gè) LSTTL電路。 對于 EPROM型單片機(jī),在 EPROM編程期間,此引腳接收編程脈沖(

22、nPROG功能)。 外部程序存儲(chǔ)器讀選通信號輸出端。在從外部程序存儲(chǔ)器取指令(或數(shù)據(jù))期間;nPSEN 在每個(gè)機(jī)器周期內(nèi)兩次有效。nPSEN 同樣可以驅(qū)動(dòng)八個(gè)LSTTL輸入。 nEA為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)nEA為高電平時(shí), CPU從片內(nèi)程序存儲(chǔ)器開始執(zhí)行指令,當(dāng)PC的內(nèi)容超過片內(nèi)程序存儲(chǔ)器地址的最大值時(shí)(4K),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)器的指令。當(dāng)nEA為低電平時(shí),則從片外程序存儲(chǔ)器開始執(zhí)行指令。對于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21V EPROM編程電源(Vpp)。 P0是一個(gè) 8位漏極開路型雙向 I/O口。在訪問外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)

23、地址和數(shù)據(jù)總線。P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。 P1是一個(gè)帶有內(nèi)部提升電阻的 8位準(zhǔn)雙向 I/O口。它能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。 P2是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。在訪問外部存儲(chǔ)器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。 P3是一個(gè)帶有內(nèi)部提升電阻的 8位準(zhǔn)雙向 I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。P3口還用于第二功能。P3引腳第二功能P3.0RXD 串行輸入P3.1TXD 串行輸出P3.2nINT0 外中斷0輸入P3.3nINT1 外中斷1輸入P3.4T0 定時(shí)器0外部輸入P3.5T1 定時(shí)

24、器1外部輸入P3.6nWR 片外RAM寫允許P3.7nRD 片外RAM讀允許2.2 ATMEL公司的89系列單片機(jī) AT89系列單片機(jī)是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)。它集成的Flash程序存儲(chǔ)器,既可在線編程(ISP),也可用傳統(tǒng)方法進(jìn)行編程。 在通用的8位微處理器芯片中,ATMEL公司的AT89S系列單片機(jī),功能強(qiáng)大,價(jià)位低,可為您提供較高的性價(jià)比,靈活應(yīng)用于各種控制領(lǐng)域。 1、AT 89系列單片機(jī)型號的說明AT89系列單片機(jī)的型號編碼由前

25、綴、型號和后綴三部分組成,格式如下:AT 89Cxxxx xxxx 后綴 由x x x x 4個(gè)參數(shù)組成 用以說明產(chǎn)品的處理情況 =/883 表示采用MIL-STD-883標(biāo)準(zhǔn) 表示產(chǎn)品的溫度范圍 =C 商業(yè)產(chǎn)品 0 - +70 =I 工業(yè)產(chǎn)品 -40 - +85 =A 車用產(chǎn)品 -40 - +125 =M 軍工產(chǎn)品 -55 - +150 表示產(chǎn)品的封裝形式 =D Cerdip =J 塑料引線芯片載體 =L 無引線芯片載體 =P PDIP封裝 =S SOIC封裝 =Q PQFP封裝 =A TQFP封裝 =W 無封裝 表示產(chǎn)品的速度(工作頻率) =12 12MHz =16 16MHz =20 2

26、0MHz =24 24MHz 型號 由89 C xxxx 3個(gè)參數(shù)組成 表示器件的型號 表示器件的特征 =C 表示是CMOS產(chǎn)品 =S 表示含有可下載Flash存儲(chǔ)器 =LV 表示為低電壓產(chǎn)品 表示 內(nèi)部有Flash存儲(chǔ)器 前綴 表示為ATMEL產(chǎn)品2、AT 89系列單片機(jī)的特點(diǎn) AT89系列單片機(jī)有多種型號,低檔產(chǎn)品:AT89C1051、AT89C2051, 為20腳封裝,最低工作電壓為2.7V;中檔產(chǎn)品:AT89C51、AT89LV51、AT89C52、AT89LV52、 AT89S51,與8051完全兼容增強(qiáng)型產(chǎn)品: AT89S52,內(nèi)含看門狗電路。 與8051單片機(jī)相比,AT89S52

27、單片機(jī)內(nèi)部多了一個(gè)8K字節(jié)的Flash程序存儲(chǔ)器,一個(gè)16位的定時(shí)器/計(jì)數(shù)器,一個(gè)中斷源,還多了128字節(jié)內(nèi)部RAM和看門狗電路。 由于AT89系列單片機(jī)采用Flash取代了使用不太方便的EPROM,使得這個(gè)系列單片機(jī)更受人們的青睞。 2.3 基于51內(nèi)核的新型單片機(jī)的發(fā)展 從Intel公司徹底開放了8051單片機(jī)的技術(shù),世界上很多IT廠商都加入到開發(fā)與改造8051單片機(jī)的行列中,相繼開發(fā)出各種基于51內(nèi)核的新型單片機(jī)產(chǎn)品。 縱觀基于51內(nèi)核的新型單片機(jī)的發(fā)展,主要反映在以下幾個(gè)方面: 1、采用先進(jìn)的結(jié)構(gòu)以實(shí)現(xiàn)高性能2、低功耗低電壓化3、采用FlashMemory4、擴(kuò)展了片內(nèi)存儲(chǔ)器的容量5、

28、在片資源更加豐富6、增加了在系統(tǒng)編程的能力 7、增加了加密機(jī)制8、集成網(wǎng)絡(luò)控制1、采用先進(jìn)的結(jié)構(gòu)以實(shí)現(xiàn)高性能 這里的高性能主要是指通過改進(jìn)CPU的性能,加快指令運(yùn)算的速度和提高系統(tǒng)控制的可靠性。采用精簡指令集(RISC)結(jié)構(gòu)和流水線技術(shù),大幅度提高運(yùn)行速度?,F(xiàn)指令速度最高者已達(dá)100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加強(qiáng)了位處理功能、中斷和定時(shí)控制功能。這類單片機(jī)的運(yùn)算速度比標(biāo)準(zhǔn)的單片機(jī)高出10倍以上。例如: PHILIPS公司的51LPC系列單片機(jī)的指令執(zhí)行速度比現(xiàn)有的80C51器件高1倍,因?yàn)樗诮Y(jié)構(gòu)上有所改善;采用雙數(shù)據(jù)指針,依據(jù)

29、條件讀取擴(kuò)展或外接存儲(chǔ)器;采用四級中斷優(yōu)先,用來處理越來越頻繁的中斷;芯片上具有多個(gè)存儲(chǔ)器,有最大到64KB的ROM或EPROM,有512B或1KB的RAM等;改善的UART,用來進(jìn)行FRAMING錯(cuò)誤檢測,自動(dòng)地址檢測。 美國Cygnal公司生產(chǎn)的C8051F系列單片機(jī)具有高速指令處理的能力。作為標(biāo)準(zhǔn)的8051來說,一個(gè)機(jī)器周期要占用12個(gè)系統(tǒng)時(shí)鐘周期,執(zhí)行一條指令最少要一個(gè)機(jī)器周期。而C8051F系列單片機(jī)指令系統(tǒng)采用流水線結(jié)構(gòu),機(jī)器周期由標(biāo)準(zhǔn)的12個(gè)系統(tǒng)時(shí)鐘周期降為一個(gè)系統(tǒng)時(shí)鐘周期,指令處理能力比51單片機(jī)大大提高。 華邦公司的W77、W78系列8位單片機(jī)的引腳和指令集與8051兼容,但

30、每個(gè)指令周期只需要4個(gè)時(shí)鐘周期,速度提高了三倍,工作頻率最高可達(dá)40MHz。 2、低功耗低電壓化 MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝) ,由于CHMOS技術(shù)的進(jìn)入,大大地促進(jìn)了單片機(jī)的CMOS化。CMOS電路的特點(diǎn)是低功耗、高密度、低速度、低價(jià)格。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗,電池供電的應(yīng)用場合。 很多單片機(jī)都具有WAIT、STOP等省電運(yùn)行

31、方式。允許使用的電壓范圍越來越寬,一般在3-6V范圍內(nèi)工作。低電壓供電的單片機(jī)電源下限已可達(dá)1-2V。目前0.8V供電的單片機(jī)已經(jīng)問世。3、采用FlashMemory 隨著半導(dǎo)體工藝技術(shù)的不斷進(jìn)步,MCU的Flash版本逐漸替代了原有的OTP版本。FlashMCU具有以下優(yōu)點(diǎn):與多次可編程的窗口式EPROM相比,F(xiàn)lashMCU的成本要低得多;在系統(tǒng)編程能力以及產(chǎn)品生產(chǎn)方面提供了靈活性,因?yàn)镕lashMCU可在編程后再次以新代碼重新編程,可減少已編程器件的報(bào)廢和庫存;有助于生產(chǎn)廠商縮短設(shè)計(jì)周期,使終端用戶產(chǎn)品更具競爭力。 由于AT 89系列單片機(jī)采用Flash取代了使用不太方便的EPROM,使

32、得這個(gè)系列單片機(jī)更受人們的青睞,成為51單片機(jī)的主流產(chǎn)品。4、擴(kuò)展了片內(nèi)存儲(chǔ)器的容量 新型的51內(nèi)核單片機(jī)的片內(nèi)存儲(chǔ)器容量越來越大:程序ROM從原來的4KB擴(kuò)展到8KB、16KB、64KB,片內(nèi)RAM從原來的128B擴(kuò)展到256B。 華邦電子股份有限公司的W79E532/W79E548/W79E54還將1KB的片外數(shù)據(jù)存儲(chǔ)器放在了片內(nèi),可以采用MOVX 指令訪問。 為了便于存放斷電以后也不丟失的數(shù)據(jù),C8051F系列單片機(jī)還增加了EEPROM存儲(chǔ)器。 5、在片資源更加豐富 除了基本的存儲(chǔ)器、定時(shí)計(jì)數(shù)器、并行I/O、串行UART以外,很多新型的單片機(jī)還集成有新型的通信接口(IIC、SPI、USB

33、、CAN)和模擬應(yīng)用接口(ADC、DAC、PWM)等。 6、增加了在系統(tǒng)編程的能力 宏晶科技有限公司的STC89系列單片機(jī)具有ISP/IAP功能,無需專用編程器,無需將單片機(jī)從目標(biāo)板上取下,即可通過PC機(jī)串口,對單片機(jī)進(jìn)行編程。由于STC89系列單片機(jī)在銷售給用戶之前,已在單片機(jī)內(nèi)部固化有ISP 系統(tǒng)引導(dǎo)程序,因此,最好不要用通用編程器對STC89系列單片機(jī)進(jìn)行編程,否則,有可能將單片機(jī)內(nèi)部已固化的ISP 系統(tǒng)引導(dǎo)程序擦除,造成無法使用STC 提供的ISP軟件下載用戶的程序代碼。 美國SST 89系列單片機(jī)提供系統(tǒng)在線編程(ISP功能),內(nèi)部flash擦寫次數(shù)1萬次以上,程序保存時(shí)間可達(dá)100

34、年。SST單片機(jī)是在目前所有的51單片機(jī)產(chǎn)品中IAP技術(shù)最強(qiáng)的單片機(jī),單片機(jī)內(nèi)部FLASH扇區(qū)?。?28字節(jié)),速度快,功耗低,穩(wěn)定性高?!綢AP】IAP:In Application Programming 是指在應(yīng)用編程,即在程序運(yùn)行中編程,就是片子提供一系列的機(jī)制(硬件/軟件上的)當(dāng)片子在運(yùn)行程序的時(shí)候可以提供一種改變flash數(shù)據(jù)的方法。通俗點(diǎn)講,也就是說程序自己可以往程序存儲(chǔ)器里寫數(shù)據(jù)或修改程序。這種方式的典型應(yīng)用就是用一小段代碼來實(shí)現(xiàn)程序的下載,實(shí)際上單片機(jī)的ISP功能就是通過IAP技術(shù)來實(shí)現(xiàn)的,即片子在出廠前就已經(jīng)有一段小的boot程序在里面,片子上電后,開始運(yùn)行這段程序,當(dāng)檢測

35、到上位機(jī)有下載要求時(shí),便和上位機(jī)通信,然后下載數(shù)據(jù)到存儲(chǔ)區(qū)。 7、增加了加密機(jī)制 宏晶科技有限公司的STC單片機(jī)和SYNCMOS半導(dǎo)體公司推出的SM系列單片機(jī),在設(shè)計(jì)的時(shí)候就吸取51系列單片很容易被破解的教訓(xùn),改進(jìn)了加密機(jī)制。STC單片機(jī)出廠的時(shí)候就已經(jīng)完全加密,用戶程序是ISP/IAP機(jī)制寫入,編程的時(shí)候是一邊校驗(yàn)一邊寫,無法讀出命令,這個(gè)增加了解密難度。SM系列單片機(jī)是不可解密。8、集成網(wǎng)絡(luò)控制 DS80C400是與8051兼容的高度集成的網(wǎng)絡(luò)微控制器。DS80C400執(zhí)行指令的速度比普通的8051快3倍。集成外設(shè)包括10/100以太網(wǎng)MAC,三個(gè)串行端口,一個(gè)CAN2.0B控制器,1-W

36、ire主機(jī)和64個(gè)I/O引腳。 為了便于訪問網(wǎng)絡(luò),DS80C400通過嵌入一個(gè)64KB的ROM提供了一個(gè)完整的、可被應(yīng)用訪問的TCP IPv4/6網(wǎng)絡(luò)棧和OS。網(wǎng)棧支持最多32個(gè)并發(fā)的TCP連接,并且能夠通過以太網(wǎng)MAC提供高達(dá)5Mbps的吞吐率。最高達(dá)75MHz的系統(tǒng)時(shí)鐘頻率使最短指令周期僅有54ns。24位尋址方式簡化了對于大容量程序或數(shù)據(jù)存儲(chǔ)器的訪問,支持高達(dá)16MB的連續(xù)存儲(chǔ)空間。 為了加速微控制器和存儲(chǔ)器間的數(shù)據(jù)傳送,DS80C400提供了四個(gè)數(shù)據(jù)指針,每個(gè)指針都可被配置為在執(zhí)行完特定的數(shù)據(jù)指針相關(guān)指令后自動(dòng)遞增或遞減。DS80C400的硬件算術(shù)加速器進(jìn)一步提升了32位和16位乘除運(yùn)

37、算及高速移位、歸一化和累加函數(shù)的執(zhí)行速度。本章小結(jié) 本章主要介紹了51內(nèi)核的單片機(jī),并且對一些新型的采用51內(nèi)核的單片機(jī)作了簡單的介紹。通過本章的學(xué)習(xí),讀者可以初步了解51單片機(jī)的組成結(jié)構(gòu)、在片資源。2、51單片機(jī)在一塊芯片上集成了 個(gè) 位的CPU, 個(gè)片內(nèi)振蕩器及時(shí)鐘電路, 字節(jié)ROM的程序存儲(chǔ)器, 字節(jié)RAM的數(shù)據(jù)存儲(chǔ)器, 個(gè) 16 位的定時(shí)計(jì)數(shù)器,可尋址外存( 字節(jié)RAM、 字節(jié)ROM ) 的控制電路, 條可編程的I/O口線, 個(gè)全雙工串行口, 個(gè)中斷源, 個(gè)優(yōu)先級嵌套中斷結(jié)構(gòu)。3、 nEA引腳的作用是什么?在下列情況下,nEA引腳應(yīng)接何種電平? 只有片內(nèi)ROM; 只有片外ROM; 有片

38、內(nèi)ROM和片外ROM; 有片內(nèi)ROM和片外ROM,片外ROM所存為調(diào)試程序。第3章 單片機(jī)的軟件開發(fā)環(huán)境43導(dǎo)讀 單片機(jī)應(yīng)用系統(tǒng)中的程序存儲(chǔ)器中必須放入調(diào)試好的應(yīng)用程序,系統(tǒng)才能運(yùn)行。單片機(jī)的軟件開發(fā)工具可以分為兩大類:一類是功能單一的開發(fā)工具(如:源程序編輯器、匯編器、編譯器、反匯編工具、反編譯工具、軟件仿真器、硬件仿真器等等);另一類是將多種功能集成在一起的集成開發(fā)環(huán)境。 通過對本章內(nèi)容的學(xué)習(xí),學(xué)生應(yīng)該能夠做到: 了解程序設(shè)計(jì)的一些基本概念; 掌握開發(fā)平臺(tái)RealView MDK的使用方法; 能夠在RealView MDK環(huán)境下進(jìn)行應(yīng)用程序的開發(fā)。 3.1 軟件開發(fā)環(huán)境的基本要求 嵌入式軟

39、件的開發(fā)工具可以分為兩大類: 一類是功能單一的開發(fā)工具(如:源程序編輯器、匯編器、編譯器、反匯編工具、反編譯工具、軟件仿真器、硬件仿真器等等); 另一類是將多種功能集成在一起的集成開發(fā)環(huán)境。3.1 軟件開發(fā)環(huán)境的基本要求一個(gè)軟件集成開發(fā)環(huán)境至少需要具有以下3個(gè)基本功能: 1、源程序的編輯器 2、編譯工具 3、仿真調(diào)試一個(gè)優(yōu)秀的軟件集成開發(fā)環(huán)境還應(yīng)該集成有更多的功能,如: 4、反編譯工具 將單片機(jī)的目標(biāo)代碼轉(zhuǎn)換為匯編語言源程序(反匯編)或高級語言源程序(反編譯)。 5、程序下載 將編譯生成的目標(biāo)代碼傳送到應(yīng)用系統(tǒng)的程序存儲(chǔ)器中運(yùn)行。 6、目標(biāo)代碼格式的轉(zhuǎn)換 轉(zhuǎn)換目標(biāo)代碼的格式。 源程序的編輯器

40、采用某種計(jì)算機(jī)語言來編寫應(yīng)用程序。在單片機(jī)的開發(fā)環(huán)境中常使用的計(jì)算機(jī)語言有:匯編語言、C語言和BASIC語言等。 匯編語言是一種面向硬件的程序設(shè)計(jì)語言,要求設(shè)計(jì)人員必須了解單片機(jī)的硬件結(jié)構(gòu),匯編語言的實(shí)時(shí)性能非常好。當(dāng)設(shè)計(jì)一個(gè)小的應(yīng)用系統(tǒng)時(shí),特別是實(shí)時(shí)時(shí)鐘系統(tǒng),對時(shí)鐘要求很嚴(yán)格時(shí),一般都采用匯編語言編程。 C語言和BASIC語言都是高級程序設(shè)計(jì)語言,其語法結(jié)構(gòu)更符合人們的思考習(xí)慣,開發(fā)者可以更專心的考慮算法而不是考慮一些細(xì)節(jié)問題,這樣就減少了開發(fā)和調(diào)試的時(shí)間。使用高級語言程序員不必知道處理器的具體內(nèi)部結(jié)構(gòu),不必十分熟系處理器的運(yùn)算過程,這意味著對新的處理器也能很快上手,而使得用高級語言編寫的程

41、序比匯編程序有更好的可移植性。 源程序編輯器的實(shí)質(zhì)是一個(gè)文本編輯器,因此,任何一個(gè)具有文本編輯功能的軟件都可以用來編輯源程序,只是在保存時(shí),必須按照編譯工具的要求,保存為相應(yīng)的文本格式,即文件后綴必須滿足編譯工具的要求。 源程序的編輯必須符合編譯程序的語法規(guī)則要求,一個(gè)優(yōu)秀的源程序編輯器可以自動(dòng)判別你編寫的源程序是否符合編譯程序的語法規(guī)則,并指出不合法的語句。 編譯工具 將源程序轉(zhuǎn)換為該單片機(jī)的機(jī)器語言程序(目標(biāo)代碼)。根據(jù)源程序編輯時(shí)所采用的計(jì)算機(jī)語言的不同,編譯工具有:匯編器(將匯編語言編寫的源程序轉(zhuǎn)換為該單片機(jī)的機(jī)器語言程序)、C編譯器(將C語言編寫的源程序轉(zhuǎn)換為該單片機(jī)的機(jī)器語言程序)

42、和B編譯器(將BASIC語言編寫的源程序轉(zhuǎn)換為該單片機(jī)的機(jī)器語言程序)。 有的開發(fā)環(huán)境自帶有編譯工具,也有的開發(fā)環(huán)境是借助于單片機(jī)廠商提供的編譯工具來實(shí)現(xiàn)編譯功能。 仿真調(diào)試 仿真器有二種主要類型: 一類是實(shí)時(shí)在線仿真器,這類仿真器需要采用與所仿真的單片機(jī)一致的仿真芯片構(gòu)成硬件系統(tǒng),可以做到完全的實(shí)時(shí)在線仿真,功能強(qiáng)大,開發(fā)起來非常方便; 另一類是軟件模擬仿真器,完全由軟件來模擬單片機(jī)的硬件環(huán)境,其實(shí)時(shí)性能較差,適用于簡單,實(shí)時(shí)性不需很強(qiáng)的開發(fā),這類仿真工具可以滿足用戶開發(fā)的低成本要求。 3.2 幾種流行的51單片機(jī)的軟件開發(fā)環(huán)境 、Keil C51 V9(uVision 4)軟件名稱:Kei

43、l uVision 4軟件大?。?9.7 MB軟件語言:英文、漢化簡體應(yīng)用平臺(tái):Win9x/NT/2000/XP下載網(wǎng)址:/軟件簡介: Keil C51是Keil Software的IDE,是一個(gè)基于Windows的51單片機(jī)集成開發(fā)環(huán)境,它把項(xiàng)目管理,源代碼編輯,程序調(diào)試等集成到一個(gè)功能強(qiáng)大的環(huán)境中。 源代碼編輯可采用C語言,也可采用匯編語言。Keil C51支持所有的Keil 8051工具,包括C編譯器(C51),宏匯編器(A51),庫管理器(LIB51),連接/定位器(BL51),分段目標(biāo)文件轉(zhuǎn)換器(OC51),目標(biāo)代碼到HEX的轉(zhuǎn)換器(OH51)。 Keil C51可以連接仿真器進(jìn)行仿

44、真調(diào)試,也可以進(jìn)行軟件仿真調(diào)試。 (2005年ARM公司收購了Keil公司 ) 3.2 幾種流行的51單片機(jī)的軟件開發(fā)環(huán)境 、TKStudio IDE軟件名稱:TKStudio IDE軟件大?。?326KB軟件語言:簡體中文應(yīng)用平臺(tái):WIN98/98/ME/NT/2000/XP下載網(wǎng)址:/tools/fangzhenqi/TKStudio.asp軟件簡介: TKStudio IDE是廣州周立功單片機(jī)發(fā)展有限公司開發(fā)的簡體中文界面的集成開發(fā)環(huán)境,軟件從界面、功能到操作方法與KEIL uVision高度兼容,提供KeilA51、C51系列開發(fā)工具的無縫接軌,完美實(shí)現(xiàn)編譯連接工具的最細(xì)節(jié)功能。系統(tǒng)在

45、兼容Keil uVision時(shí),更多地融入了自己的風(fēng)格與經(jīng)驗(yàn),使界面更美觀,功能更實(shí)用,能更準(zhǔn)確、快捷地完成仿真調(diào)試任務(wù)。 TKStudio IDE目前可以免費(fèi)下載使用,但其編譯功能需要Keil uVision工具的支持,包括C編譯器(C51),宏匯編器(A51),庫管理器(LIB51),連接/定位器(BL51),目標(biāo)代碼到HEX的轉(zhuǎn)換器(OH51)等。 系統(tǒng)在兼容Keil C51時(shí),更多地融入了自己的風(fēng)格與經(jīng)驗(yàn),使界面更美觀,功能更實(shí)用,能更準(zhǔn)確、快捷地完成仿真調(diào)試任務(wù)。 從使用的角度,可以將TKStudio IDE看成是Keil C51的中文簡化版。(2012年6月26日,周立功宣布放棄T

46、KS集成開發(fā)環(huán)境,停止開發(fā)和維護(hù) ) 3.2 幾種流行的51單片機(jī)的軟件開發(fā)環(huán)境 、51匯編集成開發(fā)環(huán)境軟件名稱:51匯編集成開發(fā)環(huán)境軟件大?。?950KB軟件語言:簡體中文應(yīng)用平臺(tái):Win9x/NT/2000/XP下載網(wǎng)址:/soft/15074.html軟件簡介: 51匯編集成開發(fā)環(huán)境是基于Windows環(huán)境的51匯編軟件開發(fā)平臺(tái),它集源程序的編輯、匯編、反匯編和全軟件仿真調(diào)試于一體,功能齊全,使用方便,適用于與51單片機(jī)兼容的各類單片機(jī)。 源程序的編輯采用匯編語言,內(nèi)嵌的匯編程序還支持中文編程,51源程序中的操作碼、標(biāo)號和特殊功能寄存器均可使用中文。 該軟件還具有MCS48的匯編、反匯編

47、和將MCS48源程序轉(zhuǎn)換為51源程序的移植功能。 3.2 幾種流行的51單片機(jī)的軟件開發(fā)環(huán)境 、BASCOM-8051軟件名稱:BASCOM-8051軟件大?。?.1MB軟件語言:英文應(yīng)用平臺(tái):Win9x/NT/2000/XP下載網(wǎng)址:軟件簡介: BASCOM-8051是MCS公司推出的采用BASIC語言的51單片機(jī)軟件開發(fā)平臺(tái),集源程序的編輯、匯編和軟件仿真調(diào)試于一體。 BASCOM-8051的DEMO版本僅可生成2KB的程序代碼。 3.3 Keil uVision4集成開發(fā)環(huán)境 Keil uVision4是眾多單片機(jī)應(yīng)用開發(fā)軟件中最優(yōu)秀的軟件之一,它支持眾多不同公司的51內(nèi)核芯片,甚至AR

48、M,它集編輯,編譯,仿真等于一體,它的界面和常用的微軟VC+的界面相似,因此特別易于使用,同時(shí)具備非常高的性能。3.3 Keil uVision4集成開發(fā)環(huán)境 安裝與啟動(dòng): Keil uVision4下載得到的是一個(gè)壓縮文件,解壓安裝完成后,安裝完成后,可從開始程序Keil uVision4啟動(dòng),啟動(dòng)后的界面見圖 Keil uVision4集成開發(fā)環(huán)境工程項(xiàng)目的管理: 在Keil uVision4中,設(shè)置了一個(gè)項(xiàng)目管理器,可以在項(xiàng)目管理下,開發(fā)應(yīng)用程序。創(chuàng)建一個(gè)應(yīng)用,一般需要下列幾個(gè)步驟: 新建一個(gè)項(xiàng)目 在項(xiàng)目中,創(chuàng)建、編輯源程序文件 為此項(xiàng)目指定編譯和調(diào)試環(huán)境 編譯項(xiàng)目 調(diào)試 新建一個(gè)項(xiàng)目

49、從Project菜單New Vision Project.進(jìn)入新建對話框,輸入工程名稱,然后點(diǎn)擊保存,即可創(chuàng)建一個(gè)新的項(xiàng)目。 新建一個(gè)項(xiàng)目 選擇CPU:一個(gè)新的工程項(xiàng)目創(chuàng)建以后,首先需要選擇目標(biāo)CPU,Vision IDE支持很多種不同公司的CPU,我們在這里可以選擇Atmel公司的AT89S51。 新建一個(gè)項(xiàng)目點(diǎn)擊OK后,會(huì)出現(xiàn)一個(gè)消息框(圖1-4),是否復(fù)制8051的啟動(dòng)代碼,加入到工程中? 新建一個(gè)項(xiàng)目點(diǎn)擊是,工程項(xiàng)目被建立。在打開的工程項(xiàng)目窗口中,有Project 文件管理器,管理著工程項(xiàng)目中的全部文件。為了使工程項(xiàng)目中的文件組織更具有層次性和條理性,可以將工程項(xiàng)目中的文件分組管理。這

50、里已經(jīng)包含了8051的啟動(dòng)代碼,放在Source Group 1組中。新建一個(gè)源程序 從File菜單New. 或點(diǎn)擊 ,可打開一個(gè)空的編輯窗口用以編輯源程序。 進(jìn)入源程序編輯窗口后,可以在該窗口下按照編程語言的語法要求編輯源程序。Vision IDE的編輯器就是一個(gè)文本編輯器,你可以用它來編寫各種程序,只是應(yīng)注意你所采用的編程語言符合文件的后綴和文件的格式。 源程序編輯窗口打開后,Edit菜單有效。此時(shí),可以使用edit菜單中的命令(undo、redo、cut、copy、paste、find、replace等)來輔助源程序編輯。保存一個(gè)源程序 源程序編輯完后,可點(diǎn)擊 或從File菜單save保

51、存正在編輯的源程序文件。也可從File菜單save as 將當(dāng)前正在編輯的源程序文件重命名保存。 保存新編輯的源程序或?qū)?dāng)前正在編輯的源程序文件重命名保存時(shí),將出現(xiàn)另存為對話框,在這里可選擇保存的路徑和保存的文件名。 注意,要根據(jù)源程序所采用的編程語言來選擇文件的后綴。 將一個(gè)源程序加入到工程中 將一個(gè)已有的源程序文件加入到工程項(xiàng)目中的方法如下:在工程項(xiàng)目窗口中的相應(yīng)位置點(diǎn)右鍵,在彈出的快捷菜單中選擇Add Files.命令,進(jìn)入選擇文件對話框,如圖所示,可選擇一個(gè)已有的源程序文件,將其加入到工程項(xiàng)目中。在Vision IDE中,新建的源程序并沒有包含在工程中,必須通過下面的操作,將一個(gè)已有的

52、源程序文件加入到工程項(xiàng)目中。被加入到工程項(xiàng)目中的源程序文件必須滿足以下兩個(gè)條件:、該文件的擴(kuò)展名,必須是文件映射表中所定義的。、對于可生成目標(biāo)文件的源程序(如:C語言程序、匯編語言程序),在同一個(gè)工程項(xiàng)目中不能同名。將一個(gè)已有的源程序文件加入到工程項(xiàng)目中的方法有2種:、在工程項(xiàng)目窗口中的相應(yīng)位置點(diǎn)右鍵選擇Add Files.進(jìn)入選擇文件對話框,可選擇一個(gè)已有的源程序文件,加入到工程項(xiàng)目中。、在工程管理對話框中進(jìn)行。 打開一個(gè)工程項(xiàng)目或打開一個(gè)源程序文件 從Project菜單Open Project.,可打開一個(gè)已有的工程項(xiàng)目;從File菜單Open. 或點(diǎn)擊 可打開一個(gè)已有的源程序文件,進(jìn)行編

53、輯。 打開一個(gè)已有的工程項(xiàng)目,即已打開該工程中所有的文件。 工程管理 點(diǎn)擊 可打開工程管理對話框,在工程管理對話框中,可以分別對工程目標(biāo)(Project Targets)、文件組(Groups)和文件(Files)進(jìn)行增加(創(chuàng)建)、減少(刪除)、變更順序以及變更名稱等操作。 編輯源程序 在工程項(xiàng)目窗口中,雙擊文件名,即可打開源程序編輯窗口,進(jìn)行編輯。 工程項(xiàng)目的配置 要使前面創(chuàng)建的工程項(xiàng)目能夠正確地被編譯,還需要對工程的編譯選項(xiàng)進(jìn)行適當(dāng)配置。在Vision IDE中,點(diǎn)擊 可打開工程配置對話框。 Vision IDE中,工程項(xiàng)目配置的選項(xiàng)有:目標(biāo)CPU的選擇設(shè)置(Device)、生成目標(biāo)的基本

54、選項(xiàng)設(shè)置(Target)、編譯輸出文件的選項(xiàng)設(shè)置(Output)、編譯輸出列表文件的選項(xiàng)設(shè)置(Listing)、用戶程序的選項(xiàng)設(shè)置(User)、C語言編譯器的選項(xiàng)設(shè)置(C51)、匯編語言編譯器的選項(xiàng)設(shè)置(A51)、調(diào)試器的選項(xiàng)設(shè)置(Debug)和一些公共選項(xiàng)設(shè)置(utilities)。這里主要需要設(shè)置的是以下一些項(xiàng)目: 在目標(biāo)CPU的選擇設(shè)置(Device)中,必須選擇CPU的型號,這在新建工程時(shí)已經(jīng)做了,在這里,還可以進(jìn)行修改。 在生成目標(biāo)的基本選項(xiàng)設(shè)置(Target)中,主要需要設(shè)置系統(tǒng)時(shí)鐘的頻率;選擇是否使用片內(nèi)ROM;選擇使用片外ROM和片外RAM的地址空間。 在編譯輸出文件的選項(xiàng)設(shè)置

55、(Output)中,需要選擇編譯生成可執(zhí)行文件還是庫文件,若選擇編譯生成可執(zhí)行文件,還要設(shè)置輸出文件名。 在調(diào)試器的選項(xiàng)設(shè)置(Debug)中,主要需要設(shè)定采用軟件仿真(Simulator)還是硬件仿真。若采用硬件仿真,就需要選擇相應(yīng)的仿真器。 編譯 從Project菜單Build Target 或點(diǎn)擊 可對選中的工程目標(biāo)進(jìn)行編譯,從Project菜單Rebuild all Target files 或點(diǎn)擊 可對所有的工程目標(biāo)進(jìn)行編譯。 編譯完成后,在Build output窗口報(bào)告出錯(cuò)和警告情況。當(dāng)顯示0 Eorror,0 Warning 時(shí),表明沒有語法錯(cuò)誤了。 仿真調(diào)試 Vision ID

56、E支持2種仿真調(diào)試方式,軟件仿真(Simulator)和硬件仿真。需要在調(diào)試器的選項(xiàng)設(shè)置(Debug)中,設(shè)定采用的仿真調(diào)試方式。 若采用硬件仿真,需要有相應(yīng)的硬件支持,在調(diào)試器的選項(xiàng)設(shè)置中,需要選擇相應(yīng)的硬件仿真器。 啟動(dòng)仿真界面 在Vision IDE中,通過Debug菜單Star/Stop Debug Session 或點(diǎn)擊或直接按ctrl+F5可以啟動(dòng)仿真界面,調(diào)試器會(huì)載入應(yīng)用程序并執(zhí)行啟動(dòng)代碼。在仿真界面中進(jìn)行調(diào)試操作 進(jìn)入仿真界面后,可以進(jìn)行單步運(yùn)行、全速運(yùn)行、設(shè)斷點(diǎn)運(yùn)行等操作??梢圆榭创鎯?chǔ)器、寄存器及變量的數(shù)值。單步運(yùn)行進(jìn)入一個(gè)函數(shù) 在Debug菜單中選擇“Step”選項(xiàng),或點(diǎn)擊

57、或直接用F11即可以單步執(zhí)行一條匯編語句,窗口中黃色箭頭會(huì)發(fā)生相應(yīng)的移動(dòng)。單步運(yùn)行跳過一個(gè)函數(shù) 在Debug菜單中選擇“Step Over”選項(xiàng),或點(diǎn)擊或直接用F10即可以單步執(zhí)行跳出當(dāng)前函數(shù)調(diào)用,若無函數(shù)被調(diào)用,則Vision3會(huì)給出一個(gè)錯(cuò)誤。單步運(yùn)行從當(dāng)前函數(shù)跳出 在Debug菜單中選擇“Step Out”選項(xiàng),或點(diǎn)擊或直接用ctrl+ F11即可以單步執(zhí)行從當(dāng)前函數(shù)跳出。全速運(yùn)行到下一個(gè)活動(dòng)斷點(diǎn) 在Debug菜單中選擇“Run” 選項(xiàng),或點(diǎn)擊或直接用F5即可以全速運(yùn)行代碼到下一個(gè)活動(dòng)斷點(diǎn)。設(shè)斷點(diǎn)運(yùn)行 有時(shí)候,用戶可能希望程序在執(zhí)行到某處時(shí),查看一些所關(guān)心的變量值,此時(shí)可以通過斷點(diǎn)設(shè)置達(dá)到

58、此要求。將光標(biāo)移動(dòng)到要進(jìn)行斷點(diǎn)設(shè)置的代碼處,在Debug菜單中選擇“Insert/Remove Breakpoint” 選項(xiàng)或按F9,就會(huì)在光標(biāo)所在位置出現(xiàn)一個(gè)實(shí)心圓點(diǎn),表明該處為斷點(diǎn)。在仿真過程中查看修改相關(guān)數(shù)據(jù)、查看寄存器值從Views菜單中選擇Registers window選項(xiàng),可以打開寄存器查看窗口。在寄存器查看窗口中,列出了CPU的寄存器,選中指定寄存器并單擊,或按F2鍵便可以出現(xiàn)一個(gè)編輯框,從而可以改變此寄存器的值。 、查看存儲(chǔ)器內(nèi)容從Views菜單中選擇Memory window選項(xiàng),可以打開存儲(chǔ)器查看窗口。如圖3-13所示。內(nèi)存窗口可以顯示不同的存儲(chǔ)域內(nèi)容,最多可將四個(gè)不同的

59、存儲(chǔ)域顯示在不同的頁中,窗口中的右鍵菜單可以選擇輸出格式。在address域內(nèi),可以輸入一個(gè)表達(dá)式,此表達(dá)式的值為所顯示內(nèi)容的地址。地址表達(dá)式格式如下:C:0 x0000 起始地址C_查看程序存儲(chǔ)器ROM中的內(nèi)容D_查看片內(nèi)數(shù)據(jù)寄存器RAM中的內(nèi)容X_查看片外數(shù)據(jù)寄存器RAM中的內(nèi)容通過存儲(chǔ)器窗口的右鍵菜單可以選擇輸出數(shù)據(jù)的格式。一般情況下,應(yīng)該選擇為 “Unsigned _ Char”(無符號字符型),此時(shí)輸出數(shù)據(jù)為2位十六進(jìn)制代碼。 在某個(gè)單元的值上雙擊可打開一個(gè)編輯框,它允許鍵入一個(gè)新的存儲(chǔ)值,即可改變存儲(chǔ)內(nèi)容。使能View Periodic Window Update,可以在運(yùn)行目標(biāo)程

60、序時(shí)更新此窗口中的值。、查看IO口的內(nèi)容從Penpherals菜單中選擇I/O Ports選項(xiàng),可以選擇打開Port 0、Port1、Port2或Port3查看窗口。通過鼠標(biāo)點(diǎn)擊,可以修改相應(yīng)的數(shù)據(jù)。 、查看變量的數(shù)值從Views菜單中選擇Watch window選項(xiàng),可以打開Locals窗口,查看變量的數(shù)值。 本章小結(jié) 本章對軟件開發(fā)環(huán)境的基本要求和幾種目前流行的51單片機(jī)的軟件開發(fā)環(huán)境作了簡單的介紹,重點(diǎn)介紹了Keil uVision4集成開發(fā)環(huán)境的使用。通過本章的學(xué)習(xí),讀者可以基本掌握Keil uVision4集成開發(fā)環(huán)境的使用方法,在Keil uVision4集成開發(fā)環(huán)境下進(jìn)行軟件的開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論