MCS-51單片機的結(jié)構(gòu)課件_第1頁
MCS-51單片機的結(jié)構(gòu)課件_第2頁
MCS-51單片機的結(jié)構(gòu)課件_第3頁
MCS-51單片機的結(jié)構(gòu)課件_第4頁
MCS-51單片機的結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MCS-51單片機存儲器存儲器工作寄存器工作寄存器特殊功能寄存器特殊功能寄存器時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計數(shù)器中央處理器中央處理器CPU:8位,位,運算和控制運算和控制功能功能內(nèi)部內(nèi)部RAM:共共256個個RAM單單元,用戶使用元,用戶使用前前128個單元,個單元,用于存放可讀用于存放可讀寫數(shù)據(jù),后寫數(shù)據(jù),后128個單元被個單元被專用寄存器占專用寄存器占用。用。內(nèi)部內(nèi)部ROM:4KB掩膜掩膜ROM,用于存放程序、用于存放程序、原始數(shù)據(jù)和表原始數(shù)據(jù)和表格。格。定時定時/計數(shù)器:計數(shù)器:兩個兩個16位的定位

2、的定時時/計數(shù)器,實計數(shù)器,實現(xiàn)定時或計數(shù)現(xiàn)定時或計數(shù)功能。功能。并行并行I/O口:口:4個個8位的位的I/O口口P0、P1、P2、P3。串行口:串行口:一個全一個全雙工串行口。雙工串行口。中斷控制系統(tǒng):中斷控制系統(tǒng):5個中斷源(外個中斷源(外部中斷部中斷2個,定個,定時時/計數(shù)中斷計數(shù)中斷2 個,串行中斷個,串行中斷1個)個)時鐘電路:時鐘電路:可可產(chǎn)生時鐘脈沖產(chǎn)生時鐘脈沖序列,允許晶序列,允許晶振頻率振頻率6MHZ和和12MHZ單片機的硬件結(jié)構(gòu) 8051芯片引腳介紹 P1口:口:8位位既可以既可以8位一起位一起輸入輸出,也輸入輸出,也可以可以1位位1位地位地輸入輸出輸入輸出P0口:口:8位

3、位 既可以既可以8位一起位一起輸入輸出,也可以輸入輸出,也可以1位位1位地輸入輸出。位地輸入輸出。 在擴展外部存儲在擴展外部存儲器兼作低器兼作低8位地址。位地址。P2口:口:8位位 既可以既可以8位一起位一起輸入輸出,也可以輸入輸出,也可以1位位1位地輸入輸出。位地輸入輸出。 在擴展外部存儲器在擴展外部存儲器兼作高兼作高8位地址。位地址。P3口:口:8位位 既可以既可以8位一起輸入輸出,也可以位一起輸入輸出,也可以1位位1位地輸入輸出,同位地輸入輸出,同時,時,P3口作為第二功能時:口作為第二功能時:RXD:串行接收:串行接收 TXD:串行發(fā)送:串行發(fā)送INT0:外部中斷:外部中斷0 INT1

4、:外部中斷:外部中斷1 T0:T0計數(shù)輸入計數(shù)輸入 T1:T1計數(shù)輸入計數(shù)輸入 WR:寫命令:寫命令 RD:讀命令:讀命令單片機復位信號單片機復位信號輸入輸入電源電源電源地電源地XTAL1、XTAL2晶體振蕩器接入晶體振蕩器接入端端存儲器選擇:高電平存儲器選擇:高電平時訪問片內(nèi)程序存時訪問片內(nèi)程序存儲器儲器; 低電平時訪低電平時訪問片外程序存儲器問片外程序存儲器用于鎖存地址的低位字用于鎖存地址的低位字節(jié)節(jié) (高有效)(高有效)外部程序存儲器的選通外部程序存儲器的選通信號信號 (低有效)(低有效)用于鎖存用于鎖存P0口數(shù)據(jù)口數(shù)據(jù)用于鎖存用于鎖存P2口數(shù)據(jù)口數(shù)據(jù)用于鎖存用于鎖存P1口數(shù)據(jù)口數(shù)據(jù)用于

