[信息與通信]第2章 AT89S51單片機的硬件結(jié)構(gòu)_第1頁
[信息與通信]第2章 AT89S51單片機的硬件結(jié)構(gòu)_第2頁
[信息與通信]第2章 AT89S51單片機的硬件結(jié)構(gòu)_第3頁
[信息與通信]第2章 AT89S51單片機的硬件結(jié)構(gòu)_第4頁
[信息與通信]第2章 AT89S51單片機的硬件結(jié)構(gòu)_第5頁
已閱讀5頁,還剩99頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章 單片機的硬件結(jié)構(gòu) 本章內(nèi)容Single Chip Microcomputer硬件結(jié)構(gòu)復位操作和復位電路時鐘電路與時序CPU存儲器的結(jié)構(gòu)并行I/O端口引腳功能低功耗節(jié)電模式2.1 AT89S51單片機的硬件結(jié)構(gòu)圖2-1 AT89S51單片機片內(nèi)結(jié)構(gòu)中央處理器CPU:8位,運算和控制功能,面向控制的位處理功能。內(nèi)部RAM:共256個RAM單元,用戶使用前128個單元,用于存放可讀寫數(shù)據(jù),后128個單元被專用存放器占用。內(nèi)部ROM:4KB flash ROM,用于存放程序、原始數(shù)據(jù)和表格。定時/計數(shù)器:2個16位的定時/計數(shù)器,實現(xiàn)定時或計數(shù)功能。并行I/O口:4個8位的I/O口P0、P1、

2、P2、P3。串行口:一個全雙工異步串行口。中斷控制系統(tǒng):5個中斷源外中斷2個,定時/計數(shù)中斷2個,串行中斷1個特殊功能存放器SFR:26個,對片內(nèi)各功能部件管理、控制和監(jiān)視。AT89S51單片機的硬件資源與AT89C51相比,AT89S51有更突出的優(yōu)點:1增加在線可編程功能ISPIn System Program,字 節(jié)和頁編程,現(xiàn)場程序調(diào)試和修改更加方便靈活;2數(shù)據(jù)指針增加到兩個,方便了對片外RAM的訪問過程;3增加了看門狗定時器,提高了系統(tǒng)的抗干擾能力;4增加斷電標志;5增加掉電狀態(tài)下的中斷恢復模式。2.2 AT89S51的引腳功能先了解引腳,牢記各引腳的功能。 AT89S51與51系列

3、中各種型號芯片的引腳互相兼容。目前多采用40只引腳雙列直插。 引腳按其功能可分為如下3類:1電源及時鐘引腳VCC、VSS;XTAL1、 XTAL2。2控制引腳PSEN* 、ALE/PROC*、EA* /VPP、 RSTRESET3I/O口引腳P0、P1、P2、P3,為4個8位 I/O口1電源引腳1VCC40腳:+5V電源。2VSS20腳:數(shù)字地。圖2-2 AT89S51雙列直插封裝方式的引腳2時鐘引腳 1XTAL119腳:片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路輸入端。用片內(nèi)振蕩器時,該腳接外部石英晶體和微調(diào)電容。外接時鐘源時,該腳接外部時鐘振蕩器的信號。2XTAL218腳:片內(nèi)振蕩器反相放大器的

4、輸出端。當使用片內(nèi)振蕩器,該腳連接外部石英晶體和微調(diào)電容。當使用外部時鐘源時,本腳懸空。3. 控制引腳1RST (RESET,9腳):復位信號輸入,在引腳加上持續(xù)時間大于2個機器周期的高電平,可使單片機復位。正常工作,此腳電平應 。2 /VPP (Enable Address/Voltage Pulse of Programing,31腳) :引腳第一功能:外部程序存儲器訪問允許控制端。=1,在PC值不超出0FFFH即不超出片內(nèi)4KB Flash存儲器的地址范圍時,單片機讀片內(nèi)程序存儲器4KB中的程序,但PC值超出0FFFH 即超出片內(nèi)4KB Flash地址范圍時,將自動轉(zhuǎn)向讀取片外60KB1

5、000H-FFFFH程序存儲器空間中的程序。 =0,只讀取外部的程序存儲器中的內(nèi)容,讀取的地址范圍為0000HFFFFH,片內(nèi)的4KB Flash 程序存儲器不起作用。 VPP:引腳第二功能,對片內(nèi)Flash編程,接編程電壓。3ALE/ Address Latch Enable/PROGramming,30腳 ALE為CPU訪問外部程序存儲器或外部數(shù)據(jù)存儲器提供地址鎖存信號,將低8位地址鎖存在片外的地址鎖存器中。 引腳第二功能,對片內(nèi) Flash編程,為編程脈沖輸入腳。4 Program Strobe ENable,29腳 片外程序存儲器讀選通信號,低電平有效。4. 并行I/O口引腳1P0口:

6、8位,漏極開路雙向I/O口 當外擴存儲器及I/O接口芯片時,P0口作為低8位地址總線及數(shù)據(jù)總線的分時復用端口。 P0口也可用作通用的I/O口,需加上拉電阻,這時為準雙向口。作為通用I/O輸入,應先向端口寫入1。可驅(qū)動8個LS型TTL負載。2P1口:8位,準雙向I/O口,具有內(nèi)部上拉電阻。 準雙向I/O口,作為通用I/O輸入時,應先向端口鎖存器寫1。P1口可驅(qū)動4個LS型TTL負載。、和可用于對片內(nèi)Flash存儲器串行編程和校驗,它們分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。3P2口:8位,準雙向I/O口,具有內(nèi)部上拉電阻。 當AT89S51擴展外部存儲器及I/O口時,P2口作為高8位地址總線用。

7、 P2口也可作為普通的I/O口使用。當作為通用I/O輸入時,應先向端口輸出鎖存器寫1。P2口可驅(qū)動4個LS型TTL負載。4P3口:8位,準雙向I/O口,具有內(nèi)部上拉電阻。 可作為通用的I/O口使用。作為通用I/O輸入,應先向端口輸出鎖存器寫入1。可驅(qū)動4個LS型TTL負載。 P3口還可提供第二功能。第二功能定義見下表,應熟記。內(nèi)部結(jié)構(gòu)展開圖1288RAMRAM地址寄存器P3口P1口P2口P0口鎖存器鎖存器鎖存器鎖存器中斷控制定時/計數(shù)器串行I/O口SP寄存器B累加器A暫存器1暫存器2程序狀態(tài)字PSW指令寄存器IR指令譯碼器ID數(shù)據(jù)指針DPTR緩沖器程序計數(shù)器PC增1程序地址寄存器AR定時與控制

8、4K8ROMALUCPU AT89S51的CPUCPU包括運算器和控制器二大局部。一、運算器 運算器包括算術(shù)邏輯部件(ALU)、累加器A、暫存存放器、存放器B、程序狀態(tài)存放器PSW,十進制調(diào)整電路等。運算器主要用于實現(xiàn)算術(shù)/邏輯運算及位操作運算。下面介紹運算器的各組成局部。1、算術(shù)邏輯部件ALU2、累加器A3、存放器B4、程序狀態(tài)字存放器PSW1算術(shù)邏輯運算單元ALU 算術(shù)運算:加、減、乘、除; 邏輯運算:與、或、異或、循環(huán)、求補和清零; 位操作:置“1、清“0、求反、測試轉(zhuǎn)移等。2累加器A 是8位特殊功能存放器,字節(jié)地址為E0H,復位值為00H。作用如下:1ALU單元的輸入數(shù)據(jù)源之一,又是A

9、LU運算結(jié)果存放單元。2數(shù)據(jù)傳送大多都通過累加器A,相當于數(shù)據(jù)的中轉(zhuǎn)站。為解決“瓶頸 堵塞問題,AT89S51增加了一局部可以不經(jīng)過累加器的傳送指令。3. 存放器B 8位特殊功能存放器,字節(jié)地址為F0H,復位值為00H。 為執(zhí)行乘法和除法而設(shè)。在不執(zhí)行乘、除法操作的情況下,可把它當 作一個普通存放器來使用。 乘法,兩乘數(shù)分別在A、B中,執(zhí)行乘法指令后,乘積在BA中 除法,被除數(shù)取自A,除數(shù)取自B,商存放在A中,余數(shù)存B中。4程序狀態(tài)字存放器PSW PSW位于片內(nèi)特殊功能存放器區(qū),字節(jié)地址為D0H,復位值為00H。 包含了程序運行狀態(tài)的信息,其中4位保存當前指令執(zhí)行后的狀態(tài),供 程序查詢和判斷。

10、格式如圖2-3所示。 圖2-3 PSW的格式PSW中各個位的功能:1Cy進位標志位 在算術(shù)和邏輯運算時,假設(shè)有進位/借位,Cy1;否那么,Cy0。 在位處理器中,它是位累加器。2Ac輔助進位標志位 在BCD碼運算時,用作十進位調(diào)整。即當D3位向D4位產(chǎn)生進位或借位 時,Ac1;否那么,Ac0。3F0用戶設(shè)定標志位 由用戶使用的一個狀態(tài)標志位,可用指令來使它置1或清0,控制程序的 流向。用戶應充分利用。4RS1、RS0、4組工作存放器區(qū)選擇 選擇片內(nèi)RAM區(qū)中的4組工作存放器區(qū)中的某一組為當前工作存放區(qū)。5OV溢出標志位 當執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢 出,OV=

