C單片機的基本結(jié)構(gòu)和工作原理PPT學習教案_第1頁
C單片機的基本結(jié)構(gòu)和工作原理PPT學習教案_第2頁
C單片機的基本結(jié)構(gòu)和工作原理PPT學習教案_第3頁
C單片機的基本結(jié)構(gòu)和工作原理PPT學習教案_第4頁
C單片機的基本結(jié)構(gòu)和工作原理PPT學習教案_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、會計學1C單片機的基本結(jié)構(gòu)和工作原理單片機的基本結(jié)構(gòu)和工作原理 (1) 中央處理器(中央處理器(CPU) 單片機中央處理器和通用微處理器基本相同,只是增設(shè)了“面向?qū)ο蟆钡奶幚砉δ堋H缥惶幚怼⒉楸?、多種跳轉(zhuǎn)、乘除法運算、狀態(tài)檢測、中斷處理等,增強了實時性。(2) 存儲器存儲器 目前微型計算機和單片機的存儲器主要有兩種結(jié)構(gòu),即哈佛(Harvard)結(jié)構(gòu)和普林斯頓(Princeton)結(jié)構(gòu)。所謂哈佛結(jié)構(gòu),是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu);而普林斯頓結(jié)構(gòu),則是將程序和數(shù)據(jù)共用一個存儲器空間的結(jié)構(gòu)。80C51系列單片機采用前者。第1頁/共63頁圖圖21 80C51單片機的基本組成框圖單

2、片機的基本組成框圖 第2頁/共63頁 程序存儲器(ROM) 程序存儲器用來存放程序和始終要保留的常數(shù)。常用的有片內(nèi)掩膜ROM、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程型ROM(E2PROM)8031片內(nèi)沒有程序存儲器8051內(nèi)部設(shè)有4KB的掩模ROM程序存儲器8751是將8051片內(nèi)的ROM換成EPROM89C51則換成4KB的閃速EEPROM89S51結(jié)構(gòu)同89C51,4KB的閃速EEPROM可在線編程 增強型52、54、58系列的存儲容量為普通型分別為8KB、16KB、64KB第3頁/共63頁 數(shù)據(jù)存儲器(RAM) 數(shù)據(jù)存儲存放程序運行中所需要的常數(shù)和變量

3、。51系列內(nèi)部RAM容量為128B,52系列為256B。(3) I/O接口接口 并行I/O接口 80C51單片機內(nèi)部有4個8位I/O接口,不僅可靈活地用作輸入或輸出,而且還具有多種功能。 串行口 80C51單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設(shè)備間的串行通訊。該串行口還可作為同步移位器使用。 第4頁/共63頁(4)時鐘電路)時鐘電路 80C51單片機內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接,時鐘電路為單片機產(chǎn)生時鐘脈沖序列。(5)中斷)中斷 80C51共有5個中斷源,即外部中斷2個,定時器/計數(shù)器中斷2個,串行口中斷1個,全部中斷源分為兩個優(yōu)先級,優(yōu)先級的高低可通過編程實現(xiàn)。(6)

4、定時器)定時器/計數(shù)器計數(shù)器 80C51共有2個16位的定時器/計數(shù)器,以實現(xiàn)精確的定時或?qū)ν獠渴录挠嫈?shù)功能。第5頁/共63頁 從以上內(nèi)容可以看出,單片機突破了常規(guī)的按邏輯功能劃分芯片,由多片構(gòu)成微型計算機的設(shè)計思想,將構(gòu)成計算機的許多功能集成在一塊晶體芯片上,它已具備了計算機的基本功能,實際上已經(jīng)是一個簡單的微型計算機系統(tǒng)了。第6頁/共63頁 80C51單片機的內(nèi)部結(jié)構(gòu)如圖22所示。它主要由以下幾個部分組成:1個8位的中央處理器;4KB的EPROM/ROM;128B的RAM;32條I/O線;2個定時器/計數(shù)器;1個具有5個中斷源、2個優(yōu)先級的中斷嵌套結(jié)構(gòu);用于多處理機通訊、I/O口擴展或全