5、鎖存用于鎖存P3口數(shù)據(jù)口數(shù)據(jù)128字節(jié)隨機讀寫存儲器字節(jié)隨機讀寫存儲器4KB只讀存儲器只讀存儲器 寄存器寄存器B:單片機做乘、:單片機做乘、除法時存放乘數(shù)除法時存放乘數(shù)/除數(shù)除數(shù) 累加器累加器A:它通過暫存:它通過暫存器器TMP2與與ALU相連,是單相連,是單片機中工作最忙的寄存器片機中工作最忙的寄存器 暫存器暫存器TMP1:存放另一個加數(shù):存放另一個加數(shù) 程序地址寄存器程序地址寄存器PC:存放程序地址存放程序地址 堆棧指針寄存器堆棧指針寄存器SP:存放堆棧指針存放堆棧指針 管理中斷的寄存器、串口緩管理中斷的寄存器、串口緩沖器、定時沖器、定時/計數(shù)器寄存器計數(shù)器寄存器 數(shù)據(jù)指針寄存器數(shù)據(jù)指針寄

6、存器程序狀態(tài)寄存器程序狀態(tài)寄存器程序寄存器:存放程序寄存器:存放程序代碼程序代碼單片機內(nèi)部控制邏輯單片機內(nèi)部控制邏輯單片機內(nèi)部振蕩器單片機內(nèi)部振蕩器外接振蕩器外接振蕩器1、根據(jù)你的理解,單片機由哪幾部分組成。2、8051單片機隨機存儲器有多少字節(jié)。3、 8051單片機程序存儲器有多少字節(jié),它的用途是什么?4、程序地址存儲器PC的用途是什么?5、堆棧指針寄存器SP的用途是什么?6、 8051單片機的輸入輸出線共有多少根?1 CPU,ROM,RAM,并行口,串行口,中斷系統(tǒng),定時計數(shù)器,時鐘電路并行口,串行口,中斷系統(tǒng),定時計數(shù)器,時鐘電路2 128字節(jié)字節(jié)3 4K字節(jié),存放程序字節(jié),存放程序4

7、指示當前指令地址指示當前指令地址5 指示棧頂?shù)刂分甘緱m數(shù)刂? 32根根內(nèi)部RAM內(nèi)存介紹 第第0組地址為組地址為00H07H 第第1組地址為組地址為08H0FH 第第2組地址為組地址為10H17H 第第3組地址為組地址為18H1FH 選擇哪一組作為當前工作寄存選擇哪一組作為當前工作寄存器組,程序員可通過改寫程序狀器組,程序員可通過改寫程序狀態(tài)寄存器態(tài)寄存器PSW中的中的RS1、RS0來指定來指定RS1 RS0當前工作寄存當前工作寄存器器 0 0 第第0組組 0 1 第第1組組 1 0 第第2組組 1 1 第第3組組 單片機中將內(nèi)部單片機中將內(nèi)部RAM的一塊作為四組工作寄存器,每組都以的一塊作

8、為四組工作寄存器,每組都以R0、R1、R2、R3、R4、R5、R6、R7命名。命名。字節(jié)地字節(jié)地址址MSB(最高位)(最高位) 位地址位地址 (最低位)(最低位) LSB2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F776F675F574F473F372F271F170F077E766E665E564E463E362E261E160E067D756D655D554D453D352D251D150D057C746C645C544C443C342C241C140C047B736B635B534B433B332B231B130B037A726A6