11、1;否那么,OV=0。6位 保存位7P奇偶標志位指令執(zhí)行完,累加器A中“1的個數(shù)是奇數(shù)還是偶數(shù)。此標志位對串行通信有重要的意義,常用奇偶檢驗的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃?。串行異步通信的?shù)據(jù)格式 :奇偶校驗: 在發(fā)送數(shù)據(jù)時,數(shù)據(jù)位尾隨的1位為奇偶校驗位1或0。奇校驗時,數(shù)據(jù)中“1的個數(shù)與校驗位“1的個數(shù)之和應為奇數(shù);偶校驗時,數(shù)據(jù)中“1的個數(shù)與校驗位“1的個數(shù)之和應為偶數(shù)。接收字符時,對“1的個數(shù)進行校驗,假設(shè)發(fā)現(xiàn)不一致,那么說明傳輸數(shù)據(jù)過程中出現(xiàn)了過失。 二、控制器 1、程序計數(shù)器PC 程序計數(shù)器PC的功能與普通微機相同,它用來存放CPU執(zhí)行的下一條指令的地址。當一條指令按照PC所指的地址

12、從程序存儲器中取出后,PC會自動加1,指向下一條指令。程序計數(shù)器PC是一個16位的存放器,可尋址64KB的程序存儲器空間;復位時,PC中內(nèi)容為0000H。 2、指令存放器IR和指令譯碼器ID 指令存放器是存放指令代碼的地方。當執(zhí)行指令時,CPU把從程序存儲器中讀取的指令代碼送入指令存放器,然后指令譯碼器譯碼后由定時控制電路發(fā)生相應的控制信號,最終完成指令所規(guī)定的操作。3、堆棧指針SP 位于片內(nèi)特殊功能存放器區(qū),字節(jié)地址為81H,復位值為07H。 指示堆棧頂部在內(nèi)部RAM塊中的位置,可指向內(nèi)部RAM 00H7FH的任何單元。 堆棧是為子程序調(diào)用和中斷操作而設(shè),主要用來保護斷點和現(xiàn)場。1保護斷點

13、無論是子程序調(diào)用操作還是中斷效勞子程序調(diào)用,最終都要返回主程 序。應預先把主程序的斷點在堆棧中保護起來,為程序正確返回做準備。2現(xiàn)場保護 執(zhí)行子程序或中斷效勞子程序時,要用到一些存放器單元,會破壞原有內(nèi)容。要把有關(guān)存放器單元的內(nèi)容保存起來,送入堆棧,這就是所謂的“現(xiàn)場保護。4、數(shù)據(jù)指針存放器DPTR 16位特殊功能存放器,字節(jié)地址為82H 85H,復位值為00H。 雙數(shù)據(jù)指針存放器,便于訪問數(shù)據(jù)存儲器ROM。 DPTR0:AT89C51單片機原有的數(shù)據(jù)指針; DPTR1:新增加的數(shù)據(jù)指針。 AUXR1的DPS位用于選擇兩個數(shù)據(jù)指針。 當DPS=0時,選用DPTR0;當DPS=1時,選用DPTR

14、1。 數(shù)據(jù)指針可作為一個16位存放器來用,也可作為兩個獨立的8位存放器DP0H或DP1H和DP0L或DP1L來用。5. AUXR1存放器 AUXR1是輔助存放器,格式如圖2-6所示: DPS:數(shù)據(jù)指針存放器選擇位。0:選擇數(shù)據(jù)指針存放器DPTR0;1:選擇數(shù)據(jù)指針存放器DPTR1。圖2-6 AUXR1存放器的格式片內(nèi)程序存儲器4KB ROM 0000H0FFFH片內(nèi)數(shù)據(jù)存儲器256B RAM 00HFFH片外程序存儲器最大64KB ROM 0000HFFFFH片外數(shù)據(jù)存儲器最大64KB RAM 0000HFFFFH AT89S51在物理結(jié)構(gòu)上設(shè)計成程序存儲器與數(shù)據(jù)存儲器獨立分開的哈佛結(jié)構(gòu),分為

15、四個地址空間:一、AT89S51單片機的存儲器配置2.4 AT89S51存儲器的結(jié)構(gòu)12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 12345678910111213

16、142827262524232221 201918171615RAM6264 80318751805189C51片內(nèi)RAM片內(nèi)ROM256B字節(jié)4K64K64K存儲器空間可分為4類:.程序存儲器空間 片內(nèi)和片外兩局部。 片內(nèi)4KB Flash ROM,編程和擦除完全是電氣實現(xiàn)。可用通用編程器 對其編程,也可在線編程。 當片內(nèi)4KB Flash 存儲器不夠用時,可片外擴展,最多可擴展至64KB 程序存儲器。.數(shù)據(jù)存儲器空間片內(nèi)與片外兩局部。片內(nèi)有128 B RAM52子系列為256B。片內(nèi)RAM 不夠用時,在片外可擴展至64KB RAM 。.特殊功能存放器SFR Special Function