5、雙工通用異步接收發(fā)器(UART);特殊功能寄存器(SFR);1個片內(nèi)振蕩器和時鐘電路。這些部件通過內(nèi)部總線連接起來,構(gòu)成一個完整的微型計算機。第7頁/共63頁圖圖22 80C51的內(nèi)部結(jié)構(gòu)圖的內(nèi)部結(jié)構(gòu)圖第8頁/共63頁 中央處理器是單片機內(nèi)部的核心部件,它決定了單片機的主要功能特性。中央處理器從功能上可分為運算器、控制器兩部分。(1)運算器)運算器 運算器由運算邏輯單元ALU、累加器ACC(A)、暫存寄存器、B寄存器、程序狀態(tài)標志寄存器PSW以及BCD碼運算修正電路等組成。第9頁/共63頁 算術(shù)邏輯單元ALU 算術(shù)邏輯單元ALU的結(jié)構(gòu)如圖23所示。ALU功能十分強大,不僅可以對8位變量進行邏輯

6、“與”、“或”、“異或”、循環(huán)求補、清零等基本操作,還可以進行加、減、乘、除等基本運算,并具有數(shù)據(jù)傳輸、程序轉(zhuǎn)移等功能。為了乘除運算的需要,設(shè)置了B寄存器。圖圖23 ALU結(jié)構(gòu)結(jié)構(gòu)第10頁/共63頁 累加器ACC 累加器ACC(簡稱累加器A)為一個8位寄存器,它是CPU中使用最頻繁的寄存器。大部分單操作數(shù)指令的操作數(shù)取自累加器A,很多雙操作數(shù)指令的一個操作數(shù)取自累加器A,加、減、乘和除等算術(shù)運算指令的運算結(jié)果都存放在累加器A或AB寄存器中,在變址尋址方式中累加器被作為變址寄存器使用。 需要注意的是,在80C51單片機,還有一部分可以不經(jīng)過累加器A的傳送指令,如:寄存器直接尋址單元之間;直接尋址

7、單元與間接尋址單元之間;寄存器、直接尋址單元、間接尋址單元與立即數(shù)之間的傳送指令。其目的是加快傳送速度,減少累加器A的堵塞現(xiàn)象。第11頁/共63頁 B寄存器 B寄存器為8位寄存器,主要用于乘除指令中。乘法中,ALU的兩個輸入分別為A、B,運算結(jié)果存放在AB寄存器對中。A中存放積的低8位,B中存放積的高8位。除法中,A中存放被除數(shù),B中放入除數(shù),商數(shù)存放于A,余數(shù)存放于B。當然B寄存器也可作為一個普通的內(nèi)部RAM單元使用。 程序狀態(tài)字 程序狀態(tài)字PSW(Program Status Word)是一個逐位定義的8位標志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢和判別。其各位的定義如下:第1

8、2頁/共63頁 a. PSW.0(P,奇偶標志位) 每個指令周期由硬件來置位或清零用以表示累加器A中1的位數(shù)的奇偶性,若累加器中1的位數(shù)為奇數(shù)則P1,否則P0。 b. PSW.2(OV,溢出標志位) c. PSW.3、PSW.4(RS0、RS1,工作寄存器選擇控制位) 該兩位通過軟件置“0”或“1”來選擇當前工作寄存器組,具體定義見表21。第13頁/共63頁RS1RS0所選中的寄存器組00寄存器0組(00H07H)01寄存器1組(08H0FH)10寄存器2組(10H17H)11寄存器3組(18H1FH)表表21 工作寄存器組選擇工作寄存器組選擇 第14頁/共63頁 d. PSW.5(F0,用戶

9、標志位) 該位為用戶定義的狀態(tài)標記,用戶根據(jù)需要用軟件對其置位或清零,也可以用軟件測試F0的狀態(tài)來實現(xiàn)分支轉(zhuǎn)移。 e. PSW.6(AC,輔助進位標志位) 進行加法或減法操作時,當發(fā)生低四位向高四位進位或借位時,AC由硬件置位,否則AC位被清“0”。在進行十進制調(diào)整指令時,將借助AC狀態(tài)進行判斷。 f. PSW.7(CY,進位標志位) 在算術(shù)運算中它可作為進位標志,表示運算結(jié)果中高位是否有進位或借位的狀態(tài)。 第15頁/共63頁(2)控制器)控制器 控制器是單片機的神經(jīng)中樞,與運算器一起組成中央處理器。在80C51單片機中,控制器電路包括程序計數(shù)器PC、程序地址寄存器、指令寄存器、指令譯碼器、數(shù)

