版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章第二章 mcs-51mcs-51單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu)2.1 2.1 mcs-51mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)系列單片機(jī)的內(nèi)部結(jié)構(gòu)2.2 mcs-512.2 mcs-51的尋址空間與存儲(chǔ)器結(jié)構(gòu)的尋址空間與存儲(chǔ)器結(jié)構(gòu)2.3 mcs-512.3 mcs-51的并行的并行i/oi/o口口2.4 cpu2.4 cpu時(shí)序及輔助電路時(shí)序及輔助電路2.1 mcs-512.1 mcs-51單片機(jī)邏輯結(jié)構(gòu)與引腳功能單片機(jī)邏輯結(jié)構(gòu)與引腳功能一、一、mcs-51mcs-51系列單片機(jī)的基本組成系列單片機(jī)的基本組成80518051單片機(jī)包括:?jiǎn)纹瑱C(jī)包括:n面向控制的面向控制的8 8位位cpucp
2、u和指令。和指令。n4k4k字節(jié)的程序存儲(chǔ)器(字節(jié)的程序存儲(chǔ)器(romrom或或epromeprom)。)。n128128字節(jié)的數(shù)據(jù)存儲(chǔ)器。字節(jié)的數(shù)據(jù)存儲(chǔ)器。n可編程并行可編程并行i/oi/o口口po-p3po-p3,有,有3232位雙向輸入位雙向輸入/ /輸出線。輸出線。n一個(gè)全雙工串行口。一個(gè)全雙工串行口。n兩個(gè)兩個(gè)1616位定時(shí)器位定時(shí)器/ /計(jì)數(shù)器。計(jì)數(shù)器。n五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu)。五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu)。n一個(gè)片內(nèi)時(shí)鐘振蕩器和時(shí)鐘電路。一個(gè)片內(nèi)時(shí)鐘振蕩器和時(shí)鐘電路。n可尋址可尋址64k64k字節(jié)的程序存儲(chǔ)器和字節(jié)的程序存儲(chǔ)器和64k64k字節(jié)的外部數(shù)據(jù)存儲(chǔ)
3、器。字節(jié)的外部數(shù)據(jù)存儲(chǔ)器。二、二、mcs-51mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)系列單片機(jī)的內(nèi)部結(jié)構(gòu) mcs-51mcs-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖 8051 8051單片機(jī)按其邏輯功能可分為運(yùn)算器、控制器、存貯單片機(jī)按其邏輯功能可分為運(yùn)算器、控制器、存貯器、器、i/oi/o口幾大部分,其中:口幾大部分,其中:ndptrdptr(數(shù)據(jù)存貯器指針):為指示(數(shù)據(jù)存貯器指針):為指示ramram的地址而設(shè)置的的地址而設(shè)置的1616位位寄存器;寄存器;nb b(乘法寄存器):作乘法運(yùn)算使用的寄存器,亦可作一般(乘法寄存器):作乘法運(yùn)算使用的寄存器,亦可作一般用途;用途;nsp
4、sp堆棧指針:用來指示堆棧的棧頂?shù)刂?;堆棧指針:用來指示堆棧的棧頂?shù)刂?;n特殊功能寄存器:是為存放內(nèi)部器件的工作方式和狀態(tài)信特殊功能寄存器:是為存放內(nèi)部器件的工作方式和狀態(tài)信息而設(shè)置的寄存器,息而設(shè)置的寄存器,80518051單片機(jī)內(nèi)共有單片機(jī)內(nèi)共有2121個(gè)特殊功能寄存?zhèn)€特殊功能寄存器,在結(jié)構(gòu)上它們也是片內(nèi)器,在結(jié)構(gòu)上它們也是片內(nèi)ramram的一部分,只不過指定作特的一部分,只不過指定作特殊用途而已。殊用途而已。n通用寄存器:供用戶直接使用的數(shù)據(jù)寄存器,單片機(jī)內(nèi)共通用寄存器:供用戶直接使用的數(shù)據(jù)寄存器,單片機(jī)內(nèi)共有有128128個(gè)通用寄存器,其中包括四組工作寄存器(個(gè)通用寄存器,其中包括四組
5、工作寄存器(r0-r7r0-r7),),共有共有3232個(gè)存貯單元。這些通用寄存器除了按字節(jié)操作外,個(gè)存貯單元。這些通用寄存器除了按字節(jié)操作外,其中有一部分(地址其中有一部分(地址20h-2fh20h-2fh)能按位進(jìn)行操作。)能按位進(jìn)行操作。n由于單片機(jī)的由于單片機(jī)的ramram具有多種用途,而且一般在單片機(jī)系統(tǒng)具有多種用途,而且一般在單片機(jī)系統(tǒng)中還擴(kuò)展有片外的中還擴(kuò)展有片外的romrom和和ramram,因此其存貯器系統(tǒng)的結(jié)構(gòu)具,因此其存貯器系統(tǒng)的結(jié)構(gòu)具有一定的特點(diǎn)。有一定的特點(diǎn)。1、cpu cpucpu由運(yùn)算器、控制器及一些特殊功能寄存器組成、由運(yùn)算器、控制器及一些特殊功能寄存器組成、其
6、結(jié)構(gòu)形式與工作原理和一般的微處理器相同。可執(zhí)行下其結(jié)構(gòu)形式與工作原理和一般的微處理器相同。可執(zhí)行下述算術(shù)述算術(shù)/ /邏輯運(yùn)算。邏輯運(yùn)算。1.11.1、運(yùn)算器、運(yùn)算器 算術(shù)與邏輯運(yùn)算部件算術(shù)與邏輯運(yùn)算部件alualu alu alu由加法器和其他邏輯電路等組成。它的功能是,由加法器和其他邏輯電路等組成。它的功能是,完成各種算術(shù)運(yùn)算和邏輯運(yùn)算,它可以進(jìn)行加、減、乘、完成各種算術(shù)運(yùn)算和邏輯運(yùn)算,它可以進(jìn)行加、減、乘、除、加除、加1 1、減、減1 1、比較等算術(shù)運(yùn)算和與、或、非、異或、取、比較等算術(shù)運(yùn)算和與、或、非、異或、取反、取補(bǔ)等邏輯運(yùn)算。以及循環(huán)移位、位操作等。反、取補(bǔ)等邏輯運(yùn)算。以及循環(huán)移位、
7、位操作等。n帶進(jìn)位和不帶進(jìn)位的加法帶進(jìn)位和不帶進(jìn)位的加法n帶進(jìn)位的減法帶進(jìn)位的減法n兩個(gè)八位無符號(hào)數(shù)的乘法和除法兩個(gè)八位無符號(hào)數(shù)的乘法和除法n加加1 1或減或減1 1操作操作n邏輯邏輯“與與”、“或或”、“異或異或”操作、字節(jié)取反操作操作、字節(jié)取反操作n左右循環(huán)移位操作左右循環(huán)移位操作n半字節(jié)交換半字節(jié)交換n二十進(jìn)制(二十進(jìn)制(bcdbcd碼)調(diào)整碼)調(diào)整n比較和條件轉(zhuǎn)移的判斷等操作比較和條件轉(zhuǎn)移的判斷等操作n“位位”操作:置位、清零、取反、條件判斷、邏輯操作:置位、清零、取反、條件判斷、邏輯“與與”、“或或”等操作等操作寄存器寄存器n累加器累加器accacc 累加器累加器accacc,簡(jiǎn)稱累
8、加器,簡(jiǎn)稱累加器a a,它是一個(gè),它是一個(gè)8 8位寄存器,通位寄存器,通過暫存器與過暫存器與alualu相連,在算術(shù)運(yùn)算和邏輯運(yùn)算時(shí),通常用相連,在算術(shù)運(yùn)算和邏輯運(yùn)算時(shí),通常用累加器累加器a a存放一個(gè)參加操作的數(shù),作為存放一個(gè)參加操作的數(shù),作為alualu的一個(gè)輸入,而的一個(gè)輸入,而alualu的運(yùn)算結(jié)果又存入累加器的運(yùn)算結(jié)果又存入累加器a a中。中。n寄存器寄存器b b 寄存器寄存器b b一般用于乘、除法指令,它與累加器一般用于乘、除法指令,它與累加器a a配合使配合使用。運(yùn)算前,寄存器用。運(yùn)算前,寄存器b b中存放乘數(shù)或除數(shù);運(yùn)算后,中存放乘數(shù)或除數(shù);運(yùn)算后,b b中保中保存了存了乘積的
9、高位字節(jié)乘積的高位字節(jié)或或商的余數(shù)部分商的余數(shù)部分。此外,寄存器。此外,寄存器b b可可作為存放中間結(jié)果的暫存寄存器使用。作為存放中間結(jié)果的暫存寄存器使用。n程序狀態(tài)字寄存器程序狀態(tài)字寄存器pswpsw 運(yùn)算操作過程中的一些狀態(tài)信息存放在程序狀態(tài)字寄存器運(yùn)算操作過程中的一些狀態(tài)信息存放在程序狀態(tài)字寄存器pswpsw中,中,pswpsw寄存器的字節(jié)地址是寄存器的字節(jié)地址是dohdoh,pswpsw各位的符號(hào)與定義如下:各位的符號(hào)與定義如下: c c進(jìn)位標(biāo)志(進(jìn)位標(biāo)志(cycy),有進(jìn)位或借位時(shí),),有進(jìn)位或借位時(shí),c=1c=1,否則,否則c=0c=0; cy=1cy=1提示無符提示無符號(hào)數(shù)運(yùn)算超
10、出范圍。號(hào)數(shù)運(yùn)算超出范圍。 在進(jìn)行位操作時(shí),在進(jìn)行位操作時(shí),cycy作為位累加器作為位累加器c c,也稱為布爾累加器。此外,也稱為布爾累加器。此外,循環(huán)移位指令和比較轉(zhuǎn)移指令也會(huì)影響循環(huán)移位指令和比較轉(zhuǎn)移指令也會(huì)影響cycy標(biāo)志。標(biāo)志。 ac ac輔助進(jìn)位標(biāo)志,當(dāng)累加器中輔助進(jìn)位標(biāo)志,當(dāng)累加器中a3a3向向a4a4有進(jìn)位或錯(cuò)位時(shí)有進(jìn)位或錯(cuò)位時(shí)ac=1ac=1,否則,否則ac=0ac=0; f0 f0用戶標(biāo)志位,可由用戶置用戶標(biāo)志位,可由用戶置“1”1”,或置,或置“0”0”,作為某一種狀態(tài)的標(biāo),作為某一種狀態(tài)的標(biāo)志;志; ovov溢出標(biāo)志,計(jì)算機(jī)中,帶符號(hào)數(shù)通常是用補(bǔ)碼表示溢出標(biāo)志,計(jì)算機(jī)中,
11、帶符號(hào)數(shù)通常是用補(bǔ)碼表示的對(duì)于單字節(jié)二進(jìn)制補(bǔ)碼,其所能表示數(shù)的范圍是的對(duì)于單字節(jié)二進(jìn)制補(bǔ)碼,其所能表示數(shù)的范圍是 -128-128到到 +127+127,如果運(yùn)算結(jié)果超出了這個(gè)數(shù)值范圍,就稱為溢出。,如果運(yùn)算結(jié)果超出了這個(gè)數(shù)值范圍,就稱為溢出。q一般兩個(gè)同號(hào)數(shù)相加或兩個(gè)異號(hào)數(shù)相減,有可能發(fā)生溢出;一般兩個(gè)同號(hào)數(shù)相加或兩個(gè)異號(hào)數(shù)相減,有可能發(fā)生溢出;q而兩個(gè)同號(hào)數(shù)相減或兩個(gè)異號(hào)數(shù)相加,則不會(huì)發(fā)生溢出。而兩個(gè)同號(hào)數(shù)相減或兩個(gè)異號(hào)數(shù)相加,則不會(huì)發(fā)生溢出。 11067ccddov10167ccddovn在乘法運(yùn)算時(shí),在乘法運(yùn)算時(shí),ov=1ov=1表示結(jié)果超過了表示結(jié)果超過了255255,即乘積分別在,
12、即乘積分別在寄存器寄存器b b和和a a中;反之表示乘積在中;反之表示乘積在a a中。中。n在除法運(yùn)算時(shí),在除法運(yùn)算時(shí),ov=1ov=1表示除數(shù)為表示除數(shù)為0 0,不能進(jìn)行除法,反之,不能進(jìn)行除法,反之除數(shù)不為除數(shù)不為0 0,可以進(jìn)行除法。,可以進(jìn)行除法。 p p奇偶標(biāo)志,累加器奇偶標(biāo)志,累加器a a中中“1”1”的個(gè)數(shù)為奇數(shù)時(shí)的個(gè)數(shù)為奇數(shù)時(shí)p=1p=1,否則,否則p=0p=0;rs1rs1,rs0rs0:工作寄存器組選擇控制位。工作寄存器組選擇控制位。 0 0 00 0 0組(內(nèi)部組(內(nèi)部ramram地址地址00h00h07h07h)0 1 10 1 1組(內(nèi)部組(內(nèi)部ramram地址地址0
13、8h08h0fh0fh)1 0 21 0 2組(內(nèi)部組(內(nèi)部ramram地址地址10h10h17h17h)1 1 31 1 3組(內(nèi)部組(內(nèi)部ramram地址地址18h18h1fh1fh) mcs mcs5151單片機(jī)的零標(biāo)志單片機(jī)的零標(biāo)志z z不包含在不包含在pswpsw寄存器中,而直寄存器中,而直接安排在累加器接安排在累加器a a中中1.2 控制器控制器n程序計(jì)數(shù)器程序計(jì)數(shù)器pcpc 程序計(jì)數(shù)器程序計(jì)數(shù)器pcpc(program counterprogram counter)是)是1616位專用寄存位專用寄存器,其內(nèi)容表示下一條要執(zhí)行的指令時(shí),器,其內(nèi)容表示下一條要執(zhí)行的指令時(shí),pcpc的
14、內(nèi)容有自動(dòng)的內(nèi)容有自動(dòng)加加1 1的功能。當(dāng)?shù)墓δ堋.?dāng)cpucpu順序地執(zhí)行指令時(shí),順序地執(zhí)行指令時(shí),pcpc的內(nèi)容以增量的的內(nèi)容以增量的規(guī)律變化著,于是當(dāng)一條指令取出后,規(guī)律變化著,于是當(dāng)一條指令取出后,pcpc就指向下一條指就指向下一條指令的地址,如果不按順序執(zhí)行指令,轉(zhuǎn)移到某地址再繼續(xù)令的地址,如果不按順序執(zhí)行指令,轉(zhuǎn)移到某地址再繼續(xù)執(zhí)行指令,這時(shí)在執(zhí)行指令,這時(shí)在跳轉(zhuǎn)之前必須將轉(zhuǎn)向的程序的入口地址跳轉(zhuǎn)之前必須將轉(zhuǎn)向的程序的入口地址送往程序計(jì)數(shù)器,送往程序計(jì)數(shù)器,以便從該入口地址開始執(zhí)行程序。由此以便從該入口地址開始執(zhí)行程序。由此可見,可見,pcpc實(shí)際上是一個(gè)地址指示器,改變實(shí)際上是一個(gè)
15、地址指示器,改變pcpc中的內(nèi)容就可中的內(nèi)容就可以改變指令執(zhí)行的次序,即改變程序執(zhí)行的路線。當(dāng)以改變指令執(zhí)行的次序,即改變程序執(zhí)行的路線。當(dāng)系統(tǒng)系統(tǒng)復(fù)位后,復(fù)位后,pc=0000hpc=0000h,cpucpu便從這一固定的入口地址開始執(zhí)便從這一固定的入口地址開始執(zhí)行程序。行程序。n堆棧指針堆棧指針spsp 堆棧是為暫存數(shù)據(jù)或返回地址而在堆棧是為暫存數(shù)據(jù)或返回地址而在ramram區(qū)專門開辟的一區(qū)專門開辟的一個(gè)數(shù)據(jù)存放區(qū),并按照個(gè)數(shù)據(jù)存放區(qū),并按照“后進(jìn)先出后進(jìn)先出”的原則進(jìn)行操作。的原則進(jìn)行操作。 堆棧指針堆棧指針spsp(stack pointerstack pointer)是一個(gè))是一個(gè)8
16、 8位寄存器,用位寄存器,用它存放棧頂?shù)牡刂贰K娣艞m數(shù)牡刂?。進(jìn)棧時(shí),進(jìn)棧時(shí),spsp自動(dòng)加自動(dòng)加1 1,將數(shù)據(jù)壓入,將數(shù)據(jù)壓入spsp所所指定的地址單元;出棧時(shí),將指定的地址單元;出棧時(shí),將spsp所指示的地址單元中的數(shù)所指示的地址單元中的數(shù)據(jù)彈出,然后據(jù)彈出,然后spsp自動(dòng)減自動(dòng)減1 1,因此,因此,spsp總是指向棧頂。總是指向棧頂。 系統(tǒng)復(fù)位后,系統(tǒng)復(fù)位后,spsp初始化為初始化為07h07h,所以第一個(gè)壓入堆棧的,所以第一個(gè)壓入堆棧的數(shù)據(jù)存放到數(shù)據(jù)存放到08h08h單元,即堆棧區(qū)為從單元,即堆棧區(qū)為從07h07h單元開始的一部分單元開始的一部分連續(xù)存儲(chǔ)單元。連續(xù)存儲(chǔ)單元。 sps
17、p的內(nèi)容是可編程的,的內(nèi)容是可編程的,因而可將堆棧區(qū)定位到內(nèi)因而可將堆棧區(qū)定位到內(nèi)部數(shù)據(jù)存儲(chǔ)器的任意位置。部數(shù)據(jù)存儲(chǔ)器的任意位置。堆棧的大小可用堆棧的大小可用“深度深度”表示,用戶在設(shè)定堆棧區(qū)表示,用戶在設(shè)定堆棧區(qū)時(shí)應(yīng)該考慮到堆棧的深度,時(shí)應(yīng)該考慮到堆棧的深度,以便能滿足子程序嵌套時(shí)以便能滿足子程序嵌套時(shí)的需要。的需要。n數(shù)據(jù)指針數(shù)據(jù)指針dptrdptr 數(shù)據(jù)指針數(shù)據(jù)指針dptrdptr(data pointerdata pointer)是一個(gè))是一個(gè)1616位的地址寄位的地址寄存器,專門用來存放存器,專門用來存放1616位數(shù)據(jù)存儲(chǔ)器的地址,以便對(duì)外部位數(shù)據(jù)存儲(chǔ)器的地址,以便對(duì)外部數(shù)據(jù)存儲(chǔ)器數(shù)
18、據(jù)存儲(chǔ)器ramram讀寫數(shù)據(jù),作間接寄存器使用。它可指向讀寫數(shù)據(jù),作間接寄存器使用。它可指向64k64k字節(jié)范圍內(nèi)的任一存儲(chǔ)單元,也可以分成高字節(jié)字節(jié)范圍內(nèi)的任一存儲(chǔ)單元,也可以分成高字節(jié)dphdph和和低字節(jié)低字節(jié)dpldpl兩個(gè)獨(dú)立的兩個(gè)獨(dú)立的8 8位寄存器,這為修改位寄存器,這為修改dptrdptr的內(nèi)容提的內(nèi)容提供了方便。供了方便。n指令寄存器、指令譯碼器和指令寄存器、指令譯碼器和cpucpu定時(shí)控制定時(shí)控制 cpu cpu從程序存儲(chǔ)器內(nèi)取出的指令首先要送到指令寄存從程序存儲(chǔ)器內(nèi)取出的指令首先要送到指令寄存器,然后送入指令譯碼器,由指令譯碼器對(duì)指令進(jìn)行譯碼,器,然后送入指令譯碼器,由指
19、令譯碼器對(duì)指令進(jìn)行譯碼,即把指令轉(zhuǎn)變成執(zhí)行該指令所需要的信號(hào),使計(jì)算機(jī)正確即把指令轉(zhuǎn)變成執(zhí)行該指令所需要的信號(hào),使計(jì)算機(jī)正確地執(zhí)行程序所要求的各種操作。地執(zhí)行程序所要求的各種操作。三、三、 mcs-51mcs-51 單片機(jī)的引腳功能單片機(jī)的引腳功能 40只引腳雙列直插封裝(dip)44只引腳方形封裝方式為(4只無用) 40 40只引腳按其功能來分,可分為只引腳按其功能來分,可分為3 3類:類: (1 1)電源及時(shí)鐘引腳)電源及時(shí)鐘引腳: : vccvcc、vssvss;xtal1xtal1、xtal2xtal2。 (2 2)控制引腳:)控制引腳: /psen/psen、/ea/ea、aleal
20、e、reset reset (即(即rstrst)。)。 (3 3)i/oi/o口引腳:口引腳:p0p0、p1p1、p2p2、p3p3,為,為4 4個(gè)個(gè)8 8位位i/oi/o口的口的外部引腳。外部引腳。電源引腳電源引腳 (1 1)vccvcc:+5v+5v電源;電源; (2 2)vssvss:接地。:接地。時(shí)鐘引腳時(shí)鐘引腳 (1 1)xtal1xtal1(1919腳):如果采用外接晶體振蕩器時(shí),腳):如果采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。此引腳應(yīng)接地。 (2 2) xtal2 xtal2 (1818腳):接外部晶體的另一端。腳):接外部晶體的另一端。并行并行i/oi/o:共共4 4個(gè)口,個(gè)口
21、,3232根根i/oi/o線。線。 p0p0口口:8 8位雙向位雙向i/oi/o口???。當(dāng)使用片外存儲(chǔ)器(當(dāng)使用片外存儲(chǔ)器(romrom及及ramram)時(shí),作低八位地址和數(shù)據(jù)總)時(shí),作低八位地址和數(shù)據(jù)總線分時(shí)復(fù)用。能驅(qū)動(dòng)線分時(shí)復(fù)用。能驅(qū)動(dòng)8 8個(gè)個(gè)lsttllsttl負(fù)載。負(fù)載。 p1p1口口:8 8位、準(zhǔn)雙向位、準(zhǔn)雙向i/oi/o口??凇?p2 p2口口:8 8位、準(zhǔn)雙向位、準(zhǔn)雙向i/oi/o口。當(dāng)使用片外存儲(chǔ)器(口。當(dāng)使用片外存儲(chǔ)器(romrom及及ramram)時(shí),輸出高)時(shí),輸出高8 8位地址。位地址。p2p2口可以驅(qū)動(dòng)口可以驅(qū)動(dòng)4 4個(gè)個(gè)lsttllsttl負(fù)載。負(fù)載。 p3p3口
22、口:8 8位、準(zhǔn)雙向位、準(zhǔn)雙向i/oi/o口,具有內(nèi)部上拉電路。口,具有內(nèi)部上拉電路。p3p3提供提供各種替代功能。在提供這些功能時(shí),其輸出鎖存器應(yīng)由程序各種替代功能。在提供這些功能時(shí),其輸出鎖存器應(yīng)由程序置置1 1。p3p3口可以驅(qū)動(dòng)口可以驅(qū)動(dòng)4 4個(gè)個(gè)lsttllsttl負(fù)載。負(fù)載。串行口:串行口:np3.0p3.0rxdrxd串行輸入口串行輸入口np3.1p3.1txdtxd串行輸出口串行輸出口中斷:中斷:np3.2p3.2外部中斷外部中斷0 0輸入輸入np3.3p3.3外部中斷外部中斷1 1輸入輸入定時(shí)器定時(shí)器/ /計(jì)數(shù)器:計(jì)數(shù)器:np3.4p3.4定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器t0t
23、0的外部輸入的外部輸入np3.5p3.5定時(shí)器定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器t1t1的外部輸入的外部輸入數(shù)據(jù)存儲(chǔ)器選通:數(shù)據(jù)存儲(chǔ)器選通:np3.6p3.6wrwr低電平有效,輸出,片外存儲(chǔ)器寫選通。低電平有效,輸出,片外存儲(chǔ)器寫選通。np3.7p3.7rdrd低電平有效,輸出,片外存儲(chǔ)器讀選通。低電平有效,輸出,片外存儲(chǔ)器讀選通。控制線控制線nrst/vrst/vpdpd復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在rstrst上作用兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。上作用兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。 其第二功能為備用電源輸入端。其第二功能為備
24、用電源輸入端。nea/ea/v vpppp片外程序存儲(chǔ)器訪問允許信號(hào),低電平有效。片外程序存儲(chǔ)器訪問允許信號(hào),低電平有效。ea=1ea=1,選擇選擇片內(nèi)片內(nèi)程序存儲(chǔ)器(程序存儲(chǔ)器(80518051為為4kb4kb,80c5280c52為為8kb8kb););ea=0ea=0,則,則程序存儲(chǔ)器全部在程序存儲(chǔ)器全部在片外片外而不管片內(nèi)是否有程序存儲(chǔ)器。而不管片內(nèi)是否有程序存儲(chǔ)器。 其第二功能其第二功能v vpppp為編程電壓輸入端,使用為編程電壓輸入端,使用87518751編程時(shí),施編程時(shí),施加加21v21v的編程電壓。的編程電壓。nale/progale/prog地址鎖存允許信號(hào),輸出。地址鎖存
25、允許信號(hào),輸出。 在訪問片外存儲(chǔ)器或在訪問片外存儲(chǔ)器或i/oi/o時(shí),用于鎖存低八位地址,以時(shí),用于鎖存低八位地址,以實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。由于實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。由于aleale以以1/61/6的振蕩頻率的振蕩頻率固定速率輸出,可作為對(duì)外輸出的時(shí)鐘或用作外部定時(shí)脈固定速率輸出,可作為對(duì)外輸出的時(shí)鐘或用作外部定時(shí)脈沖。在沖。在epromeprom編程期間,作輸入。輸入編程脈沖(編程期間,作輸入。輸入編程脈沖(progprog) ale ale可以驅(qū)動(dòng)可以驅(qū)動(dòng)8 8個(gè)個(gè)lsttllsttl負(fù)載。負(fù)載。npsenpsen片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。片外程序存儲(chǔ)器讀選通信號(hào),
26、低電平有效。 在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上當(dāng)有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上p0p0口(數(shù)據(jù)總線)??冢〝?shù)據(jù)總線)。四、四、mcs-51mcs-51的外部總線結(jié)構(gòu)的外部總線結(jié)構(gòu)123456abcd654321dcbatitlenumberrevisionsizebdate:1-jun-2005 sheet of file:c:program filesdesign explorer 99 seexamplesdlt1.ddbdrawn by:d034d133d232d331d430d529d628d7
27、27a04a13a22a31a440a539a638a737b018b119b220b321b422b523b624b725c014c115c216c317c413c512c611c710rd5wr36a09a18rst35cs68255in 127d721d620in 228d519d418in 31d38d215in 42d114d017in 53eoc7in 64c23in 75ale22sta6a25b24in 026oe9clk100809d032d145d276d389d41312d51415d61716d7181911373d032d145d276d389d41312d51415
28、d61716d7181911373a010a19a28a37a46a55a64a73a825a924a1021a1123a122ce20we27oe22d011d112d213d315d416d517d618d7196264a010a19a28a37a46a55a64a73a825a924a1021a1123a122ce20we27oe22d011d112d213d315d416d517d618d7196264a010a19a28a37a46a55a64a73a825a924a1021a1123a122ce20oe22d011d112d213d315d416d517d618d719276413
29r12wr218cs1d07d25d16d34d614d416d515d713xf171211908321237402a12374ls08a76575452765754521237545212375452h1g6f7e5d4c2b10a9com3 8dg13 8dg23 8dg33 8dg4vcc40x119x218reset9int012int113t014t115p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p0.039p0.138p0.237p0.336p0.435p0.534p0.633p0.732p2.021p2.122p2.
30、223p2.324p2.425p2.526p2.627p2.728rd17wr16psen29ale30txd11rxd10gnd2080311143214888vvcc8m27p27p2002k10ufvcc發(fā)送接受-12v+12vd032d145d276d389d41312d51415d61716d7181911373127406123456983456984567402ba1b2c3e14e25e36y015y114y213y312y411y510y69y77741388910c7402111213d123avcc2.2 mcs-512.2 mcs-51的尋址空間與存儲(chǔ)器結(jié)構(gòu)的尋址空間與
31、存儲(chǔ)器結(jié)構(gòu) 80518051在在物理結(jié)構(gòu)物理結(jié)構(gòu)上有四個(gè)存儲(chǔ)空間:上有四個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器、片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。 在在邏輯上邏輯上,80518051有三個(gè)存儲(chǔ)空間:片內(nèi)外統(tǒng)一編址的有三個(gè)存儲(chǔ)空間:片內(nèi)外統(tǒng)一編址的64k64k字節(jié)的程序存儲(chǔ)器字節(jié)的程序存儲(chǔ)器地址空間(用地址空間(用1616位地址)、位地址)、片內(nèi)片內(nèi)128128字節(jié)的數(shù)據(jù)存儲(chǔ)器字節(jié)的數(shù)據(jù)存儲(chǔ)器地址空間(用地址空間(用8 8位地址)、位地址)、片外片外64k64k字節(jié)字節(jié)的數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)器地址空間。在訪問這三個(gè)不同的邏輯空間時(shí)
32、,地址空間。在訪問這三個(gè)不同的邏輯空間時(shí),應(yīng)采用不同的指令。應(yīng)采用不同的指令。2.2 mcs-512.2 mcs-51的尋址空間與存儲(chǔ)器結(jié)構(gòu)的尋址空間與存儲(chǔ)器結(jié)構(gòu)一、程序存儲(chǔ)器一、程序存儲(chǔ)器 ea ea引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器0000h0000h開開始執(zhí)行,即訪問片內(nèi)存儲(chǔ)器;當(dāng)始執(zhí)行,即訪問片內(nèi)存儲(chǔ)器;當(dāng)pcpc值超出片內(nèi)值超出片內(nèi)romrom容量時(shí),容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。eaea引腳接低電平時(shí),引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器0000h0000h開
33、始存放的程序。開始存放的程序。對(duì)對(duì)80318031,由于片內(nèi)無,由于片內(nèi)無rom/epromrom/eprom,必須使,必須使ea=0ea=0,程序存儲(chǔ),程序存儲(chǔ)器只能片外擴(kuò)展,即器只能片外擴(kuò)展,即0000h-ffffh0000h-ffffh都是指向片外都是指向片外epromeprom的。的。 在程序存儲(chǔ)器中,有六個(gè)地址單元被保留用于某些特定在程序存儲(chǔ)器中,有六個(gè)地址單元被保留用于某些特定的地址,如表所示。的地址,如表所示。表表 5 5種中斷源的中斷入口地址種中斷源的中斷入口地址 外部中斷外部中斷0 0 0003h0003h 定時(shí)器定時(shí)器0 (t0) 0 (t0) 000bh 000bh外部中
34、斷外部中斷1 1 0013h 0013h 定時(shí)器定時(shí)器1 (t1) 1 (t1) 001bh 001bh 串行口串行口 0023h0023h 單片機(jī)復(fù)位后,程序計(jì)數(shù)器單片機(jī)復(fù)位后,程序計(jì)數(shù)器pcpc的內(nèi)容為的內(nèi)容為0000h0000h,即系,即系統(tǒng)從統(tǒng)從0000h0000h單元開始執(zhí)行程序。一般在單元開始執(zhí)行程序。一般在0000h-0002h0000h-0002h單元存單元存放一條絕對(duì)轉(zhuǎn)移指令,而用戶設(shè)計(jì)的主程序應(yīng)從跳轉(zhuǎn)后的放一條絕對(duì)轉(zhuǎn)移指令,而用戶設(shè)計(jì)的主程序應(yīng)從跳轉(zhuǎn)后的地址開始存放,以便地址開始存放,以便cpucpu復(fù)位后,復(fù)位后,pcpc從從0000h0000h起始地址跳轉(zhuǎn)起始地址跳轉(zhuǎn)到
35、用戶程序去執(zhí)行。到用戶程序去執(zhí)行。5 5個(gè)中斷源的中斷入口地址間隔都只個(gè)中斷源的中斷入口地址間隔都只有有8 8個(gè)單元,存放中斷服務(wù)程序往往是不夠用的。所以通個(gè)單元,存放中斷服務(wù)程序往往是不夠用的。所以通常在這些入口存放一條絕對(duì)轉(zhuǎn)移指令,使程序轉(zhuǎn)到相應(yīng)的常在這些入口存放一條絕對(duì)轉(zhuǎn)移指令,使程序轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序的起始地址。中斷服務(wù)程序的起始地址。 二、數(shù)據(jù)存儲(chǔ)器二、數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩數(shù)據(jù)存儲(chǔ)器用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖以及標(biāo)志位等。所以數(shù)據(jù)存儲(chǔ)器由讀寫存儲(chǔ)器沖以及標(biāo)志位等。所以數(shù)據(jù)存儲(chǔ)器由讀寫存儲(chǔ)器ramram構(gòu)成。構(gòu)成。80528052片
36、內(nèi)片內(nèi)ramram有有256256字節(jié),片外最大可擴(kuò)展字節(jié),片外最大可擴(kuò)展64k64k字節(jié)字節(jié)ramram。片。片內(nèi)和片外內(nèi)和片外ramram是獨(dú)立編址的,用不同的指令來訪問不同的是獨(dú)立編址的,用不同的指令來訪問不同的數(shù)據(jù)存儲(chǔ)器,即用數(shù)據(jù)存儲(chǔ)器,即用movmov指令訪問片內(nèi)指令訪問片內(nèi)ramram,而用,而用movxmovx指令訪指令訪問問片外片外ramram。片內(nèi)數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器 片內(nèi)數(shù)據(jù)存儲(chǔ)器的配置如圖所示。片內(nèi)數(shù)據(jù)存儲(chǔ)器為片內(nèi)數(shù)據(jù)存儲(chǔ)器的配置如圖所示。片內(nèi)數(shù)據(jù)存儲(chǔ)器為8 8位地址,(位地址,(80528052)最大可尋址)最大可尋址256256個(gè)單元(個(gè)單元(00h-ffh00h
37、-ffh),),這是最靈活的地址空間。它由工作寄存器區(qū)、位尋址區(qū)和這是最靈活的地址空間。它由工作寄存器區(qū)、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)組成,不同的地址區(qū)域內(nèi),功能不完全相同。數(shù)據(jù)緩沖區(qū)組成,不同的地址區(qū)域內(nèi),功能不完全相同。片內(nèi)數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器通用通用ram區(qū)區(qū)80單元單元可位尋址可位尋址區(qū)區(qū)16單元單元工作寄存工作寄存區(qū)區(qū)1 1、工作寄存器、工作寄存器0 0 0組(組(00h07h)0 1 1組(組(08h0fh)1 0 2組(組(10h17h)1 1 3組(組(18h1fh)1 1、工作寄存器、工作寄存器 在低在低128128字節(jié)字節(jié)ramram區(qū)中,地址區(qū)中,地址00h-1fh00h-1
38、fh為為通用工作寄存器通用工作寄存器區(qū),區(qū),共分為四個(gè)組,每組有共分為四個(gè)組,每組有8 8個(gè)工作寄存器個(gè)工作寄存器r0-r7r0-r7,共占用共占用3232個(gè)單元。個(gè)單元。工作寄存器和工作寄存器和ramram地址的對(duì)應(yīng)關(guān)系如表所示。每組寄存器均可地址的對(duì)應(yīng)關(guān)系如表所示。每組寄存器均可選作選作cpucpu當(dāng)前使用的工作寄存器組。用戶可以通過指令對(duì)當(dāng)前使用的工作寄存器組。用戶可以通過指令對(duì)pswpsw中中rsirsi和和rsorso的設(shè)置來決定的設(shè)置來決定cpucpu當(dāng)前所使用的寄存器組。寄存器組當(dāng)前所使用的寄存器組。寄存器組別確定以后,究竟使用組中的哪一個(gè)寄存器就由別確定以后,究竟使用組中的哪一
39、個(gè)寄存器就由8 8位地址號(hào)指位地址號(hào)指示了。示了。cpucpu復(fù)位以后,由于復(fù)位以后,由于pswpsw中各位均為中各位均為0 0,所以選定第,所以選定第0 0組工組工作寄存器。作寄存器。若程序中并不需要用四個(gè)工作寄存器組,那么剩下若程序中并不需要用四個(gè)工作寄存器組,那么剩下的工作寄存器組所對(duì)應(yīng)的地位單元可以作為一般的數(shù)據(jù)緩沖區(qū)的工作寄存器組所對(duì)應(yīng)的地位單元可以作為一般的數(shù)據(jù)緩沖區(qū)使用。使用。2 2、位尋址區(qū)、位尋址區(qū) 20h-2fh20h-2fh為位尋址區(qū)為位尋址區(qū)。每個(gè)單元有。每個(gè)單元有8 8位,位,1616個(gè)單元共個(gè)單元共128128位,每一位分配有一個(gè)位,每一位分配有一個(gè)8 8位地址,稱
40、為位地址,其范圍位地址,稱為位地址,其范圍是是00h-7fh00h-7fh。位尋址區(qū)的每一位都可以當(dāng)作一個(gè)軟件觸發(fā)。位尋址區(qū)的每一位都可以當(dāng)作一個(gè)軟件觸發(fā)器,由程序直接進(jìn)行位處理。程序設(shè)計(jì)時(shí),通常把各種程器,由程序直接進(jìn)行位處理。程序設(shè)計(jì)時(shí),通常把各種程序狀態(tài)標(biāo)志、位控制變量設(shè)在位尋址區(qū)內(nèi)。同樣,序狀態(tài)標(biāo)志、位控制變量設(shè)在位尋址區(qū)內(nèi)。同樣,位尋址位尋址區(qū)的區(qū)的ramram單元也可以作為一般的數(shù)據(jù)緩沖器使用單元也可以作為一般的數(shù)據(jù)緩沖器使用。 30h-7fh30h-7fh為數(shù)據(jù)緩沖區(qū)為數(shù)據(jù)緩沖區(qū),用來存放數(shù)據(jù)。此外,用戶,用來存放數(shù)據(jù)。此外,用戶堆棧一般設(shè)在這個(gè)區(qū)間。堆棧一般設(shè)在這個(gè)區(qū)間。3 3
41、、特殊功能寄存器、特殊功能寄存器sfrsfr 在高在高128128字節(jié)字節(jié)ramram區(qū),區(qū),80h-ffh80h-ffh地址為特殊功能寄存器地址為特殊功能寄存器sfrsfr(special functional registerspecial functional register)區(qū),)區(qū),sfrsfr是用于對(duì)是用于對(duì)片內(nèi)功能模塊進(jìn)行管理、控制、監(jiān)視的控制寄存器和狀態(tài)片內(nèi)功能模塊進(jìn)行管理、控制、監(jiān)視的控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的寄存器,是一個(gè)具有特殊功能的ramram區(qū)。區(qū)。80518051有有2121個(gè)特殊個(gè)特殊功能寄存器功能寄存器,如,如i/oi/o口鎖存器,定時(shí)器、串
42、行口緩沖器以口鎖存器,定時(shí)器、串行口緩沖器以及各種控制寄存器和狀態(tài)寄存器都以特殊功能寄存器的形及各種控制寄存器和狀態(tài)寄存器都以特殊功能寄存器的形式出現(xiàn),離散地分布在式出現(xiàn),離散地分布在80h-ffh80h-ffh范圍內(nèi)。特殊功能寄存器范圍內(nèi)。特殊功能寄存器的名稱如下:的名稱如下:3 3、特殊功能寄存器、特殊功能寄存器sfrsfrna a(或(或accacc):累加器):累加器a anb b:b b寄存器寄存器npswpsw:程序狀態(tài)字:程序狀態(tài)字nspsp:堆棧指針:堆棧指針ndptrdptr:數(shù)據(jù)指針(由:數(shù)據(jù)指針(由dphdph和和dpldpl組成)組成)npo-p3po-p3:p0p0口
43、鎖存器一口鎖存器一p3p3口口鎖存器鎖存器nipip:中斷優(yōu)先級(jí)控制寄存器:中斷優(yōu)先級(jí)控制寄存器nieie:中斷允許控制寄存器:中斷允許控制寄存器ntmodtmod:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器方式控制寄存器計(jì)數(shù)器方式控制寄存器ntcontcon:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器控制寄存器計(jì)數(shù)器控制寄存器nth0th0:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器0 0(高字節(jié))(高字節(jié))ntl0tl0:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器0 0(低字節(jié))(低字節(jié))nthithi:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1(高字節(jié))(高字節(jié))ntlitli:定時(shí)器:定時(shí)器/ /計(jì)數(shù)器計(jì)數(shù)器1 1(低字節(jié))(低字節(jié))nsc
44、onscon:串行口控制寄存器:串行口控制寄存器nsbufsbuf:串行口數(shù)據(jù)緩沖器:串行口數(shù)據(jù)緩沖器npconpcon:電源控制寄存器:電源控制寄存器片外數(shù)據(jù)存儲(chǔ)區(qū)片外數(shù)據(jù)存儲(chǔ)區(qū)n片外數(shù)據(jù)存儲(chǔ)器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能片外數(shù)據(jù)存儲(chǔ)器是在外部存放數(shù)據(jù)的區(qū)域,這一區(qū)域只能用寄存器間接尋址的方法訪問,所用的寄存器為用寄存器間接尋址的方法訪問,所用的寄存器為dptrdptr、r1r1或或r0r0。n當(dāng)用當(dāng)用r0r0、r1r1尋址時(shí),由于尋址時(shí),由于r0r0、r1r1為為8 8位寄存器,因此最大位寄存器,因此最大尋址范圍為尋址范圍為256b256b;當(dāng)用;當(dāng)用dptrdptr尋址時(shí),由于尋
45、址時(shí),由于dptrdptr為為1616位寄存位寄存器,因此最大尋址范圍為器,因此最大尋址范圍為64kb64kb。 2.3 mcs-51 2.3 mcs-51的并行的并行i/oi/o口口 8051 8051單片機(jī)共有四個(gè)單片機(jī)共有四個(gè)8 8位的并行雙向口,計(jì)有位的并行雙向口,計(jì)有3232根輸根輸入入/ /輸出(輸出(i/oi/o)口線。各口的每一位均由鎖存器、輸出驅(qū))口線。各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器組成??衫萌我欢丝谳斎胼敵鰯?shù)據(jù),動(dòng)器和輸入緩沖器組成??衫萌我欢丝谳斎胼敵鰯?shù)據(jù),每條口線也可單獨(dú)使用,或在任一位上輸入輸出開關(guān)量,每條口線也可單獨(dú)使用,或在任一位上輸入輸出開關(guān)
46、量,或?qū)ξ贿M(jìn)行邏輯操作。除或?qū)ξ贿M(jìn)行邏輯操作。除p1p1口僅做口僅做i/oi/o口外,其余各端口口外,其余各端口均具有雙功能,可由用戶選擇使用。均具有雙功能,可由用戶選擇使用。 一、一、 p0p0端口端口 字節(jié)地址為字節(jié)地址為80h,80h, 位地址位地址80h80h87h87h。 p0p0口某一位的電路包括:口某一位的電路包括:(1) (1) 一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存。一個(gè)數(shù)據(jù)輸出鎖存器,用于數(shù)據(jù)位的鎖存。( (2) 2) 兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。兩個(gè)三態(tài)的數(shù)據(jù)輸入緩沖器,分別用于鎖存器數(shù)據(jù)和引腳數(shù)據(jù)的輸入緩沖。(3) (3) 一個(gè)多路轉(zhuǎn)
47、接開關(guān)一個(gè)多路轉(zhuǎn)接開關(guān)muxmux,實(shí)現(xiàn)鎖存器輸出和地址,實(shí)現(xiàn)鎖存器輸出和地址/ /數(shù)據(jù)線之間的接通轉(zhuǎn)接。數(shù)據(jù)線之間的接通轉(zhuǎn)接。(4) (4) 數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路,由兩只場(chǎng)效應(yīng)管(數(shù)據(jù)輸出的驅(qū)動(dòng)和控制電路,由兩只場(chǎng)效應(yīng)管(fetfet)組成,上面的那只場(chǎng)效)組成,上面的那只場(chǎng)效應(yīng)管構(gòu)成上拉電路。應(yīng)管構(gòu)成上拉電路。 p0 p0口傳送地址或數(shù)據(jù)口傳送地址或數(shù)據(jù)時(shí),時(shí),cpucpu發(fā)出發(fā)出控制信號(hào)控制信號(hào)1 1,打開上面的與門,使,打開上面的與門,使多路轉(zhuǎn)接開關(guān)多路轉(zhuǎn)接開關(guān)muxmux打向上邊,使內(nèi)部地址打向上邊,使內(nèi)部地址/ /數(shù)據(jù)線與下面的場(chǎng)效應(yīng)管處于數(shù)據(jù)線與下面的場(chǎng)效應(yīng)管處于反相接通狀態(tài)
48、。這時(shí)的輸出驅(qū)動(dòng)電路由于上下兩個(gè)反相接通狀態(tài)。這時(shí)的輸出驅(qū)動(dòng)電路由于上下兩個(gè)fetfet處于反相,形成處于反相,形成推拉式電路結(jié)構(gòu),大大的提高了負(fù)載能力。而當(dāng)推拉式電路結(jié)構(gòu),大大的提高了負(fù)載能力。而當(dāng)輸入數(shù)據(jù)輸入數(shù)據(jù)時(shí),時(shí),數(shù)據(jù)信號(hào)數(shù)據(jù)信號(hào)則直接從引腳通過輸入緩沖器進(jìn)入內(nèi)部總線。則直接從引腳通過輸入緩沖器進(jìn)入內(nèi)部總線。 p0p0口作為通用的口作為通用的i/oi/o口使用口使用。這時(shí),。這時(shí),cpucpu發(fā)來的發(fā)來的“控制控制”信號(hào)為低電平信號(hào)為低電平0 0,封鎖,封鎖了與門,并將輸出驅(qū)動(dòng)電路的上拉場(chǎng)效應(yīng)管了與門,并將輸出驅(qū)動(dòng)電路的上拉場(chǎng)效應(yīng)管t1t1截止截止,而多路轉(zhuǎn)接開關(guān),而多路轉(zhuǎn)接開關(guān)mu
49、xmux打向下邊,打向下邊,與與d d鎖存器的鎖存器的/q/q端接通。端接通。 當(dāng)當(dāng)p0p0口作為口作為輸出輸出口使用時(shí),來自口使用時(shí),來自cpucpu的的“寫入寫入”脈沖加在脈沖加在d d鎖存器的鎖存器的cpcp端,內(nèi)部端,內(nèi)部總線上的數(shù)據(jù)寫入總線上的數(shù)據(jù)寫入d d鎖存器,并向端口引腳鎖存器,并向端口引腳p0.xp0.x輸出。但要注意,由于輸出電路是輸出。但要注意,由于輸出電路是漏極開路(因?yàn)檫@時(shí)上拉場(chǎng)效應(yīng)管截止),漏極開路(因?yàn)檫@時(shí)上拉場(chǎng)效應(yīng)管截止),必須外接上拉電阻才能有高電平輸出。必須外接上拉電阻才能有高電平輸出。 當(dāng)當(dāng)p0p0口作為口作為輸入輸入口使用時(shí),應(yīng)區(qū)分口使用時(shí),應(yīng)區(qū)分“讀引
50、腳讀引腳”和和“讀鎖存器讀鎖存器”。 “讀引腳讀引腳”就是直接讀取引腳就是直接讀取引腳 p0.x p0.x 上的狀態(tài),這時(shí)由上的狀態(tài),這時(shí)由“讀引腳讀引腳”信號(hào)信號(hào)把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線;把下方緩沖器打開,引腳上的狀態(tài)經(jīng)緩沖器讀入內(nèi)部總線; “讀引腳讀引腳”前該口鎖存器必須先置前該口鎖存器必須先置1 1。 mov p0,#0ffhmov p0,#0ffh mov a,p0 mov a,p0 “讀鎖存器讀鎖存器”則是則是“讀鎖存器讀鎖存器”信號(hào)打開上面的緩沖器把鎖存器信號(hào)打開上面的緩沖器把鎖存器q q端的狀態(tài)讀入內(nèi)部總線。端的狀態(tài)讀入內(nèi)部總線。cpucpu執(zhí)行一次讀執(zhí)
51、行一次讀- -改改- -寫操作。寫操作。 anlanl,orlorl,xrlxrl;jbcjbc;cplcpl;incinc,decdec;djnzdjnz;movmov;clrclr,setbsetb;這些指令均執(zhí)行一次讀這些指令均執(zhí)行一次讀- -改改- -寫操作。寫操作。二、二、 p1p1端口端口 字節(jié)地址為字節(jié)地址為90h90h,位地址,位地址90h90h97h97h。p1p1口只作為通用的口只作為通用的i/oi/o口使用口使用,在電路結(jié)構(gòu)上與,在電路結(jié)構(gòu)上與p0p0口有兩點(diǎn)區(qū)別:口有兩點(diǎn)區(qū)別:(1 1) 因?yàn)橐驗(yàn)閜1p1口只傳送數(shù)據(jù),所以不再需要多路轉(zhuǎn)接開關(guān)口只傳送數(shù)據(jù),所以不再需要多
52、路轉(zhuǎn)接開關(guān)muxmux。(2 2)由于)由于p1p1口用來傳送數(shù)據(jù),因此輸出電路中有上拉電阻,這樣電路的輸口用來傳送數(shù)據(jù),因此輸出電路中有上拉電阻,這樣電路的輸出不是三態(tài)的,所以出不是三態(tài)的,所以p1p1口是口是準(zhǔn)雙向口準(zhǔn)雙向口。因此:因此:(1 1)p1p1口作為口作為輸出輸出口使用時(shí),與口使用時(shí),與p0p0口不同的是,外電路無需再接上拉電阻。口不同的是,外電路無需再接上拉電阻。(2 2)p1p1口作為口作為輸入輸入口使用時(shí),口使用時(shí),應(yīng)先向其鎖存器先寫入應(yīng)先向其鎖存器先寫入 “ “1”1”,使輸出驅(qū)動(dòng),使輸出驅(qū)動(dòng)電路的電路的fetfet截止。截止。 mov p1,#0ffhmov p1,#
53、0ffh mov a,p1 mov a,p1三、三、 p2p2端口端口 字節(jié)地址為字節(jié)地址為a0ha0h,位地址,位地址a0ha0ha7ha7h。 在實(shí)際應(yīng)用中,因?yàn)樵趯?shí)際應(yīng)用中,因?yàn)閜2p2口口用于為系統(tǒng)用于為系統(tǒng)提供高位地址提供高位地址,因此同,因此同p0p0口一樣,在口電路中有一個(gè)多路轉(zhuǎn)接開關(guān)口一樣,在口電路中有一個(gè)多路轉(zhuǎn)接開關(guān)muxmux。但。但muxmux的一個(gè)輸入的一個(gè)輸入端不再是端不再是“地址地址/ /數(shù)據(jù)數(shù)據(jù)”,而是單一的,而是單一的“地址地址”,這是因?yàn)椋@是因?yàn)閜2p2口只口只作為地址線使用。當(dāng)作為地址線使用。當(dāng)p2p2口用作為高位地址線使用時(shí),多路轉(zhuǎn)接開關(guān)口用作為高位地址
54、線使用時(shí),多路轉(zhuǎn)接開關(guān)應(yīng)接向應(yīng)接向“地址地址”端。正因?yàn)橹蛔鳛榈刂肪€使用,口的輸出用不著是端。正因?yàn)橹蛔鳛榈刂肪€使用,口的輸出用不著是三態(tài)的,所以,三態(tài)的,所以,p2p2口也是一個(gè)準(zhǔn)雙向口??谝彩且粋€(gè)準(zhǔn)雙向口。 此外,此外,p2p2口口也可以作為也可以作為通用通用i/oi/o口使用,這時(shí),多路轉(zhuǎn)接開關(guān)口使用,這時(shí),多路轉(zhuǎn)接開關(guān)接向鎖存器接向鎖存器q q端。端。 p2p2口口作為作為輸入輸入口使用時(shí),應(yīng)先向其鎖存器先寫入口使用時(shí),應(yīng)先向其鎖存器先寫入 “1”1”,使輸出驅(qū)動(dòng)電路的,使輸出驅(qū)動(dòng)電路的fetfet截止。截止。四、四、 p3p3端口端口 p3p3口的字節(jié)地址為口的字節(jié)地址為b0hb0h
55、,位地址為,位地址為b0hb0hb7hb7h p3p3口口的的第二功能第二功能定義定義。表表 p3 p3口的第二功能定義口的第二功能定義 口引腳口引腳 第二功能第二功能 p3.0p3.0 rxd rxd(串行輸入口)(串行輸入口) p3.1p3.1 txd txd(串行輸出口)(串行輸出口) p3.2p3.2 /int0 /int0 (外部中斷(外部中斷0 0) p3.3p3.3 /int1 /int1 (外部中斷(外部中斷1 1) p3.4p3.4 t0 t0(定時(shí)器(定時(shí)器0 0外部計(jì)數(shù)輸入)外部計(jì)數(shù)輸入) p3.5p3.5 t1 t1(定時(shí)器(定時(shí)器1 1外部計(jì)數(shù)輸入)外部計(jì)數(shù)輸入) p
56、3.6p3.6 /wr /wr (外部數(shù)據(jù)存儲(chǔ)器寫選通)(外部數(shù)據(jù)存儲(chǔ)器寫選通) p3.7p3.7 /rd /rd (外部數(shù)據(jù)存儲(chǔ)器讀選通)(外部數(shù)據(jù)存儲(chǔ)器讀選通)(1 1)當(dāng)作通用的當(dāng)作通用的i/oi/o口使用時(shí)口使用時(shí),電路中的,電路中的“第二輸出功能第二輸出功能”線應(yīng)保持高電線應(yīng)保持高電平,與非門開通,以使鎖存器的平,與非門開通,以使鎖存器的q q端輸出通路保持暢通。當(dāng)輸入信號(hào)時(shí),端輸出通路保持暢通。當(dāng)輸入信號(hào)時(shí),該鎖存器應(yīng)預(yù)先置該鎖存器應(yīng)預(yù)先置“1”1” 。引腳信號(hào)通過緩沖器送到內(nèi)部總線。引腳信號(hào)通過緩沖器送到內(nèi)部總線。(2 2)作為第二功能用作為第二功能用: :輸出時(shí),輸出時(shí),q=1
57、q=1,打開與非門,第二功能輸出;,打開與非門,第二功能輸出; 輸入時(shí),引腳信號(hào)通過緩沖器送到第二輸入功能端。輸入時(shí),引腳信號(hào)通過緩沖器送到第二輸入功能端。p0p0p3p3端口功能小結(jié):端口功能小結(jié):(1 1)p0p0p3p3口都是并行口都是并行i/oi/o口,都可用于數(shù)據(jù)的輸入和口,都可用于數(shù)據(jù)的輸入和輸出,但輸出,但p0p0口和口和p2p2口除了可進(jìn)行數(shù)據(jù)的輸入口除了可進(jìn)行數(shù)據(jù)的輸入/ /輸出外,輸出外,通常用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電通常用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個(gè)多路轉(zhuǎn)接開關(guān)路中有一個(gè)多路轉(zhuǎn)接開關(guān)muxmux,以便進(jìn)行兩種用途的轉(zhuǎn),以便進(jìn)行兩種用途
58、的轉(zhuǎn)換。而換。而p1p1口和口和p3p3口沒有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總口沒有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能,因此,在電路中沒有多路轉(zhuǎn)接開關(guān)線的功能,因此,在電路中沒有多路轉(zhuǎn)接開關(guān)muxmux。由。由于于p0p0口可作為地址口可作為地址/ /數(shù)據(jù)復(fù)用線使用,需傳送系統(tǒng)的低數(shù)據(jù)復(fù)用線使用,需傳送系統(tǒng)的低8 8位地址和位地址和8 8位數(shù)據(jù),因此位數(shù)據(jù),因此muxmux的一個(gè)輸入端為的一個(gè)輸入端為“地址地址/ /數(shù)據(jù)數(shù)據(jù)”信號(hào)。而信號(hào)。而p2p2口僅作為高位地址線使用,不涉及口僅作為高位地址線使用,不涉及數(shù)據(jù),所以數(shù)據(jù),所以muxmux的一個(gè)輸入信號(hào)為的一個(gè)輸入信號(hào)為“地址地址”。 (2 2)在
59、)在4 4個(gè)口中只有個(gè)口中只有p0p0口是一個(gè)真正的雙向口,口是一個(gè)真正的雙向口,p1p1p3p3這這3 3個(gè)口都是準(zhǔn)雙向口。原因是在應(yīng)用系統(tǒng)中,個(gè)口都是準(zhǔn)雙向口。原因是在應(yīng)用系統(tǒng)中,p0p0口作口作為系統(tǒng)的數(shù)據(jù)總線使用時(shí),為保證數(shù)據(jù)的正確傳送,為系統(tǒng)的數(shù)據(jù)總線使用時(shí),為保證數(shù)據(jù)的正確傳送,需要解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時(shí)需要解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳送時(shí),芯片內(nèi)外應(yīng)處芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳送時(shí),芯片內(nèi)外應(yīng)處于隔離狀態(tài)。為此,要求于隔離狀態(tài)。為此,要求p0p0口的輸出緩沖器是一個(gè)三口的輸出緩沖器是一個(gè)三態(tài)門。態(tài)門。 在在p0p0口
60、中輸出三態(tài)門是由兩只場(chǎng)效應(yīng)管(口中輸出三態(tài)門是由兩只場(chǎng)效應(yīng)管(fetfet)組)組成,所以說它是一個(gè)真正的雙向口。而其它的三個(gè)口成,所以說它是一個(gè)真正的雙向口。而其它的三個(gè)口p1p1p3p3中,上拉電阻代替中,上拉電阻代替p0p0口中的場(chǎng)效應(yīng)管,輸出緩口中的場(chǎng)效應(yīng)管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準(zhǔn)雙向口。為準(zhǔn)雙向口。(3 3)p3p3口的口線具有第二功能,為系統(tǒng)提供一些控制信口的口線具有第二功能,為系統(tǒng)提供一些控制信號(hào)。因此在號(hào)。因此在p3p3口電路增加了第二功能控制邏輯。這是口電路增加了第二功能控制邏輯。這是p3p3口與
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 春 朱自清教育課件
- 遼寧省遼陽市第一中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期第二次學(xué)科素養(yǎng)能力訓(xùn)練(期中)地理試卷(含答案)
- 河南省許昌市長(zhǎng)葛市2024-2025學(xué)年九年級(jí)上學(xué)期期中質(zhì)量監(jiān)測(cè)物理試題(含答案)
- 11 A受迫振動(dòng) 共振 基礎(chǔ)版2025新課改-高中物理-選修第1冊(cè)(21講)
- 電商代運(yùn)營(yíng)相關(guān)行業(yè)投資方案范本
- 高效能復(fù)合外墻外保溫材料相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 腹部的斷面解剖學(xué)課件
- 現(xiàn)代生產(chǎn)運(yùn)營(yíng)管理
- 兒童保健和疾病防治原則課件
- 【初中地理】海陸變遷教學(xué)課件-2024-2025學(xué)年七年級(jí)地理上學(xué)期(湘教版2024)
- DLT 5028.3-2015 電力工程制圖標(biāo)準(zhǔn) 第3部分:電氣、儀表與控制部分
- 四川省城市(縣城)建成區(qū)排水管網(wǎng)排查技術(shù)導(dǎo)則
- 食品配送中心租賃合同
- 文化活動(dòng)實(shí)施方案 組委會(huì)職責(zé)
- 產(chǎn)出導(dǎo)向法在譯林版高中英語教材Integrated skills板塊的實(shí)踐探索
- 十八項(xiàng)醫(yī)療核心制度解讀
- 征信基礎(chǔ)知識(shí)培訓(xùn)課件
- (正式版)HGT 6288-2024 聚酯樹脂生產(chǎn)用催化劑 三異辛酸丁基錫
- 卡努斯丹之旅-團(tuán)隊(duì)協(xié)作與跨部門溝通沙盤模擬課程
- 第12課+明朝的興亡【中職專用】《中國(guó)歷史》(高教版2023基礎(chǔ)模塊)
- 2024年城市合伙人合同模板
評(píng)論
0/150
提交評(píng)論