17、 Register 片內(nèi)各功能部件的控制存放器及狀態(tài)存放器。SFR綜合反映了整個單片機根本系統(tǒng)內(nèi)部實際的工作狀態(tài)及工作方式。.位地址空間 共有211個可尋址位,構(gòu)成了位地址空間。它們位于內(nèi)部 RAM共128位和特殊功能存放器區(qū)共83位中。64KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00H SFRRAM64KBRAM(I/O)0000HFFFFH片內(nèi)片外片外程序存儲器數(shù)據(jù)存儲器二、程序存儲器作用-程序存儲器用于存放編好的程序和表格常數(shù)。AT89S51片內(nèi)有4K字節(jié)ROM,片外用16位地址線最多可擴展64K字節(jié)ROM,兩者是統(tǒng)一編址的。如果

18、端保持高電平,AT89S51執(zhí)行片內(nèi)前4KB ROM地址(0000H0FFFH)中的程序。當尋址范圍超過4KB(1000HFFFFH)時,則從片外存儲器取指令。當 端保持低電平時,AT89S51的所有取指令操作均在片外程序存儲器中進行,這時片外存儲器可以從 0000H開始編址。2在程序存儲器中,有6個單元具有特殊功能0000H0002H :主程序的入口。0003H000AH :外部中斷0入口。000BH0012H :定時器0溢出中斷入口。0013H001AH :外部中斷1入口。001BH0022H :定時器1溢出中斷入口。0023H002AH :串行口中斷入口。復位后,PC0000H,即程序從

19、0000H開始執(zhí)行指令。 兩個入口地址間僅有8個存儲單元,顯然不夠放置中斷效勞程序,故通常在中斷入口地址處放一條跳轉(zhuǎn)指令,中斷效勞程序從跳轉(zhuǎn)后的地址開始存放。程序存儲器程序存儲器資源分布內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,在這三個單元存放一條無條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位0FFFH0FFEHEA=1 EA=0中斷入口地址三、內(nèi)部數(shù)據(jù)存儲器

20、1、總體配置存放器區(qū)4組(32B)通用RAM區(qū) (80B) 堆?;驍?shù)據(jù)緩沖位地址區(qū) (16B)寄存器區(qū)4組(32B)7FH寄存器3組寄存器2組寄存器1組寄存器0組.00H30H2FH20H1FH.低128單元專用寄存器區(qū) SFRFFH80H高128單元 位尋址區(qū) 通用RAM區(qū)1工作存放器區(qū) 內(nèi)部RAM的前32個單元00H1FH作為工作存放器使用,共分為4組,每組含8個存放器,在組中按R0R7編號。在任一時刻,CPU只能使用其中的一組存放器即當前存放器,由PSW中的2位RS1、RS0來決定選哪一組為當前工作存放器.2、低128單元通用RAM區(qū) (80B) 堆棧或數(shù)據(jù)緩沖位地址區(qū) (16B)存放器

21、區(qū)4組(32B)7FH存放器3組存放器2組存放器1組存放器0組存放器區(qū)4組(32B).00H30H2FH20H1FH.存放器0組RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H通用RAM區(qū) (80B) 堆?;驍?shù)據(jù)緩沖位地址區(qū) (16B)存放器區(qū)4組(32B)7FH存放器3組存放器2組存放器1組存放器0組存放器區(qū)4組(32B).00H30H2FH20H1FH.存放器1組R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FHRS1、RS0=01通用RAM區(qū) (80B) 堆?;驍?shù)據(jù)緩沖位地址區(qū) (16B)存放器區(qū)4組(32

22、B)7FH存放器3組存放器2組存放器1組存放器0組存放器區(qū)4組(32B).00H30H2FH20H1FH.存放器2組R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17HRS1、RS0=10通用RAM區(qū) (80B) 堆?;驍?shù)據(jù)緩沖位地址區(qū) (16B)存放器區(qū)4組(32B)7FH存放器3組存放器2組存放器1組存放器0組存放器區(qū)4組(32B).00H30H2FH20H1FH.存放器3組R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FHRS1、RS0=11通用RAM區(qū) (80B) 堆?;驍?shù)據(jù)緩沖位地址區(qū) (16B)存放器區(qū)4組(32B)7FH存