10、據(jù)指針DPTR、堆棧指針SP、條件轉(zhuǎn)移邏輯電路、緩沖器以及定時控制電路等。其功能是控制指令的讀出、譯碼和執(zhí)行,協(xié)調(diào)單片機各部分正常工作。第16頁/共63頁 程序計數(shù)器PC PC(Program Counter)是中央控制器中最基本的寄存器,是一個獨立的16位計數(shù)器,其內(nèi)容為將要執(zhí)行的指令地址,尋址范圍可達64KB。PC有自動增一的功能,從而實現(xiàn)程序的順序執(zhí)行。PC沒有地址,是不可尋址的,因此用戶不能對其進行讀寫,但可以通過跳轉(zhuǎn)、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。 數(shù)據(jù)指針DPTR 數(shù)據(jù)指針是80C51中一個功能比較特殊的16位寄存器。主要是作為片外數(shù)據(jù)存儲器尋址用的地址寄存器(間址

11、尋址),故稱數(shù)據(jù)指針。DPTR也可作為訪問程序存儲器的基址寄存器。 第17頁/共63頁(1)時鐘電路)時鐘電路 80C51單片機時鐘電路如圖24所示,時鐘信號可由內(nèi)部振蕩方式或外部振蕩方式得到。圖圖24 單片機時鐘電路單片機時鐘電路 第18頁/共63頁 內(nèi)部振蕩方式:在80C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTALl,其輸出端為引腳XTAL2。只需要在片外通過XTAL1和XTAL2引腳跨接晶體振蕩器和在引腳與地之間加接微調(diào)電容,形成反饋電路,振蕩器即可工作,如圖25所示。圖圖25 內(nèi)部振蕩方式內(nèi)部振蕩方式 第19頁/共63頁 外部振蕩方式:把外部已有的時鐘信號引入單片機內(nèi)

12、。該方式適宜用來使單片機的時鐘信號與外部信號保持同步。外部振蕩方式的外部電路如圖26所示。圖圖26 外部振蕩電路外部振蕩電路 需要注意,這里引入外部振蕩信號的方式是針對80C51系列單片機的,對于其它系列的單片機情況會有所不同,讀者應(yīng)參考該系列單片機的有關(guān)資料。 第20頁/共63頁(2)CPU工作時序工作時序 首先介紹與CPU工作時序相關(guān)的幾個基本概念。 振蕩周期 振蕩周期指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。振蕩周期為最小的時序單位,片內(nèi)的各種微操作都以此周期為時序基準。 時鐘周期 時鐘周期又稱作狀態(tài)周期或狀態(tài)時間S,它是振蕩周期的兩倍,它分為P1節(jié)拍和P2節(jié)拍,通常在P

