版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2.2 STC89C51系列單片機的內(nèi)部結(jié)構(gòu)系列單片機的內(nèi)部結(jié)構(gòu)2.3 STC89C51系列單片機的主要組成部分系列單片機的主要組成部分2.1 STC89C51如何控制流水燈如何控制流水燈2.4 單片機的復(fù)位電路單片機的復(fù)位電路2.5 單片機最小系統(tǒng)單片機最小系統(tǒng)2.1 STC89C51如何控制流水燈如何控制流水燈任務(wù):使用單片機控制發(fā)光管按一定順序亮任務(wù):使用單片機控制發(fā)光管按一定順序亮1.利用利用Proteus7連接電路圖連接電路圖2.利用利用 keil c軟件編寫程序軟件編寫程序3.利用 keil c軟件將C語言轉(zhuǎn)化成HEX文件4.將HEX文件添加到Proteus7軟件中,進行仿真思考:
2、單片機如何使用?思考:單片機如何使用?2.2 STC89C51系列單片機的內(nèi)部結(jié)構(gòu)系列單片機的內(nèi)部結(jié)構(gòu)51系列單片機結(jié)構(gòu)框圖系列單片機結(jié)構(gòu)框圖 1. 電源引腳電源引腳VSS(20腳):接地,0V參考點。VCC(40腳):電源,提供掉電、空閑、正常工作2外接晶體引腳外接晶體引腳XTAL1(19腳):接外部晶體的一端,振蕩反向放大器的輸入端和內(nèi)部時鐘電路輸入端。XTAL2(18腳):接外部晶體的另一端,振蕩反向放大器的輸出端。 3. 控制信號或與其它電源復(fù)用引腳控制信號或與其它電源復(fù)用引腳 控制信號或與其它電源復(fù)用引腳有RST/VPD、 、 和 等4種形式。/.ALE PROGPSEN/PPEA
3、V RST(9腳):復(fù)位端。腳):復(fù)位端。當(dāng)晶體在運行時,只要此引腳上出現(xiàn)2個機器周期高電平即可復(fù)位,內(nèi)部有擴散電阻連接到Vss,僅需要外接一個電容到Vcc即可實現(xiàn)上電復(fù)位。 ALE(30腳)腳):地址鎖存使能。在訪問外部存儲器時,輸出脈沖鎖存地址的低字節(jié),在正常情況下,ALE輸出信號恒定為1/6振蕩頻率。并可用作外部時鐘或定時,注意每次訪問外部數(shù)據(jù)時,一個ALE脈沖將被忽略。 PSEN(29腳)腳):程序存儲使能。讀外部程序存儲。當(dāng)從外部讀取程序時,PSEN每個機器周期被激活兩次,在訪問外部數(shù)據(jù)存儲器時PSEN無效,訪問內(nèi)部程序存儲器時PSEN無效。 EA/Vpp(31腳)腳):外部尋址使能
4、/編程電壓。在訪問整個外部程序存儲器時,EA必須外部置低。如果EA為高時,將執(zhí)行內(nèi)部程序。當(dāng)RST釋放后EA腳的值被鎖存,任何時序的改變都將無效。該引腳在對FLASH編程時用于輸入編程電壓(Vpp)。輸入輸入/輸出引腳輸出引腳 P0口口(P0.0-P0.7,32-39腳)腳):是雙向8位三態(tài)I/O口??上蚱鋵懭? 使其狀態(tài)為懸浮,用作高阻輸入。P0口也可以在訪問外部程序存儲器時作地址的低字節(jié),在訪問外部數(shù)據(jù)存儲器時作數(shù)據(jù)總線,此時通過內(nèi)部強上拉傳送1。 P1口口(P1.0-P1.7,1-8腳)腳):是帶內(nèi)部上拉的雙向I/O口。向P1口寫入1時,P1口被內(nèi)部上拉為高電平,可用作輸入口;當(dāng)作為輸入
5、腳時,被外部拉低的P1口會因為內(nèi)部上拉而輸出電流。 P2口口(P2.0-P2.7,21-28腳)腳):是帶內(nèi)部上拉的雙向I/O口。向P2口寫入1時,P2口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的P2口會因為內(nèi)部上拉而輸出電流。在訪問外部程序存儲器和外部數(shù)據(jù)時分別作為地址高位字節(jié)和16 位地址,此時通過內(nèi)部強上拉傳送1。當(dāng)使用8位尋址方式訪問外部數(shù)據(jù)存儲器時,P2口發(fā)送P2 特殊功能寄存器的內(nèi)容。P3口口(P3.0-P3.7,10-17腳)腳):是帶內(nèi)部上拉的雙向I/O 口。向P3 口寫入1時,P3 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的P3 口會
6、因為內(nèi)部上拉而輸出電流。P3口腳具有第二功能,表2-2介紹了P3口的第二功能???線第二功能類型名 稱P3.0RxDI串行輸入口P3.1TxD0串行輸出口P3.2INT0I外部中斷0P3.3INT1I外部中斷1P3.4T0I定時器0 外部輸入P3.5T1I定時器1 外部輸入P3.6WRO外部數(shù)據(jù)存儲器寫信號P3.7RDO外部數(shù)據(jù)存儲器讀信號2.3 STC89C512.3 STC89C51的系列單片機的主要組成部分的系列單片機的主要組成部分該系列單片機由中央處理器該系列單片機由中央處理器(CPU)(CPU)、存儲器和、存儲器和I/OI/O接口三接口三大部分組成。大部分組成。其中其中CPUCPU包
7、括包括運算器運算器和和控制器控制器兩大部分。兩大部分。2.3.1 2.3.1 運算器運算器對操作數(shù)進行算術(shù)、邏輯和位操作運算。主要包括算術(shù)對操作數(shù)進行算術(shù)、邏輯和位操作運算。主要包括算術(shù)邏輯運算單元邏輯運算單元ALUALU、累加器、累加器A A、位處理器、程序狀態(tài)字寄存、位處理器、程序狀態(tài)字寄存器器PSWPSW及兩個暫存器等。及兩個暫存器等。1 1算術(shù)邏輯運算單元算術(shù)邏輯運算單元ALUALU可對可對8 8位變量位變量邏輯運算邏輯運算(與、或、異或、循環(huán)、求補和清(與、或、異或、循環(huán)、求補和清零),還可零),還可算術(shù)運算算術(shù)運算(加、減、乘、除)(加、減、乘、除)12ALUALU還有位操作功能,
8、對位變量進行位處理,如置還有位操作功能,對位變量進行位處理,如置“1 1”、清、清“0 0”、求補、測試轉(zhuǎn)移及邏輯、求補、測試轉(zhuǎn)移及邏輯“與與”、“或或”等。等。2 2累加器累加器A A使用最頻繁的寄存器,使用最頻繁的寄存器,可寫為可寫為AccAcc。“A A”與與“AccAcc” 作用如下:作用如下:(1 1)ALUALU單元的輸入數(shù)據(jù)源之一,又是單元的輸入數(shù)據(jù)源之一,又是ALUALU運算結(jié)果存放單運算結(jié)果存放單元。元。(2 2)數(shù)據(jù)傳送大多都通過累加器)數(shù)據(jù)傳送大多都通過累加器A A,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。,相當(dāng)于數(shù)據(jù)的中轉(zhuǎn)站。13A A的進位標(biāo)志的進位標(biāo)志CyCy是特殊的,因為它同時又是是
9、特殊的,因為它同時又是位處理機的位處理機的位累位累加器加器3 3程序狀態(tài)字寄存器程序狀態(tài)字寄存器PSWPSWPSWPSW(Program Status WordProgram Status Word)位于片內(nèi)特殊功能寄存器區(qū),)位于片內(nèi)特殊功能寄存器區(qū),字節(jié)地址為字節(jié)地址為D0HD0H。包含了包含了程序運行狀態(tài)的信息程序運行狀態(tài)的信息,其中,其中4 4位保存當(dāng)前指令執(zhí)行后位保存當(dāng)前指令執(zhí)行后的狀態(tài),供程序查詢和判斷。的狀態(tài),供程序查詢和判斷。格式如圖格式如圖2-32-3所示。所示。 圖圖2-32-3 PSW PSW的格式的格式14PSWPSW中各個位的功能中各個位的功能:(1 1)CyCy(P
10、SW.7PSW.7)進位標(biāo)志位)進位標(biāo)志位 可寫為可寫為C C。在算術(shù)和邏輯運算時,若有。在算術(shù)和邏輯運算時,若有進位進位/ /借位借位,CyCy1 1;否則,;否則,CyCy0 0。在位處理器中,它是位累加器。在位處理器中,它是位累加器。(2 2)AcAc(PSW.6PSW.6)輔助進位標(biāo)志位)輔助進位標(biāo)志位 在在BCDBCD碼運算時,用作十進位調(diào)整。即當(dāng)碼運算時,用作十進位調(diào)整。即當(dāng)D3D3位向位向D4D4位產(chǎn)位產(chǎn)生進位或借位時,生進位或借位時,AcAc1 1;否則,;否則,AcAc0 0。(3 3)F0F0(PSW.5PSW.5)用戶設(shè)定標(biāo)志位)用戶設(shè)定標(biāo)志位 由用戶使用的一個狀態(tài)標(biāo)志位
11、,可用指令來使它置由用戶使用的一個狀態(tài)標(biāo)志位,可用指令來使它置1 1或或清清0 0,控制程序的流向。用戶應(yīng)充分利用。,控制程序的流向。用戶應(yīng)充分利用。15(4 4)RS1RS1、RS0RS0(PSW.4PSW.4、PSW.3PSW.3)4 4組工作寄存器區(qū)選擇組工作寄存器區(qū)選擇選擇片內(nèi)選擇片內(nèi)RAMRAM區(qū)中的區(qū)中的4 4組工作寄存器區(qū)中的某一組為當(dāng)前工組工作寄存器區(qū)中的某一組為當(dāng)前工作寄存區(qū)。作寄存區(qū)。(5 5)OVOV(PSW.2PSW.2)溢出標(biāo)志位)溢出標(biāo)志位當(dāng)執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如當(dāng)執(zhí)行算術(shù)指令時,用來指示運算結(jié)果是否產(chǎn)生溢出。如果結(jié)果產(chǎn)生溢出,果結(jié)果產(chǎn)生溢
12、出,OV=1OV=1;否則,;否則,OV=0OV=0。(6 6)PSW.1PSW.1位位 保留位保留位(7 7)P P(PSW.0PSW.0)奇偶標(biāo)志位)奇偶標(biāo)志位指令執(zhí)行完,累加器指令執(zhí)行完,累加器A A中中“1 1”的個數(shù)的個數(shù)是是奇數(shù)奇數(shù)還是還是偶數(shù)偶數(shù)。16P=1P=1,表示表示A A中中“1 1”的個數(shù)為的個數(shù)為奇數(shù)奇數(shù)。P=0P=0,表示,表示A A中中“1 1”的個數(shù)為的個數(shù)為偶數(shù)偶數(shù)。此標(biāo)志位對串行通信有重要的意義,常用此標(biāo)志位對串行通信有重要的意義,常用奇偶檢驗奇偶檢驗的的方法來檢驗數(shù)據(jù)串行傳輸?shù)目煽啃浴7椒▉頇z驗數(shù)據(jù)串行傳輸?shù)目煽啃浴?7182.3.2 2.3.2 控制器控
13、制器 任務(wù)任務(wù)識別指令,并根據(jù)指令的性質(zhì)控制單片機各功能部件,從識別指令,并根據(jù)指令的性質(zhì)控制單片機各功能部件,從而保證單片機各部分能自動協(xié)調(diào)地工作。而保證單片機各部分能自動協(xié)調(diào)地工作。 控制器包括:控制器包括:程序計數(shù)器、指令寄存器、指令譯碼器、定時及程序計數(shù)器、指令寄存器、指令譯碼器、定時及控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從控制邏輯電路等。功能是控制指令的讀入、譯碼和執(zhí)行,從而對各功能部件進行定時和邏輯控制。而對各功能部件進行定時和邏輯控制。 程序計數(shù)器程序計數(shù)器PCPC是一個獨立的是一個獨立的1616位計數(shù)器,不可訪問。單片機復(fù)位計數(shù)器,不可訪問。單片機復(fù)位時,位時,P
14、CPC中內(nèi)容為中內(nèi)容為0000H0000H,從程序存儲器,從程序存儲器0000H0000H單元取指令,單元取指令,開始執(zhí)行程序。開始執(zhí)行程序。 PC PC工作過程是工作過程是:CPUCPU讀指令時,讀指令時,PCPC的內(nèi)容作為所取指令的地址,的內(nèi)容作為所取指令的地址,程序存儲器按此地址輸出指令字節(jié),同時程序存儲器按此地址輸出指令字節(jié),同時PCPC自動加自動加1 1。 PC PC中內(nèi)容變化軌跡中內(nèi)容變化軌跡決定程序流程。當(dāng)決定程序流程。當(dāng)順序執(zhí)行順序執(zhí)行程序時自動程序時自動加加1 1;執(zhí)行;執(zhí)行轉(zhuǎn)移程序轉(zhuǎn)移程序或或子程序、中斷子程序調(diào)用子程序、中斷子程序調(diào)用時,自動時,自動將其內(nèi)容更改成所要轉(zhuǎn)移
15、的目的地址。將其內(nèi)容更改成所要轉(zhuǎn)移的目的地址。 PC PC的計數(shù)寬度的計數(shù)寬度決定了程序存儲器的地址范圍。決定了程序存儲器的地址范圍。PCPC為為1616位,位,故可對故可對64KB64KB(=2=21616B B)尋址。尋址。19程序存儲器(程序存儲器(FLASH,下載到,下載到4 KB ROM) 2.3、存儲器、存儲器 1編址與訪問編址與訪問 計算機的工作是按照事先編制好的程序命令序列一條條順序執(zhí)行的,程序存儲器就是用來存放這些已編好的程序和表格常數(shù),它由只讀存儲器ROM或EPROM組成。計算機為了有序地工作,設(shè)置了一個專用寄存器 - 程序計數(shù)器PC,用以存放將要執(zhí)行的指令地址。每取出指令
16、的個字節(jié)后,其內(nèi)容自動加,指向下一字節(jié)地址,使計算機依次從程序存儲器取出指令予以執(zhí)行,完成某種程序操作。由于MCS-51單片機的程序計數(shù)器為16位,因此,可尋址的地址空間為64 KB。2程序的程序的7個特殊入口地址個特殊入口地址操 作入 口 地 址復(fù)位0000H外部中斷00003H定時器/計數(shù)器0溢出000BH外部中斷10013H定時器/計數(shù)器1溢出001BH串行口中斷0023H定時器/計數(shù)器0溢出或T2EX端負(fù)跳變(52子系列)002BH表1 MCS-51單片機復(fù)位、中斷入口地址數(shù)據(jù)存儲器數(shù)據(jù)存儲器 1編址與訪問編址與訪問 MCS-51單片機片內(nèi)、外數(shù)據(jù)存儲器是兩個獨立的地址空間,應(yīng)分別單獨
17、編址。片內(nèi)數(shù)據(jù)存儲器除RAM塊外,還有特殊功能寄存器(SFR)塊。對于51子系列,前者有128個字節(jié),其編址為00H7FH;后者有128個字節(jié),其編址為80HFFH;二者連續(xù)而不重疊二者連續(xù)而不重疊。由于訪問它們所用的指令不同,并不會引起混亂。片外數(shù)據(jù)存儲器一般是16位編址。 2. 內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器 MCS-51 片內(nèi)RAM為 256 字節(jié), 地址范圍為00HFFH, 分為兩大部分: 低低 128 字節(jié)字節(jié)(00H7FH)為真正的RAM區(qū); 高高 128 字節(jié)字節(jié)(80HFFH)為特殊功能寄存器區(qū)SFR。 在低 128 字節(jié)RAM中, 00H1FH共 32 單元是 4 個通用個通用
18、工作寄存器區(qū)工作寄存器區(qū)。每一個區(qū)有 8 個通用寄存器R0R7。低低 128 字節(jié)(字節(jié)(00H7FH) 其中真正用戶能用到得只有20H7FH共96個字節(jié);故一般需要擴展片外存儲器。 其中20H2FH為位尋址(重點),(重點),故可設(shè)位變故可設(shè)位變量。量。sbit p20=P20;sbit p21=P21;If p20=1 then p21=0表表 2 寄存器與寄存器與RAM 地址對照表地址對照表 表表 3 SFR特殊功能寄存器地址表特殊功能寄存器地址表 28特殊功能寄存器位 地 址字 節(jié)地 址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7H
19、E6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHBAHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80H表4 SFR中的位地址分布特殊功能寄存器(特殊功能
20、寄存器(SFR ) 特殊功能寄存器(SFR)也稱專用寄存器,專門專門用于用于控制、管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行口、定時/計數(shù)器、中斷系統(tǒng)等功能模塊的工作,用戶在編程時可以給其設(shè)定值編程時可以給其設(shè)定值,但不能移作它用。SFR離散地分布在片內(nèi)離散地分布在片內(nèi)RAM的的80HFFH地址空間地址空間,與片內(nèi)數(shù)據(jù)存儲器統(tǒng)一編址。 51子系列有18個特殊功能寄存器,其中3個為雙字個為雙字節(jié)(節(jié)(DPTR、T0、T1),共占用21個字節(jié);其中11個可位尋址(僅83位有效)。凡是可位尋址的凡是可位尋址的SFR,字節(jié)地址末位,字節(jié)地址末位只能是只能是0H或或8H。 52子系列有21個特殊寄存器,其
21、中5個為雙字節(jié),共占用26個字節(jié) 注意:注意:(1)21個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在個可字節(jié)尋址的專用寄存器是不連續(xù)地分散在內(nèi)部內(nèi)部RAM高高128單元單元之中,共之中,共83個可尋址位個可尋址位。盡管。盡管還剩余許多空閑單元,但用戶并不能使用。還剩余許多空閑單元,但用戶并不能使用。(2)在)在22個專用寄存器中,唯一一個個專用寄存器中,唯一一個不可尋址的不可尋址的PC。PC不占據(jù)不占據(jù)RAM單元單元,它在物理上是獨立的(在控制,它在物理上是獨立的(在控制器中),因此是器中),因此是不可尋址的寄存器不可尋址的寄存器。(3)對專用寄存器)對專用寄存器只能使用直接尋址方式只能使用直接尋
22、址方式,書寫時既,書寫時既可使用寄存器符號可使用寄存器符號,也,也可使用寄存器單元地址可使用寄存器單元地址。(因為寄存器名和地址單元的地址已經(jīng)一一對應(yīng))(因為寄存器名和地址單元的地址已經(jīng)一一對應(yīng))序號序號特殊功能寄存器符號特殊功能寄存器符號名名 稱稱字節(jié)地址字節(jié)地址位地址位地址復(fù)位值復(fù)位值1A(或或Acc)累加器累加器E0HE7HE0H00H2BB寄存器寄存器F0HF7HF0H00H3DPH數(shù)據(jù)指針數(shù)據(jù)指針DPTR高字節(jié)高字節(jié)83H00H4DPL數(shù)據(jù)指針數(shù)據(jù)指針DPTR低字節(jié)低字節(jié)82H00H5IE中斷允許控制寄存器中斷允許控制寄存器A8HAFHA8H00H6IP中斷優(yōu)先級控制寄存器中斷優(yōu)先級
23、控制寄存器B8HBFHB8HX000 0000B7P0P0口寄存器口寄存器80H87H80HFFH8P1P1口寄存器口寄存器90H97H90HFFH9P2P2口寄存器口寄存器A0HA7HA0HFFH10P3P3口寄存器口寄存器B0HB7HB0HFFH11PCON電源控制寄存器電源控制寄存器87H00XXX000B12PSW程序狀態(tài)字寄存器程序狀態(tài)字寄存器D0HD7HD0H00H13SBUF串行發(fā)送數(shù)據(jù)緩沖器串行發(fā)送數(shù)據(jù)緩沖器99HXXXXXXXXB14SCON串行控制寄存器串行控制寄存器98H9FH98H00H15SP堆棧指針堆棧指針81H07H16TCON定時器定時器/計數(shù)器控制寄存計數(shù)器控
24、制寄存器器88H8FH88H00H17TL0定時器定時器/計數(shù)器計數(shù)器0(低字節(jié)低字節(jié))8AH00H18TH0定時器定時器/計數(shù)器計數(shù)器0(高字節(jié)高字節(jié))8BH00H19TL1定時器定時器/計數(shù)器計數(shù)器1(低字節(jié)低字節(jié))8CH00H20TH1定時器定時器/計數(shù)器計數(shù)器1(高字節(jié)高字節(jié))8DH00H21TMOD定時器定時器/計數(shù)器方式控制計數(shù)器方式控制89H00H位地址空間位地址空間 211個尋址位的位地址,其中:00H7FH這128位處于片內(nèi)RAM字節(jié)地址20H2FH 單元中。其余的83個可尋址位分布在特殊功能寄存器SFR中,。 可被位尋址的特殊寄存器有11個,共有位地址88個,5個位未用,其
25、余83個位的位地址離散地分布于片內(nèi)數(shù)據(jù)存儲器區(qū)字節(jié)地址為80HFFH的范圍內(nèi),其最低的位地址等于其字節(jié)地址,且其字節(jié)地址的末位都為0H或8H。 AT89C51片內(nèi)片內(nèi)RAM的可尋址位及其位地址的可尋址位及其位地址字節(jié)單元地字節(jié)單元地址址D7D6D5D4D3D2D1D020H070605040302010021H0F0E0D0C0B0A090822H171615141312111023H1F1E1D1C1B1A191824H272625242322212025H2F2E2D2C2B2A292826H373635343332313027H3F3E3D3C3B3A393828H47464544434
26、2414029H4F4E4D4C4B4A49482AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A69682EH77767574737271702FH7F7E7D7C7B7A7978SFR中的位地址分布中的位地址分布特殊功特殊功能能寄存器寄存器位位 地地 址址字字 節(jié)地節(jié)地 址址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HAccE7HE6HE5HE4HE3HE2HE1HE0HE0HPSWD7HD6HD5HD4HD3HD2HD1HD0HD0HIPBCHBBHB
27、AHB9HB8HB8HP3B7HB6HB5HB4HB3HB2HB1HB0HB0HIEAFHACHABHAAHA9HA8HA8HP2A7HA6HA5HA4HA3HA2HA1HA0HA0HSCON9FH9EH9DH9CH9BH9AH99H98H98HP197H96H95H94H93H92H91H90H90HTCON8FH8EH8DH8CH8BH8AH89H88H88HP087H86H85H84H83H82H81H80H80HP1P3口驅(qū)動口驅(qū)動LED發(fā)光二極管發(fā)光二極管 例如:使用單片機的并行口P1P3直接驅(qū)動發(fā)光二極管,電路如下圖。由于P1P3內(nèi)部有30k左右的上拉電阻。 如高電平輸出,則強行從
28、P1、P2和P3口輸出的電流會造成單片機端口的損壞。 如端口引腳為低電平,能使電流從單片機外部流入內(nèi)部,則將大大增加流過的電流值。所以,當(dāng)P1P3口驅(qū)動LED發(fā)光二極管時,應(yīng)該采用低電平驅(qū)動采用低電平驅(qū)動。(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動)不恰當(dāng)?shù)倪B接:高電平驅(qū)動 (b)恰當(dāng)?shù)倪B接:低電平驅(qū)動)恰當(dāng)?shù)倪B接:低電平驅(qū)動發(fā)光二極管與發(fā)光二極管與AT89C51并行口的直接連接并行口的直接連接有關(guān)時序的概念有關(guān)時序的概念 計算機在執(zhí)行指令時,一條指令經(jīng)譯碼后產(chǎn)生若干個基計算機在執(zhí)行指令時,一條指令經(jīng)譯碼后產(chǎn)生若干個基本微操作,這些基本微操作在時間上有嚴(yán)格的先后次序,這本微操作,這些基本微操作在時間上有嚴(yán)
29、格的先后次序,這種次序稱為計算機的時序。種次序稱為計算機的時序。 幾個幾個CPU時序的基本概念時序的基本概念1振蕩周期振蕩周期: 指為單片機提供定時信號的振蕩源的周期,是指為單片機提供定時信號的振蕩源的周期,是時序中最小的時間單位。若為內(nèi)部產(chǎn)生方式,則為石英晶體時序中最小的時間單位。若為內(nèi)部產(chǎn)生方式,則為石英晶體的振蕩周期。(常用的振蕩周期。(常用12MHz、6MHz等)。等)。振蕩脈沖并不直接使用,振蕩脈沖并不直接使用,由由XTAL2或或XTAL1端送往內(nèi)部時鐘電端送往內(nèi)部時鐘電路(路(fosc):):經(jīng)過經(jīng)過2分頻分頻,向,向CPU提供提供2相時鐘信號相時鐘信號P1和和P2( f拍節(jié)拍節(jié)=
30、 1/2 osc)再經(jīng)再經(jīng)3分頻分頻,(,(6分頻)產(chǎn)生分頻)產(chǎn)生ALE時序(時序( fALE = 1/6 fosc););經(jīng)過經(jīng)過12分頻分頻,成為機器周期信號(,成為機器周期信號( MC = 12/ fosc),如下圖所),如下圖所示。示。需要指出的是,需要指出的是,CPU的運算操作在的運算操作在P1期間,數(shù)據(jù)傳送在期間,數(shù)據(jù)傳送在P2期間。期間。2時鐘周期:時鐘周期:是振蕩源信號經(jīng)是振蕩源信號經(jīng)2分頻分頻后形成的時鐘脈后形成的時鐘脈沖信號,也就是一個時鐘周期是振蕩周期的沖信號,也就是一個時鐘周期是振蕩周期的2倍。時倍。時鐘信號向單片機提供一個二節(jié)拍時鐘信號,在每個鐘信號向單片機提供一個二
31、節(jié)拍時鐘信號,在每個時鐘的前半周期,時鐘的前半周期,節(jié)拍節(jié)拍1信號信號P1有效,后半周期節(jié)拍有效,后半周期節(jié)拍P2有效,有效,每個節(jié)拍持續(xù)每個節(jié)拍持續(xù)1個振蕩周期。個振蕩周期。3機器周期:機器周期:CPU完成一個基本操作所需的時間為機完成一個基本操作所需的時間為機器周期。一個機器周期包含器周期。一個機器周期包含6個時鐘周期,也就是等個時鐘周期,也就是等于于12個振蕩周期。個振蕩周期。 當(dāng)石英晶體的振蕩為當(dāng)石英晶體的振蕩為12MHz和和6MHz時,時鐘周期時,時鐘周期分別為分別為1/12s和和1/6s,機器周期分別為,機器周期分別為1s和和2s。4指令周期:指令周期:是指CPU執(zhí)行一條指令所需的
32、時間,是時序中最大時間單位。由于單片機執(zhí)行不同的指令,所需要的時間不同,因此,不同指令所包含的機器周期數(shù)也不同,機器周期越少的指令執(zhí)行速度快。 單片機中大多數(shù)指令的指令周期由一個機器周期或兩個機器周期組成,只有乘法、除法指令需要四個機器周期。CPU時序時序機器周期:機器周期:每個機器周期包含每個機器周期包含S1、S2、S3、S4、S5、S6個個狀態(tài),每個狀態(tài)包含狀態(tài),每個狀態(tài)包含2拍拍P1和和P2,每一個節(jié)拍持續(xù),每一個節(jié)拍持續(xù)1個振蕩周個振蕩周期。因此,每期。因此,每12個振蕩周期為一個機器周期。依次可表示為個振蕩周期為一個機器周期。依次可表示為S1P1、S1P2、S2P1、S2P2、S6P
33、1、S6P2。時鐘電路(時鐘電路(什么作用?什么作用?) 單片機時鐘內(nèi)接法;圖1 -自己產(chǎn)生時鐘信號作為單片機 單片機的時鐘外接方式;圖2-使用其他電路產(chǎn)生圖1 時鐘振蕩電路 圖2 外部時鐘接法 三、三、I/O接口接口1.P0口口的某位P0.n(n=07)結(jié)構(gòu)圖,它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。從圖中可以看出,P0口既可以作為I/O用,也可以作為地址/數(shù)據(jù)線用。D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P0口口引腳引腳 當(dāng)系統(tǒng)不進行片外的當(dāng)系統(tǒng)不進行片外的ROM擴展,也不
34、進行片外擴展,也不進行片外RAM擴展時擴展時,單片機硬件自動使,單片機硬件自動使C=0,MUX開關(guān)接向鎖存器的開關(guān)接向鎖存器的反相輸出端反相輸出端,將輸出上拉場效應(yīng)管T1截止;當(dāng)有外部擴展時,P0口必須做輸出地址、數(shù)據(jù)時, C=1,地址通過地址通過T1送到送到P0口,當(dāng)輸入數(shù)據(jù)時,通過下邊緩沖器進入內(nèi)存口,當(dāng)輸入數(shù)據(jù)時,通過下邊緩沖器進入內(nèi)存D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P0口口引腳引腳1、P0口作為普通口作為普通I/O口口輸出時:輸出時:CPU發(fā)出控制電平“0”封鎖“與”門,多路開關(guān)MUX把鎖
35、存器與輸出驅(qū)動場效應(yīng)管T2柵極接通。D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P0口口引腳引腳 內(nèi)部總線與P0口同相。由于輸出驅(qū)動級是漏極開路電路,若驅(qū)動NMOS或其它拉流負(fù)載時,需要外接上拉電阻。外接上拉電阻。 輸入時-分讀引腳讀引腳或讀鎖存器讀鎖存器,此刻如果T2導(dǎo)通,則P0將被鎖定為0,輸入數(shù)據(jù)不能正確讀入,故必須使P0=1,T1和T2截止,才能讀入數(shù)據(jù),因此稱為準(zhǔn)雙口。D QCLK QMUXP0.n讀讀鎖存器鎖存器內(nèi)部總線內(nèi)部總線寫寫鎖存器鎖存器讀讀引腳引腳地址地址/數(shù)據(jù)數(shù)據(jù)控制控制VCCT1T2P
36、0口口引腳引腳 因為T2截止,故P0口數(shù)據(jù),通過下邊三態(tài)門進入內(nèi)存總線。2. P2 用作通用用作通用I/O口口 當(dāng)不在單片機芯片外部擴展程序存儲器,只擴展當(dāng)不在單片機芯片外部擴展程序存儲器,只擴展256B的片的片外外RAM時,僅用到了地址線的低時,僅用到了地址線的低8位,位,P2口仍可以作為通用口仍可以作為通用I/O口使用口使用。P0、P1、P2、P3口的口的電平電平與與CMOS和和TTL電平兼容電平兼容 P0口的每一位口線可以口的每一位口線可以驅(qū)動驅(qū)動8個個LSTTL負(fù)載。在負(fù)載。在作為通用作為通用 I/O口口時,由于輸出驅(qū)動電路是開漏方式,由集電極開路時,由于輸出驅(qū)動電路是開漏方式,由集電
37、極開路(OC門)電路或漏極開路電路驅(qū)動時門)電路或漏極開路電路驅(qū)動時需外接上拉電阻需外接上拉電阻;當(dāng);當(dāng)作為作為地址地址/數(shù)據(jù)總線數(shù)據(jù)總線使用時,口線輸出不是開漏的,使用時,口線輸出不是開漏的,無須外無須外接上拉電阻接上拉電阻。 P1、P2 和P3 口為準(zhǔn)雙向口, 在內(nèi)部差別不大, 但使用功能有所不同。 P1口是用戶專用 8 位準(zhǔn)雙向I/O口, 具有通用輸入/輸出功能, 每一位都能獨立地設(shè)定為輸入或輸出。當(dāng)有輸出方式變?yōu)檩斎敕绞綍r, 該位的鎖存器必須寫入“1”, 然后才能進入輸入操作。 P2口是 8 位準(zhǔn)雙向I/O口。外接I/O設(shè)備時, 可作為擴展系統(tǒng)的地址總線, 輸出高輸出高8位地址位地址,
38、 與P0 口一起組成 16 位地址總線。 對于 8031 而言, P2 口一般只作為地址總線使用, 而不作為I/O線直接與外部設(shè)備相連。 P3 口的第二功能口的第二功能 2.4 單片機的復(fù)位單片機的復(fù)位 復(fù)位是使單片機的CPU或系統(tǒng)中的其它部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開始工作。單片單片機的工作就是從復(fù)位開始的機的工作就是從復(fù)位開始的。 復(fù)位電路 在振蕩器工作時,將RST腳保持至少兩個機器周期高電平(6 時鐘模式時為12個振蕩器周期,12時鐘模式時為24個振蕩器周期)可實現(xiàn)復(fù)位。為了保證上電復(fù)位的可靠,RST 必須保持足夠長時間的高電平,該時間至少為振蕩器的穩(wěn)定時間(通常為幾個毫秒)加上兩個機器周期。上電時VCC 和RST 必須同時上升以實現(xiàn)正確的啟動。如果RST引腳持續(xù)保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài) 初始化后,程序計數(shù)器PC=0000H。 P0-P3=FFH,各端口鎖存器已寫入1,此時不但可用于輸出,也可以于輸入。 SP=07H,表明堆棧指針指向片內(nèi)RAM的07單元(即第一個被壓入的內(nèi)容將寫入到08H單元)。 IP、IE和PCON的有效位為0,分別表明各中斷源處于低優(yōu)先級、各中斷均被關(guān)斷、串行通信的波特率不加倍。 PSW=00H,表明當(dāng)前工作寄存器選為0組。 (a)上電復(fù)位 (b)上電與按鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度校園環(huán)境衛(wèi)生承攬保潔服務(wù)合同范本4篇
- 2024版含環(huán)保設(shè)施廠房個人租賃合同3篇
- 2025年度生產(chǎn)線承包與品牌合作協(xié)議4篇
- 2025年度物流運輸合同與貨物運輸服務(wù)購銷印花稅繳納模板4篇
- 2025年度新能源汽車研發(fā)生產(chǎn)合作協(xié)議書3篇
- 2025年度特色手工藝品代購代理合同4篇
- 2024版光纖網(wǎng)絡(luò)建設(shè)與運營合同
- 2025年度個人快件物流配送服務(wù)合同范本大全4篇
- 2025年度個人擔(dān)保個人創(chuàng)業(yè)貸款合同2篇
- 2025年度個人股東股權(quán)轉(zhuǎn)讓協(xié)議范本全面保障股權(quán)轉(zhuǎn)讓合法合規(guī)4篇
- 骨科手術(shù)后患者營養(yǎng)情況及營養(yǎng)不良的原因分析,骨傷科論文
- GB/T 24474.1-2020乘運質(zhì)量測量第1部分:電梯
- GB/T 12684-2006工業(yè)硼化物分析方法
- 定崗定編定員實施方案(一)
- 高血壓患者用藥的注意事項講義課件
- 特種作業(yè)安全監(jiān)護人員培訓(xùn)課件
- (完整)第15章-合成生物學(xué)ppt
- 太平洋戰(zhàn)爭課件
- 封條模板A4打印版
- T∕CGCC 7-2017 焙烤食品用糖漿
- 貨代操作流程及規(guī)范
評論
0/150
提交評論