23、放器3組存放器2組存放器1組存放器0組存放器區(qū)4組(32B).00H30H2FH20H1FH.2位尋址區(qū)20H2FH共16個字節(jié)單元,合計128位,位地址為00H7FH 。通用RAM區(qū) (80B) 位地址區(qū) (16B)7FH存放器3組存放器2組存放器1組存放器0組位地址區(qū)20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H1FH5FH57H4FH47H3FH37H2FH27H1FH17H.D

24、7 D6 D5 D4 D3 D2 D1 D0.00H30H2FH20H1FH.(3) 用戶RAM區(qū)(30H7FH)通用RAM區(qū) (80B) 位地址區(qū) (16B)00H30H2FH20H1FH7FH存放器3組存放器2組存放器1組存放器0組通用RAM區(qū).共80個字節(jié)單元1、只能以存儲單元字節(jié)地址 的形式使用。2、常把堆棧開辟在此區(qū)。3、高128單元SFR 說明:1SFR共26個,不連續(xù)的分散在內(nèi)部RAM的高128位80HFFH單元 中,盡管還有許多空閑地址,但用戶不能使用,用于系統(tǒng)升級。2有11個SFR可以位尋址。其特征是字節(jié)地址均能被8整除字 節(jié)地址的末位是0或83IP中有3位,IE中有2位對用

25、戶無實際意義,故直接尋址位為83 位,再加上可位尋址的16個字節(jié)單元中的128位,共計有211個 可尋址位。與ALU相關(guān)的3個累加器 A、存放器 B、程序狀態(tài)字存放器 PSW與指針相關(guān)的5個堆棧指針SP、數(shù)據(jù)指針DPTR0、DPTR1與端口相關(guān)的7個四個并行輸入/輸出口的存放器P0、P1、P2、P3;串行口控制存放器SCON 、串行口數(shù)據(jù)緩沖器SBUF 、串行通訊波特率倍增存放器PCON,一些位還與電源控制相關(guān),所以又稱為電源控制存放器。 與定時/計數(shù)器相關(guān)的6個 定時器工作模式存放器TMOD; 定時器控制存放器TCON ; 定時/計數(shù)器T0的兩個8位計數(shù)初值存放器TH0、TL0 ; 它們可以

26、構(gòu)成16位的計數(shù)器,TH0存放高8位,TL0存放低8位 定時/計數(shù)器T1的兩個8位計數(shù)初值存放器TH1、TL1; 它們可以構(gòu)成16位的計數(shù)器,TH1存放高8位,TL1存放低8位與中斷相關(guān)的2個 中斷優(yōu)先級控制存放器IP、中斷允許控制存放器IE 作為對AT89S51存儲器結(jié)構(gòu)的總結(jié),圖2-7為各類存儲器的結(jié)構(gòu)圖。從圖中可清楚看出各類存儲器在存儲器空間的位置。圖2-7 AT89S51單片機的存儲器結(jié)構(gòu)總結(jié)1、地址重疊。ROM、RAM分別編址, EA*來區(qū)別訪問片內(nèi) 片外程序存儲器;而訪問片內(nèi)片外數(shù)據(jù)存儲器靠不同的指 令和不同的尋址方式。2、片外ROM和片外RAM的讀寫信號不同。對片外ROM的 讀寫

27、用PSEN*、PROG*;對片外RAM的讀寫用RD*、WR*。3、位地址空間有兩個區(qū)域,一個是片內(nèi)RAM中的20H2FH,共16個字節(jié)128位;一個是SFR中的位地址,共有11個字節(jié),83個可位尋址。一、概述 MCS-51共有4個8位雙向并行I/O端口,各具特殊的電路結(jié)構(gòu),每位均有自己的輸出鎖存器特殊功能存放器SFR、輸出驅(qū)動器和輸入緩沖器。 這4個端口除了按字節(jié)輸入/輸出外,還可以按位尋址。 2.5 并行I/O端口二、P1口P1口某位的位電路結(jié)構(gòu)1位電路結(jié)構(gòu) P1口位電路結(jié)構(gòu)由以下三局部組成:1一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。2兩個三態(tài)的數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于讀

28、鎖存器數(shù)據(jù) 和讀引腳數(shù)據(jù)的輸入緩沖。3數(shù)據(jù)輸出驅(qū)動電路,由一個場效應管FET和一個片內(nèi)上拉電 阻組成。2工作過程分析P1口只能作為通用的I/O口使用。1P1口作輸出口時,假設(shè)CPU輸出1,Q=1, =0,場效應管截止,P1口 引腳的輸出為1;假設(shè)CPU輸出0,Q=0, =1,場效應管導通,P1口引 腳的輸出為0。2P1口作為輸入口時,分為“讀鎖存器和“讀引腳兩種方式。 “讀鎖存器時,鎖存器的輸出端Q的狀態(tài)經(jīng)輸入緩沖器BUF1進入內(nèi) 部總線;“讀引腳時,先向鎖存器寫1,使場效應管截止, 引腳上的電平經(jīng)輸入緩沖器BUF2進入內(nèi)部總線。3P1口的特點1P1口的字節(jié)地址為90H,位地址為9097H,是