13、1節(jié)拍完成算術(shù)邏輯操作,在P2節(jié)拍完成內(nèi)部寄存器之間的傳送操作。第21頁/共63頁 機器周期 一個機器周期由6個狀態(tài)組成,如果把一條指令的執(zhí)行過程分作幾個基本操作,則將完成一個基本操作所需的時間稱作機器周期。單片機的單周期指令執(zhí)行時間就為一個機器周期。由于一個狀態(tài)周期2個節(jié)拍組成,而一個機器周期由6個狀態(tài)組成,故一個機器周期共有12個振蕩脈沖周期,可依次表示為S1P1(狀態(tài)1拍1)、S1P2(狀態(tài)1拍2)、S6P2(狀態(tài)6拍2),因此機器周期就是振蕩脈沖的12分頻。第22頁/共63頁 指令周期 指令周期即執(zhí)行一條指令所占用的全部時間,通常為14個機器周期。它是最大的時序定時單位。80C51的指

14、令周期根據(jù)指令的不同,可包含有一、二、四個機器周期。 當外接12MHz的晶振時,80C51單片機的四個周期分別為:振蕩周期1/12s,時鐘周期(狀態(tài)周期)1/6s,機器周期1s,指令周期14s。 80C51共有111條指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。執(zhí)行這些指令所需要的機器周期數(shù)目是不同的。第23頁/共63頁 80C51單片機系列的存儲器采用的是哈佛(Harvard)結(jié)構(gòu),即將程序存儲器和數(shù)據(jù)存儲器截然分開,程序存儲器和數(shù)據(jù)存儲器各有自已的尋址方式、尋址空間和控制系統(tǒng)。 在80C51單片機中,不僅在片內(nèi)駐留了一定容量的程序存儲器和數(shù)據(jù)存儲器及眾多的特殊功能寄存器

15、,而且還具有極強的外部存儲器擴展能力,尋址范圍分別可達64 KB,尋址和操作簡單方便。第24頁/共63頁圖圖28 80C51單片機的存儲器結(jié)構(gòu)單片機的存儲器結(jié)構(gòu)第25頁/共63頁 在物理上設(shè)有4個存儲器空間 程序存儲器:片內(nèi)程序存儲器; 片外程序存儲器; 數(shù)據(jù)存儲器:片內(nèi)數(shù)據(jù)存儲器; 片外數(shù)據(jù)存儲器。 在邏輯上設(shè)有3個存儲器地址空間 片內(nèi)、片外統(tǒng)一的64 KB程序存儲器地址空間; 片內(nèi)256B (或384B)數(shù)據(jù)存儲器地址空間; 片外64 KB的數(shù)據(jù)存儲器地址空間。第26頁/共63頁(1) 程序存儲器程序存儲器 程序存儲器內(nèi)部結(jié)構(gòu)參見圖28,程序存儲器就是用來存放編好的程序和表格常數(shù),它以程序

16、計數(shù)器PC作地址指針。由于80C51單片機采用16位的程序計數(shù)器和16位的地址總線,因此,可尋址的地址空間為64 KB,且這64K地址是片內(nèi)外連續(xù)、統(tǒng)一的。 片內(nèi)程序存儲器和片外程序存儲器 整個程序存儲器可分為兩部分:片內(nèi)程序存儲器和片外程序存儲器,可由引腳 所接的電平高低決定。EA第27頁/共63頁 時,程序從片內(nèi)程序存儲器空間開始執(zhí)行,即訪問片內(nèi)程序存儲器;當PC值超出片內(nèi)ROM容量時,自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行。 時,系統(tǒng)全部執(zhí)行片外程序存儲器程序。需要說明的是,80C51單片機內(nèi)部有4KBE2PROM,外部可擴展64KB的ROM,但實際有效的程序存儲器容量是64KB,而不是68KB

17、。 對于片內(nèi)無ROM的80C31/80C32單片機,應(yīng)將引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。1EA0EA第28頁/共63頁 程序存儲器特定的入口地址 程序存儲器的某些地址被保留用于特定的程序入口地址,如復位控制和中斷控制。表22為80C51單片機復位和中斷程序入口地址表。表表22 復位和中斷入口地址表復位和中斷入口地址表操 作入 口 地 址復位或非屏蔽中斷0000H外部中斷00003H定時器/計數(shù)器T0溢出000BH外部中斷10013H定時器/計數(shù)器T1溢出001BH串行口中斷0023H定時器/計數(shù)器T2/T2EX下降沿(80C52系列)002BH第29頁/共63頁(2)數(shù)

