




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上福建專升本 電子信息類單片機(jī)原理及應(yīng)用 了解 MCS-51 單片機(jī)的 CPU 的結(jié)構(gòu),掌握幾種地址指針 PC 、 DPTR 、 SP 的功能、運(yùn)用。單片機(jī)的內(nèi)部結(jié)構(gòu) 八大功能部件:(1)微處理器(8位CPU)(2)程序存儲器(ROM、EPROM或Flash等)(3)數(shù)據(jù)存儲器(RAM、E2PROM)(4)四個(gè)8位并行可編程I/O端口(P0、P1、P2、P3)(5)一個(gè)串行口(UART)(6)兩個(gè)16位定時(shí)器/計(jì)數(shù)器(T0/T1)(7)中斷系統(tǒng)(含8個(gè)中斷源、2個(gè)優(yōu)先級)(8)特殊功能寄存器(SFR) 單片機(jī)核心部分是CPU,可分為運(yùn)算器、控制器、布爾(位)處理器運(yùn)算器
2、包括:累加器(ACC)、程序狀態(tài)字(PSW)、暫存器、B寄存器等部件控制器包括:定時(shí)控制邏輯、指令寄存器、數(shù)據(jù)指針(DPTR)、程序計(jì)數(shù)器(PC)、堆棧指針(SP)、地址寄存器地址緩沖器1. PC是用于存放下一條要執(zhí)行指令的地址寄存器,PC內(nèi)容為將要執(zhí)行的指令地址。改變PC內(nèi)容,即改變程序執(zhí)行的流向。 由兩個(gè)8位計(jì)數(shù)器PCH、PCL組成。 2. 堆棧指針(Stack Pointer,SP)是指在片內(nèi)RAM的l28B(52子系列為256B)空間中開辟的堆棧區(qū)的棧頂?shù)刂罚㈦S時(shí)跟蹤棧頂?shù)刂纷兓?堆棧是按先進(jìn)后出的原則存取數(shù)據(jù)的,開機(jī)復(fù)位后,單片機(jī)棧底地址為07H。 3.指令寄存器和指令譯碼器(I
3、nstruction Register,IR)的功能是對將要執(zhí)行的指令進(jìn)行存儲和譯碼。當(dāng)指令送入指令寄存器后,對該指令進(jìn)行譯碼,即把指令轉(zhuǎn)變成所需的電平信號,CPU根據(jù)譯碼輸出的電平信號,使定時(shí)控制電路產(chǎn)生執(zhí)行該指令所需的各種控制信號,以便計(jì)算機(jī)能正確地執(zhí)行指令所要求的操作。 4. 數(shù)據(jù)指針由于8051系列單片機(jī)可以外接64KB的數(shù)據(jù)存儲器和I/O接口電路,故在單片機(jī)內(nèi)設(shè)置了l6位的數(shù)據(jù)指針寄存器(Data Pointer,DPTR)。它可以對64KB的外部數(shù)據(jù)存儲器和I/O進(jìn)行尋址,DPTR可分為高8位數(shù)據(jù)指針寄存器(DPH)和低8位數(shù)據(jù)指針寄存器(DPL),地址分別為83H和82H。 掌握
4、 MCS-51 單片機(jī)的存儲器配置、堆棧定義、生成方式和運(yùn)用操作。8051單片機(jī)存儲器采用哈佛結(jié)構(gòu);從物理結(jié)構(gòu)上分四種:片內(nèi)程序存儲器(只讀存儲器ROM)、 片外程序存儲器 、片內(nèi)數(shù)據(jù)存儲器(讀寫存儲器RAM)、片外數(shù)據(jù)存儲器;從尋址空間分布上分三種: 程序存儲器、內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器。從功能作用上可五種: 程序存儲器、內(nèi)部數(shù)據(jù)存儲器、特殊功能寄存器、位地址空間存儲器和外部數(shù)據(jù)存儲器。從邏輯上:片內(nèi)外統(tǒng)一編址的64KB的程序存儲器地址空間;片內(nèi)數(shù)據(jù)存儲器地址空間,尋址范圍:00FFH;64KB片外數(shù)據(jù)存儲器地址空間。程序存儲器:用于存放編好的程序或表格常數(shù)。51子系列片內(nèi)有4KB RO
5、M(地址為0000H0FFFH),52子系列片內(nèi)有8KB ROM,二者片外地址線均為16位,最多可擴(kuò)展64KB ROM,片內(nèi)片外統(tǒng)一編址。 若EA端保持低電平,則所有取指令操作均在片外程序存儲器中進(jìn)行,0000H地址在片外。 若EA端保持高電平,0000H地址在片內(nèi),所有取指令操作均在片內(nèi)程序存儲器中進(jìn)行。 片內(nèi)數(shù)據(jù)存儲器: 數(shù)據(jù)存儲器分為片外數(shù)據(jù)存儲器、片內(nèi)數(shù)據(jù)存儲器、特殊功能存儲器; 片內(nèi)通用數(shù)據(jù)存儲器有工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)堆棧是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),采用后進(jìn)先出,這種后進(jìn)先出操作的緩沖器區(qū)稱為堆棧。堆棧指針總是指向棧頂。堆棧特點(diǎn):后進(jìn)先出;堆棧有3個(gè)具體功能: 保護(hù)
6、斷點(diǎn)、現(xiàn)場保護(hù)、臨時(shí)暫存數(shù)據(jù)堆棧。使用方式兩種:自動(dòng)方式和指令方式。程序存儲器空間的7個(gè)特殊單元的功能掌握 MCS-51 單片機(jī)的尋址方式及各種尋址方式可用的存貯空間。 尋址方式1.立即尋址是將操作數(shù)直接寫在指令中,作為指令的一部分存放在代碼段里,位置在程序存儲器中。立即尋址中的操作數(shù),稱為立即數(shù)。例如:MOV A, #30H ;30HA2.直接尋址是將操作數(shù)的地址直接存放在指令中。這種尋址方式的操作數(shù)指的是內(nèi)部數(shù)據(jù)存儲器中存放數(shù)據(jù)的地址,或存放數(shù)據(jù)的一個(gè)特殊功能寄存器地址。例如:MOV A, 30H ;(30H)A直接尋址方式可訪問的范圍1) 特殊功能寄存器這部分存儲單元既可以用單元地址給出
7、,也可以用寄存器符號的形式給出。如:MOV A, 90H 或 MOV A, P1為同一條指令的兩種寫法(特殊功能寄存器只能用直接尋址方式訪問)。2) 內(nèi)部數(shù)據(jù)存儲器的低128個(gè)字節(jié)單元直接以單元地址的形式給出對于8032/8052等單片機(jī),其內(nèi)部高128字節(jié)RAM(80HFFH)不能用直接尋址方式訪問。直接尋址方式可訪問的范圍3) 位地址空間片內(nèi)RAM中20H2FH中的128個(gè)位地址,以及SFR中的11個(gè)可進(jìn)行位尋址的寄存器中的位地址(可位尋址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。4) 在一些程序控制指令中,可采用直接尋址方式提供程序轉(zhuǎn)移的目標(biāo)地址。
8、3.寄存器尋址是指操作數(shù)存放在寄存器中,并且尋址時(shí)的寄存器已隱含在指令的操作碼中。例如:MOV A, R5寄存器尋址方式的尋址范圍:(1) 4個(gè)工作寄存器組共32個(gè)通用寄存器(在指令中只能使用當(dāng)前寄存器組)(2) 部分特殊功能寄存器。如A,B,DPTR。4.寄存器間接尋址的尋址范圍:1) 內(nèi)部低128字節(jié)單元(只能使用R0、R1作間址寄存器)。2) 外部數(shù)據(jù)存儲器(64KB字節(jié),使用DPTR作間址寄存器。另外,外部低128B單元也可用R0、R1作間址寄存器尋址)。3) 在堆棧操作指令(PUSH、POP)中,以堆棧指針SP作間址寄存器,尋址空間為片內(nèi)RAM。5.基址變址尋址是指操作數(shù)存放在以變址
9、寄存器和基址寄存器的內(nèi)容相加形成的數(shù)為地址的單元中。其中累加器A作變址寄存器、程序計(jì)數(shù)器PC或寄存器DPTR作基址寄存器?;芳幼冎穼ぶ贩绞匠S糜诓楸聿僮?。如:MOVC A, A+PC ;PC+1PC,(A+PC)AMOVC A, A+DPTR ;(A+DPTR)A6.相對尋址是將程序計(jì)數(shù)器PC的當(dāng)前值與指令第二字節(jié)給出的偏移量相加,從而形成轉(zhuǎn)移的目標(biāo)地址。例如:JC 80H ;C=1則跳轉(zhuǎn)7.位尋址是指對片內(nèi)RAM中20H2FH中的128個(gè)位地址,以及SFR中的11個(gè)可進(jìn)行位尋址的寄存器中的位地址尋址(可位尋址的特殊功能寄存器有B、ACC、PSW、IP、IE、SCON、TCON、P0P3)。
10、例如:MOV C, 20H此指令是將RAM中位尋址區(qū)20H位地址中的內(nèi)容,送給位累加器Cy。位尋址指令不同于字節(jié)地址尋址指令,例如:MOV A, 20H 掌握 MCS-51 單片機(jī)的特殊功能寄存器及其用法。(1)程序狀態(tài)字寄存器(PSW)是8位寄存器,存放程序運(yùn)行狀態(tài)的標(biāo)志,字節(jié)地址為D0H。可以進(jìn)行位尋址。CY:進(jìn)位標(biāo)志。AC:輔助進(jìn)位標(biāo)志。當(dāng)?shù)?位數(shù)向高4位數(shù)進(jìn)位或借位時(shí),AC將被硬件置1,否則就被清除。RS0,RS1:用軟件置位或清除來確定工作寄存器區(qū)。OV:溢出標(biāo)志。P:奇偶標(biāo)志。每個(gè)指令周期都由硬件來置位或清零。A中值為1的位數(shù)為奇數(shù),則P置位,否則清零。(2)累加器(ACC)是8位
11、寄存器,用于算術(shù)或邏輯操作的輸入和運(yùn)算結(jié)果的輸出。在指令系統(tǒng)中累加器的助記符為A,作為直接地址時(shí)助記符為ACC。(3)數(shù)據(jù)指針寄存器(DPTR)16位的專用地址指針寄存器??蓪ν獠看鎯ζ骱虸/O口進(jìn)行尋址,也可拆成高字節(jié)DPH和低字節(jié)DPL兩個(gè)獨(dú)立的8位寄存器,在CPU內(nèi)分別占據(jù)83H和82H兩個(gè)地址。當(dāng)對64KB外部數(shù)據(jù)存儲器尋址時(shí),DPTR可作為間接尋址寄存器使用:從外部數(shù)據(jù)存儲器取數(shù) MOVX A, DPTR送數(shù)到外部數(shù)據(jù)存儲器 MOVX DPTR, A (4)B寄存器在乘、除法運(yùn)算中用B寄存器暫存數(shù)據(jù)。乘法指令的兩個(gè)操作數(shù)分別取自A和B,結(jié)果再存于B和A中,即A存低字節(jié),B存高字節(jié)。除
12、法指令中被除數(shù)取自A,除數(shù)取自B,結(jié)果商存于A中,余數(shù)存放在B中。在其他指令中,B寄存器可作為RAM中的一個(gè)單元使用。B寄存器的地址為B0H。(5)堆棧指針(SP)是個(gè)特殊的存儲區(qū),主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來保護(hù)斷點(diǎn)和現(xiàn)場。它的特點(diǎn)是按照先進(jìn)后出的原則存取數(shù)據(jù),這里的進(jìn)與出是指進(jìn)棧與出棧操作。(7)定時(shí)器/計(jì)數(shù)器TL0、TH0、TL1、TH1M。SC-51單片機(jī)中有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器T0和T1,它們由4個(gè)8位寄存器(TH0、TL0、TH1和TL1)組成。兩個(gè)16位定時(shí)器/計(jì)數(shù)器是完全獨(dú)立的,可以單獨(dú)對這4個(gè)寄存器尋址。 (8)串行數(shù)據(jù)緩沖器(SBUF)功能:存放需要發(fā)送和接
13、收的數(shù)據(jù)。組成:由兩個(gè)獨(dú)立的寄存器構(gòu)成,一個(gè)是發(fā)送緩沖器,一個(gè)是接收緩沖器,但寄存器名稱統(tǒng)一為SUBF。 (9)控制寄存器有5種。中斷優(yōu)先級控制寄存器(IP);中斷允許控制寄存器(IE);定時(shí)器/計(jì)數(shù)器控制寄存器(TCON);串行口控制寄存器(SCON);電源控制寄存器(PCON)了解 MCS-51 單片機(jī)的工作寄存器的分區(qū)結(jié)構(gòu)及選擇方法。 掌握 MCS-51 單片機(jī)的引腳功能,尤其注意引腳復(fù)用的特點(diǎn)。 芯片引腳按功能分成3類:數(shù)據(jù)總線、地址總線、控制總線單片機(jī)芯片引腳功能1主電源引腳: GND 接地; VCC正常操作時(shí)為十5V電源。2時(shí)鐘電路引腳 : XTAL1;XTAL2 3控制線與電源復(fù)
14、用引腳(1)RST/VPD:RST是復(fù)位信號,高電平有效。 VPD為第二功能,即備用電源輸入端。 (2)ALE/:ALE為地址鎖存允許信號輸出引腳。 PROG為編程信號,第二功能,低電平有效。 (3)PSEN:片外ROM選通信號輸出端,低電平有效。 (4)EAVPP:EA為內(nèi)部和外部ROM控制端(當(dāng)EA1時(shí),從內(nèi)ROM開始訪問;當(dāng)EA0時(shí),只訪問外部ROM; VPP是編程電源輸入端4并行輸入/輸出引腳P0端口(P0.0P0.7)第一功能:是一個(gè)8位漏極開路型的雙向I/O口,這時(shí)P0口可看成用戶數(shù)據(jù)總線;第二功能:是在訪問外部存儲器時(shí),分時(shí)提供低8位地址和8位雙向數(shù)據(jù)總線,這時(shí)先用做地址總線再用
15、做數(shù)據(jù)總線。P1口(P1.0P1.7):內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。P2口(P2.0P2.7)第一功能:一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。第二功能:在訪問外部存儲器時(shí),輸出高8位地址。P3口(P3.0P3.7)第一功能:內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。在系統(tǒng)中,這8個(gè)引腳都有各自的第二功能。了解 MCS-51 單片機(jī)的振蕩電路,以及一般工作時(shí)序概念。 時(shí)序若外接晶振為12MHz時(shí),則單片機(jī)的四個(gè)周期的具體值為: 時(shí)鐘周期1/12MHz1/12s0.0833s 狀態(tài)周期1/6s0.167s 機(jī)器周期1s 指令周期14s時(shí)鐘周期:也稱為振蕩周期,定義為時(shí)鐘脈沖頻率(fosc)的倒
16、數(shù),它是單片機(jī)中最基本的、最小的時(shí)間單位。在一個(gè)時(shí)鐘周期內(nèi),CPU僅完成一個(gè)最基本的動(dòng)作。為方便描述,振蕩周期用P表示。狀態(tài)周期:時(shí)鐘周期經(jīng)2分頻后成為內(nèi)部的時(shí)鐘信號,用作單片機(jī)內(nèi)部各功能部件按序協(xié)調(diào)工作的控制信號,稱為狀態(tài)周期,用S表示。這樣,一個(gè)狀態(tài)周期就有兩個(gè)時(shí)鐘周期,前半狀態(tài)周期相應(yīng)的時(shí)鐘周期定義為P1,后半狀態(tài)周期相應(yīng)的時(shí)鐘周期定義為P2。 機(jī)器周期:執(zhí)行一條指令分為幾個(gè)機(jī)器周期。每個(gè)機(jī)器周期完成一個(gè)基本操作。MCS-51單片機(jī)每12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期。如果使用6MHz的時(shí)鐘頻率,一個(gè)機(jī)器周期就是2s,而如果使用12MHz的時(shí)鐘頻率,一個(gè)機(jī)器周期就是1s。 指令周期:指令周期是
17、執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期組成,指令不同,所需要的機(jī)器周期數(shù)也不同。 掌握 MCS-51 單片機(jī)的復(fù)位條件、復(fù)位電路和復(fù)位狀態(tài)。 復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位。其作用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。復(fù)位方式:單片機(jī)的外部復(fù)位電路有上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種。復(fù)位條件:RST引腳為復(fù)位信號輸入端。當(dāng)RST引腳為高電平,且有效時(shí)間持續(xù)24個(gè)振蕩周期以上,才能復(fù)位。(1)上電復(fù)位上電復(fù)位利用電容器的充電實(shí)現(xiàn)。在時(shí)鐘電路工作后,在RST端連續(xù)給出2個(gè)機(jī)器周期的高電平就可完成復(fù)位操作。(2)上電加按鍵
18、復(fù)位當(dāng)復(fù)位按鍵按下后,復(fù)位端通過51的小電阻與+5V電源接通,迅速放電,使RST引腳為高電平;當(dāng)復(fù)位按鍵彈起后,+5V電源通過2K電阻對22F電容重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖。其持續(xù)時(shí)間取決于RC電路的時(shí)間常數(shù)。 復(fù)位狀態(tài)掌握 MCS-51 單片機(jī)的 PSW 各位的定義。 程序狀態(tài)字寄存器PSW ,它的內(nèi)容反映CPU對數(shù)據(jù)處理的一些狀態(tài)結(jié)果和對工作寄存器區(qū)的選擇標(biāo)志位 。P:奇偶標(biāo)志位。當(dāng)累加器ACC中的處理結(jié)果數(shù)據(jù)中有奇數(shù)個(gè)“1”時(shí)為1;否則為0。 OV:溢出標(biāo)志位。當(dāng)CPU對數(shù)據(jù)處理結(jié)果發(fā)生溢出時(shí),該位為1;否則為0。 RS1 RS0:工作寄存器區(qū)選擇位。當(dāng)(RS1RS0)=00B
19、時(shí),第0工作寄存器區(qū)為當(dāng)前區(qū)。 當(dāng)(RS1RS0)=01B時(shí),第1工作寄存器區(qū)為當(dāng)前區(qū)。當(dāng)(RS1RS0)=10B時(shí),第2工作寄存器區(qū)為當(dāng)前區(qū)。 當(dāng)(RS1RS0)=11B時(shí),第3工作寄存器區(qū)為當(dāng)前區(qū)。 F0:用戶標(biāo)志位,通過指令可將其置1或清0。AC:輔助進(jìn)位標(biāo)志位。數(shù)據(jù)處理過程中低4位向高4位有進(jìn)位或借位時(shí),該位為1;否則為0。Cy:進(jìn)位標(biāo)志位,當(dāng)數(shù)據(jù)處理過程中最高位有進(jìn)位或借位時(shí),該位為1;否則為0。 掌握 MCS-51 單片機(jī)指令系統(tǒng),學(xué)會基本的編程方法。傳送指令 算術(shù)運(yùn)算類指令邏輯運(yùn)算類指令控制轉(zhuǎn)移類指令位操作指令rel:補(bǔ)碼表示的8位地址偏移量。范圍:-128-+127D。bit:
20、片內(nèi)RAM或SFR的直接尋址位地址。:間接寄存器的符號。/:位操作指令中對該位先取反再參與操作,不影響原值。():中的內(nèi)容。():指出的地址單元中的內(nèi)容。:將左邊的內(nèi)容送于右邊的單元。多一個(gè),則其右邊的()少一個(gè)。$:當(dāng)前指令的地址。 學(xué)會簡單的單片機(jī)應(yīng)用程序的設(shè)計(jì)方法。Rn(n=0-7):當(dāng)前選中的工作寄存器組R0-R7。Ri(I=0,1):作為地址指針的兩個(gè)工作寄存器R0,R1。#data:8位立即數(shù)。#data16:16位立即數(shù)。direct:8位片內(nèi)RAM單元(包括SFR)的直接地址。addr11:11位目的地址,用于ACALL和AJMP指令中。addr16:16位目的地址。用于LCA
21、LL和LJMP指令中。掌握 MCS-51 單片機(jī)的并行 I/O 的結(jié)構(gòu)特點(diǎn),及控制接口操作兩類指令的用法。接口的主要功能包括:緩沖與鎖存數(shù)據(jù)、地址譯碼、信息格式轉(zhuǎn)換、傳遞狀態(tài)(外設(shè)狀態(tài))和發(fā)布命令等。I/O接口有:并行接口、串行接口、定時(shí)/計(jì)數(shù)器、A/D、D/A等。根據(jù)外設(shè)的不同情況和要求選擇不同的接口。 并行輸入/輸出接口:MCS-51單片機(jī)有P0、P1、P2、P3四個(gè)8位雙向并行I/O口,每個(gè)端口可以按字節(jié)輸入或輸出,也可以按位進(jìn)行輸入或輸出,4個(gè)并行口共有32根端口線,用做位控制十分方便。并行I/O口特點(diǎn):(1)4個(gè)并行I/O口都是雙向的。P0口為漏極開路驅(qū)動(dòng);P1、P2、P3口均具有內(nèi)
22、部上拉電阻驅(qū)動(dòng),它們有時(shí)稱為準(zhǔn)雙向口。(2)32根端口線都可用做輸入或輸出,還可進(jìn)行位操作。(3)當(dāng)并行I/O口作為輸入時(shí),該口的鎖存器必須先寫入“1”,這是一個(gè)重要條件。否則,該口不能讀入正確數(shù)據(jù)。P1口:MCS-51單片機(jī)的Pl口只有一種功能,即通用輸入/輸出接口。 1. 輸出方式:當(dāng)CPU執(zhí)行寫P1口的指令(如MOV Pl, #data)時(shí),P1口工作于輸出方式,此時(shí)數(shù)據(jù)data經(jīng)內(nèi)部總線送入鎖存器鎖存。2. 輸入方式:當(dāng)CPU執(zhí)行讀P1口的指令(如MOV A, P1)時(shí),P1口工作于輸入方式。P2口 用途:通用I/O口或高8位地址總線。-P2口用作地址線/通用I/O口MOVX A, R
23、i 或 MOVX Ri, A此時(shí),Ri寄存器提供的是8位地址,由P0口送出,不需要P2口,P2口引腳原有的數(shù)據(jù)在訪問片外RAM期間不受影響,故P2口仍可用做通用I/O口。當(dāng)片外RAM容量較大需要由P2口和P0口送出16位地址時(shí),P2口不再用做通用I/O口。 P3口是雙功能口,默認(rèn)為第一功能(通用I/O),通過編程可設(shè)定為第二功能。1. 通用I/O口狀態(tài)P3口用做準(zhǔn)雙向通用I/O口時(shí),其功能與P1口相同。2. 第二功能狀態(tài)-P3口使用P3口的每一位都可獨(dú)立地定義為第一功能I/O或第二功能使用。P0口功能:地址/數(shù)據(jù)分時(shí)復(fù)用總線;通用I/O口。P0口內(nèi)部無上拉電阻,作為I/O口時(shí),必須外接上拉電阻
24、;P0口作為地址/數(shù)據(jù)總線的工作原理(輸出);P0口作為輸入端口的工作原理(輸入);P0口作為通用I/O口時(shí)的工作原理。4個(gè)并行口使用注意事項(xiàng)(1)如果單片機(jī)內(nèi)部有程序存貯器,不需要擴(kuò)展外部存貯器和I/O接口,單片機(jī)的4個(gè)口均可作為I/O口使用;(2)4個(gè)口在作為輸入口使用時(shí),均應(yīng)先對其寫“1”,以避免誤讀;(3)P0口作為I/O口使用時(shí)應(yīng)外接10K的上拉電阻,其它口則可不必;(4)P2口某幾根口線作地址使用時(shí),剩下的口線不能作為I/O口線使用;(5)P3口的某些口線作第二功能時(shí),剩下的口線可以單獨(dú)作為I/O口線使用。(6)只有P0口是一個(gè)真正的雙向口,P1P3口都是準(zhǔn)雙向口。 掌握 MCS-
25、51 單片機(jī)的定時(shí)器 / 計(jì)數(shù)器的可編程結(jié)構(gòu)及其應(yīng)用方法,如工作方式的選擇、初始值的計(jì)算與裝入、啟??刂萍熬幊痰囊话悴襟E等。 單片機(jī)有2個(gè)可編程的定時(shí)器/計(jì)數(shù)器T1、T0。2種工作模式:計(jì)數(shù)器工作模式、定時(shí)器工作模式。4種工作方式 (方式0-方式3)結(jié)構(gòu):TMOD:選擇定時(shí)器/計(jì)數(shù)器T0、T1的工作模式和工作方式。TCON:控制T0、T1的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含了T0、T1的狀態(tài)。T0、T1都是16位加1計(jì)數(shù)器,TH0、TL0構(gòu)成定時(shí)/計(jì)數(shù)器T0加1計(jì)數(shù)器的高8位和低8位。定時(shí)控制寄存器(TCON)TF0、TF1:計(jì)數(shù)溢出標(biāo)志位。TF0=1或TF1=1是計(jì)數(shù)溢出;TF0=0或TF1=0是計(jì)數(shù)
26、未滿。TR0、TR1:啟/??刂莆弧R0=1或TR1=1,使T0或T1啟動(dòng)計(jì)數(shù);TR0=0或TR1=0,使T0或T1停止計(jì)數(shù)。工作方式控制寄存器(TMOD)GATE:門控信號。當(dāng)GATE=0時(shí),TRx=1即可啟動(dòng)定時(shí)器工作;當(dāng)GATE=1時(shí),要求同時(shí)有TRx=1和INTx=1才可啟動(dòng)定時(shí)器工作(x是1、2)。C/T:定時(shí)/計(jì)數(shù)器選擇位。 C/T =1,為計(jì)數(shù)器工作方式;C/T =0,為定時(shí)器工作方式。方式0當(dāng)TMOD中M1M0=00時(shí),選定方式0 (13位狀態(tài))進(jìn)行工作。C/T=1時(shí),圖中電子開關(guān)S1切至下端,13位定時(shí)/計(jì)數(shù)器處于計(jì)數(shù)器狀態(tài),加法計(jì)數(shù)器對T0引腳上的外部輸入脈沖計(jì)數(shù)。計(jì)數(shù)值
27、:N=8192-x。x是由TH0、TL0設(shè)定的初值。x=8191時(shí)為最小計(jì)數(shù)值l,x=0時(shí)為最大計(jì)數(shù)值8192,即計(jì)數(shù)范圍為18192(213)。C/T=0時(shí),圖中電子開關(guān)S1切至上端,加法計(jì)數(shù)器對機(jī)器周期計(jì)數(shù),13位定時(shí)/計(jì)數(shù)器處于定時(shí)器狀態(tài)。定時(shí)時(shí)間:Td=(8192-x)Tcy。如果晶振頻率fosc=12MHz,即機(jī)器周期為1s,則定時(shí)范圍為1s8192s。方式1當(dāng)TMOD中M1M0=01時(shí),選定方式1 (16位狀態(tài))進(jìn)行工作。 當(dāng)作為計(jì)數(shù)器使用時(shí),計(jì)數(shù)范圍是165536(216);當(dāng)作為定時(shí)器使用時(shí),定時(shí)器的定時(shí)時(shí)間為:Td=(216-Count)Tcy。如果晶振頻率fosc=12MH
28、z,則定時(shí)范圍為:165536s。方式2當(dāng)M1M0=10時(shí),定時(shí)/計(jì)數(shù)器選定方式2進(jìn)行工作。該方式下,16位計(jì)數(shù)器被分為兩個(gè)8位寄存器TL0和TH0,其中TL0作為計(jì)數(shù)器,TH0作為計(jì)數(shù)器TL0的初值預(yù)置寄存器,并始終保持為初值常數(shù)。當(dāng)TL0計(jì)數(shù)溢出時(shí),系統(tǒng)將TF0置位,并向CPU申請中斷,同時(shí)將TH0的內(nèi)容重新裝入TL0,繼續(xù)計(jì)數(shù)。 方式3在方式3下,T0和T1的功能完全不同。當(dāng)M1M0=11時(shí):T0定時(shí)/計(jì)數(shù)器處于方式3工作模式。T1定時(shí)/計(jì)數(shù)器只能工作在方式0、1、2下定時(shí)器作用當(dāng)MCS-5l內(nèi)部的定時(shí)/計(jì)數(shù)器被選定為定時(shí)器工作模式時(shí),計(jì)數(shù)輸入信號是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖
29、位,計(jì)數(shù)器增l,因此定時(shí)/計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣,為時(shí)鐘振蕩頻率的l/12。當(dāng)采用12MHz頻率的晶振時(shí),計(jì)數(shù)速率為1MHz,輸入脈沖的周期間隔為1s。由于定時(shí)的精度決定于輸入脈沖的周期,因此當(dāng)需要高分辨率的定時(shí)時(shí),應(yīng)盡量選用頻率較高的晶振。計(jì)數(shù)器作用當(dāng)定時(shí)/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自外部輸入引腳T0或T1。當(dāng)輸入信號產(chǎn)生由1至0的跳變(即負(fù)跳變)時(shí),計(jì)數(shù)器的值增l。由于確認(rèn)一次負(fù)跳變需要用2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24,例如,選用6MHz頻率的晶振,允許輸入的脈沖頻率為250kHz,如果選用12MHz頻率的晶振,則可
30、輸入500kHz的外部脈沖。對于外部輸入信號的占空比并沒有什么限制,但為了確保某一給定的電平在變化之前能被采樣一次,則這一電平至少要保持一個(gè)機(jī)器周期。定時(shí)/計(jì)數(shù)器初始化(1)初始化步驟1) 設(shè)置工作方式2) 計(jì)算加1計(jì)數(shù)器的計(jì)數(shù)初值Count,并將計(jì)數(shù)初值Count送入TH、TL中3) 啟動(dòng)計(jì)數(shù)器工作,即將TRx置14) 若采用中斷方式,則應(yīng)設(shè)置T0、T1及CPU開中斷(2)計(jì)數(shù)方式初始化假設(shè)T0工作于計(jì)數(shù)方式1,計(jì)數(shù)值N = 1,即每當(dāng)T0引腳輸入一個(gè)計(jì)數(shù)脈沖就使加1計(jì)數(shù)器產(chǎn)生溢出,通常可以使用這種方法擴(kuò)展外中斷。為了使加1計(jì)數(shù)器每加一次1就溢出,加1計(jì)數(shù)器的初值Count=0FFFFH=2
31、16-1,其中16為工作方式1時(shí)加1計(jì)數(shù)器的位數(shù),1為計(jì)數(shù)值x?,F(xiàn)用n表示加1計(jì)數(shù)器的位數(shù),用x表示計(jì)數(shù)值,則計(jì)數(shù)初值Count=2n-x,式中,n = 13,16,8和8,分別對應(yīng)工作方式0,1,2和3。 (3)定時(shí)方式初始化若系統(tǒng)主頻 fosc=6MHz,則機(jī)器周期Tcy=2s,即計(jì)數(shù)器加一次1所用時(shí)間為2s,若計(jì)數(shù)器加100次產(chǎn)生溢出(計(jì)數(shù)值N=100),則定時(shí)時(shí)間為200s,即定時(shí)器定時(shí)時(shí)間Td=NTcy。 計(jì)數(shù)值N與計(jì)數(shù)器初值Count的關(guān)系是N=2n-Count 所以,定時(shí)時(shí)間Td =(2n-Count)Tcy 計(jì)數(shù)初值Count=2n-Td/Tcy (式中,n=13、16、8、8
32、,分別對應(yīng)方式0、1、2、3)掌握 MCS-51 單片機(jī)的中斷系統(tǒng)及其應(yīng)用,如中斷源與相關(guān)的專用寄存器、中斷矢量、外部中斷的兩種觸發(fā)方式、中斷響應(yīng)的條件和響應(yīng)過程、中斷優(yōu)先級控制、中斷使能控制等。 能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng);產(chǎn)生中斷的請求源稱為中斷請求源。中斷源向CPU提出的處理請求,稱為中斷請求(或中斷申請)。進(jìn)入中斷保護(hù)現(xiàn)場中斷處理恢復(fù)現(xiàn)場中斷返回中斷方式優(yōu)點(diǎn):大大地提高了CPU的工作效率。五個(gè)中斷請求源 :(1)INT0*外部中斷請求0,由引腳INT0*輸入,中斷請求標(biāo)志為IE0。(2)INT1*外部中斷請求1,由引腳INT1*輸入,中斷請求標(biāo)志為IE1。(3)定時(shí)器/計(jì)數(shù)
33、器T0溢出中斷請求,中斷請求標(biāo)志為TF0。(4)定時(shí)器/計(jì)數(shù)器T1溢出中斷請求,中斷請求標(biāo)志為TF1。(5)串行口中斷請求,中斷請求標(biāo)志為TI或RI。外部中斷的響應(yīng)時(shí)間:外部中斷的最短的響應(yīng)時(shí)間為3個(gè)機(jī)器周期,外部中斷響應(yīng)最長時(shí)間為8個(gè)機(jī)器周期。 如果已在處理同級或更高級中斷,響應(yīng)時(shí)間無法計(jì)算。在一個(gè)單一中斷的系統(tǒng)里,MCS-51單片機(jī)對外部中斷請求的響應(yīng)的時(shí)間總是在38個(gè)機(jī)器周期之間。MCS-51中斷系統(tǒng)有4個(gè)特殊功能寄存器。這4個(gè)特殊功能寄存器是定時(shí)/計(jì)數(shù)器控制寄存器(TCON)、串行口控制寄存器(SCON)、中斷允許控制寄存器(IE)和中斷優(yōu)先級控制寄存器(IP)。中斷請求控制TCON為
34、定時(shí)/計(jì)數(shù)器控制寄存器,其字節(jié)地址為88H,可位尋址,位地址范圍為88H8FH。這個(gè)寄存器有兩個(gè)作用,即除了控制定時(shí)/計(jì)數(shù)器T0和T1的溢出中斷外,還控制外部中斷的觸發(fā)方式和鎖存外部中斷請求標(biāo)志位。IT0:選擇外部中斷0的中斷觸發(fā)方式。IT0=0,為電平觸發(fā)方式,低電平有效; IT0=1,為邊沿觸發(fā)方式,P3.2引腳信號出現(xiàn)負(fù)跳變有效。IE0:外部中斷0的中斷請求標(biāo)志。當(dāng)INT0輸入端口有中斷時(shí)IE0=1,由硬件置位。IT1:選擇外部中斷1的中斷觸發(fā)方式。其功能與IT0類同。IE1:外部中斷INT1的中斷請求標(biāo)志。功能與IE0類似。TF0:片內(nèi)定時(shí)/計(jì)數(shù)器0溢出中斷請求標(biāo)志。定時(shí)/計(jì)數(shù)器的核心
35、為加法計(jì)數(shù)器,當(dāng)定時(shí)/計(jì)數(shù)器T0發(fā)生定時(shí)或計(jì)數(shù)溢出時(shí),由硬件置位TF0或TF1,向CPU申請中斷,CPU響應(yīng)中斷后,會自動(dòng)清零TF0或TF1。TF1:片內(nèi)定時(shí)/計(jì)數(shù)器1溢出中斷請求標(biāo)志。功能與TF0類同。 SCON為串行口控制寄存器,其字節(jié)地址為98H,可以進(jìn)行位尋址。串行口的接收和發(fā)送數(shù)據(jù)中斷請求標(biāo)志位(RI、TI)被鎖存在串行口控制寄存器SCON中。TI:串行口發(fā)送中斷請求標(biāo)志位CPU將一個(gè)數(shù)據(jù)寫入發(fā)送緩沖器SBUF時(shí),就啟動(dòng)發(fā)送,每發(fā)送完一幀串行數(shù)據(jù)后,硬件置位TI。但CPU響應(yīng)中斷時(shí),不清除TI中斷標(biāo)志,必須在中斷服務(wù)程序中由軟件對TI清0。RI:串行口接收中斷請求標(biāo)志位:在串行口允許
36、接收時(shí),每接收完一幀數(shù)據(jù),由硬件自動(dòng)將RI位置為1。CPU響應(yīng)中斷時(shí),并不清除RI中斷標(biāo)志,也必須在中斷服務(wù)程序中由軟件對TI標(biāo)志清0。中斷允許控制MCS-51對中斷源的開放或屏蔽是由中斷允許寄存器IE控制的,IE的字節(jié)地址為0A8H,可以按位尋址,當(dāng)單片機(jī)復(fù)位時(shí),IE被清為0。通過對IE的各位置1或清0操作,實(shí)現(xiàn)開放或屏蔽某個(gè)中斷。EA:總中斷允許控制位。當(dāng)EA=0時(shí),屏蔽所有的中斷;當(dāng)EA=1時(shí),開放所有的中斷。ES:串行口中斷允許控制位。當(dāng)ES=0時(shí),屏蔽串行口中斷;當(dāng)ES=1且EA=1時(shí),開放串行口中斷。ET1:定時(shí)/計(jì)數(shù)器T1的中斷允許控制位。當(dāng)ET1=0時(shí),屏蔽T1的溢出中斷;當(dāng)E
37、T1=1且EA=1時(shí),開放T1的溢出中斷。EX1:外部中斷1的中斷允許控制位。當(dāng)EX1=0時(shí),屏蔽外部中斷1的中斷;當(dāng)EX1=1 且 EA=1時(shí),開放外部中斷1的中斷。ET0:定時(shí)/計(jì)數(shù)器T0的中斷允許控制位。功能與ET1相同。EX0:外部中斷0的中斷允許控制位。功能與EX1相同。單片機(jī)復(fù)位以后,IE被清0,所有的中斷請求被禁止。由用戶程序?qū)E相應(yīng)的位置1或清0,即可允許或禁止各中斷源的中斷申請。改變IE的內(nèi)容,即可由位操作指令來實(shí)現(xiàn)(即SETB bit;CLR bit),也可用字節(jié)操作指令實(shí)現(xiàn)(即MOV IE, #data;ORL IE, #data;MOV IE, A等)。中斷優(yōu)先級控制
38、8051有2個(gè)中斷優(yōu)先級,每一個(gè)中斷請求源均可編程為高優(yōu)先級中斷或低優(yōu)先級中斷,從而實(shí)現(xiàn)2級中斷嵌套。中斷優(yōu)先規(guī)則:1)正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷,一直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令后,CPU才響應(yīng)新的中斷請求。2)正在進(jìn)行的低優(yōu)先級中斷服務(wù)程序能被高優(yōu)先級中斷請求所中斷,實(shí)現(xiàn)兩級中斷嵌套。3) CPU同時(shí)接收到幾個(gè)中斷請求時(shí),首先響應(yīng)優(yōu)先級最高的中斷請求。在MCS-51內(nèi)部提供了一個(gè)中斷優(yōu)先級控制寄存器(IP)。其字節(jié)地址為B8H,既可按字節(jié)形式訪問,又可按位形式訪問,其位地址范圍為0B8H0BFH。IP各個(gè)位的含義:(1)PS串
39、行口中斷優(yōu)先級控制位 1:高優(yōu)先級中斷; 0:低優(yōu)先級中斷。(2)PT1定時(shí)器T1中斷優(yōu)先級控制位 1:高優(yōu)先級中斷; 0:低優(yōu)先級中斷。(3)PX1外部中斷1中斷優(yōu)先級控制位 1:高優(yōu)先級中斷; 0:低優(yōu)先級中斷。(4)PT0定時(shí)器T0中斷優(yōu)先級控制位 1:高優(yōu)先級中斷; 0:低優(yōu)先級中斷。(5)PX0外部中斷0中斷優(yōu)先級控制位 1:高優(yōu)先級中斷; 0:低優(yōu)先級中斷。 中斷響應(yīng)的條件單片機(jī)響應(yīng)中斷的條件為中斷源有請求且CPU開中斷(即EA=1)。(1) 無同級或高級中斷正在處理。(2) 現(xiàn)行指令執(zhí)行到最后1個(gè)機(jī)器周期且已結(jié)束。(3) 若現(xiàn)行指令為RETI或訪問特殊功能寄存器IE、IP的指令時(shí)
40、,執(zhí)行完該指令且緊隨其后的另一條指令也已執(zhí)行完畢。由于MCS-51系列單片機(jī)的相鄰中斷源中斷服務(wù)程序入口地址相距只有8個(gè)單元,一般的中斷服務(wù)程序是容納不下的,通常是在相應(yīng)的中斷服務(wù)程序入口地址中放一條長跳轉(zhuǎn)指令LJMP,這樣就可以轉(zhuǎn)到64KB的任何可用區(qū)域。若在2KB范圍內(nèi)轉(zhuǎn)移,則可存放AJMP指令。在中斷服務(wù)程序中,PUSH指令與POP指令必須成對使用,否則不能正確返回?cái)帱c(diǎn)。而且最后一條指令必須為中斷返回指令RETI.。中斷觸發(fā)方式:電平觸發(fā)方式、邊沿觸發(fā)方式;電平觸發(fā)方式適合于外部中斷輸入以低電平輸入且中斷服務(wù)程序能清除外部中斷請求源的情況。邊沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部中斷請求
41、。中斷響應(yīng)的主要過程:(1)首先由硬件自動(dòng)生成一條長調(diào)用指令: LCALL addr16 (2)置優(yōu)先級狀態(tài):低級=0,高級=1 (3)接著由CPU執(zhí)行該指令: 將PC的內(nèi)容壓入堆棧以保護(hù)斷點(diǎn), 再將中斷入口地址裝入PC。(4)中斷執(zhí)行完成返回。中斷請求的撤消1定時(shí)器/計(jì)數(shù)器中斷請求的撤消 中斷請求被響應(yīng)后。硬件會自動(dòng)清TF0或TF1。2外部中斷請求的撤消(1)跳沿方式外部中斷請求的撤消是自動(dòng)撤消的。(2)電平方式外部中斷請求的撤消: 中斷標(biāo)志自動(dòng)撤消,中斷請求需軟件撤消; 除了IE0/IE1標(biāo)志位清“0”之外,還需在中斷響應(yīng)后把中斷請求信號引腳從低電平強(qiáng)制改變?yōu)楦唠娖?。串行口中斷請求的撤消?/p>
42、應(yīng)串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需測試這兩個(gè)中斷標(biāo)志位的狀態(tài),以判定是接收操作還是發(fā)送操作,然后才能清除。所以串行口中斷請求的撤消只能用軟件清除CLR TI ;清TI標(biāo)志位CLR RI ;清RI標(biāo)志位中斷的返回使用指令RETI返回中斷,功能如下:1、是清除中斷優(yōu)先級狀態(tài)觸發(fā)器,使得后來的中斷請求可以被響應(yīng);2、是結(jié)束中斷服務(wù)程序,彈出斷點(diǎn)地址并送入PC,使CPU從斷點(diǎn)處重新執(zhí)行被中斷的程序。 典型的中斷服務(wù)程序如下:INTP:CLREA;關(guān)中斷 PUSHPSW;現(xiàn)場保護(hù) PUSHACC SETBEA;開中斷 ;中斷處理程序段 CLREA;關(guān)中斷 POPACC;現(xiàn)場恢復(fù)
43、 POPPSW SETBEA;開中斷RETI;中斷返回常用的主程序結(jié)構(gòu)如下:ORG 0000HLJMP MAINORG 中斷入口地址LJMP INTP ORG XXXXHMAIN:主 程 序INTP:中斷服務(wù)程序掌握 MCS-51 單片機(jī)的串行口的可編程結(jié)構(gòu)、工作方式、相關(guān)的專用寄存器以及了解各種方式下的應(yīng)用方法。 數(shù)據(jù)通信的傳輸方式有:單工方式、半雙工方式、全雙工方式。波特率及時(shí)鐘頻率波特率(BR):單位時(shí)間傳輸?shù)臄?shù)據(jù)位數(shù)。單位:bps 1 bps=1 bit/s。 波特率的倒數(shù)即為每位傳輸所需的時(shí)間。發(fā)送/接收時(shí)鐘頻率與波特率有關(guān),即 fT/R=nBRT/R(式中,fT/R為發(fā)/收時(shí)鐘頻率
44、,單位:Hz); BRT/R為發(fā)/收波特率,單位:bps;MCS-51單片機(jī)串行口構(gòu)成:發(fā)送緩沖寄存器(SBUF)、發(fā)送控制器、發(fā)送控制門、接收緩沖寄存器(SBUF)、接收控制寄存器、移位寄存器、中斷。串行口控制寄存器SCON(1)SM0、SM1串行口4種工作方式的選擇位 (2)多機(jī)通信控制位SM2如果SM2=1,當(dāng)RB8=“1”時(shí),才將接收到的前8位數(shù)據(jù)送入SBUF,并置“1” RI,產(chǎn)生中斷請求;RB8=“0”時(shí),則將接收到的前8位數(shù)據(jù)丟棄。如果SM2=0,則不論第9位數(shù)據(jù)是“1”還是“0”,都將前8位數(shù)據(jù)送入SBUF中,并置“1” RI,產(chǎn)生中斷請求。在方式1時(shí),如果SM2=1,則只有收
45、到停止位時(shí)才會激活RI。在方式0時(shí),SM2必須為0。(3)REN允許串行接收位;由軟件置“1”或清“0”。 REN=1 允許串行口接收數(shù)據(jù)。 REN=0 禁止串行口接收數(shù)據(jù)。(4)TB8發(fā)送的第9位;數(shù)據(jù)方式2和3時(shí),TB8是要發(fā)送的第9位數(shù)據(jù),可作為奇偶校驗(yàn)位使用,也可作為地址幀或數(shù)據(jù)幀的標(biāo)志。 =1為地址幀, =0為數(shù)據(jù)幀 (5)RB8接收到的第9位數(shù)據(jù);方式2和3時(shí),RB8存放接收到的第9位數(shù)據(jù)。在方式1,如果SM2=0,RB8是接收到的停止位。在方式0,不使用RB8。(6)TI發(fā)送中斷標(biāo)志位;方式0時(shí),串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí)由硬件置“1”,其它工作方式,串行口發(fā)送停止位的開始時(shí)置“1
46、”。TI=1,表示一幀數(shù)據(jù)發(fā)送結(jié)束,可供軟件查詢,也可申請中斷。CPU響應(yīng)中斷后, 向SBUF寫入要發(fā)送的下一幀數(shù)據(jù)。TI必須由軟件清0。(7)RI接收中斷標(biāo)志位;方式0時(shí),接收完第8位數(shù)據(jù)時(shí),RI由硬件置1。其它工作方式,串行接收到停止位時(shí),該位置“1”。RI=1,表示一幀數(shù)據(jù)接收完畢,并申請中斷, CPU從接收SBUF取走數(shù)據(jù)。該位狀態(tài)也可軟件查詢。RI必須由軟件清“0”。特殊功能寄存器PCON 字節(jié)地址為87H,沒有位尋址功能。SMOD:波特率選擇位。 例如:方式1的波特率的計(jì)算公式為: 方式1波特率=(2SMOD/32)定時(shí)器T1的溢出率;也稱SMOD位為波特率倍增位。MCS-51串行
47、口波特率方式0時(shí)波特率是固定的,為單片機(jī)晶振頻率的1/12,即BR = fOSC/12(fOSC為晶振頻率)。方式0的波特率是一個(gè)機(jī)器周期進(jìn)行一次移位。當(dāng)fOSC=6 MHz時(shí), 波特率為500 kbps, 即2s移位一次;當(dāng)fOSC=12 MHz時(shí), 波特率為1 Mbps, 即1s移位一次。方式2的波特率也是固定的,且有兩種。一種是晶振頻率的1/32,即fOSC/32。另一種是晶振頻率的1/64,fOSC/64。用公式表示為:BR = 2SMOD fOSC/64(式中,SMOD為PCON寄存器最高位的值,SMOD=1表示波特率加倍。)方式1和方式3的波特率是可變的,其波特率由定時(shí)器1的溢出率
48、決定,公式為:BR = 2SMOD fd / 32;式中,SMOD為PCON寄存器最高位的值,SMOD=1表示波特率加倍。而定時(shí)器1溢出率計(jì)算公式為:fd=fOSC/(12*(256-TH1) 了解 MCS-51 單片機(jī)的擴(kuò)展總線的形成,基本工作時(shí)序(外部程序存貯器讀周期時(shí)序、外部數(shù)據(jù)存貯器讀 / 寫周期時(shí)序)。 單片機(jī)系統(tǒng)總線(三大總線): 數(shù)據(jù)總線-與外部器件之間傳輸數(shù)據(jù) ; 地址總線-向外發(fā)出地址信號 ; 控制總線-是一組控制信號線 。掌握 MCS-51 單片機(jī)的程序貯存器的擴(kuò)展,數(shù)據(jù)貯存器的擴(kuò)展。 程序存儲器擴(kuò)展工作時(shí),ROM中的信息只能讀出,要用特殊方式寫入(固化信息),失電后可保持
49、信息不丟失。1.掩膜ROM:不可改寫ROM 由生產(chǎn)芯片的廠家固化信息。在最后一道工序用掩膜工藝寫入信息,用戶只可讀。2.PROM:可編程ROM 用戶可進(jìn)行一次編程。存儲單元電路由熔絲相連,當(dāng)加入寫脈沖,某些存儲單元熔絲熔斷,信息永久寫入,不可再次改寫。3.EPROM:可擦除PROM 用戶可以多次編程。編程加寫脈沖后,某些存儲單元的PN結(jié)表面形成浮動(dòng)?xùn)?,阻擋通路,?shí)現(xiàn)信息寫入。用紫外線照射可驅(qū)散浮動(dòng)?xùn)?,原有信息全部擦除,便可再次改寫?.EEPROM:可電擦除PROM 既可全片擦除也可字節(jié)擦除,可在線擦除信息,又能失電保存信息,具備RAM、ROM的優(yōu)點(diǎn)。但寫入時(shí)間較長。擴(kuò)展程序存儲器電路常用EP
50、ROM芯片:Intel 2716 (2K8位) 2732 (4KB8位) 2764 (8KB8位) 27128(16KB8位) 27256(32KB8位) 27512(64KB8位)EEPROM 2816、2817單片機(jī)外接EEPROM電路的存儲器電路EEPROM 既能作為程序存儲器又能作數(shù)據(jù)存儲器。將程序存儲器與數(shù)據(jù)存儲器的空間合二為一。片外存儲器讀信號= PSEN RD數(shù)據(jù)存儲器擴(kuò)展擴(kuò)展數(shù)據(jù)存儲器電路常用RAM芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)等。掌握 MCS-51 單片機(jī)的簡單 I/O 口的擴(kuò)展方法。 1.單片機(jī)I/O口擴(kuò)展方法 (1)總線擴(kuò)
51、展方法 采用總線擴(kuò)展的方法是將擴(kuò)展的并行I/O口芯片連接到 MCS-51單片機(jī)的總線上,即數(shù)據(jù)總線使用P0口,地址總線使用P2和P0口,控制總線使用部分P3口。 (2)串行口擴(kuò)展方法 MCS-51單片機(jī)串行口工作在方式0時(shí),提供一種I/O擴(kuò)展方法。 串行口方式 0是移位寄存器工作方式,可借助外接串入并出的移位寄存器擴(kuò)展并行輸出口,也可通過外接并入串出的移位寄存器擴(kuò)展并行輸入口。 這種擴(kuò)展方法不占用并行總線且可以擴(kuò)展多個(gè)并行I/O。由于采用串行輸入輸出的方法,故數(shù)據(jù)傳輸速度較慢。2.I/O擴(kuò)展常用芯片 (1)TTL/CMOS鎖存器/緩沖器芯片: 如74LS377、74LS374、74LS373、
52、74LS273、74LS244、74LS245等; (2)通用可編程I/O接口芯片: 如8255、8155、8729等; (3)可編程陣列: 如GAL16V8、GAL20V8等。3.I/O擴(kuò)展中應(yīng)注意的幾個(gè)問題 (1)訪問擴(kuò)展I/O的方法與訪問外部數(shù)據(jù)存儲器完全相同,使用相同的指令。 (2)擴(kuò)展多片I/O芯片或多個(gè)I/O設(shè)備時(shí),注意總線的驅(qū)動(dòng)能力問題; (3)擴(kuò)展I/O口的目的是為了單片機(jī)與外部設(shè)備進(jìn)行信息交換而設(shè)置的一個(gè)輸入輸出通道,I/O口最終與外設(shè)相連。 (4)在軟件設(shè)計(jì)時(shí),I/O口對應(yīng)初始狀態(tài)設(shè)置、工作方式選擇要與外接設(shè)備相匹配。 擴(kuò)展簡單并行接口1.擴(kuò)展并行輸出口 (1)用74LS3
53、77擴(kuò)展并行輸出口74LS377 是帶有輸出允許端的8D鎖存器,有8個(gè)輸入端口、8個(gè)輸出端口、1個(gè)時(shí)鐘輸入端 CLK(上升沿有效)和1個(gè)允許控制端OE。(2)用74LS374擴(kuò)展并行輸出口 74LS374是具有三態(tài)輸出的8D邊沿觸發(fā)器,其功能與74LS377相似,見表9-2。(見教材P190頁) 4LS374與單片機(jī)接口電路如圖9-2所示,74LS374的地址為7FFFH。74LS374具有較強(qiáng)的驅(qū)動(dòng)能力,輸出低電平電流IOL最大可達(dá)24mA,是74LS377的3倍。 2.擴(kuò)展并行輸入口 并行輸入擴(kuò)展口比較簡單,只需采用8位緩沖器即可。 常用的緩沖器有74LS244。74LS244為單向總線緩
54、沖器,只能一個(gè)方向傳輸數(shù)據(jù)。擴(kuò)展I/O口和擴(kuò)展外部RAM一樣,因此訪問外部I/O口就像訪問外部 RAM一樣,用的是 MOVX類指令。了解用可編程接口芯片 8155 的擴(kuò)展 I/O 口的方法,主要掌握基本 I/O 工作方式下的編程應(yīng)用。(參考教材沒有此內(nèi)容) 8155的內(nèi)部寄存器及操作 引腳作用:AD0AD7: 地址數(shù)據(jù)線;IO/M: IO/RAM選擇信號端,輸入高電平選擇I/O操作,低電平選擇訪問片內(nèi)RAM; CE: 片選信號輸入端,低電平有效; RD: 讀選通輸入端,低電平有效; WR: 寫選通輸入端,低電平有效;TI: 計(jì)數(shù)器計(jì)數(shù)脈沖輸入端;8155的定時(shí)/計(jì)數(shù)器是一個(gè)14位的減法計(jì)數(shù)器。它有兩個(gè)8位初值寄存器:高8位初值寄存器的低6位存放計(jì)數(shù)初值的高6位, 最高兩位確定定時(shí)/計(jì)數(shù)器的工作方式; 低8位初值寄存器用于存放計(jì)數(shù)初值的低8位。計(jì)數(shù)脈沖來自TI引腳.M2和M1決定了8155定時(shí)/計(jì)數(shù)器有4種工作方式,不同的工作方式意味著在TO引腳輸出不同信號。例 在左圖中, 將單片機(jī)片內(nèi)RAM 40H4FH單元的內(nèi)容, 送8155芯片內(nèi)的00H0FH單元。設(shè)定8155芯片的工作方式為: A口為基本輸入方式, 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買抹賬房合同范例
- 儲物柜協(xié)議合同范例
- 人員施工安全合同范例
- 住房裝潢合同范例
- 主要合同與補(bǔ)充合同范例
- 企業(yè)外包招聘合同范例
- 個(gè)人加盟協(xié)議合同范例
- 出讓生鮮小店合同范例
- 農(nóng)資化肥進(jìn)貨合同范本
- 關(guān)于門頭使用合同范例
- 曲靖市出租汽車從業(yè)資格證區(qū)域科目考試題(附答案)
- 2025年安徽城市管理職業(yè)學(xué)院單招職業(yè)技能考試題庫匯編
- 2025年湖南國防工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及參考答案
- 2025年湖南水利水電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2025年河南建筑職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫審定版
- 2025年湖南食品藥品職業(yè)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 2025年湖南水利水電職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫1套
- 2025年家政服務(wù)策劃免責(zé)聲明協(xié)議
- 2025新人教版語文七年級下冊《第四單元》大單元整體教學(xué)設(shè)計(jì)2022課標(biāo)
- 2024人工智能大模型技術(shù)財(cái)務(wù)應(yīng)用藍(lán)皮書
- DB51T 2572-2019 干旱河谷造林技術(shù)規(guī)程
評論
0/150
提交評論