9、25A524A423A322A221A120A02797169615951494139312921191109017870686058504840383028201810080080個隨機數(shù)據(jù)存儲器個隨機數(shù)據(jù)存儲器30H31H32H7CH7DH7EH7FH參與所有算術(shù)參與所有算術(shù)和邏輯和邏輯運運算并存放結(jié)果。同時還算并存放結(jié)果。同時還是數(shù)據(jù)輸入輸出的窗口是數(shù)據(jù)輸入輸出的窗口單片機做乘除法時存放單片機做乘除法時存放乘數(shù)和除數(shù)。還可以作乘數(shù)和除數(shù)。還可以作為一般的寄存器使用為一般的寄存器使用PSWCYACF0RS1RS0OVF1P進位進位位位輔助進位位輔助進位位用戶標志位用戶標志位當前工作寄存當前

10、工作寄存器選擇位器選擇位溢出標志位溢出標志位用戶標志位用戶標志位奇偶標志位奇偶標志位兩字節(jié)二進制數(shù)據(jù)相加,當最高位產(chǎn)生進兩字節(jié)二進制數(shù)據(jù)相加,當最高位產(chǎn)生進位時,該位被自動置成位時,該位被自動置成“1”。例如:例如: 10111001 + 10101011 CY=1 01100100兩字節(jié)二進制數(shù)據(jù)相加,當?shù)桶胱止?jié)產(chǎn)生兩字節(jié)二進制數(shù)據(jù)相加,當?shù)桶胱止?jié)產(chǎn)生進位時,該位被自動置成進位時,該位被自動置成“1”。例如:例如: 10111001 + 10101011 CY=1 01100100AC=1用戶在執(zhí)行程序用戶在執(zhí)行程序過程中做標記用過程中做標記用選擇當前工作寄存器組選擇當前工作寄存器組RS1、

11、RS0=0 0:當前工作寄存器指定為第:當前工作寄存器指定為第0組組RS1、RS0=0 1:當前工作寄存器指定為第:當前工作寄存器指定為第1組組RS1、RS0=1 0:當前工作寄存器指定為第:當前工作寄存器指定為第2組組RS1、RS0=1 1:當前工作寄存器指定為第:當前工作寄存器指定為第3組組溢出標志位主要用于有符號數(shù)加法時,由溢出標志位主要用于有符號數(shù)加法時,由于最高位為符號位。如果被加數(shù)和加數(shù)均于最高位為符號位。如果被加數(shù)和加數(shù)均為負數(shù),在運算過程中會產(chǎn)生負數(shù)加負數(shù)為負數(shù),在運算過程中會產(chǎn)生負數(shù)加負數(shù)結(jié)果為正數(shù)的錯誤結(jié)果,這時結(jié)果為正數(shù)的錯誤結(jié)果,這時OV=1例如:兩個有符號數(shù)相加例如:

12、兩個有符號數(shù)相加10110110 (0110110B54D)+ 10110110 (0110110B54D) OV=1 01101100 (1101100B+108D)用戶在執(zhí)行程序用戶在執(zhí)行程序過程中做標記用過程中做標記用結(jié)果中結(jié)果中“1”的個數(shù)為奇數(shù)時,的個數(shù)為奇數(shù)時,P=1。例如:例如: 11111111 + 01011001 CY=1 01011000P=1 為了在調(diào)用子程序時將某些寄存器的內(nèi)容保存起來,在內(nèi)部為了在調(diào)用子程序時將某些寄存器的內(nèi)容保存起來,在內(nèi)部RAM中指定一塊存儲單元作為堆棧,在中指定一塊存儲單元作為堆棧,在SP中存放該堆棧頂部存儲單中存放該堆棧頂部存儲單元地址。元地

13、址。 堆棧的操作規(guī)則是堆棧的操作規(guī)則是“先進后出先進后出”或或“后進先出后進先出” 該寄存器是中斷管理中的一個重要寄存器,專門該寄存器是中斷管理中的一個重要寄存器,專門負責各個中斷的開與關(guān)。負責各個中斷的開與關(guān)。 該寄存器是中斷管理中的另一個重要寄存器,專該寄存器是中斷管理中的另一個重要寄存器,專門負責各個中斷的優(yōu)先級別。門負責各個中斷的優(yōu)先級別。 注意在編程時注意在編程時P0和和P0.X的使用方法:前者是對的使用方法:前者是對P0口(即:口(即:8位或位或一個字節(jié));后者是對一個字節(jié));后者是對P0口的某一位。例如:口的某一位。例如:,;是將,;是將P0口的位數(shù)據(jù)送累加器口的位數(shù)據(jù)送累加器,