18、據(jù)存儲器)數(shù)據(jù)存儲器 數(shù)據(jù)存儲器由隨機存取存儲器RAM構(gòu)成,用于存放隨機數(shù)據(jù)。80C51單片機數(shù)據(jù)存儲器可分為片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器,它們是兩個獨立的地址空間。 片內(nèi)數(shù)據(jù)存儲器 片內(nèi)數(shù)據(jù)存儲器包括片內(nèi)數(shù)據(jù)RAM區(qū)和特殊功能寄存器(SFR)區(qū),如圖29所示。第30頁/共63頁圖圖29 片內(nèi)數(shù)據(jù)存儲器地址空間分布圖片內(nèi)數(shù)據(jù)存儲器地址空間分布圖第31頁/共63頁 a. 片內(nèi)數(shù)據(jù)RAM區(qū) 片內(nèi)數(shù)據(jù)RAM區(qū)由工作寄存器區(qū)、位尋址區(qū)和用戶RAM區(qū)組成。 工作寄存器區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)的031H共32個字節(jié)單元,是4個通用工作寄存器組(表21),每個組包含8個8位寄存器(R0R7)。在某一時刻,只能

19、選用一個工作寄存器組使用。究竟哪一組工作是通過軟件對程序狀態(tài)字(PSW)中的RS0(PSW.3)、RS1(PSW.4)位的設(shè)置來實現(xiàn)的。 位尋址區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)的 20H2FH共16個字節(jié)單元,包含128位,是可位尋址的RAM區(qū)。這16個字節(jié)單元,既可進行字節(jié)尋址,又可實現(xiàn)位尋址。第32頁/共63頁表表23 字節(jié)地址與位地址的關(guān)系字節(jié)地址與位地址的關(guān)系 第33頁/共63頁 用戶RAM區(qū):片內(nèi)數(shù)據(jù)RAM區(qū)的30H7FH共80個字節(jié)單元,對用戶RAM區(qū)的使用沒有任何規(guī)定或限制,一般用于存放用戶數(shù)據(jù)及作堆棧使用,可以采用直接字節(jié)尋址的方法訪問。 對于80C52型單片機,還有高128 B的數(shù)據(jù)RA

20、M區(qū)。這一區(qū)域只能采用間接字節(jié)尋址的方法訪問,以區(qū)別于對特殊功能寄存器區(qū)(80HFFH)的訪問。第34頁/共63頁 b. 特殊功能寄存器 內(nèi)部RAM的高128字節(jié)單元為特殊功能寄存器區(qū),其單元地址為80HFFH。因這些寄存器的功能已作專門規(guī)定,即用以存放相應(yīng)功能部件的控制命令、狀態(tài)或數(shù)據(jù)。故稱為特殊功能寄存器(SFR)。 80C51系列單片機設(shè)有128 B片內(nèi)數(shù)據(jù)RAM結(jié)構(gòu)的特殊功能寄存器空間區(qū)。除程序計數(shù)器PC和4個通用工作寄存器組外,其余所有的寄存器都在這個地址空間內(nèi)。表表24 特殊功能寄存器名稱、符號及地址一覽表特殊功能寄存器名稱、符號及地址一覽表(參見教材)(參見教材) 第35頁/共6

21、3頁 對特殊功能寄存器只能用直接尋址方式訪問,書寫時既可以使用寄存器符號,也可以使用寄存器單元地址。例如:ACC或0E0H,P1或90H,TMOD或89H。 在80C51/52型單片機中,有11/12個寄存器是可以位尋址的,它們的共同特點是字節(jié)地址正好能被8整除,而且字節(jié)地址與該字節(jié)最低位的位地址相同。特殊功能寄存器的這些位大多有著專門的定義和用途。第36頁/共63頁 C. 堆棧及堆棧指針 堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)先進后出或后進先出的區(qū)域。堆棧指針(stack pointer)在80C51單片機中存放當前的堆棧棧頂?shù)拇鎯卧刂返囊粋€8位寄存器。 堆棧共有兩種操作:進棧和出棧。不論是數(shù)