29、內(nèi)部帶有上拉電阻的 8位準雙向口。2P1口作輸出口使用時,無需外接上拉電阻。3P1口作輸入口使用時,應區(qū)分讀引腳和讀鎖存器,讀引腳時,應 先向鎖存器寫“1。三、P2口P2口某一位的位電路結(jié)構(gòu)雙功能口,字節(jié)地址為A0H,位地址為A0HA7H。1位電路結(jié)構(gòu) P2口某一位的電路包括:1一個數(shù)據(jù)輸出鎖存器,用于輸出數(shù)據(jù)位的鎖存。2兩個三態(tài)數(shù)據(jù)輸入緩沖器BUF1和BUF2,分別用于讀鎖存器數(shù)據(jù)和 讀引腳數(shù)據(jù)的輸入緩沖。3一個多路轉(zhuǎn)接開關(guān)MUX,一個輸入是鎖存器的Q端,另一個輸入是 高8位地址。4輸出驅(qū)動電路,由場效應管FET和內(nèi)部上拉電阻組成。2工作過程分析1P2口用作地址總線 在控制信號作用下,MUX

30、與“地址接通。當“地址為0時,場效應管 導通,P2口引腳輸出為0;當“地址線為1時,場效應管截止,P2口引 腳輸出1。2P2口用作通用I/O口 在內(nèi)部控制信號作用下,MUX與鎖存器的Q端接通。 CPU輸出1時,Q=1,場效應管截止,引腳輸出1; CPU輸出0時,Q=0,場效應管導通,引腳輸出0。 P2口輸入時,分“讀鎖存器和“讀引腳兩種方式: “讀鎖存器時,Q端信號經(jīng)輸入緩沖器BUF1進入內(nèi)部總線。 “讀引腳時,先向鎖存器寫1,使場效應管截止,引腳上的電平經(jīng) 輸入緩沖器BUF2進入內(nèi)部總線。3P2口的特點 作為地址輸出線時,P2口輸出的高8位地址與P0口輸出的低8位地址,可尋址64KB地址空間

31、。 作為通用I/O口時,P2口為準雙向口。功能與P1口一樣。 一般情況下,P2口大多作為高8位地址總線口使用,這時就不能再作為通用I/O口。四、P3口P3口某一位的位電路結(jié)構(gòu)P3口的字節(jié)地址為B0H,位地址為B0HB7H。每位具有第二功能:口線第二功能信號名稱I/O特性P3.0RXD串行數(shù)據(jù)接收輸入P3.1TXD串行數(shù)據(jù)發(fā)送輸出P3.2INT0外部中斷0申請輸入P3.3INT1外部中斷1申請輸入P3.4T0定時/計數(shù)器0輸入輸入P3.5T1定時/計數(shù)器1輸入輸入P3.6WR外部RAM寫選通輸出P3.7RD外部RAM讀選通輸出1位電路結(jié)構(gòu) P3口某一位的電路包括:11個數(shù)據(jù)輸出鎖存器,鎖存輸出數(shù)

32、據(jù)位。23個三態(tài)數(shù)據(jù)輸入緩沖器BUF1、BUF2和BUF3,分別用于讀鎖存器、 讀引腳數(shù)據(jù)和第二功能數(shù)據(jù)的輸入緩沖。3輸出驅(qū)動,由與非門、場效應管FET和內(nèi)部上拉電阻組成。2工作過程分析1P3口用作第二輸入/輸出功能 中選擇第二輸出功能時,該位的鎖存器需要置1,使與非門為開啟狀態(tài)。 當?shù)诙敵鰹?時,場效應管截止,引腳輸出為1; 當?shù)诙敵鰹?時,場效應管導通,引腳輸出為0。 中選擇第二輸入功能時,該位的鎖存器和第二輸出功能端均應置1,保證場效應管截止,引腳的信息由輸入緩沖器BUF3的輸出獲得。2P3口用作第一功能通用I/O口 用作第一功能通用輸出時,第二輸出功能端應保持高電平,與非門開啟。C

33、PU輸出1時,Q=1,場效應管截止,引腳輸出為1;CPU輸出0時,Q=0,場效應管導通,引腳輸出為0。 用作第一功能通用輸入時,位的輸出鎖存器和第二輸出功能均應置1,場效應管截止,引腳信息通過輸入BUF3和BUF2進入內(nèi)部總線,完成“讀引腳操作。 當P3口第一功能通用輸入時,也可執(zhí)行“讀鎖存器操作,此時Q端信息經(jīng)過緩沖器BUF1進入內(nèi)部總線。3P3口的特點 P3口內(nèi)部有上拉電阻,無高阻抗輸入態(tài)-準雙向口。 P3口作為第二功能的輸出/輸入,或第一功能通用輸入,均須將相應位的鎖存器置1。實際應用中,由于復位后P3口鎖存器自動置1,滿足第二功能所需的條件,所以不需任何設(shè)置工作,就可以進入第二功能操作