14、;是將,;是將P0口的位數(shù)據(jù)送進位位口的位數(shù)據(jù)送進位位 注意在編程時注意在編程時P和和P.X的使用方法:前者是對的使用方法:前者是對P口(即:口(即:8位或一個字節(jié));后者是對位或一個字節(jié));后者是對P口的某一位。例如:口的某一位。例如:,;是將,;是將P口的位數(shù)據(jù)送累加器口的位數(shù)據(jù)送累加器,;是將,;是將P口的位數(shù)據(jù)送進位位口的位數(shù)據(jù)送進位位 注意在編程時注意在編程時P和和P.X的使用方法:前者是對的使用方法:前者是對P口(即:口(即:8位或一個字節(jié));后者是對位或一個字節(jié));后者是對P口的某一位。例如:口的某一位。例如:,;是將,;是將P口的位數(shù)據(jù)送累加器口的位數(shù)據(jù)送累加器,;是將,;是將

15、P口的位數(shù)據(jù)送進位位口的位數(shù)據(jù)送進位位 注意在編程時注意在編程時P和和P.X的使用方法:前者是對的使用方法:前者是對P口(即:口(即:8位或一個字節(jié));后者是對位或一個字節(jié));后者是對P口的某一位。例如:口的某一位。例如:,;是將,;是將P口的位數(shù)據(jù)送累加器口的位數(shù)據(jù)送累加器,;是將,;是將P口的位數(shù)據(jù)送進位位口的位數(shù)據(jù)送進位位 該位該位“”時,串行通信的速度提高一倍時,串行通信的速度提高一倍該位該位“”時,串行通信的速度不變時,串行通信的速度不變 該寄存器為串行通信控制寄存器,它的作用是確定串行該寄存器為串行通信控制寄存器,它的作用是確定串行通信的工作方式、模式(單機多機、是否有第位、是否通

16、信的工作方式、模式(單機多機、是否有第位、是否允許接收)、提供中斷信號查詢信號。允許接收)、提供中斷信號查詢信號。 定時器控制寄存器定時器控制寄存器TCON 該寄存器用來對定時器該寄存器用來對定時器/計數(shù)器進行控制的專用計數(shù)器進行控制的專用8位寄存器,既可字節(jié)操位寄存器,既可字節(jié)操作又可位操作。字節(jié)操作的地址為作又可位操作。字節(jié)操作的地址為88H,位操作地址依次為(,位操作地址依次為(88H8FH) 該寄存器是專門為串行通信設(shè)置的一個緩沖寄存器,實質(zhì)上是有該寄存器是專門為串行通信設(shè)置的一個緩沖寄存器,實質(zhì)上是有輸入和輸出兩個緩沖器,共用一個地址。如果是讀該緩沖器就輸入和輸出兩個緩沖器,共用一個

17、地址。如果是讀該緩沖器就是指輸入緩沖器;如果是寫該緩沖器就是指輸出緩沖器。這在硬件上是指輸入緩沖器;如果是寫該緩沖器就是指輸出緩沖器。這在硬件上安排好了的,我們只管用。安排好了的,我們只管用。 這是定時計數(shù)控制寄存器,它兼顧有啟動定時計數(shù)、中斷觸這是定時計數(shù)控制寄存器,它兼顧有啟動定時計數(shù)、中斷觸發(fā)方式和形成中斷請求信號三種功能。發(fā)方式和形成中斷請求信號三種功能。 定時計數(shù)器方式定時計數(shù)器方式選擇寄存器選擇寄存器TMOD 該寄存器用來對定該寄存器用來對定時器時器/計數(shù)器的方式選擇計數(shù)器的方式選擇的的8位寄存器,只能字節(jié)位寄存器,只能字節(jié)操作,不能位操作。字操作,不能位操作。字節(jié)操作的地址為節(jié)操

18、作的地址為89H 該寄存器為定時計數(shù)器方式選擇寄存器,該寄存器為定時計數(shù)器方式選擇寄存器,單片機中單片機中T0、T1集定時器和計數(shù)器兩種功能于一集定時器和計數(shù)器兩種功能于一身,所以身,所以TMOD的作用是:的作用是:1、確定是定時還是計數(shù)器。、確定是定時還是計數(shù)器。 2、工作方式、工作方式 。 3、外部條件限制、外部條件限制定時器定時器/計數(shù)器計數(shù)器T0的初值鎖存寄存器器(暫存器)的初值鎖存寄存器器(暫存器)T0 該寄存器用來存放計數(shù)初值的該寄存器用來存放計數(shù)初值的16位寄存器,只能進行字節(jié)操作,位寄存器,只能進行字節(jié)操作,地址為地址為8A。 它還可以拆分成兩個位寄存器它還可以拆分成兩個位寄存

19、器TL0(地址為地址為8AH)和和TH0(地址為地址為8BH)單獨使用。單獨使用。 定時器定時器/計數(shù)器計數(shù)器T1的初值鎖存寄存器器(暫存器)的初值鎖存寄存器器(暫存器)T1 該寄存器用來存放計數(shù)初值的該寄存器用來存放計數(shù)初值的16位寄存器,只能進行字節(jié)操作,位寄存器,只能進行字節(jié)操作,地址為地址為8C。 它還可以拆分成兩個位寄存器它還可以拆分成兩個位寄存器TL1(地址為地址為8CH)、TH1(地址為地址為8DH)單獨使用單獨使用.1、簡述、簡述8051單片機內(nèi)存的分區(qū)及其用途。單片機內(nèi)存的分區(qū)及其用途。2、如何確定當前工作寄存器組?、如何確定當前工作寄存器組?3、 可位尋址區(qū)有多少字節(jié)?能否

20、作字節(jié)尋址操作?可位尋址區(qū)有多少字節(jié)?能否作字節(jié)尋址操作?4、堆棧應該設(shè)在內(nèi)存的、堆棧應該設(shè)在內(nèi)存的哪個區(qū)?哪個區(qū)?5、能否將特殊功能寄存器區(qū)作為隨機存儲器使用?、能否將特殊功能寄存器區(qū)作為隨機存儲器使用?1、1區(qū) 工作寄存器區(qū) 2區(qū) 位尋址區(qū) 3區(qū) 存儲去 4區(qū) 特殊工作寄存器區(qū)2、RS1,RS0=00 第0組 RS1,RS0=01 第1組 RS1,RS0=10 第2組 RS1,RS0=11 第3組3、16字節(jié),可以4、第3區(qū)5、不能P0口位結(jié)構(gòu)圖口位結(jié)構(gòu)圖0110在在“寫鎖存器寫鎖存器”的作用下,控制器將的作用下,控制器將“1”寫入鎖存器,在寫入鎖存器,在Q/端輸出端輸出“0”,使使T2截

21、止,在截止,在P0.X輸出高電平。輸出高電平。0110在在“寫鎖存器寫鎖存器”的作用下,控制器將的作用下,控制器將“0”寫入鎖存器,在寫入鎖存器,在Q/端輸出端輸出“1”,使使T2導通,在導通,在P0.X輸出低電平。輸出低電平。讀鎖存器讀鎖存器讀引腳讀引腳在在“讀鎖存器讀鎖存器”的作用下,的作用下,三態(tài)門打開,將三態(tài)門打開,將Q端的數(shù)端的數(shù)據(jù)送到內(nèi)部數(shù)據(jù)總線據(jù)送到內(nèi)部數(shù)據(jù)總線在在“讀引腳讀引腳”的作用下,的作用下,三態(tài)門打開,將引腳端的三態(tài)門打開,將引腳端的數(shù)據(jù)送到內(nèi)部數(shù)據(jù)總線數(shù)據(jù)送到內(nèi)部數(shù)據(jù)總線1、當控制信號為、當控制信號為“0”時,多路開時,多路開關(guān)關(guān)“MUL”接通鎖存器,完成讀接通鎖存器

22、,完成讀/寫寫2、當控制信號為、當控制信號為“1”時,多路開時,多路開關(guān)關(guān)“MUL”接通地址接通地址/數(shù)據(jù),完成數(shù)據(jù),完成地地址址/數(shù)據(jù)的傳送數(shù)據(jù)的傳送當控制信號為當控制信號為“1”時,多路開關(guān)時,多路開關(guān)“MUL”接通地址接通地址/數(shù)據(jù)數(shù)據(jù) 、當、當“地址地址/數(shù)據(jù)數(shù)據(jù)”端為端為“”時,非門輸出時,非門輸出“”使使T2截止。同時,截止。同時,控制控制=“1”、地址、地址/數(shù)據(jù)數(shù)據(jù)=“1”,與門輸出,與門輸出“1”使使T1導通,使導通,使P0.X輸出輸出“1” 2 、當、當“地址地址/數(shù)據(jù)數(shù)據(jù)”端為端為“0”時,非門輸出時,非門輸出“1”使使T2導導通。同時,控制通。同時,控制=“1”、地址、

23、地址/數(shù)據(jù)數(shù)據(jù)=“0”,與門輸出,與門輸出“0”使使T1截止,使截止,使P0.X輸出輸出“0”1、讀引腳時,如果、讀引腳時,如果Q/端為端為“1”,T2導導通,通,不管外部是否為不管外部是否為“0”,P0.X“箝位箝位”在在“0”,為了,為了P0.X處能真實反應外部信號,處能真實反應外部信號,所以在讀引腳之前必須先向鎖存器寫所以在讀引腳之前必須先向鎖存器寫“1”2、在控制、在控制=“0” (即單片機完成讀(即單片機完成讀/寫操作)時,與門輸出為寫操作)時,與門輸出為“0”使使T2截止,截止, P0.X處于處于“懸浮懸浮”狀態(tài),致使狀態(tài),致使輸出的輸出的“1”信號不能在信號不能在P0.X處實現(xiàn)。

24、為處實現(xiàn)。為此,此,在輸出時在輸出時P0.X處必須接處必須接“上拉電上拉電阻阻”。由于由于P1口的功能單一,只是一個口的功能單一,只是一個“I/O”口,只要完成讀口,只要完成讀/寫。其讀寫。其讀/寫過程與寫過程與P0口一樣。口一樣。P1口的每一位的內(nèi)部已經(jīng)接了口的每一位的內(nèi)部已經(jīng)接了上拉電阻,使用時不必外接。但讀引腳上拉電阻,使用時不必外接。但讀引腳時必須向鎖存器寫時必須向鎖存器寫“1”。P1口位結(jié)構(gòu)圖P2口位結(jié)構(gòu)圖0P3口位結(jié)構(gòu)圖上電復位:上電復位電路是一種簡單的復位電路,只要在RST復位引腳接一個電容到Vcc,接一個電阻到地就可以了。上電復位是指在給系統(tǒng)上電時,復位電路通過電容加到RST。 手動復位:手動復位需要人為在復位輸端加高電平讓系統(tǒng)復位。 一般采用的方法是在RST端和正電源Vcc之間接一個按鍵,當按下按鍵后,Vcc和RST端接通,RST引腳處在高電平。而按鍵動作一般是數(shù)十毫秒,大于兩個機器周期的時間,能夠安全地讓系統(tǒng)復位。專用寄存器專用寄存器復位值復位值專用寄存器專用寄存器復位值復位值PC0000HTMOD00HACC00HT2MO

溫馨提示

  • 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

提交評論