22、據(jù)進棧還是數(shù)據(jù)出棧,都是對棧頂單元進行的,即對棧頂單元的寫和讀操作。 80C51單片機的堆棧是向上生成的:進棧時,SP的內(nèi)容是增加的,即先SP1,后寫入數(shù)據(jù);出棧時,SP的內(nèi)容是減少的,即先讀出數(shù)據(jù),后SP1第37頁/共63頁 系統(tǒng)復位后,SP內(nèi)容為07H。如不重新定義,則以07H為棧底,壓棧的內(nèi)容從08H單元開始存放??紤]到00H1FH單元為通用寄存器區(qū),20H2FH為位尋址區(qū),堆棧最好在內(nèi)部RAM的30H7FH中開辟,故通常在程序開始處將SP的內(nèi)容初始化為30H。 堆棧的使用有兩種方式。一種是自動方式,即在調(diào)用子程序或中斷時,斷點地址自動進棧。從子程序返回時,斷點地址自動彈回PC。 另一種

23、是指令方式,即使用專用的堆棧操作指令執(zhí)行進棧出棧操作,進棧操作指令為PUSH,出棧操作指令為POP。例如:保護現(xiàn)場就是一系列指令方式的進棧操作;而恢復現(xiàn)場就是一系列指令方式的出棧操作。第38頁/共63頁 片外數(shù)據(jù)存儲器 片外數(shù)據(jù)存儲器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域用寄存器間接尋址的方法訪問,所用的寄存器為DPTR、R1或R0。當用R1、R0尋址時,由于R0、R1為8位寄存器,因此最大尋址范圍為256 B;當用DPTR尋址時,由于DPTR為16位寄存器,因此最大尋址范圍為64 KB。 80C51單片機的外部數(shù)據(jù)存儲器和外部I/O口實行統(tǒng)一編址,并使用相同的 、 作選通控制信號,均使用 MOVX