34、。 P3口不作為第二功能用時,可作為第一功能通用I/O使用。 引腳輸入局部有兩個緩沖器,第二功能的輸入信號取自緩沖器BUF3的輸出端,第一功能的輸入信號取自緩沖器BUF2的輸出端。五、P0口 P0口某一位的位電路結(jié)構(gòu)P0口的字節(jié)地址為80H,位地址為80H87H,是漏極開路的準雙向口。可作為低8位地址/數(shù)據(jù)總線口;也可作為通用I/O口。1位電路結(jié)構(gòu)一個輸出鎖存器:用于數(shù)據(jù)位的鎖存。兩個三態(tài)的數(shù)據(jù)輸入緩沖器:用于讀鎖存器數(shù)據(jù)的輸入緩沖器BUF1 和讀引腳數(shù)據(jù)的輸入緩沖器BUF2。一個多路轉(zhuǎn)接開關(guān)MUX:作為通用I/O口和地址/數(shù)據(jù)選擇反相器、與門:構(gòu)成控制電路兩個場效應管:構(gòu)成輸出驅(qū)動電路P0口

35、結(jié)構(gòu)輸出鎖存器多路開關(guān)構(gòu)成輸出驅(qū)動電路構(gòu)成控制電路帶有控制端的輸入緩沖器2、P0口作為通用I/O口使用的情況 單片機硬件自動使控制C=0,多路選擇開關(guān)與鎖存器反相輸出端Q*端相連,與門關(guān)閉。 作輸出口時內(nèi)部總線發(fā)出“1信號 在“寫鎖存器信號控制下,“1信號被鎖存在鎖存器中,故反相端=0,導致場效應管T2截止,又由于與門關(guān)閉,T1也截止,故T2 漏極開路,即輸出端漏極開路,需在外部電路接上拉電阻才能在引腳上得到“1信號。內(nèi)部總線發(fā)出“0信號(同理)P0口某位結(jié)構(gòu)VCCR作輸入口時:分為“讀引腳和“讀鎖存器兩種情況讀引腳:從內(nèi)部總線送出“1信號,使T2管截止。否那么,假設(shè)之前鎖存器為 “0,端口被

36、篏位在“0電平。使輸入高電平“1無法讀入。所以: P0口在作為通用I/O口時,屬于準雙向口。讀鎖存器:此時Q端信息經(jīng)過緩沖器BUF1進入內(nèi)部總線。3、P0口作為地址/數(shù)據(jù)總線使用的情況單片機硬件自動使控制C=1,多路選擇開關(guān)與反相器相連,與門翻開。輸出時輸出地址低8位地址/數(shù)據(jù)總線發(fā)出“1信號,使場效應管T1導通,T2截止,引腳上得 到 “1;地址/數(shù)據(jù)總線發(fā)出“0信號,使場效應管T1截止,T2導通,引腳上得 到“0。無需外接上拉電阻P0口某位結(jié)構(gòu) 輸入時輸入數(shù)據(jù) CPU自動地使轉(zhuǎn)換開關(guān)MUX撥向鎖存器,并向P0口寫入0FFH,使T2截止,T1也截止,同時“讀引腳信號有效,數(shù)據(jù)經(jīng)緩沖器進入內(nèi)部

37、數(shù)據(jù)總線。 可見,P0口作為地址/數(shù)據(jù)總線使用時具有高電平、低電平和高阻抗3種狀態(tài)是一個真正的雙向口。說明:低8位地址信息和數(shù)據(jù)信息分時地出現(xiàn)在地址/數(shù)據(jù)總線上。 在時序上是先出現(xiàn)地址后出現(xiàn)數(shù)據(jù)。P0口小結(jié): 1、P0口可作為地址/數(shù)據(jù)總線使用,也可以作為通用I/O口使用,但不能 同時使用兩種功能。2、兩種功能自動轉(zhuǎn)換所用的指令不同無需專門的指令去切換。3、作為通用輸出口使用時應外接上拉電阻。4、作為通用輸入口使用時應區(qū)分讀引腳和讀鎖存器。 假設(shè)是讀引腳,應 先向鎖存器寫“1。P0口P1口P2口P3口a不恰當?shù)倪B接:高電平驅(qū)動 b恰當?shù)倪B接:低電平驅(qū)動發(fā)光二極管與AT89S51并行口的直接連接

