




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)期末複習(xí)資料主要復(fù)習(xí)知識(shí)點(diǎn):第一章微機(jī)計(jì)算機(jī)系統(tǒng)的基本知識(shí)1. 單片機(jī)就是在一片硅片上集成了中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)計(jì)數(shù)器和多種I/O 口的微型計(jì)算機(jī)系統(tǒng),該系統(tǒng)不帶外部設(shè)備。從組成和功能上看,它已經(jīng)具 備了計(jì)算機(jī)系統(tǒng)的基本屬性,所以也可以稱(chēng)其為單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)單片機(jī)。2. 微型處理器是單片機(jī)的核心。它主要由三部分組成:寄存器陣列、運(yùn)算器和控制器、3. 程序計(jì)數(shù)器PC,專(zhuān)門(mén)用于存放現(xiàn)行指令的 16位地址。CPU就是根據(jù)PC中的地址到ROM中讀取程序指令。每當(dāng)取出現(xiàn)行指令一個(gè)字節(jié)后,PC就自動(dòng)加1, PC+仁PC,當(dāng)遇到轉(zhuǎn)移指令或子程序時(shí),PC內(nèi)容會(huì)被指定的地
2、址取代,實(shí)現(xiàn)程序轉(zhuǎn)移。PC用于存放CPU下一條要執(zhí)行的指令地址,是一個(gè)16位的專(zhuān)用寄存器。(PC的功能與作用)4.運(yùn)算器用來(lái)完成算術(shù)運(yùn)算和邏輯運(yùn)算操作,是處理信息的主要部件。運(yùn)算器主要由累加器A狀態(tài)寄存器PSW算術(shù)運(yùn)算單元 ALU組成。累加器A,用來(lái)存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的一個(gè)操作數(shù)和運(yùn)算結(jié)果。狀態(tài)字寄存器,用來(lái)保存 ALU操作運(yùn)算的條件標(biāo)志,如進(jìn)位標(biāo)志、奇偶標(biāo)志等。算術(shù)運(yùn)算單元 ALU由加法器和其他邏輯電路組成,其基本功能是進(jìn)行加法和移位運(yùn)算,由此實(shí)現(xiàn)其他各種算術(shù)和邏輯運(yùn)算。5.控制器是分析和執(zhí)行指令的部件,控制器只要由程序計(jì)數(shù)器PC指令寄存器和指令譯碼器組成。6.總線是用于傳送信息的公
3、共途徑??偩€可以分為數(shù)據(jù)總線、地址總線、控制總線。7.數(shù)據(jù)總線DB:數(shù)據(jù)線D0D7共8位,由P0提供,分時(shí)輸送低 8位地址(通過(guò)地址鎖存器鎖存)和8位數(shù)據(jù)信息。數(shù)據(jù)總線是雙向的,可以從CPU輸出,也可以從外部輸入到 CPU8.地址總線AB:地址線A0A15共16位,P2 口提供高8位地址A8A15, P0 口經(jīng)地址鎖存器提供低8位地址A0A7。片外存儲(chǔ)器可尋址范圍達(dá)到64KB (即65536字節(jié))。9.控制總線CB:控制總線由P3 口的第二功能 P3.6、P3.7H和3根獨(dú)立的控制線 ALE EA和PSEN組成。10.存儲(chǔ)器是用來(lái)存儲(chǔ)數(shù)據(jù)和程序的部件。按其功能來(lái)分,存儲(chǔ)器可以分為隨機(jī)存儲(chǔ)器(R
4、AM和只讀存儲(chǔ)器(ROM兩大類(lèi)。11.RAM:可以隨機(jī)寫(xiě)入讀出,讀寫(xiě)速度快,讀寫(xiě)方便。缺點(diǎn)是電源斷電后,被存儲(chǔ)的信息會(huì)丟失。RAM主要用于存放各種數(shù)據(jù)。12.R0M 般用來(lái)存放固定的數(shù)據(jù)和程序。其特點(diǎn)是信息寫(xiě)入后,能長(zhǎng)期保存,不會(huì)因斷電而丟失。所謂“只讀”指不能寫(xiě)入。13.(基本了解) ROM勺5種不同形式: MaskROM淹膜ROM)OTP ROMD EP ROME2P ROM FlashROM14. 單片機(jī)程序設(shè)計(jì)語(yǔ)言可分為三類(lèi):機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是計(jì)算機(jī)可以識(shí)別和直接執(zhí)行的語(yǔ)言,它由一組二進(jìn)制代碼組成,不同的微處理器機(jī)器語(yǔ)言也不同。匯編語(yǔ)言:用助記符替代機(jī)器語(yǔ)
5、言中的操作碼,用十六進(jìn)制數(shù)代替二進(jìn)制數(shù)。計(jì)算執(zhí)行時(shí),必須將匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言。匯編語(yǔ)言和機(jī)器語(yǔ)言一樣,微處理器不同,匯編語(yǔ)言也不同,即不同的微處理器采用不同的匯編語(yǔ)言。思考與練習(xí):1.1 什么是單片機(jī)?答:?jiǎn)纹瑱C(jī)就是在一片硅片上集成了中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)/ 計(jì)數(shù)器和多種 I/O 口的微型計(jì)算機(jī)系統(tǒng),該系統(tǒng)不帶外部設(shè)備。從組成和功能上看,它已經(jīng)具備了計(jì)算機(jī)系統(tǒng)的基本屬性,所以也可以稱(chēng)其為單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)單片機(jī)。1.2 單片機(jī)的基本組成有哪些?答:?jiǎn)纹瑱C(jī)由中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、中斷系統(tǒng)、定時(shí)/ 計(jì)數(shù)器和多種 I/O 口組成。第二章 單片機(jī)的硬件結(jié)
6、構(gòu) (重點(diǎn)復(fù)習(xí))15.(簡(jiǎn)答題)80C51單片機(jī)有4個(gè)8位的雙向并行輸入/輸出(I/O )端口,稱(chēng)為P0 口、P1口、P2 口和 P3 口。P0 口: P0 口是一個(gè)雙功能的8位并行I/O 口,可用作輸入/輸出端口,又可作地址/數(shù)據(jù)總線分時(shí)傳輸時(shí)低 8 位地址和 8 位數(shù)據(jù)。 P1 口:P1 口是單一功能的并行 I/O 口,只用作通用的數(shù)據(jù)輸入 /輸出口。 P2 口:P2 口是一個(gè)雙功能的8位并行I/O,可用作通用的輸入/輸出口,又可用作高 8位地址總線。 P3 口:P3 口是一個(gè)雙功能的8位并行I/O 口,它的第一功能是通用輸入/輸出口,作第二功能用時(shí),各引腳定義如下:P3.0 : RXD串
7、行口輸入;(2) P3.1 : TXD串行口輸出;(3) P3.2 :外部中斷 0輸入;P3.3 :外部中斷1輸入;P3.4 : TO定時(shí)/計(jì)數(shù)器0外部計(jì)數(shù)脈沖輸入;P3.5 : T1定時(shí)/計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入; P3.6 :片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通訊號(hào)輸出;P3.7 :片外數(shù)據(jù)存儲(chǔ)器讀選通訊號(hào)輸出。16. 基本時(shí)序單位單片機(jī)的時(shí)序單位有:振蕩周期:晶振的振蕩周期,又稱(chēng)時(shí)鐘周期,為最小的時(shí)序單位。狀態(tài)周期:振蕩頻率經(jīng)單片機(jī)內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時(shí)鐘周期。因此,一個(gè)狀態(tài)周期包含 2 個(gè)振蕩周期。機(jī)器周期: 1 個(gè)機(jī)器周期由 6個(gè)狀態(tài)周期即 12個(gè)振蕩周期組成。是計(jì)算機(jī)執(zhí)行一種基本操
8、作(如取指令,讀存儲(chǔ)器,寫(xiě)存儲(chǔ)器等)的時(shí)間單位。指令周期:執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由14個(gè)機(jī)器周期組成,依據(jù)指令不同而不同。4 種時(shí)序單位中,振蕩周期和機(jī)器周期是單片機(jī)內(nèi)計(jì)算其他時(shí)間值(例如,波特率、定時(shí)器的定時(shí)時(shí)間等)的基本時(shí)序單位。例:?jiǎn)纹瑱C(jī)外接晶振頻率 fosc= 12MHZ 時(shí)的各種時(shí)序單位:振蕩周期=1/fosc=1/12MHZ=0.0833us ;狀態(tài)周期=2/fosc=2/12MHZ=0.167us ;機(jī)器周期=12/fosc=12/12MHZ=1us ;指令周期=(1 4)機(jī)器周期 =14us 。0000H復(fù)位操作后的程序入口0003H外部中斷 0服務(wù)程序入口000
9、BH定時(shí)器 0 中斷服務(wù)程序入口0013H外部中斷 1 服務(wù)程序入口, 采用哈佛結(jié)構(gòu)它將程序存儲(chǔ)器17.MCS-51 的存儲(chǔ)器結(jié)構(gòu)與常見(jiàn)的微型計(jì)算機(jī)的配置方法不同 和數(shù)據(jù)存儲(chǔ)器分開(kāi) ,各有自己的尋址方式、控制信號(hào)和功能。程序存儲(chǔ)器用來(lái)存放程序、始終要保留的表格、常數(shù)。數(shù)據(jù)存儲(chǔ)器存放程序運(yùn)行中所需要的數(shù)據(jù)和結(jié)果(常數(shù)和變量)。18. 從物理空間(實(shí)際結(jié)構(gòu))看 ,MCS-51 有四個(gè)存儲(chǔ)器地址空間: 片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器、片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器19. 從邏輯上(使用角度)看 ,MCS-51 有三個(gè)存儲(chǔ)器空間: 片內(nèi)、片外統(tǒng)一編址的程序存儲(chǔ)器,片外數(shù)據(jù)存儲(chǔ)器,片內(nèi)數(shù)據(jù)存儲(chǔ)器20.
10、程序存儲(chǔ)器中的幾個(gè)特殊地址的使用:用途地址001BH定時(shí)器1中斷服務(wù)程序入口0023H串行口中斷服務(wù)程序入口21. 外部數(shù)據(jù)存儲(chǔ)器作用:用于存放隨機(jī)讀寫(xiě)的數(shù)據(jù)。外部數(shù)據(jù)存儲(chǔ)器包括兩部分空間:外部RAM擴(kuò)展的I/O 口地址內(nèi)部數(shù)據(jù)存儲(chǔ)器(單元數(shù)少,但最復(fù)雜)特殊功能寄存器空間,離散分布,作數(shù)據(jù)緩沖器、標(biāo)志位等22. 程序存儲(chǔ)器與外部數(shù)據(jù)存儲(chǔ)器的比較相同:地址線 A15A0MOVC旨令,訪問(wèn)外部數(shù)不同:訪問(wèn)的指令不同,讀寫(xiě)信號(hào)不同。訪問(wèn)程序寄存器的指令為據(jù)存儲(chǔ)器的指令為 MOVX旨令;程序寄存器:只讀,PSEN乍為外部ROM賣(mài)信號(hào);外部數(shù)據(jù)存儲(chǔ)器:可讀寫(xiě),RD作為讀信號(hào),WR乍為寫(xiě)信號(hào)。RAM單元
11、使用,而不能23. 工作寄存器區(qū)的選擇RS1 RS0寄存器區(qū)R0R7所占單元的地址0 00區(qū)00H07H0 11區(qū)08H0FH1 02區(qū)10H 17H1 13區(qū)18H 1FHRS1:程序狀態(tài)寄存器 PSW的D4位;RS0程序狀態(tài)寄存器 PSW的D3位;復(fù)位時(shí),自動(dòng)選中 0區(qū)。一旦選中其中一個(gè)區(qū),其它三區(qū)只能作為普通作為工作寄存器使用。設(shè)置多個(gè)工作寄存器區(qū)可以方便保護(hù)現(xiàn)場(chǎng)。24. 字節(jié)地址與位地址在使用上如何區(qū)別例:ZC,20H,20HHF地血r61”DI.1L p .B J7畦1L. -fi.3 丄P11 ra二 eAJL1irIKIQlUtRISIF14131 11312 -iOOFONon
12、Ari.h 二-CAo査07oe P曠02Ql位操作指令MOV C,20H 位地址只有1bit (小圓區(qū)域)字節(jié)操作指令 MOV A,20H 字節(jié)地址共8bit (大橢圓區(qū)域)25. 位地址空間組成及位地址表示法 內(nèi)部數(shù)據(jù)存儲(chǔ)器的20H2FH共16個(gè)單元可按位尋址,128位;例1:位地址 1EH= 23H . 6 即字節(jié)單元23H的D6位專(zhuān)用寄存器地址能被8整除的可按位尋址。例 2: 位地址 D4H= D0H . 4= PSW. 4= RS126.特殊功能寄存器的地址分配(名稱(chēng)必須記住)名秣EimFOHFTfiFflH程畔狀舞D匝5個(gè)Dim81HEPTR畑&指針83B和8四14
13、1;senPl口 19OH9TB900*2口?AOH-ATKAUB口3BOIfyTHBOB»IP中SF優(yōu)彌寄存畫(huà)B fiseB陽(yáng)中W允許寄存憲IBB-noD定BV計(jì)藏議方式控制89H*IDCW定PtAHSt盛控制880* 8FH8Btbh定BVi展靈DCiS僅宇節(jié))dCHTLO8AHTBl定時(shí)/計(jì)藏;孫1(僅字節(jié))swTLl定時(shí)孑計(jì)數(shù)器”低住字節(jié))*SCGB孕 8® TFHyaa3IIF串«據(jù)緩沖軽99EICON電漳控制STH注:標(biāo)瘁號(hào)的寄存器可按字節(jié)和位尋址27.累加器ACC累加器為8位的寄存器,是程序中使用最頻繁的寄存器,是用于存放中間結(jié)果和數(shù)據(jù)傳送的渠道。程
14、序狀態(tài)字寄存器PSW PSV也稱(chēng)為標(biāo)志寄存器CY:進(jìn)/借位標(biāo)志。CY=1,有進(jìn)/借位;CY=0無(wú)進(jìn)/借位。AC:輔助進(jìn)位標(biāo)志,反映高半字節(jié)與低半字節(jié)之間的進(jìn)/借位。AC=1有進(jìn)/借位;AC=0無(wú)進(jìn)/借位。F0:用戶(hù)標(biāo)志位RS1,RS0:工作寄存器的控制位OV:溢出標(biāo)志位。有溢出 OV=1,無(wú)溢出 OV=0>P:奇偶標(biāo)志位。運(yùn)算結(jié)果有奇數(shù)個(gè)“1 ”,P=1;偶數(shù)個(gè)“ 1”,P=aD1:無(wú)效位,一般不用。數(shù)據(jù)指針DPTR數(shù)據(jù)指針DPTR是一個(gè)16位的專(zhuān)用寄存器,DPTF主要用來(lái)存放16 位地址。PC用于存放CPU下一條要執(zhí)行的指令地址,是一個(gè)16位的專(zhuān)用寄存器。27. 訪問(wèn)不同的存儲(chǔ)器空間使
15、用不同的指令:程序存儲(chǔ)器,使用 MOV指令;外部數(shù)據(jù)存儲(chǔ)器,使用MOVX旨令;內(nèi)部數(shù)據(jù)存儲(chǔ)器,使用MOV旨令;特殊功能寄存器,使用MOV旨令;位地址空間,使用 MO、SETB CLR等指令。28.堆棧是在單片機(jī)內(nèi)部 RAM中從某個(gè)選定的存儲(chǔ)單元開(kāi)始劃定的一個(gè)地址連續(xù)的區(qū)域。堆棧操作是在內(nèi)存 RAM區(qū)專(zhuān)門(mén)開(kāi)辟出來(lái)的按照“先進(jìn)后出”原則進(jìn)行數(shù)據(jù)存取的一種工作方式,主要用于子程序調(diào)用及返回和中斷處理斷點(diǎn)的保護(hù)和返回。SP用來(lái)指示堆棧所處的位置。當(dāng)數(shù)據(jù)堆入棧區(qū)后,SP的值也自動(dòng)隨之變化。51單片機(jī)屬于向上生長(zhǎng)型堆棧(即向高地址方向生成)。29.用一個(gè)稱(chēng)為堆棧指針SP的特殊功能寄存器來(lái)給出棧頂存儲(chǔ)單元的
16、地址。堆棧指針SP中存儲(chǔ)的總是堆棧棧頂存儲(chǔ)單元的地址,即堆棧指針SP總是指向堆棧棧頂。30. 向上生長(zhǎng)型堆棧出棧入棧的操作原則是“先進(jìn)后出”或“后進(jìn)先出”。PC值變?yōu)?000好,使單片機(jī)從31. 實(shí)現(xiàn)復(fù)位操作,必須使RST引腳(9)保持兩個(gè)機(jī)器周期以上的高電平。32. 復(fù)位是單片機(jī)的初始化操作,其主要功能是程序計(jì)數(shù)器0000H開(kāi)始執(zhí)行程序。上電復(fù)位后,RAM的內(nèi)容是隨機(jī)的。寄存器 初始狀態(tài)寄存器初始狀態(tài)PC0000HACC00HPSW 00HSP07H思考與練習(xí):2.1 51 單片機(jī)內(nèi)部包括哪些主要部件? 答:51單片機(jī)包括中央處理器 CPU數(shù)據(jù)存儲(chǔ)器RAM只讀存儲(chǔ)器 ROM并行輸入輸出口P1
17、P3 口、串行口、并行口、定時(shí) /計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器等8個(gè)部件。2.2 80C51 單片機(jī)的存儲(chǔ)器有哪幾種類(lèi)型?可以劃分為哪幾個(gè)部分?答:80C51單片機(jī)的存儲(chǔ)器按功能可以劃分為兩大類(lèi):隨機(jī)存儲(chǔ)器(RAM和只讀存儲(chǔ)器(ROM??梢詣澐譃橐韵挛宀糠郑浩瑑?nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、特殊功能寄存器、片外數(shù)據(jù)存儲(chǔ)器。2.3 80C51 如何確定和改變當(dāng)前工作寄存器區(qū)?答:在選擇工作寄存器區(qū)時(shí),可通過(guò)對(duì)特殊功能寄存器中的程序狀態(tài)寄存器PSW的 RS1 和 RS0的狀態(tài)設(shè)置,來(lái)選擇哪一組工作寄存器作為當(dāng)前的工作寄存器組。單片機(jī)復(fù)位時(shí),當(dāng)前工作寄存器默認(rèn)為 0 組。2.4 位
18、地址和字節(jié)地址如何區(qū)分?位地址00H7FH與片內(nèi)RAM的字節(jié)地址編址相同,容易混淆。區(qū)分方法:在80C51的指令系統(tǒng)中,有專(zhuān)門(mén)的位操作指令和字節(jié)操作指令來(lái)區(qū)分。(位操作指令 MOV C,20H 位地址只有 1bit ;字節(jié)操作指令 MOV A,20H 字節(jié)地址共 8bit )。2.6 PC 在執(zhí)行指令過(guò)程中,起什么作用?答:PC在執(zhí)行指令過(guò)程中,PC用于存放CPU下一條要執(zhí)行的指令地址,是一個(gè)16位的專(zhuān)用寄存器。第三章 51 單片機(jī)的指令系統(tǒng)33. 計(jì)算機(jī)所有的指令集合稱(chēng)為該計(jì)算機(jī)的指令系統(tǒng)。34.指令是基本格式: 標(biāo)號(hào): 操作碼 目的操作數(shù) ,源操作數(shù) ;注釋 標(biāo)號(hào):指令的符號(hào)地址;操作碼:
19、規(guī)定指令的操作功能,是指令格式中唯一不能空缺的部分;操作數(shù):用于給指令的操作提供數(shù)據(jù)或地址。把左邊的操作數(shù)稱(chēng)為目的操作數(shù),右邊的操作數(shù)稱(chēng)為源操作數(shù);注釋?zhuān)鹤⑨屖菍?duì)語(yǔ)句或程序段功能的說(shuō)明。注釋用“:”開(kāi)頭,可空缺。35.按指令的功能分類(lèi):數(shù)據(jù)傳送指令( 28 條)、算術(shù)運(yùn)算類(lèi)指令( 24 條)、邏輯運(yùn)算與移位類(lèi)指令( 25條)、控制轉(zhuǎn)移類(lèi)指令( 17條)、位操作類(lèi)指令( 17條)。36. 尋址方式?立即尋址指令中跟在操作碼后面的數(shù)據(jù)就是實(shí)際參與運(yùn)算的操作數(shù),稱(chēng)為立即數(shù)。MCS-51指令系統(tǒng)中允許使用 8 位和 16位立即數(shù),立即數(shù)之前加“ #”予以標(biāo)識(shí)。例:MOV A,#6DH MOV A,#3
20、AH MOV DPTR,#0DFFFH MOV 40H,#30HMOV A,#60H MOV DPTR,#3400H MOV 30H,#40H?直接尋址指令中包含了操作數(shù)的地址,該地址直接給出了參加運(yùn)算或傳送的單元的地址。直接尋址可訪問(wèn)兩種地址空間:特殊功能寄存器 SFR(又叫做專(zhuān)用寄存器)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM中的128個(gè)字節(jié)單元。例:MOV A,52H MOV A,P1 MOV 30H,20H MOV P0,P1?寄存器尋址把指定的某一可尋址的工作寄存器R0R7或A, B (乘、除指令中),DPTR的內(nèi)容作為操作數(shù)。例: MOV 53H,A MOV B,A MOV 20H,R1 MOV P0
21、,R0?寄存器間接尋址指令指定的某一寄存器的內(nèi)容作為操作數(shù)地址??捎脕?lái)間接尋址的寄存器有R0、 R1 和數(shù)據(jù)指針DPTR前面加表示間接尋址??稍L問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器。堆棧指針SP在執(zhí)行指CJNE 30H,A,ABC;非法7 CJNE A,30H,ABC令中也起到寄存器間接尋址的作用, 但它不出現(xiàn)在指令表達(dá)形式中。實(shí)現(xiàn)間接尋址的地址指針:( 1)Ri ( R0 R1):尋址對(duì)象為片內(nèi) RAM的128個(gè)單元;(1)DPTR尋址對(duì)象為外部數(shù)據(jù)存儲(chǔ)器例:MOV A,R0 MOV B,R1MOVX A,DPTR PUSH 20HPOP ACC MOV R0,A MOVX A,R1 MOVX DP
22、TR,A ?變址尋址基址寄存器(DPTR或PC):存放基準(zhǔn)地址;變址寄存器(A):存放偏移量;基址寄存器的內(nèi)容與變址 寄存器的內(nèi)容的和為可尋址單元的地址。該類(lèi)尋址方式用于訪問(wèn)程序存儲(chǔ)器,對(duì)查表訪問(wèn)特別 有用。注意:A中內(nèi)容為無(wú)符號(hào)數(shù)。例:MOVC A,A+D PTR MOVC A,A+ PC JMP A+D PTR?位尋址采用位尋址方式的操作數(shù)是 8 位二進(jìn)制數(shù)中的某1 位,指令中給出的是位址。尋址對(duì)象:片內(nèi)數(shù)據(jù)存儲(chǔ)器位尋址區(qū)中,位地址為00H7FH的128位11個(gè)可位尋址的特殊功能寄存器中的 82個(gè)有效可尋址位。例:MOV C,3AHSETB P SW,4MOV C,00HMOV C,20H
23、思考與練習(xí):3.4 下列哪些指令是非法指令,并改正。CJNE A,#30H,ABC;合法CJNE A,30H,ABC;合法CJNE R7,#30H,ABC;合法CJNE R5,#30H,ABC;合法CJNE A,R4,ABC;非法7不存在這種格式CJNE A,R4,ABC;非法7不存在這種格式 (CJNE A,#data,rel/CJNEA,direct,rel/CJNE Ri,#data,rel/CJNE Rn,#data,rel)DJNZ ACC,ABC;合法DJNZ 30H,ABC;合法 (DJNZ Rn,rel/DJNZ direct,rel)INC DPTR;合法 (INC A/IN
24、C direct/INC Ri/INC Rn/INC DPTR)MOV A,R3;合法MOVX A,DPTR;非法7 MOVX A,DPTR (MOVX A,DPTR/MOVX A,Ri/MOVXDPTR,A/MOVX Ri,A)DEC DPTR;非法7不存在這種格式(DEC A/DEC direct/DEC Ri/DEC Rn )JB 70H;非法7不存在這種格式(JB bit , rel )ADDC B,DIRECT1;非法7不存在這種格式(ADDC A,#data/ADDC A,direct/ADDCA,Ri/ADDC A,Rn)MOV 50,#40H;( 50H) =40HMOV R1
25、,#50H; R1=50HMOV A,R1; A=40HMOV R0,A; R0=40HMOV 60H,R0; (60H)=FFHMOV 30H,60H; (30H)=FFH3.5 指出源操作數(shù)的尋址方式。MOV A,#30H(立即尋址)MOV A,B(直接尋址)MOV P0,P1(直接尋址)DIV AB(寄存器尋址)MOVC A,A+DPTR(變址尋址)MOV 30H,A(寄存器尋址)PUSH 30H(直接尋址)PUSH B(寄存器尋址)POP ACC(寄存器間接尋址)3.7 寫(xiě)出下列程序執(zhí)行的結(jié)果。 (40H) =FFH3.9 分析下面程序執(zhí)行的結(jié)果。MOV SP,#2FH; SP=2FH
26、MOV A,#30H;A=30HMOV B,#31H;B=31HPUSH A;SP=30H,(30H)=30HPUSH B;SP=31H,(31H)=31HPOP A;SP=30H,A=31HPOP B;SP=2FH,B=30HMOV A,#0DH;A=0DHMOV R7,#3DH;R7=3DHADD A,R7;A=4AH,C=0,AC=1,OV=0,P=13.10分析執(zhí)行下列程序后 A和標(biāo)志位C,AC,OV及P的結(jié)果。第四章 51 單片機(jī)的匯編語(yǔ)言程序設(shè)計(jì)37. 偽指令 :在對(duì)匯編語(yǔ)言進(jìn)行翻譯的過(guò)程中,需要提供一些有關(guān)匯編的信息指令。這些指令 在匯編時(shí)起到控制作用,但其自身不產(chǎn)生機(jī)器代碼。偽
27、指令就是匯編程序能夠識(shí)別的匯編命 令,它是程序員發(fā)給匯編程序的命令,只在匯編過(guò)程中起作用,它不是單片機(jī)要執(zhí)行的指令, 所以沒(méi)有機(jī)器碼。起始偽指令ORG( ORIGIN)格式: 標(biāo)號(hào):ORGfe址功能:出現(xiàn)在源程序的開(kāi)頭,用于規(guī)定目標(biāo)程序存放的起始地址。例:程序如下:ORG 0000HSTART:MOV A,#20HADD A,#08HMOV 20H,AHERE:SJMP HERE結(jié)束偽指令 END(END OF ASSEMBLY)格式: 標(biāo)號(hào):END表達(dá)式功能:匯編終止命令,本命令用于終止源程序的匯編工作。例:程序如下:ORG 0000HSTART:MOV A,#20HADD A,#08HMO
28、V 20H,AHERE:SJMP HEREEND賦值偽指令EQU(EQUATE) 格式: 字符名稱(chēng)EQU賦值項(xiàng)功能:本命令用于給標(biāo)號(hào)賦值。例:程序如下: PP EQO R0QQ EQU 30HMOV A,PP;把 R0 中的值送給 AMOV B,QQ;把 30H 中的值送給直接地址 F0H定義字節(jié)偽指令 DB(DEFINE BYTE)格式: 標(biāo)號(hào):DB8位數(shù)表 功能:定義字節(jié)命令,本命令用于從指定的地址開(kāi)始,在程序存儲(chǔ)器的連續(xù)單元中定義字節(jié)數(shù)據(jù)。例:程序如下:ORG 0000HTAB:DB 00H,45H,67H,78HDB 78H,58H,90H,57H匯編后結(jié)果:( 0000H) =00H
29、 (0001H)=45H (0002H)=67H (0003H)=78H(0004H) =78H (0005H)=58H (0006H)=90H (0007H)=57H定義字偽指令 DW(DEFINE WORD)16 位格式: 標(biāo)號(hào):DW16位數(shù)表 功能:定義數(shù)據(jù)字命令,本命令用于從指定地址開(kāi)始,在程序存儲(chǔ)器的連續(xù)單元中定義 的數(shù)據(jù)字。該命令將字?jǐn)?shù)據(jù)表中的數(shù)據(jù)依從左到右的順序存放在指定的存儲(chǔ)單元中,數(shù)據(jù)字的 高 8 位放在低地址單元,低 8 位放在高地址單元。例:程序如下: ORG 0030HTAB:DW 6789H,3456HDW 1234H,5678H匯編后的結(jié)果:( 0030H) =67
30、H,(0031H)=89H(0032H) =34H,(0033H)=56H (0034H) =12H,(0035H)=34H (0036H) =56H,(0037H)=87H位定義命令BIT 格式: 字符名稱(chēng)BIT位地址功能:本命令用于給字符名稱(chēng)賦以位地址。例:程序如下: AQ BIT P0.0DEF BIT P1.0匯編結(jié)果:把 P0.0的位地址賦給 AQ把P1.0的位地址賦給 DEF。38. 程序設(shè)計(jì)舉例:【例 4-2 】設(shè)在片內(nèi)RAM中,20H和21H單兀各存放有一個(gè)8 位數(shù)據(jù),要求拼裝一個(gè)新字節(jié)并送 30H 保存,其低5位取自20H單元中的低5位,高3位取自2伯單元中的低3位。實(shí)現(xiàn)程序
31、如下:MOV 30H,20H;20H單兀中的數(shù)據(jù)送入 30H單兀ANL 30H,#00011111B;屏幕高 3 位MOV A,21H;21H單元中的數(shù)據(jù)送入 ASWAP A;將A中的數(shù)據(jù)高低3位交換,循環(huán)左移 4 次RL A;將A中數(shù)據(jù)再循環(huán)左移 1次ANL A,#11100000B;屏蔽A中數(shù)據(jù)的低5位ORL 30H,A;完成拼裝【例 4-6 】設(shè)在外部RAM的 3個(gè)連續(xù)存儲(chǔ)單兀 ST1/ST2和ST3中,ST1和ST2存放著兩個(gè)不帶符號(hào)的二進(jìn)制數(shù),請(qǐng)找出其中的大數(shù)并存在ST3中。程序如下:START:CLR C;進(jìn)位位清 0MOV DPTR,#ST1;設(shè)置數(shù)據(jù)指針MOVX A,DPTR;
32、取第一個(gè)數(shù)MOV R7,A;暫存 R7INC DPTR;數(shù)據(jù)指針加 1MOVX A,DPTR;取第二個(gè)數(shù)SUBB R7;比較兩數(shù)的大小JNC BIG1;第二個(gè)數(shù)大轉(zhuǎn)移XCH A,R7;第一個(gè)數(shù)大送 ABIG0: INC DPTR;數(shù)據(jù)指針加 1MOVX DPTR,A;存大數(shù)RETBIG1: MOVX A,D PTR;第二個(gè)數(shù)送A【例4-11】有一數(shù)據(jù)塊從片內(nèi)RAM的30H單元開(kāi)始存入,設(shè)數(shù)據(jù)塊長(zhǎng)度為10個(gè)單元。根據(jù)下式:X + 2 X > o'Y = <100X = 0II X 1X < 0求出丫的值,將丫值存入31H單元。ORG 1000HMOV A,30H;取數(shù)J
33、B ACC.7,NEG;負(fù)數(shù),轉(zhuǎn)NEGJZ ZERO;為零,轉(zhuǎn)ZEROADD A,#02H;為正數(shù),求X+2AJMP SAVE;轉(zhuǎn)到SAVE保存數(shù)據(jù)ZERO:MOV A,#64H;數(shù)據(jù)為零,丫=100AJMP SAVE;轉(zhuǎn)到SAVE保存數(shù)據(jù)NEG:DEC ACPL A;求 |X|SAVE:MOV 31H,A;保存數(shù)據(jù)SJMP $;暫?!纠?-13】在外部RAM首地址為table的數(shù)據(jù)表中的最高位無(wú)條件的置 1。實(shí)現(xiàn)程序如下:MOV DP TR,#table;送數(shù)據(jù)表首地址MOV R7,#OAH;置處理次數(shù)LOOP:MOVX A,D PTR;取數(shù)據(jù)ORL A,#10000000B;最高位置1MO
34、V X DP TR,A;送回INC DPTR;地址加1DJNZ R7,LO OP;未處理完返回程序如下:SJMP $,有10個(gè)字節(jié)的數(shù)據(jù),編程將每個(gè)字節(jié)P3.1、P 1.1、P 1.0分別是單片機(jī)【例4-20】編寫(xiě)一程序,實(shí)現(xiàn)下圖中邏輯運(yùn)算電路。其中端口線上的信息,RS0 RS1是PSW寄存器的兩個(gè)標(biāo)志位,30H、31H是兩個(gè)位地址,運(yùn)算結(jié)果由P 1.0輸出。PL.l3'OH3111R31RSO程序如下:ORG 0000HMOV C,P 3.1ANL C,P 1.1CPL CNEXT:JC LOP1;C=1,表明A值小,轉(zhuǎn)MOV 20H,C;暫存數(shù)據(jù)MOV C,30HORL C,/31
35、HANL C,RS1ANL C,20HANL C,RS0MOV P 1.0,C;輸出結(jié)果SJMP $思考與練習(xí):4.5編程:把內(nèi)部RAM20車(chē)元開(kāi)始有8個(gè)數(shù),試找出其中最大的數(shù),送入MAX單元。答:程序如下:MAX EQU 2AHSMAX:MOV R0,#20H;置數(shù)據(jù)區(qū)首地址MOV MAX,R0;讀第一個(gè)數(shù)暫作最大數(shù)MOV R7,#7;置數(shù)據(jù)長(zhǎng)度(N-1)LOOP :INC R0;指向下一個(gè)數(shù)MOV A,R0;讀下一個(gè)數(shù)CJNE A,MAX,NEXT;數(shù)值比較,在 C中產(chǎn)生大小標(biāo)志MOV MAX,A;C=0,表明A值大,大數(shù)送 MAXLOP 1:DJNZ R7,LO OP;判數(shù)據(jù)比完否?未完
36、比較下一個(gè)RET4.11編程實(shí)現(xiàn)邏輯運(yùn)算:Y=G?(H+C)+D?(E+X);數(shù)據(jù)比完,退出循環(huán)答:假設(shè)各個(gè)變量,對(duì)應(yīng)的計(jì)算機(jī)引腳如下兩式:Y = G ? (H + C) + D ? (E + X)P1.0=P1.1*( P1.2+P1.3)+P1.4* (P 1.5+P1.6)程序如下MOVC, P 1.2;取來(lái)HORLC, P 1.3;或上CANLC, P 1.1;與上GMOVP SW.5, C;暫時(shí)存放MOVC, P 1.5;取來(lái)EORLC, P 1.6;或上XANLC, P 1.4;與上DORLC, P SW.5;或上前面結(jié)果MOVP1.0,C;輸出到丫第五章51單片機(jī)的中斷系統(tǒng)39.
37、51單片機(jī)共有5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí),可以實(shí)現(xiàn)兩級(jí)中斷嵌套。51單片機(jī)提供了 5個(gè)中斷源:兩個(gè)40.中斷源就是引起中斷的來(lái)源,也可認(rèn)為是中斷的原因。外部中斷請(qǐng)求INT 0和INT1,兩個(gè)片內(nèi)計(jì)數(shù)器/定時(shí)器中斷T0和T1,另一個(gè)為片內(nèi)串行口中斷。41.外部中斷源:表 TCON寄存器位結(jié)構(gòu)位置D7D6D5D4D3D2D1D0位地址8F8E8D8C8B8A8988位符號(hào)TF1TR1TF0TR0IE1IT1IE0IT0IT0是INT 0觸發(fā)方式控制位,即選擇外部中斷0是電平觸發(fā)方式還是下降沿觸發(fā)方式,此位可由軟件置位和復(fù)位;IE0是INT0中斷下降沿請(qǐng)求標(biāo)志位;IT1和IE1分別為外部中斷1的觸發(fā)
38、方式控制位和下降沿中斷請(qǐng)求標(biāo)志位。42.內(nèi)部中斷源:(1)定時(shí)器/計(jì)數(shù)器中斷源 TFO是片內(nèi)定時(shí)器/計(jì)數(shù)器0溢出時(shí)中斷申請(qǐng)標(biāo)志位。 TF1是片內(nèi)定時(shí)器/計(jì)數(shù)器1溢出時(shí)中斷申請(qǐng)標(biāo)志位,功能與 TF0相同。(2)串行口中斷:表scor寄存器位結(jié)構(gòu):位置D7D6D5D4D3D2D1D0位地址9FH9EH9DH9CH9BH9AH99H98H位符號(hào)SM0SM1SM2RENIB8RB8TIRITI是串行口發(fā)送完畢中斷標(biāo)志位。當(dāng)TI=1時(shí),就向CPU申請(qǐng)中斷,表示數(shù)據(jù)發(fā)送完畢;RI是串行口接收完畢中斷標(biāo)志位。RI=1表示串行口接收器向 CPU申請(qǐng)中斷。43.計(jì)算機(jī)中斷系統(tǒng)中有兩種不同類(lèi)型的中斷:一種稱(chēng)為非屏
39、蔽中斷,另一種稱(chēng)為可屏蔽中斷。對(duì)非屏蔽中斷,用戶(hù)不能用軟件方法加以禁止,一旦有中斷申請(qǐng),CPU必須予以響應(yīng)。但對(duì)可屏蔽中斷,用戶(hù)則可以通過(guò)軟件方法來(lái)控制是否允許某中斷源的中斷。51系列單片機(jī)的5個(gè)中斷源都是可屏蔽中斷的。位置D7D6D5D4D3D2D1D0位地址AFHADHACHABHAAHA9HA8H位符號(hào)EA-ESET1EX1ET0EX044.表中斷允許寄存器IE的位結(jié)構(gòu) EA是CPU中斷總允許位。當(dāng) EA=1時(shí),開(kāi)放中斷,而每個(gè)中斷是開(kāi)放還是屏蔽分別由各自的允許位確定。EA=0,禁止所有中斷,不論其他為是否為 ES是串行口中斷允許位。ES=1,允許串行口的接收和發(fā)送中斷;ES=0,禁止串
40、行口中斷。 ET1是開(kāi)放或禁止定時(shí)器 1溢出中斷位。ET1=0則禁止定時(shí)器1中斷,置位則開(kāi)啟其中斷。 EX1是外部中斷1的中斷允許位。EX1=0,則禁止外部中斷 1中斷,EX=1,則開(kāi)啟其中斷。 ET0是開(kāi)放或禁止定時(shí)器 0溢出中斷位。ET0=0則禁止定時(shí)器0中斷,置位則開(kāi)啟其中斷。 EX0是外部中斷0的中斷允許位。EX0=0,則禁止外部中斷 0中斷,置位則開(kāi)啟其中斷。位置D7D6D5D4D3D2D1D0位地址BDHBCHBBHBAHB9HB8H位符號(hào)-PSPT1PX1PT0PX045.表中斷優(yōu)先級(jí)寄存器IP的位結(jié)構(gòu) PS:串行口優(yōu)先級(jí)設(shè)定位。PS=1時(shí),則編程為高優(yōu)先級(jí)。 PT1:定時(shí)器1優(yōu)
41、先級(jí)設(shè)定位。P T1=1時(shí),則編程為高優(yōu)先級(jí)。 PX1:外部中斷1優(yōu)先級(jí)設(shè)定位。PX1=1時(shí),則編程為高優(yōu)先級(jí)。 P T0:定時(shí)器0優(yōu)先級(jí)設(shè)定位。PT0=1時(shí),則編程為高優(yōu)先級(jí)。 PX0:外部中斷0優(yōu)先級(jí)設(shè)定位。PX0=1時(shí),則編程為高優(yōu)先級(jí)。46.單片機(jī)對(duì)中斷優(yōu)先級(jí)的處理原則:CPU同時(shí)接收到幾個(gè)相同優(yōu)先級(jí)的中斷請(qǐng)求時(shí),首先響應(yīng)優(yōu)先權(quán)最高的中斷請(qǐng)求;低優(yōu)先級(jí)中斷可以被高優(yōu)先級(jí)中斷所中斷;中斷不能被與它同級(jí)和比它低級(jí)的中斷所中斷;當(dāng)同一級(jí)中斷同時(shí)申請(qǐng)中斷時(shí),按單片機(jī)系統(tǒng)內(nèi)部硬件查詢(xún)順序確定優(yōu)先級(jí),用戶(hù)無(wú)法自行更改。47.各中斷源的入口地址:(熟記)中斷源入口地址夕卜部中斷00003H定時(shí)器/計(jì)
42、數(shù)器T0000BH外部中斷10013H定時(shí)器/計(jì)數(shù)器T1001BH串行口中斷0023H48. 中斷響應(yīng)條件:相應(yīng)的中斷是開(kāi)放的;沒(méi)有同級(jí)的中斷或更高級(jí)別的中斷正在處理; 正在執(zhí)行的指令必須執(zhí)行完最后1個(gè)機(jī)器周期若正在執(zhí)行RETI,或正在訪問(wèn)IE或IP寄存器,則必須執(zhí)行完當(dāng)前指令的下一條指令。后方 能響應(yīng)中斷。49. 設(shè)置中斷的初始化工作:?jiǎn)纹瑱C(jī)中斷系統(tǒng)初始化包括設(shè)置堆棧、選擇中斷觸發(fā)方式(對(duì)外中斷而言)、開(kāi)中斷、設(shè)置中斷優(yōu)先級(jí)等,對(duì)定時(shí)器/計(jì)數(shù)器還要對(duì)運(yùn)行控制位 TR置位。50. 中斷服務(wù)程序的編寫(xiě):在中斷入口地址處設(shè)置一條跳轉(zhuǎn)指令,轉(zhuǎn)移到中斷服務(wù)程序的實(shí)際入口處;保護(hù)現(xiàn)場(chǎng); 中斷服務(wù)主體程序
43、;若是外中斷電平觸發(fā)方式,應(yīng)有中斷信號(hào)撤除操作;若是串行收發(fā)中 斷,應(yīng)有對(duì)RI、TI清0指令;恢復(fù)現(xiàn)場(chǎng);中斷返回。思考與練習(xí):5.7簡(jiǎn)述中斷初始化過(guò)程。答:設(shè)置堆棧指針 SP;定義中斷優(yōu)先級(jí)(IP );選擇外中斷觸發(fā)方式(TCON ;開(kāi)放相應(yīng)中斷允許(IE );Q安排好等待中斷或中斷發(fā)生前主程序應(yīng)完成的操作內(nèi)容,如設(shè)置計(jì)數(shù)器、串行口的有關(guān)參數(shù)等。5.8 中斷服務(wù)程序的設(shè)計(jì)要考慮哪些因素?答:在中斷入口地址處設(shè)置一條跳轉(zhuǎn)指令,轉(zhuǎn)移到中斷服務(wù)程序的實(shí)際入口處;保護(hù)現(xiàn)場(chǎng);中斷服務(wù)主體程序;若是外中斷電平觸發(fā)方式,應(yīng)有中斷信號(hào)撤除操作;若是串行收發(fā)中斷,應(yīng)有對(duì) RI、TI清0指令;恢復(fù)現(xiàn)場(chǎng);中斷返回。
44、第六章 51 單片機(jī)的定時(shí)器 /計(jì)數(shù)器51. 定時(shí)器 /計(jì)數(shù)器結(jié)構(gòu)框圖HP曰從圖中可以看出,51計(jì)數(shù)器是一個(gè)加1計(jì)數(shù)器,其計(jì)數(shù)源來(lái)自?xún)蓚€(gè),一個(gè)是端口T0的外部中斷源,另一個(gè)是系統(tǒng)振蕩器的 12分頻,“計(jì)數(shù)源開(kāi)關(guān)”可實(shí)現(xiàn)兩個(gè)計(jì)數(shù)源的轉(zhuǎn)換,另一個(gè)開(kāi)關(guān)為“控制開(kāi)關(guān)”,用來(lái)決定加 1 計(jì)數(shù)器的開(kāi)啟。這兩個(gè)模擬開(kāi)關(guān)都是位開(kāi)關(guān),通過(guò)對(duì)特殊功能寄存器(TMOD與 TCON的對(duì)應(yīng)位置1或清0來(lái)實(shí)現(xiàn)開(kāi)關(guān)功能。52. 所謂計(jì)數(shù)是指對(duì)外部事件進(jìn)行的計(jì)數(shù)。計(jì)數(shù)功能的實(shí)質(zhì)就是對(duì)外部輸入脈沖進(jìn)行計(jì)數(shù)。53. 定時(shí)功能實(shí)際上也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的。此時(shí)的計(jì)數(shù)脈沖源是通過(guò)對(duì)振蕩器12分頻得到,即一個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)
45、脈沖,換句話說(shuō)就是每個(gè)機(jī)器周期計(jì)數(shù)器加1 ,因此計(jì)數(shù)頻率為振蕩頻率的 1/12 。54.16 位計(jì)數(shù)器,它的最大值為 65535 (16 進(jìn)制數(shù)為0FFFFH,力口 1計(jì)數(shù)器不斷進(jìn)行對(duì)脈沖個(gè)數(shù)的累加,最終會(huì)達(dá)到這個(gè)最大值,如果此時(shí)計(jì)數(shù)器再加1 ,就會(huì)使 16 位計(jì)數(shù)器的值變?yōu)?0,并使中斷標(biāo)志位TFx置1,觸發(fā)中斷,這就是定時(shí)器/計(jì)數(shù)器的“溢出” 。55.定時(shí)方式寄存器TMOD勺位結(jié)構(gòu)位置D7D6D5D4D3D2D1D0位地址GATEC/TM1M0GATEC廳M1M0位符號(hào)定時(shí)器T1定時(shí)器T0 GATE選通控制位。當(dāng)GATE=0寸,由寄存器 TCON中的運(yùn)行控制位 TRx啟動(dòng)定時(shí)器X;當(dāng)DAT
46、E=1時(shí),只有外中斷請(qǐng)求信號(hào)INT x為高電平且TRx置位時(shí),才啟動(dòng)定時(shí)器 X。 C/T 定時(shí)方式或計(jì)數(shù)方式選擇位。C/ T =0為定時(shí)器工作方式;C/T=1為計(jì)數(shù)器工作方式。 M1M0 工作方式選擇位。當(dāng)M1M0=00時(shí),為方式0 13位定時(shí)器/計(jì)數(shù)器工作方式;。當(dāng)M1M0=01時(shí),為方式1 16位定時(shí)器/計(jì)數(shù)器工作方式;。當(dāng)M1M0=10時(shí),為方式2常數(shù)自動(dòng)裝入的 8位定時(shí)器/計(jì)數(shù)器工作方式;。當(dāng)M1M0=11時(shí),為方式3僅適用于定時(shí)器 T0 ,為兩個(gè)8位定時(shí)器/計(jì)數(shù)器工作方式。在方式3時(shí),定時(shí)器T1停止計(jì)數(shù)。56. 定時(shí)控制寄存器TCON既參與中斷控制又參與定時(shí)控制。 TF0定時(shí)器0計(jì)數(shù)
47、溢出標(biāo)志位。 TR0定時(shí)器0運(yùn)行控制位。TR=0,關(guān)閉定時(shí)器/計(jì)數(shù)器0,反之則開(kāi)啟。 TF1定時(shí)器1計(jì)數(shù)溢出標(biāo)志位。 TR1定時(shí)器1運(yùn)行控制位。57. 定時(shí)器/計(jì)數(shù)器初值計(jì)算(1 )計(jì)數(shù)初值計(jì)算:方式 0: X=213 - S方式 1 : X=216 - S方式2或方式3: X=28 -S (其中X值計(jì)數(shù)初值,即時(shí)間常數(shù);S指輸入脈沖數(shù))(2 )定時(shí)初值計(jì)算:定時(shí)時(shí)間t=STmf (2n-X)12/fosc (其中t指計(jì)滿溢出時(shí)間;S指輸入脈沖數(shù);Tm指機(jī)器周期;2n指計(jì)數(shù)器位數(shù);X指計(jì)數(shù)初值即時(shí)間常數(shù);fosc指振蕩頻率)定時(shí)方式計(jì)數(shù)初值 Xf 213 t fosc/12定時(shí)方式1計(jì)數(shù)初值
48、X= 216 t fosc/12定時(shí)方式計(jì)數(shù)初值 Xf 28 t fosc/1258. 定時(shí)器 / 計(jì)數(shù)器初始化步驟:1)根據(jù)定時(shí)器 / 計(jì)數(shù)器的工作方式,設(shè)置 TMOD;計(jì)算定時(shí)器 / 計(jì)數(shù)器的初值,寫(xiě)入 T0(TH0、TL0), T1 (TH1、TL1); 設(shè)置 IE 、IP ,以開(kāi)放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級(jí); 使TR0/TR1置位,啟動(dòng)定時(shí)/計(jì)數(shù)器。59. 定時(shí)器 / 計(jì)數(shù)器的工作方式:O方式0:此時(shí)的計(jì)數(shù)器是一個(gè) 13 位寄存器結(jié)構(gòu);O方式1 :方式 1 是 16 位計(jì)數(shù)結(jié)構(gòu)的工作方式;O方式2:方式 2 與方式 0、1 的區(qū)別除了計(jì)數(shù)位數(shù)不一樣外(方式2 是 8 位計(jì)數(shù)結(jié)構(gòu)),最顯著的區(qū)別就是計(jì)數(shù)器計(jì)數(shù)溢出時(shí),能夠自動(dòng)裝載初值。思考與練習(xí):6.7已知單片機(jī)系統(tǒng)時(shí)鐘頻率為6MHz利用定時(shí)器0控制P2.1口,使其輸出周期為60ms,占空比為2: 1的方波。答:設(shè)定時(shí)間基準(zhǔn)為 20ms即定時(shí)時(shí)間為 20mso則定時(shí)初值X 216 t/T機(jī) 216 20* 10 3* 6* 106 /12 55536D8F0H 高電平的軟件計(jì)數(shù)為 2,低電平的軟件計(jì)數(shù)為 1. 主程序如下:ORG 0000HPUSH ACCLJMP MAINMOV TH0.#D8H
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年自考行政管理政策試題及答案
- 2025年執(zhí)業(yè)護(hù)士護(hù)理程序試題及答案
- 護(hù)理專(zhuān)業(yè)學(xué)習(xí)技巧考題及答案2025年
- 抗菌藥物相關(guān)試題及答案2025年執(zhí)業(yè)藥師
- 護(hù)理專(zhuān)業(yè)的職業(yè)道德與試題及答案
- 2025年大學(xué)語(yǔ)文考試全面解析與試題及答案
- 影視作品中的歷史文化呈現(xiàn)試題及答案
- 2025年護(hù)士技能提升輔導(dǎo)試題及答案
- 行政法學(xué)個(gè)案分析練習(xí)試題及答案
- 河北省統(tǒng)計(jì)局直屬事業(yè)單位招聘考試真題2024
- 2025年共青團(tuán)入團(tuán)考試測(cè)試題庫(kù)及答案
- DL∕T 2447-2021 水電站防水淹廠房安全檢查技術(shù)規(guī)程
- 人音版三年級(jí)下冊(cè)音樂(lè)《搖船調(diào)》課件
- 動(dòng)脈采血技術(shù)培訓(xùn)課件
- 畢業(yè)論文-顎式破碎機(jī)結(jié)構(gòu)設(shè)計(jì)
- 存貨質(zhì)押貸款業(yè)務(wù)管理辦法
- 接觸網(wǎng)平面設(shè)計(jì)
- 液壓系統(tǒng)課件(完整)課件
- 硬筆書(shū)法:《硬筆書(shū)PPT課件用
- WF-PRM-102便攜式γ劑量率儀使用說(shuō)明書(shū)
- (完整版)河南08定額問(wèn)題匯總
評(píng)論
0/150
提交評(píng)論