24、 指令訪問。 80C51單片機有16位地址線,最多可擴展64KB外部數(shù)據(jù)存儲器,這和DPTR所能尋址的最大范圍一致。RDWR第39頁/共63頁 80C51有40引腳雙列直插(DIP)和44引腳(QFP)封裝形式。圖210是80C51/80C52的封裝圖。(a)40引腳雙列直插(引腳雙列直插(DIP) (b)44引腳(引腳(QFP)圖圖210 80C51/80C52的封裝圖的封裝圖第40頁/共63頁(1) 信號引腳介紹信號引腳介紹 P0.0P0.7 P0.0P0.7 是P0口8位雙向口線。P0口是漏極開路的雙向I/O口,當使用片外存儲器(ROM及RAM)時,作地址和數(shù)據(jù)總線分時復用。在程序校驗期

25、間,輸出指令字節(jié)(這時,需加外部上拉電阻)。P0口(作為總線時)能驅(qū)動8個LSTTL負載。 P1.0P1.7 P1.0P1.7是P1口的8位雙向口線。P1口是準雙向I/O口,具有內(nèi)部上拉電阻。在編程/校驗期間,用做輸入低位字節(jié)地址。P1口可以驅(qū)動4個LSTTL負載。第41頁/共63頁 P2.0P2.7 P2.0P2.7是P2口的8位雙向口線。P2口也是準雙向I/O口,具有內(nèi)部上拉電阻。 當使用片外存儲器(ROM及RAM)時,輸出高8位地址。在編程/校驗期間,接收高位字節(jié)地址。P2口可以驅(qū)動4個LSTTL負載。 P3.0P3.7 P3.0P3.7是P3口的8位雙向口線。P3口也是準雙向I/O口,

26、具有內(nèi)部上拉電阻。 P3還提供各種替代功能。在提供這些功能時,其輸出鎖存器應(yīng)由程序置1。P3口可以驅(qū)動4個LSTTL負載。第42頁/共63頁 是地址鎖存允許信號。在系統(tǒng)擴展時,ALE用于將P0口輸出的低8位地址鎖存到外部地址鎖存器,以實現(xiàn)P0口低位地址和數(shù)據(jù)的分時復用。此外在不訪問外部存儲器時,ALE是以晶振頻率的1/6的固定頻率輸出正脈沖,故它也可以作為外部時鐘源或外部定時脈沖源使用。第二功能PROG是對80C51單片機編程時作為編程脈沖的輸入端。ALE可以驅(qū)動8個LSTTL負載。 是片外程序存儲器選通信號,低電平有效。在從片外程序存儲器取指期間,在每個機器周期中,當有效時,程序存儲器的內(nèi)容

27、被送上P0口(數(shù)據(jù)總線)??梢则?qū)動8個LSTTL負載。PROGALE/PROGALE/PSENPSEN第43頁/共63頁 是訪問外部程序存儲器選通信號。當其為低電平時,對ROM的讀操作限定為外部存儲器;當其為高電平時,對ROM的讀操作是從內(nèi)部開始的,當PC值大于內(nèi)部程序存儲器地址范圍時,CPU自動轉(zhuǎn)向讀外部程序存儲器。第二功能VPP用于編程時接入21V或12V的編程電壓。 RST RST為復位輸入信號,高電平有效。在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,將單片機復位。PPVEA/PPVEA/第44頁/共63頁 XTAL1和XTAL2 當使用芯片內(nèi)部時鐘時,這兩根引線用于外接石英

28、晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。詳細內(nèi)容可參見2.2.3 時鐘電路及CPU工作時序。 VCC和VSS VCC在運行和程序校驗時加5 V。 VSS 接地。 以上為89C51單片機芯片引腳的定義和簡單說明。第45頁/共63頁(2)信號引腳的第二功能)信號引腳的第二功能 由于單片機芯片的引腳數(shù)目是有限的,而單片機為實現(xiàn)其功能所需要的信號數(shù)目要多于引腳數(shù),為了解決這一矛盾,給一些信號引腳賦予雙重功能。如將前述的信號定義為第一功能的話,則根據(jù)需要再定義的信號就是它的第二功能。 具有第二功能的引腳有 、 及P3.0P3.7, 、 的第二功能前面已經(jīng)介紹,下面給出P3口線的第二功能

29、,具體定義如下: P3.0RXD(串行輸入口),輸入。 P3.1TXD(串行輸出口),輸出。 P3.2(外部中斷0),輸入。PROGALE/PROGALE/PPVEA/PPVEA/第46頁/共63頁 P3.3 (外部中斷1),輸入。 P3.4T0(定時器0外部輸入),輸入。 P3.5T1(定時器1外部輸入),輸入。 P3.6 (片外數(shù)據(jù)存儲器寫選通),輸出,低電平有效。 P3.7 (片外數(shù)據(jù)存儲器讀選通),輸出,低電平有效。 由于一般情況下,第一功能與第二功能是單片機在不同的工作方式下的信號,不會發(fā)生使用上的矛盾,但是P3口的狀況有所不同,它的第二功能信號都是單片機的重要控制信號,因此在實際使