38、六、P1P3口驅(qū)動LED發(fā)光二極管 時鐘電路產(chǎn)生AT89S51工作時所必需的控制信號,在時鐘信號的控制下,嚴格按時序執(zhí)行指令。 時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。MCS-51單片機允許的時鐘頻率在1.2MHz 12MHz之間。 常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。2.6 時鐘電路與時序一、單片機內(nèi)部時鐘電路1、內(nèi)部結(jié)構(gòu)1單片機內(nèi)部有一個可控的高增益負反響反相放大器,XTAL218腳和 XTAL119腳分別是放大器的輸出端和輸入端,放大器可與作為反響 元件的片外晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。2振蕩器的工作受PD特殊功能

39、存放器端控制。PD為掉電保持 模式控制位。 PCON.1=1(PD=1)振蕩器停止工作,系統(tǒng)進入低功耗狀態(tài)。常用于電 源故障時仍需保持RAM信息的場合。 PCON.1=(PD=0)單片機正常運行。、外部連線及本卷須知注意:1、振蕩頻率取決于外接晶振頻率,晶振頻率范圍通常是12MHz。晶 體頻率越高,單片機速度就越快。常選6MHz或12MHz的石英晶體。2、電容大小會影響振蕩器頻率上下、振蕩器的穩(wěn)定性和起振的快速性。 C1、C2可在20pF100pF之間取值。通常晶振頻率為12MHZ,C1和C2 為30pF;晶振頻率為6MHZ,C1和C2為20pF。3、設(shè)計PCB板時,應使晶振和電容盡可能與單片

40、機芯片靠近,以減小寄生 電容,增強穩(wěn)定性。二、單片機外部時鐘方式 用現(xiàn)成的外部振蕩器產(chǎn)生脈沖信號,常用于多片AT89S51同時工作,以便于多片AT89S51單片機之間的同步,一般為低于12MHz的方波。 外部時鐘源直接接到XTAL1端,XTAL2端懸空,見圖2-14。 AT89S51的外部時鐘方式電路 1、幾個常用概念 由振蕩產(chǎn)生的振蕩信號并不能直接為單片機使用,還必須由單片機內(nèi)部的時鐘電路對其分頻:振蕩器時鐘發(fā)生器2QQP1P2狀態(tài)時鐘36ALE機器周期XTAL1XTAL2三、時序ALEALE一個機器周期包含12個振蕩周期或6個時鐘周期 指令的執(zhí)行時間稱作指令周期 單、雙、四周期P1P2P1

41、P2P1P2P1P2P1P2P1P2P1P21時鐘周期 時鐘周期指為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。2狀態(tài)周期 它是振蕩周期的兩倍,分為P1節(jié)拍和P2節(jié)拍,通常在P1節(jié)拍完成算術(shù)邏輯操作,在P2節(jié)拍完成內(nèi)部存放器之間的數(shù)據(jù)傳送操作。注意P1和P2的相位關(guān)系 3機器周期 一個機器周期由6個狀態(tài)組成,如果把一條指令的執(zhí)行過程分作幾個根本操作,那么將完成一個根本操作所需的時間稱作機器周期。單片機的單周期指令執(zhí)行時間就為一個機器周期。4指令周期 指令周期是執(zhí)行一條指令所需的全部時間。MCS-51單片機的指令周期通常由1、2、4個機器周期組成。 例:假設(shè)晶振頻率為fosc=12MH

42、z,時鐘周期,狀態(tài)周期,ALE,機器周期分別為多少?時鐘周期: Tosc=1/fosc=1/12S狀態(tài)周期: Tsy =2Tosc=1/6SALE周期: ALE =6Tosc=1/2S機器周期: Tcy=12Tosc=1S 2、MCS-51單片機的典型指令時序包括: 單字節(jié)單機器周期指令 單字節(jié)雙機器周期指令 單字節(jié)四機器周期指令乘法、除法指令 雙字節(jié)單機器周期指令 雙字節(jié)雙機器周期指令 三字節(jié)雙機器周期指令單字節(jié)單機器周期指令如:INC A ;(04H)雙字節(jié)單機器周期指令如:ADD A,#data;(24H data)單字節(jié)雙機器周期指令 如:INC DPTR ;(A3H) 2個機器周期中ALE信號有效4次,后3次讀操作無效。 注意:1以振蕩信號和ALE信號作參考,ALE信號代表取指周期當 ALE信號出 現(xiàn)時取操作碼2在訪問外部數(shù)據(jù)存儲器執(zhí)行MOVX指令時,將跳過一個ALE脈沖在 一個機器周期只有效一次,故ALE的頻率不是恒定的。3大多數(shù)指令需要12個機器周期,只有乘法 M

溫馨提示

  • 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

提交評論