版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章AT89S51單片機原理與基本應用系統(tǒng)
本章主要內(nèi)容1、單片機的內(nèi)部結(jié)構(gòu)與引腳功能2、單片機存儲器空間配置與功能3、匯編語言指令格式與內(nèi)部RAM的操作指令4、單片機I/O輸入輸出端口結(jié)構(gòu)及工作原理5、單片機基本應用系統(tǒng)一、AT89S51單片機內(nèi)部結(jié)構(gòu)(1)一個8位的CPU;(2)一個片內(nèi)振蕩器及時鐘電路;(3)4KB的FlashROM;(4)128B的內(nèi)部RAM(5)可擴展64KB外部ROM和外部RAM的控制電路;(6)兩個十六位的定時/計數(shù)器;(7)26個特殊功能寄存器(雙數(shù)據(jù)指針);(8)4個8位的并行口;(9)一個全雙工的串行口;(10)5個中斷源,兩個外部中斷,三個內(nèi)部中斷;(11)內(nèi)部硬件看門狗電路;(12)一個SPI串行接口,用于芯片的在系統(tǒng)編程(ISP)。1、電源VCC(P40)——芯片電源,接+5V。VSS(P20)——接電源地。二、AT89S51單片機引腳功能2、時鐘XTAL1(P19)——晶體振蕩電路的反相器輸入端XTAL2(P18)——晶體振蕩電路的反相器輸出端。
使用內(nèi)部振蕩電路時,該引腳外接石英晶體和補償電容。使用外部振蕩輸入時從XTAL2輸入,此時XTAL1需接地。3、控制控制引腳有4個,先學習其中的兩個。(1)RST/VPD——復位/備用電源RST復位功能是單片機正常工作必不可少的,因為復位可以使單片機從程序的開頭運行,使單片機按照人們設計的程序運行,在單片機系統(tǒng)上電開始工作,或單片機系統(tǒng)由于外界干擾偏離正常運行,都需要復位。AT89S51單片機是高電平復位,只要在該引腳上一段時間(兩個機器周期以上)的高電平,單片機就復位。在正常運行程序時該引腳為低電平。VPD功能是在VCC掉電情況下,該引腳接備用電源,向片內(nèi)的RAM供電,使RAM中的數(shù)據(jù)不丟失。3、控制(2)EA/VPP——內(nèi)外ROM選擇/EPROM編程電源
在通常的應用中EA功能是作為內(nèi)部和外部ROM的選擇端。當EA=1,CPU從芯片內(nèi)部的ROM中取指令運行,但超過4KB范圍的程序,也從外部擴展的ROM中取得。反之當EA=0時,只從芯片外部擴展的ROM中取指令運行。在絕大多數(shù)的應用中,4KB空間范圍足夠存放程序,一般都選擇內(nèi)部ROM,將EA接高電平。VPP功能是在我們要把程序下載到內(nèi)部ROM中才用到的功能,只有設計制造編程器時考慮,一般情況用不到。
4、I/O口AT89S51單片機有4個8位的并行口,分別稱為P0口、P1口、P2口和P3口,共32個引腳。單片機就是通過這些口線對外部電路進行控制和檢測。它們的詳細結(jié)構(gòu)原理和功能在本章第三節(jié)中介紹。三、AT89S51單片機存儲空間配置AT89S51單片機存儲器結(jié)構(gòu)采用的是哈佛型結(jié)構(gòu),程序存儲器(ROM)和數(shù)據(jù)存儲器(RAM)是分開的,有各自的尋址系統(tǒng)和控制信號,分別用不同的指令操作。ROM用來存放我們編寫的程序和常數(shù)表格。數(shù)據(jù)存儲器用來存放程序運行的數(shù)據(jù)和結(jié)果。ROM和RAM都分為內(nèi)部和外部。內(nèi)部ROM(4KB)EA=1外部ROM(4KB)EA=0外部ROM(60KB)內(nèi)部RAM128BSFR(21個)外部RAM(64KB)0000H0000H0000H0FFFH0FFFH1000HFFFFHFFFFHFFH00H7FH80HMOVC指令操作MOV指令操作MOVX指令操作ROM地址空間RAM地址空間1、程序存儲器(ROM)不管是內(nèi)部的還是外部的ROM,開頭的0003H~002AH空間地址是中斷源的入口地址區(qū),是專用單元,一般情況下用戶不能用來存放其它程序。CPU是根據(jù)PC(程序計數(shù)器)值從ROM中取指令來執(zhí)行的。CPU每從ROM中讀取一個字節(jié),自動執(zhí)行(PC)+1→PC,即PC指向下一個地址空間,一般情況下CPU是按ROM地址空間順序從小到大依次執(zhí)行。只有執(zhí)行的指令是轉(zhuǎn)移類指令,才根據(jù)轉(zhuǎn)移類指令所指示的新地址,調(diào)整PC值,然后根據(jù)新的PC值從對應的地址空間中取指令來執(zhí)行。當調(diào)用子程序或中斷發(fā)生時,PC值也會改變。2、內(nèi)內(nèi)部數(shù)數(shù)據(jù)存存儲器器(內(nèi)內(nèi)RAM))AT89S51單片片機內(nèi)內(nèi)部有有128B字節(jié)節(jié)劃分分為三三部分分:工工作寄寄存器器區(qū)、、位尋尋址區(qū)區(qū)和數(shù)數(shù)據(jù)緩緩沖區(qū)區(qū)。CyACF0RS1RS0OVF1P0區(qū)1區(qū)2區(qū)3區(qū)位尋址址區(qū)數(shù)據(jù)緩沖區(qū)工作寄寄存器器區(qū)8位整整體操操作位尋址址區(qū)8位整整體操操作、、位操操作堆棧與與數(shù)據(jù)據(jù)緩沖沖區(qū)8位整整體操操作00~07H08~0FH10~17H18~1FH20~2FH位地址址D7D0PSW07H06H05H04H03H02H01H00HD7D020H(字字節(jié)地地址))(R0~R7))30~7FH(1))工作作寄存存器區(qū)區(qū)從00H~1FH共共32個單單元為為工作作寄存存器區(qū)區(qū),每每8個個一組組,分分為4個區(qū)區(qū),依依次為為:0區(qū)((00H~07H))1區(qū)((08H~0FH))2區(qū)((10H~17H))3區(qū)((18H~1FH))在任一一時刻刻只有有一個個區(qū)作作為當當前的的工作作寄存存器區(qū)區(qū),相相應的的空間間單元元作為為工作作寄存存器使使用。。工作作寄存存器區(qū)區(qū)的選選擇可可通過過程序序狀態(tài)態(tài)字PSW中的的D4、D3位位實現(xiàn)現(xiàn)。不不是當當前工工作寄寄存器器區(qū)的的可以以作為為一般般的RAM空間間使用用。操作方方式::8位位整體體操作作。(2))位尋尋址區(qū)區(qū)20H~2FH共計計16個單單元為為位尋尋址區(qū)區(qū),每每個單單元的的8位位又位位操作作,有有位的的置1、清清0、、取反反以及及判斷斷操作作有自自己的的位地地址。。位地址址的范范圍::00~7FH。((要注注意和和內(nèi)RAM空間間單元元地址址的區(qū)區(qū)別))位尋址址區(qū)空空間單單元操操作的的有兩兩種方方法,,即可可以象象其它它RAM空空間一一樣進進行8位整整體操操作,,也可可以通通過位位地址址對這這些空空間單單元的的某一一。字節(jié)地址位地址D7D6D5D4D3D2D1D02FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H位尋址址區(qū)的的位地地址映映象表表位尋址址區(qū)的的位地地址形形式有有兩種種:位位地址址和位位編號號。位地址址07H06H05H04H03H02H01H00HD7D020H(字字節(jié)地地址))如20H單單元的的8個個位位地址址為::00H~07H位編號號為::20H.0~20H.7它們的的含義義是一一致的的,都都表示示20H單單元的的位地地址,,在應應用中中可以以互換換,位位編號號更便便于記記憶。。(3))堆棧棧與數(shù)數(shù)據(jù)緩緩沖區(qū)區(qū)30H~7FH為數(shù)數(shù)據(jù)緩緩沖區(qū)區(qū),用用于存存放數(shù)數(shù)據(jù)和和中間間結(jié)果果,起起到數(shù)數(shù)據(jù)緩緩沖的的作用用,這這些空空間數(shù)數(shù)據(jù)的的操作作是8位的的整體體操作作。。3、、特特殊殊功功能能寄寄存存器器((SFR)51系系列列單單片片機機的的狀狀態(tài)態(tài)字字、、并并行行口口、、串串行行口口、、定定時時器器和和中中斷斷系系統(tǒng)統(tǒng)的的寄寄存存器器等等,,是是一一些些有有專專門門用用途途的的寄寄存存器器,,稱稱為為特特殊殊功功能能寄寄存存器器SFR,,離離散散地地分分布布在在80H~FFH地地址址范范圍圍內(nèi)內(nèi)。。SFR操操作作同同內(nèi)內(nèi)部部RAM的的操操作作,,其其中中字字節(jié)節(jié)地地址址能能被被8整整除除的的特特殊殊功功能能器器,,它它們們的的每每一一位位也也有有自自己己的的位位地地址址,,也也可可以以進進行行位位操操作作。。字字節(jié)節(jié)地地址址不不能能被被8整整除除的的特特殊殊功功能能寄寄存存器器,,只只能能8位位的的整整體體操操作作。。8位位整整體體操操作作既既可可以以對對它它們們的的字字節(jié)節(jié)地地址址操操作作,,也也可可以以對對它它們們的的符符號號((名名稱稱))操操作作。。幾個常用用的特殊殊功能寄寄存器::(1)累加器ACC累加器ACC是是51系系列單片片機最常常用的寄寄存器,,許多指指令都用用到累加加器,特特別是算算術(shù)運算算都需要要用到,,在指令令中ACC簡寫寫為A。(2)寄存器B乘除法指指令都要要用到寄寄存器B,B也可以作作為一般般的寄存存器使用用。(3)程程序狀態(tài)態(tài)字寄存存器PSW,,PSW反映映的程序序運行的的狀態(tài),,其結(jié)構(gòu)構(gòu)和含義義如下表表所示。。位編號PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位地址D7HD6HD5HD4HD3HD2HD1HD0H位定義CyACF0RS1RS0OVF1PCy———進位標標志。累加器A在執(zhí)行行加減法法運算中中,如果果最高位位有進位位或借位位,Cy置1,,否則清清0,用用于無符符號數(shù)運運算。另另Cy還還是位操操作累加加器,在在指令中中簡寫為為C。OV———溢出標標志。累加器A在執(zhí)行行加減法法運算中中,如果果最高位位和次高高位只有有一個進進位或借借位,OV置1,否則則清0,,用于有有符號數(shù)數(shù)的運算算。AC———進位標標志輔助助。累加器執(zhí)執(zhí)行加法法運算時時,低4位向高高4位進進位時置置1,否否則清0。BCD碼加加法運算算調(diào)整標標志。P———奇偶偶標志志。表示累累加器器A中中“1”的的個數(shù)數(shù)的奇奇偶性性。如如果A中““1””的個個數(shù)為為奇數(shù)數(shù),則則P置置1,,否則則清0。。F0、、F1———用戶戶標志志。與位尋尋址區(qū)區(qū)的位位地址址功能能相同同。RS1、RS0———工作寄存存器區(qū)選擇擇位。工作寄存器器區(qū)有4個個,每次只只有一個區(qū)區(qū)當作工作作寄存器用用,通過RS1、RS0可以以選擇它們們中的一個個。RS1、RS0=00——0區(qū)(00H~07H)RS1、RS0=01——1區(qū)(08H~0FH)RS1、RS0=10——2區(qū)(10H~17H)RS1、RS0=11——3區(qū)(18H~1FH)[例2-1]設A中有下面面的加法運運算,分析析PSW中中有關(guān)位的的值,及其其表示的含含義。01100111+0010100110010000最高位沒有有向更高位位進位,因因此Cy=0,表明明如果我們們把這兩個個數(shù)看作無無符號數(shù),,它們的和和沒有超過過256。。次高位向最最高位進位位,最高位位沒有進位位,因此OV=1,,表明如果果我們把這這兩個數(shù)看看作有符號號數(shù),它們們的和超出出了范圍,,顯然兩個個正數(shù)相加加,不可能能得到負數(shù)數(shù)。低4位位向向高高4位位進進位位,,AC=1,,表表明明如如果果把把這這兩兩個個數(shù)數(shù)看看作作是是BCD碼碼表表示示的的數(shù)數(shù),,需需要要在在低低4位位加加6調(diào)調(diào)整整才才能能得得到到結(jié)結(jié)果果仍仍是是BCD碼碼的的正正確確結(jié)結(jié)果果。。顯顯然然看看作作BCD碼碼,,兩兩個個分分別別是是67和和29,,相相加加后后得得到到96,,低低4位位加加6可可得得96的的BCD碼碼。。加法運算的結(jié)結(jié)果是放在A中的,8位位中共有2個個“1”,因因此P=0,,表明此時累累加器中的數(shù)數(shù)據(jù)滿足偶校校驗。(4)數(shù)據(jù)指指針DPTR0、DPTR1。AT89S51單片機內(nèi)內(nèi)部有兩個數(shù)數(shù)據(jù)指針(都都是16位)),但在某一一時刻只能使使用其中一個個作為數(shù)據(jù)指指針DPTR,由輔助寄寄存器1((AUXR1)的DPS位控制,DPS=0,,選擇DPTR0的兩個個8位的寄存存器構(gòu)成數(shù)據(jù)據(jù)指針,DPS=1,選選擇DPTR1的兩個8位的寄存器器構(gòu)成數(shù)據(jù)指指針。統(tǒng)一用用DPH表示示DPTR的的高8位,,DPL表示示低8位。可可以十六位整整體操作,也也可以分開按按8位操作。。在實際的應用用中DPTR一般用來存放ROM空間或或外部RAM空間的地址。一、匯編語言指令令的基本格式式1、51系列列單片機匯編編語言指令格格式由4部分分構(gòu)成:[標號:]操操作碼[目的操作數(shù)數(shù),源操作數(shù)數(shù)][;注注釋]。(1)標號::為該指令的的符號地址,,根據(jù)需要設設置。標號以字母開開頭,由字母母、數(shù)字和下下畫線組成的的字符串,字字符串的最后后必須有“::”,系統(tǒng)統(tǒng)的保留字不不能作為標號號。標號是該指令令的符號地址址,它的實質(zhì)質(zhì)是反映該指指令在ROM中的地址((存放位置)),因此在同同一個程序中中標號不可重重復。標號在程序中中主要是作為為其它轉(zhuǎn)移類類指令的目的的地址,或子子程序的名稱稱。指令舉例:LOOP:MOVA,20H;;將20H單單;元內(nèi)容送;累加器A(2)操作碼碼操作碼是每條條匯編語言指指令都必須有有的,它是51系列單片片機指令系統(tǒng)統(tǒng)規(guī)定的助記記符,規(guī)定某某條指令的操操作功能。(3)操作數(shù)數(shù)操作數(shù)是參與與操作的數(shù)據(jù)據(jù)或地址。不不同功能的指指令,操作數(shù)數(shù)的個數(shù)是不不同的,在0~3個之間間。在書寫時時操作數(shù)和操操作碼之間要要留有空格,,當有多個操操作數(shù)時,操操作數(shù)之間要要用“,”隔隔開,前面的的操作數(shù)稱為為目的操作數(shù)數(shù),后面的稱稱為源操作數(shù)數(shù)。(4)注釋。。是對該條指指令的說明,,便于閱讀和和理解程序功功能。必須以以“;”開始始。二、51系系列單單片機機匯編編語言言指令令中常常用符符號即操作作數(shù)的的符號號。(1))Rn:當當前工工作寄寄存器器區(qū)的的8個個工作作寄存存器R0~R7,n=0~7。(2))Ri:當當前工工作寄寄存器器R0和R1,,i=0,1。(3))direct:8位的的直接接地址址,代代表內(nèi)內(nèi)部RAM00H~7FH單元元,以以及特特殊功功能寄寄存器器的字字節(jié)地地址或或名稱稱。(4))@Ri::8位位的間間接地地址,,也代代表內(nèi)內(nèi)部RAM00H~7FH的某某一單單元,,此時時工作作寄存存器Ri的的內(nèi)容容是多多少,,就代代表相相應的的單元元。用間址址尋址址的優(yōu)優(yōu)點之之一是是循環(huán)環(huán)方便便。(5))#data::8位位的立立即數(shù)數(shù),所所謂立立即數(shù)數(shù)就是是指令令中直直接參參與操操作的的數(shù)據(jù)據(jù)。(6))#data16::16位的的立即即數(shù)。。(7))bit::位地地址。。代表表內(nèi)部部RAM位位尋尋址區(qū)區(qū)((20H~2FH)中中可尋尋址位位以及及SFR中中的可可尋址址位。。具體體的形形式可可以是是位地地址、、位編編號以以及位位定義義。(8))addr16:十十六位位的目目的地地址。。(9))addr11:11位位的目目的地地址。。(10)rel:帶帶符號號的8位偏偏移地地址。。范圍圍是+127~––128。。X:某某寄存存器或或某單單元(X):某某寄存存器或或某單單元中中的內(nèi)內(nèi)容。。←:指指令執(zhí)執(zhí)行后后數(shù)據(jù)據(jù)傳送送的方方向。。操作數(shù)數(shù)在具具體程程序中中是數(shù)數(shù)字形形式或或標號號,direct、、data、bit可以以用二二進制制數(shù)、、十進進制數(shù)數(shù)或十十六進進制數(shù)數(shù)書寫寫,用用十六六進制制數(shù)時時,如如果高高位是是A、、B、、C、、D、、E、、F時時,必必須在在數(shù)的的前面面加0,以以便和和標號號區(qū)別別開來來。addr16、、addr11、rel在程程序中中的形形式就就是編編程者者所起起的標標號名名稱。。三、內(nèi)部RAM的操操作指指令1、內(nèi)內(nèi)RAM間間的數(shù)數(shù)據(jù)傳傳送指指令MOV??目目的操操作數(shù)數(shù)?,,?源源操作作數(shù)??“MOV””是操操作碼碼,英英語MOVE的的簡寫寫,功功能就就是把把源操操作數(shù)數(shù)傳送送到目目的操操作數(shù)數(shù),源源操作作數(shù)保保持不不變,,操作作數(shù)就就是我我們前前面講講的A、Rn、、direct、@Ri、data。。(1))以累累加器器A為為目的的地址址傳送送指令令(1))以累累加器器A為為目的的地址址傳送送指令令1)MOVA,,Rn;;A←Rn,,Rn里的的內(nèi)容容送;到累累加器器A2)MOVA,,direct;A←((direct),,direct;單元元里的的內(nèi)容容送A3)MOVA,,@Ri;;A←((Ri),,內(nèi)部部RAM;某一一單元元里(以Ri里里的;內(nèi)容容為地地址的的單元元);的內(nèi)內(nèi)容送送到累累加器器A4)MOVA,,#data;;A←data8位位的立立即;數(shù)送送到累累加器器A(2))以工工作寄寄存器器Rn為為目的的地址址傳送送指令令1)MOVRn,,A;;Rn←A2)MOVRn,,direct;;Rn←←(direct)3)MOVRn,,#data;;Rn←←data注意::工作作寄存存器相相互間間、Rn與與@Ri之之間、、@R0與與@R1之之間沒沒有傳傳送指指令。。(3))以direct為為目的的地址址傳送送指令令1)MOVdirect,A;;(direct))←A2)MOVdirect,Rn;;(direct))←Rn3)MOVdirect1,,direct2;;((direct1))←;(direct2)4)MOVdirect,@Ri;;((direct)←←;(Ri))5)MOVdirect,#data;;(direct))←data(4))以@Ri為目目的地地址傳傳送指指令1)MOV@Ri,,A;;(Ri))←A2)MOV@Ri,,direct;;((Ri)←←(direct))3)MOV@Ri,,#data;;(Ri))←data[例2-2]分分析下下面程序序運行的的結(jié)果MOVA,,#30H;;A←30H,即即A=30HMOVR0,A;;R0←A,,即R0=30HMOV70H,R0;;((70H)←R0,;即(70H))=30HMOV@R0,#55H;;(R0)←←55H,;即(30H))=55HMOVR1,30H;;R1←((30H),;即R1=(30H))=55HMOV55H,#0AAH;;(55H))←AAH,;即(55H))=AAHMOV40H,@R1;;(40H)←←(R1),;即(40H))=(55H))=AAH2、累加加器A的的清零與與取反指指令CLRA;;A←0,,將累加加器A的的內(nèi)容;清為0CPLA;;將累加加器A的的內(nèi)容按按位;取反3.16位數(shù)數(shù)據(jù)傳送送指令MOVDPTR,#data16;;data16→DPTR4、位操操作指令令1)位置置1指令令SETBbit;;bit←←1SETBC;;C←←12)位清清0指令令CLRbit;;bit←0CLRC;;C←03)位取取反指令令CPLbit;;bit←bitCPLC;;C←C4)位傳傳送指令令MOVbit,,C;;bit←CMOVC,bit;;C←bit位操作指令令中bit的形式可可以是位地地址、位編編號和位定定義,例如如:CLR0D4HSETB0D3HCLRPWS.4SETBPWS.3CLRRS1SETBRS0三組指令的的功能是一一致的,都都是選擇工工作寄存器器1區(qū)作為為當前工作作寄存器。。注意:以字字母為開頭頭的地址前前要加零,,以和整個個程序中轉(zhuǎn)轉(zhuǎn)移的標號號相區(qū)別。。一、P0口口作為I/O使用時::CPU有關(guān)關(guān)指令執(zhí)行行產(chǎn)生的時時序信號使使這時的““控制”為為0,電子子開關(guān)接通通B端,““地址/數(shù)數(shù)據(jù)”信號號與后面的的電路聯(lián)系系被切斷,,同時使與與門輸出0,V1截截止,使輸輸出級為開開漏輸出電電路。1、作為輸輸出口此時輸出級級是開漏狀狀態(tài),所以以要外接上上拉電阻。。1)輸出0“0”在寫寫鎖存器信信號作用下下,輸出到到Q,Q輸輸出“1”,使V2導通,,在引腳上上輸出0((低電平))。2)輸出1“1”在寫寫鎖存器信信號作用下下,輸出到到Q,Q輸輸出“0”,使V2截至,,在引腳上上輸出1((高電平))。2、作為輸輸入口作為輸入口口使用時,,V2必須須截至,外外信號才能能加到引腳腳上。當向向鎖存器寫寫入“1””時,V2截止,在在做輸入操操作之前先先向鎖存器器寫入“1”,引腳腳上的信號號在“讀引引腳”信號號作用下讀讀入單片機機內(nèi)部。3、讀—修修改—寫“讀—修改改—寫”操操作是對I/O的邏邏輯運算操操作,該類類指令操作作時,CPU時序使使“讀鎖存存器”信號號有效,將將鎖存器的的狀態(tài)讀入入單片機內(nèi)內(nèi)部,與指指令中的操操作數(shù)進行行邏輯運算算,再將運運算結(jié)果寫寫入鎖存器器,在引腳腳上輸出。。P0口的負負載能力::8個LSTTL門門電路。二、P1口口作為I/O使用時::和P0口有有類似的功功能。與P0口的的區(qū)別:1、P1口口內(nèi)部有上上拉電阻,,在作為輸輸出口使用用時不需接接上拉電阻阻。2、P1口口的驅(qū)動能能力是4個個LSTTL門電路路。三、P2口口1、作為I/O使用用時:CPU有關(guān)關(guān)指令執(zhí)行行產(chǎn)生的時時序信號使使這時的““控制”為為0,電子子開關(guān)接通通B端,““地址”信信號與后面面的電路聯(lián)聯(lián)系被切斷斷。2、作為I/O口使使用時:P2口性能能與P1口口相同。四、P3口口1、作為I/O口使使用時,P3口的性性能與P1口相同。。2、P3口口的第二功功能。1)第二功功能輸出需向該位的的鎖存器寫寫入“1””,使與非非門的輸出出只受“第第二功能輸輸出”控制制,第二功功能輸出信信號通過與與非門和輸輸出級電路路到該位的的引腳上;;2)P3口的的某位作為第第二功能輸入入使用時,該該位的鎖存器器和“第二功功能輸出”端端會自行置““1”,V截截止,該位引引腳上的信號號通過緩沖器器送入“第二二功能輸入””P3口的第二二功能:P3.0———RXD:串串行口輸入端端;P3.1———TXD:串串行口輸出端端;P3.2———INT0::外部中斷0中斷請求信信號輸入端;;P3.3———INT1::外部中斷1中斷請求信信號輸入端;;P3.4———T0:定時時/計數(shù)器0外部信號輸輸入端;P3.5———T1:定時時/計數(shù)器1外部信號輸輸入端;P3.6———WR:外RAM寫選通通信號輸出端端;P3.7———RD:外RAM讀選通通信號輸出端端;五、I/O口口的操作I/O口的操操作指令::內(nèi)部RAM操作指令。。操作的方式有有兩種:8位位整體操作和和位操作。以P1口為例例輸出操作:MOVP1,#55H;將55H立即數(shù)數(shù)從P1口輸輸出MOVP1,A;;將累加器器A中的內(nèi)容容從P1口輸輸出SETBP1.0;;在在P1.0引引腳輸出高電電平CLRP1.1;;在在P1.1引引腳輸出低電電平輸入操作:MOVP1,#0FFH;;向P1口口的8位鎖存存器都寫入““1”MOVA,P1;將將P1口8個個引腳上的信信號送入累加加器AMOVP1,#0FFH;;向P1口口的8位鎖存存器都寫入““1”MOVR0,P1;;將P1口8個引腳腳上的信號送送入R0中SETBP1.0;;向向P1.0的的鎖存器寫入入“1”MOVC,P1.0;;將P1.0引腳的的信號讀到Cy中I/O口小結(jié)結(jié):1、作為輸出出口使用,P0口需外接接上拉電阻,,其余口不需需外接上拉電電阻。2、作為輸入入口使用時,,都需先向?qū)逆i存器器寫入“1””。3、每一位可可任意地作為為輸入口或輸輸入口使用,,一般用低電電平驅(qū)動外部部電路。4、P0口每每位的負載能能力是8個LSTTL門門電路,P1、P2、P3口每位負負載能力為4個LSTTL門電路。。5、I/O口口的輸入/輸輸出指令同內(nèi)內(nèi)RAM操作作指令。一、最小硬件件系統(tǒng)1、電源((+5V)2、時鐘電路路與時序有關(guān)的的概念:(1)時鐘周周期。即時鐘鐘頻率的倒數(shù)數(shù)(2)狀態(tài)周周期。兩個時時鐘周期構(gòu)成成一個狀態(tài)周周期。(3)機器周周期。12個時鐘周期期構(gòu)成一個機機器周期,指指令的執(zhí)行都都是以機器周周期為時間單單位。(4)指令字字節(jié)。指某條條指令占用存存儲空間的長長度3、復位電路路(1)復位條條件:兩個個機器周期以以上的高電平平。(2)復位后后的狀態(tài):單片機復位后后各寄存器狀狀態(tài):PC:0000HTMOD:00HACC:00HTCON:00HB:00HTH0:00HPSW:00HTL0:00HSP:07HTH1::00HDP0H:00HTL1:00HDP0L:00HSCON:00HDP1H:00HSBUF:×××××××××××BDP1L:00HPCON:0××××0000BP0~P3::FFHWDTRST:××××××××××BIP:××××00000BAUXR:×××××00××0BIE::0×××00000BAUXR1:×××××××××××0B。二、匯匯編語語言程程序一一般結(jié)結(jié)構(gòu)ORG0000H;;匯編編程序序開頭頭LJMPSETUP;;跳跳過中中斷入入口地地址區(qū)區(qū)……;;中斷斷入口口地址址區(qū)ORG0030HSETUP:……;;初初始化區(qū)區(qū)MAIN:……;;主主程序區(qū)區(qū)LJMPMAIN;;主程序序一般是是反復循循環(huán)執(zhí)行行程序……;;子子程序和和中斷服服務程序序區(qū)END;;匯編程程序結(jié)束束注:此程程序又被被稱做最最小軟件件系統(tǒng)。。1、無條條件轉(zhuǎn)移移指令(1)長長轉(zhuǎn)移指指令LJMPaddr16;;PC←addr16,,轉(zhuǎn)移范范圍為64KB(2)短短轉(zhuǎn)移指指令AJMPaddr11;;PC←PC+2,PC10~0←addr11,,;PC15~11不變變(3)相相對轉(zhuǎn)移移指令SJMPrel;;PC←PC+2,PC←PC+rel如果轉(zhuǎn)移移指令到到自己本本身,可可以省略略指令前前面的標標號,而而用“$”代替替轉(zhuǎn)移的的目標地地址,下下面的指指令是等等價的::HERE:SJMPHERE←→SJMP$HERE:LJMPHERE←→LJMP$2、偽指指令匯編:將將匯編語語言程序序和C語語言程序序轉(zhuǎn)換成成機器語語言的過過程稱為為“匯編編”或““編譯””。注:匯編編有手工工匯編和和計算機機匯編。。偽指令::計算機機在匯編編過程中中需要編編程人員員提供一一些有關(guān)關(guān)匯編信信息的指指令,如如:指定定程序或或數(shù)據(jù)存存放的其其始位置置、匯編編的結(jié)束束等,這這些指令令在匯編編時不產(chǎn)產(chǎn)生機器器碼,僅僅對匯編編過程起起一些控控制作用用,為匯匯編服務務,這些些指令不不屬于51系列列單片機機的指令令系統(tǒng),,我們稱稱它們?yōu)闉閭沃噶盍?。?)ORG起起始始偽指令令格式:ORG16位地址址功能:指指定其下下面的程程序在存存儲空間間的起始始地址。。例如::ORG0000HLJMPSETUPORG0000H表示它它下面的的指令LJMPSETUP在ROM空空間的0000H單元元開始存存放。(2)END結(jié)結(jié)束束偽指令令格式:END功能:表表明匯編編源程序序的結(jié)束束。3、匯編編語言程程序一般般結(jié)構(gòu)(1)程程序的開開頭ORG0000HLJMPSETUP(2)中中斷入口口地址區(qū)區(qū)0003H~002BH這段段存儲空空間是作作為中斷斷入口地地址(3)初初始化區(qū)區(qū)系統(tǒng)開始始運行的的初始參參數(shù)設置置,如果果系統(tǒng)中中用到中中斷資源源(4)主主程序區(qū)區(qū)主程序的的內(nèi)容往往往是CPU需需要不斷斷反復處處理的任任務,最最常用的的就是顯顯示程序序和鍵盤盤程序。。主程序序一般是是一個反反復執(zhí)行行的程序序。(5)子子程序和和中斷服服務程序序區(qū)主程序中中需要調(diào)調(diào)用的子子程序、、中斷源源的服務務程序三、I/O口的的簡單應應用————循環(huán)彩彩燈1、I/O作作為基本本的輸入入輸出口口使用有有何要求求?2、MCS-51單片片機的最最小應用用系統(tǒng)〖課前復習習:〗ORG0000HLJMPSETUP………..ORG0030HSETUP:………….MAIN:…………….LJMPMAIN……….END最小硬件件系統(tǒng)程序一般般結(jié)構(gòu)4031AT89C51191819205v10μf8.2kVcc(+5v)EA(+5v)6MHz20P20P360Ω
發(fā)光二極管工作參數(shù):電壓1.8V電流4~10mA〖新課內(nèi)容容:〗限流電阻阻計算公公式:R=(5-1.8)/I經(jīng)過計算算得::320Ω~800Ω+5V√熄滅::SETBP1.0P1.0=0(0v)1(+5v)+5V
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件圖片沒了教學課件
- 2024年度知識產(chǎn)權(quán)許可合同補充協(xié)議
- 2024年太陽能路燈物流與倉儲服務合同
- 2024化工廠建設土石方運輸合同
- 04年新一代移動通信技術(shù)研發(fā)合同
- 2024年度企業(yè)招聘外包合同
- 2024規(guī)范版汽車租賃合同
- 課程課件封面教學課件
- 2024年國際貨物買賣合同標的數(shù)量與質(zhì)量檢驗標準詳解
- 2024學校校園廣告投放合同
- 2024年企業(yè)數(shù)據(jù)存儲與安全服務合同
- 2022年北京市公務員錄用考試《行測》真題及答案解析
- 江蘇省泰興市2024-2025學年高三上學期期中考試語文試題(含答案)
- 家長會教學課件
- 2024年消防宣傳月知識競賽考試題庫500題(含答案)
- 2024年典型事故案例警示教育手冊15例
- 高一歷史(中外歷史綱要上冊)期中測試卷及答案
- 20K607 防排煙及暖通防火設計審查與安裝
- 一氧化碳中毒培訓課件
- 教案(餐巾折花)
- 南郵綜合設計報告(課程設計)proteus和Keil
評論
0/150
提交評論