30、用時,先要保證第二功能信號,剩下的口線才能利用其第一功能(數(shù)據(jù)位的輸入/輸出)。1INTWRRD第47頁/共63頁 在80C51單片機系統(tǒng)中,與字節(jié)處理器相對應(yīng),有一個功能相對獨立的布爾(位)處理機,這是80C5l系列單片機的突出優(yōu)點之一,給“面向控制”的實際應(yīng)用帶來了極大的方便。 布爾(位)處理機借用進位標志CY作為位累加器,在布爾運算中,CY是數(shù)據(jù)源之一,又是運算結(jié)果的存放處,位數(shù)據(jù)傳送的中心。根據(jù)CY的狀態(tài),程序轉(zhuǎn)移,如JC rel、JNC rel等。第48頁/共63頁 布爾(位)處理機的位存儲器包括位尋址的RAM(RAM區(qū)中的0127位,包含在20H2FH單元內(nèi))和位尋址的寄存器(特殊

31、功能寄存器(SFR)中的可以位尋址的位),其中并行I/O口中的每一位均可位尋址。 布爾(位)處理機指令系統(tǒng)中有17條專門進行位處理的指令集,可以實現(xiàn)對位的置位、清0、取反、轉(zhuǎn)送、邏輯運算、控制轉(zhuǎn)移等操作。如指令JBC bit,rel,當bit1時,就對該bit位清0,然后轉(zhuǎn)移到rel處;否則,程序順序執(zhí)行。有關(guān)位操作指令的使用將在第三章詳細介紹。第49頁/共63頁 80C51單片機工作方式有復位方式、程序執(zhí)行方式、低功耗方式等工作方式。 第50頁/共63頁(1) 復位功能復位功能 復位也叫初始化,其主要功能是使CPU和系統(tǒng)中其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。 復位操作還對

32、單片機的個別引腳信號有影響。例如在復位期間,ALE和 信號變?yōu)闊o效狀態(tài),即ALEl, 1。片內(nèi)RAM不受復位操作影響,VCC加電時,RAM內(nèi)容不變。只要RESET引腳保持高電平,單片機將循環(huán)復位。PSENPSEN第51頁/共63頁寄存器復位時內(nèi)容寄存器復位時內(nèi)容PC0000HIE0X000000BACC00HTL000HB00HTH000HPSW00HTL100HSP07HTH100HDPTR0000HSCON00HP0P3FFHSBUF不定TMOD00HPCON0XXX0000BTCON00HIPXX000000B表表25 80C51復位狀態(tài)表復位狀態(tài)表 第52頁/共63頁(2)復位信號 R

33、ST引腳是復位信號的輸入端。復位信號是高電平有效,高電平時間應(yīng)持續(xù)24個振蕩脈沖周期(即兩個機器周期)以上。若使用頻率為12MHz的晶振,則復位信號持續(xù)時間應(yīng)超過2 s才能完成復位操作。產(chǎn)生復位信號的電路邏輯圖如圖2-11所示。圖圖211 復位電路邏輯圖復位電路邏輯圖 第53頁/共63頁(3) 復位方式 復位操作有上電自動復位、按鍵電平復位和外部脈沖復位三種方式,如圖212所示。(a)上電復位 (b)按鍵電平復位 (c)外部脈沖復位圖圖212 復位電路復位電路第54頁/共63頁 程序執(zhí)行方式是單片機的基本工作方式,通??煞譃檫B續(xù)執(zhí)行工作方式和單步執(zhí)行工作方式。(1) 連續(xù)執(zhí)行方式連續(xù)執(zhí)行方式 連續(xù)執(zhí)行方式是80C51單片機的正常工作方式,單片機在這種方式下按照程序一步一步地完成程序所規(guī)定的任務(wù)。 由于復位后PC=0000H,因此程序執(zhí)行總是從地址0000H開始的。但一般程序并不是真正從0000H開始存放,為此就得在0000H開始的單元中存放一條無條件轉(zhuǎn)移指令,以便跳轉(zhuǎn)到實際程序的入口去執(zhí)行。第55頁/共63頁(2) 單步執(zhí)行方式單步執(zhí)行方式 單步執(zhí)行方式是為用戶調(diào)試程序而專門設(shè)立的一種工作方式。所謂單步就是通過外來脈沖控制程序的執(zhí)行,使之達到來一個脈沖就執(zhí)行一條指令的目的。而外來脈沖是通過按鍵產(chǎn)生的,因此, 實際上單步執(zhí)行就是按一次按鍵執(zhí)行一條指令

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論