




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、10.1 MCS-51單片機(jī)由哪幾部分組成,它們的主要功能是什么?答:51系列單片機(jī)主要由以下幾部分組成: 中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、專用寄存器、I/O端口、定時(shí)/計(jì)數(shù)器(T/C)、全雙工串口(UART)、中斷系統(tǒng)、總線控制和振蕩器等。 10.2 MCS-51單片機(jī)的/EA引腳有何功能?在使用8031時(shí)/EA應(yīng)如何接?答:當(dāng)/EA引腳接高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過(guò)片內(nèi)程序存儲(chǔ)器范圍時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)程序。當(dāng)/EA接低電平時(shí),則只訪問(wèn)外部程序存儲(chǔ)器,不管有沒(méi)有片內(nèi)程序存儲(chǔ)器。對(duì)EPROM版本的8051,此引腳還
2、可接+21V電壓,用于內(nèi)部EPROM編程(Vpp)。使用8031時(shí)應(yīng)接低電平。EAEA 10.3 判斷下列說(shuō)法是否正確。判斷下列說(shuō)法是否正確。(1)DPTR可以分為2個(gè)8位的寄存器使用,但PC不行。(2)片內(nèi)RAM的位尋址區(qū),只能供位尋址使用,不能供字節(jié)尋址使用。(3)為使8051單片機(jī)的準(zhǔn)雙向I/O口工作在輸入方式,必須將它預(yù)先設(shè)置為1。(4)在8051單片機(jī)中,一個(gè)機(jī)器周期等于1s。(5)串行通信幀發(fā)送時(shí),指令把TB8位的狀態(tài)送入發(fā)送SBUF中。(6)特殊功能寄存器IE,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)。(7)同一時(shí)間同一級(jí)別的多中斷請(qǐng)求,將形成阻塞,系統(tǒng)無(wú)法響應(yīng)。(8)8051單片機(jī)的CPU是
3、由RAM和EPROM組成的。(9)串行口方式1的波特率是可變的,通過(guò)定時(shí)器/計(jì)數(shù)器T1的溢出率設(shè)定。(10)在8051的中斷請(qǐng)求中,需外加電路實(shí)現(xiàn)中斷請(qǐng)求撤銷的是外部串行中斷。 (1)對(duì)()對(duì)(2)錯(cuò)()錯(cuò)(3)對(duì)()對(duì)(4)錯(cuò)()錯(cuò)(5)錯(cuò)()錯(cuò)(6)錯(cuò))錯(cuò)(7)錯(cuò)()錯(cuò)(8)錯(cuò)()錯(cuò)(9)對(duì)()對(duì)(10)錯(cuò))錯(cuò) 10.4 MCS-51系列單片機(jī)的基本型芯片有哪幾種?它們的差別是什么? 答:MCS-51系列單片機(jī)的基本型芯片分別是8031、8051和8751。它們的片內(nèi)程序存儲(chǔ)器不同。8031無(wú)片內(nèi)程序存儲(chǔ)器,8051有4KB的片內(nèi)程序存儲(chǔ)器ROM,8751有4KB的片內(nèi)程序存儲(chǔ)器EPROM
4、。 10.5 請(qǐng)指出振蕩周期與機(jī)器周期之間的關(guān)系。當(dāng)晶振頻率為6MHz時(shí),一個(gè)機(jī)器周期為多長(zhǎng)時(shí)間? 答:1個(gè)機(jī)器周期等于12個(gè)振蕩器周期。當(dāng)晶振頻率為6MHz時(shí),一個(gè)機(jī)器周期為2s。 10.6 片內(nèi)RAM低128個(gè)單元是如何劃分的?各部分的主要功能是什么? 答:片內(nèi)RAM低128個(gè)單元可分為三部分:(1)工作寄存器區(qū):地址為00H1FH,分為4組,每組含R0R7共8個(gè)CPU的工作寄存器;(2)位尋址區(qū):地址為20H2FH,可進(jìn)行位操作,也可進(jìn)行字節(jié)操作;(3)用戶RAM區(qū):地址為30H7FH,可用于數(shù)據(jù)緩沖或設(shè)置堆棧。 10.7 8051單片機(jī)復(fù)位后,PSW的內(nèi)容是什么?R3所對(duì)應(yīng)的存儲(chǔ)單元的
5、地址是多少?這時(shí)當(dāng)前的工作寄存器區(qū)是哪一組? 答:8051單片機(jī)復(fù)位后,PSW的內(nèi)容是00H,R3所對(duì)應(yīng)的存儲(chǔ)單元的地址是03H,這時(shí)選擇工作寄存器組0。 10.8 什么是堆棧?它的作用是什么?為什么在程序初始化時(shí)要對(duì)SP重新賦值? 答:堆棧是在內(nèi)存中專門開辟出來(lái)的按照“先進(jìn)后出,后進(jìn)先出”的原則進(jìn)行存取的RAM區(qū)域。堆棧的作用是保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)地址。8051單片機(jī)復(fù)位后,堆棧指針SP指向片內(nèi)RAM地址07H,從08H單元開始是8051的堆棧區(qū),這個(gè)位置與工作寄存器組1的位置相同,因此,在程序初始化時(shí)需要對(duì)SP重新賦值,從而改變堆棧的位置。 10.9當(dāng)晶振頻率為6MHz時(shí),定時(shí)器/計(jì)數(shù)器工作在方
6、式0、1、2下,其最大定時(shí)時(shí)間各為多少? 答:當(dāng)晶振頻率為6MHz時(shí),一個(gè)機(jī)器周期Tcy=12/6s=2s。定時(shí)器/計(jì)數(shù)器工作在方式0下,其最大定時(shí)時(shí)間為:Tmax=213Tcy=16.384ms 同樣可求得定時(shí)器/計(jì)數(shù)器工作在方式1下,其最大定時(shí)時(shí)間為 Tmax=216Tcy=131.072ms 定時(shí)器/計(jì)數(shù)器工作在方式2下,其最大定時(shí)時(shí)間為: Tmax=28Tcy=0.512ms13136maxcyT2T22 1016.384ms 10.10 系統(tǒng)復(fù)位后執(zhí)行下述指令,試問(wèn)T0的定時(shí)時(shí)間為多長(zhǎng)? MOV TH0, #06H MOV TL0, #00H SETB TR0答: 系統(tǒng)復(fù)位后,TMO
7、D=00H,此時(shí)T0工作為方式0、定時(shí)器初值為:TH0=06H,TL0=00H, 因?yàn)椴捎梅绞?工作,丟掉TL0的高3位,則THL0中的二進(jìn)制數(shù)為:0,0000,110 0,0000 即變?yōu)?0C0H,則T0的定時(shí)時(shí)間為:(213-C0H)*Tcy = (8192-192)*Tcy = 8000*Tcy S。 10.11 已知51系列單片機(jī)系統(tǒng)的晶振頻率為12MHz,請(qǐng)編寫程序,使用T0,在P1.0輸出矩形脈沖,其波形如下: 答:系統(tǒng)晶振頻率為12MHz時(shí),一個(gè)機(jī)器周期Tcy=1s。P1.0輸出高低電平時(shí)間分別為50s和150s。T0工作于方式2,定時(shí)150s的計(jì)數(shù)初值為6AH。參考程序如下:
8、ORG0000HLJMPMAINORG000BHLJMPINT0 MAIN:MOV TMOD,#02H ; T0工作于方式2MOV TL0,#6AH;定時(shí)150s初值為6AHSETB TR0;啟動(dòng)T0SETB ET0SETB EACLRP1.0 SJMP $ INT0:CLREACPLP1.0MOV R0,#19H HERE:DJNZ R0,HERE ;延時(shí)50sMOV TL0,#6AHCPLP1.0SETB EASETB TR0RETI 10.12 若單片機(jī)系統(tǒng)的晶振頻率為11.0592MHz,串行口工作于方式1,波特率為4800b/s,請(qǐng)寫出T1作為波特率發(fā)生器的方式控制字和計(jì)數(shù)初值。 答
9、:串行口工作于方式1,晶振頻率為11.0592MHz,由教材P.256的公式計(jì)算,或由表10.8查閱可知,TH1=FAH。即: 方式控制字 :TMOD=20H, 計(jì)數(shù)初值:TH1=TL1=FAH (SMOD=0);。 或或: TH1=TL1=F4H (SMOD=1)。模式1,3波特率SMOD2fosc3212256(TH1) 10.13 編寫中斷初始化程序,將 設(shè)為高優(yōu)先級(jí)中斷,為電平觸發(fā)方式;T0溢出中斷設(shè)為低優(yōu)先級(jí)中斷,串行口中斷為高優(yōu)先級(jí)中斷,其余中斷源設(shè)為禁止?fàn)顟B(tài)。 答:IP=00010100;IE=10010110;初始化程序?yàn)椋?SETBEA SETBEX1 CLRIT1 SETB
10、ET0 SETBES MOVIP,#14HINT1 10.14 中斷服務(wù)子程序與普通子程序有哪些相同和不同之處? 答:當(dāng)發(fā)生中斷的條件滿足時(shí)程序自動(dòng)轉(zhuǎn)向執(zhí)行中斷服務(wù)子程序,而普通子程序需通過(guò)調(diào)用指令才執(zhí)行。中斷服務(wù)子程序的返回指令為RETI,普通子程序的返回指令為RET。RETI指令返回時(shí),同時(shí)清除中斷系統(tǒng)中相應(yīng)的優(yōu)先級(jí)觸發(fā)器,以允許下次中斷,而RET指令沒(méi)有這個(gè)操作。除此之外,RETI與RET指令的其他操作都相同。 11.1 MCS-51單片機(jī)有哪幾種尋址方式?并各舉一例。 答: (1)立即尋址 MOV A,#30H (2) 直接尋址 MOV A,20H (3) 寄存器尋址 MOV A,R0
11、 (4) 寄存器間接尋址 MOV A,R0 (5) 變址尋址 MOVC A,A+PC (6) 位尋址 SETB 20H (7)相對(duì)尋址 SJMP rel 11.2 請(qǐng)指出變址尋址和相對(duì)尋址中的地址偏移量有何異同。 答 相同點(diǎn):兩者都需要與基地址相加才能形成操作數(shù)地址; 相異點(diǎn):變址尋址的地址偏移量是一個(gè)00HFFH范圍內(nèi)的無(wú)符號(hào)數(shù); 而相對(duì)尋址中是一個(gè)8位二進(jìn)制補(bǔ)碼數(shù),其取值范圍為-128+127。 11.3 指出下列每條指令的尋址方式、功能和所占字節(jié)數(shù)。 (1) MOV A,R0 (2) MOV A,direct (3) MOV A,#20H (4) MOVC A,A+PC (5) MOV
12、C,20H (6)MOV DPTR,#0400H 答:(1)寄存器間接尋址,指令功能:將R0所指示的片內(nèi)RAM單元中內(nèi)容送到A,單字節(jié)指令 (2)直接尋址, 指令功能:將direct單元中的內(nèi)容傳送到A,兩字節(jié)指令 (3)立即尋址 指令功能:將立即數(shù)20H送入A,兩字節(jié)指令 (4)變址尋址 指令功能:將PC的當(dāng)前值加與A的偏移量相加得到程序存儲(chǔ)器中的地址,取出其中的內(nèi)容傳送到A,單字節(jié)指令 (5)位尋址 指令功能:將位地址20H單元中的內(nèi)容送入進(jìn)位標(biāo)志位Cy,兩字節(jié)指令 (6)立即尋址 指令功能:將16位立即數(shù)0400H送入DPTR,三字節(jié)指令 11.4 如需訪問(wèn)特殊功能寄存器和片外數(shù)據(jù)存儲(chǔ)器
13、,應(yīng)采用什么尋址方式? 答:訪問(wèn)特殊功能寄存器必須采用直接尋址方式,訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器必須采用寄存器間接尋址的方式。 11.5 若R0=20H,(20H)=30H時(shí),寫出以下每條指令的執(zhí)行結(jié)果. 答: 對(duì)MOV A,20H 有:A=(20H)=30H 對(duì)MOV A,R0, 有: A=20H 對(duì)MOV A,#20H, 有: A=20H 對(duì)MOV A,R0 有:A=(20H)=30H 11.6 已知:A=33H,R1=30H,R3=13H,(20H)=00H,(30H)=FFH,試問(wèn)CPU分別執(zhí)行如下指令后的結(jié)果以及PSW中各標(biāo)志位狀態(tài)如何?(1)DEC A (2) DEC R3 (3) DEC
14、20H (4) DEC R1 答: 根據(jù)減1指令功能,操作結(jié)果為:(1)A=32H,PSW中P=1,其余的各標(biāo)志位狀態(tài) 不變; (2) R3=12H,PSW不變 (3)(20H)=FFH,PSW不變 (4) (30H)=FEH,PSW不變 11.7 已知:40H單元中有一個(gè)正數(shù)X,試寫出對(duì)X求補(bǔ)的程序。答:對(duì)一個(gè)8位帶符號(hào)二進(jìn)制機(jī)器數(shù)的求補(bǔ)可以定義為“求反加1”。相應(yīng)程序?yàn)椋?MOV A,40H CPL A INC A MOV 40H,A 亦可:亦可: CLR A CLR C SUBB A,40H MOV 40H,A 11.8 試編程將試編程將A中的高四位送入中的高四位送入P2口的高四口的高四
15、位,位,P2口低四位不變??诘退奈徊蛔?。 MOV R0,A ;A中內(nèi)容暫存R0 ANL A,#0F0H ;將A的低四位清0,高四位不變 ANL P2,#0FH ;將P2的高四位清0,低四位不變 ORL P2,A ;P2AP2,字節(jié)裝配 MOV A,R0 ;恢復(fù)A中原數(shù) 11-9判斷以下指令的正誤。 (1)MOV 30H,R2 (2)DEC DPTR (3)CLR R0 (4)CPL R5 (5)RLC R1 (6)MOV F0,C 答:(1)錯(cuò)(2)錯(cuò)(3)錯(cuò)(4)錯(cuò)(5)錯(cuò)(6)對(duì) 11.10 試編寫20H和30H單元中內(nèi)容相互交換的程序,要求利用堆棧作為轉(zhuǎn)存單元。 答: MOV SP,#7
16、0H PUSH 20H PUSH 30H POP 20H POP 30H 11.11 將立即數(shù)20H送入片外數(shù)據(jù)存儲(chǔ)器的0F0FH單元。 答: MOV A,#20H MOV DPTR,#0F0FH MOVX DPRT,A 11.12設(shè)A中的內(nèi)容為30H,MOVC A,A+PC指令位于1000H單元,試問(wèn)執(zhí)行指令的結(jié)果,是將程序存儲(chǔ)器的哪一個(gè)單元的內(nèi)容輸入到累加器A中? 答:執(zhí)行指令時(shí)PC=1001H,因此執(zhí)行指令的結(jié)果,是將程序存儲(chǔ)器的1031H單元的內(nèi)容輸入到A中。 11.13 DA A應(yīng)怎樣使用?CPU執(zhí)行該指令時(shí),進(jìn)行二十進(jìn)制調(diào)整的原則是什么? 答:DA A指令主要用于BCD碼運(yùn)算,使用
17、時(shí),應(yīng)跟在ADD或ADDC指令之后,將相加后存放在累加器中的結(jié)果進(jìn)行調(diào)整、修正。 調(diào)整的原則是:若A039或AC=1,則A03+06HA03; 若A479或Cy=1,則A47+06HA47。 若以上二條同時(shí)發(fā)生,或高4位雖等于9 ,但低4位修正后有進(jìn)位,則應(yīng)加66H修正。11.14 11.14 編寫程序?qū)崿F(xiàn)十進(jìn)制減法,計(jì)算編寫程序?qū)崿F(xiàn)十進(jìn)制減法,計(jì)算32-65=-3332-65=-33 MOV M1,#32H ;計(jì)算;計(jì)算BCD碼減法:碼減法:M1-M2M3 MOV M2,#65H CLR C MOV A,#9AH SUBB A,M2 ;減數(shù)對(duì);減數(shù)對(duì)100求求“補(bǔ)數(shù)補(bǔ)數(shù)” ADD A,M1
18、;A被減數(shù)減數(shù)的被減數(shù)減數(shù)的“補(bǔ)數(shù)補(bǔ)數(shù)” DA A CPL C ;Cy取反取反, 得到差的得到差的符號(hào)標(biāo)志符號(hào)標(biāo)志 JNC NEXT MOV R0,A ;將差暫時(shí)存放到;將差暫時(shí)存放到R0 CLR C MOV A,#9AH SUBB A,R0 ;差對(duì);差對(duì)100求求“補(bǔ)數(shù)補(bǔ)數(shù)” SETB C ;置結(jié)果的符號(hào)位為;置結(jié)果的符號(hào)位為1NEXT: MOV M3,A ;減法完成,結(jié)果的數(shù)值部分在;減法完成,結(jié)果的數(shù)值部分在 M3, 符號(hào)位在符號(hào)位在CY中中 11.15 試編寫程序,將內(nèi)部試編寫程序,將內(nèi)部RAM以以BK為起始為起始地址的地址的10個(gè)單元中的數(shù)據(jù)求和,并將結(jié)果送入個(gè)單元中的數(shù)據(jù)求和,并將
19、結(jié)果送入SUM單元。設(shè)和不大于單元。設(shè)和不大于255 MOV R0,#BK MOV R7,#0AH CLR A LOOP:ADD A,R0 INC R0 DJNZ R7,LOOP MOV SUM,A SJMP $ 11.16 試編寫程序從8051的P1.1引腳輸出一個(gè)一個(gè)方波,方波周期為8個(gè)機(jī)器周期。 答: SETB P1.1 NOP NOP NOP CLR P1.1 NOP NOP NOP SETB P1.1 SJMP $ 11.17編程將00H位和01H位中內(nèi)容互換答: MOV C,00H MOV 02H,C MOV C,01H MOV 00H,C MOV C,02H MOV 01H,C
20、SJMP $ 11.18已知內(nèi)部RAM的20H和21H中各有一個(gè)無(wú)符號(hào)8位二進(jìn)制數(shù)。試編程比較他們的大小,并把大數(shù)送到22H單元中。 答: MOV A,20H CJNZ A,21H,L1 L1:JNC LP2 MOV A,21H LP2:MOV 22H,A 12.1 試編寫程序,將外部數(shù)據(jù)存儲(chǔ)器0010H單元與0020H單元中的數(shù)據(jù)互換。解:MOV P2,#00H MOV R0,#10HMOV R1,#20HMOVX A,R0MOV 30H,AMOVX A,R1XCH A,30HMOVX R1,AMOV A,30HMOVX R0,ASJMP $ 12.2 已知一個(gè)補(bǔ)碼形式的16位二進(jìn)制數(shù)(低8
21、位在NUM單元,高8位在NUM+1單元),試編程求出該16位二進(jìn)制數(shù)的絕對(duì)值,并存放在原單元中。 MOV A,NUM+1 JNB A.7,DONE MOV R0,#NUM MOV A,R0 CPL A ADD A,#01H MOV R0,A INC R0 MOV A,R0 CPL A ADDC A,#00H MOV R0 A DONE:SJMP $ 12.3 設(shè)計(jì)一個(gè)10ms的延時(shí)子程序,已知單片機(jī)晶振為6MHZ。解: DELAY:MOV R0,#10 DEL1:MOV R1,#124 DEL2:NOP NOP DJNZ R1,DEL2 DJNZ R0,DEL1 RET12.4 片內(nèi)RAM 2
22、3H單元開始有一單字節(jié)無(wú)符號(hào)數(shù)據(jù)塊,塊長(zhǎng)L在20H單元中,試編程求出塊中各數(shù)據(jù)的累加和并存入21H22H單元(22H單元中存放高8位數(shù)據(jù))。 解答:相應(yīng)程序如下: CLR A MOV R2,A MOV R0,20H MOV R1,#23H LOOP:ADD A,R1 JNC NEXT INC R2 NEXT:INC R1 DJNZ R0,LOOP MOV 21H,A MOV 22H,R2 12.5設(shè)片內(nèi)RAM 20H和21H單元內(nèi)有兩個(gè)無(wú)符號(hào)數(shù)a和b,請(qǐng)編寫求c=a*a+b并把c送入22H的程序,設(shè)a和b皆為小于10的整數(shù)。解:MOV A,20H MOV DPTR,#TABMOVC A,A+D
23、PTR ADD A,21H MOV 22H,A SJMP $ TAB:DB 0,1,4,9,16,25,36, 49,64,81 12.6 編寫一循環(huán)程序,查找片內(nèi)RAM 30H50H單元中含“0AH”的個(gè)數(shù),并將查找結(jié)果存入51H單元。解: ORG 0000H LJMP 0030H ORG 0030H MOV R0,#30H ;數(shù)據(jù)區(qū)首地址R0 MOV R7,#21H ;數(shù)據(jù)個(gè)數(shù)R7 MOV 51H,#00H ;先設(shè)“0AH”出現(xiàn)的次數(shù)為0 LOOP:MOV A,R0 INC R0 CJNE A,#0AH,NEXT ;比較,不等于0AH轉(zhuǎn)移 INC 51H NEXT: DJNZ R7,LOO
24、P SJMP $ END 12.7 已知片內(nèi)已知片內(nèi)RAM 20H和和30H為起始地址的存儲(chǔ)區(qū)中分別有為起始地址的存儲(chǔ)區(qū)中分別有8字節(jié)無(wú)符號(hào)被減數(shù)和減數(shù)(低字節(jié)在前,高字節(jié)在后)。編寫子程序字節(jié)無(wú)符號(hào)被減數(shù)和減數(shù)(低字節(jié)在前,高字節(jié)在后)。編寫子程序完成減法運(yùn)算,并把差放入以完成減法運(yùn)算,并把差放入以20H為起始地址的存儲(chǔ)單元中為起始地址的存儲(chǔ)單元中BUBTR: MOV R0,#20H ;被減數(shù)起始地址送R0 MOV R1,#30H ;減數(shù)起始地址送R1 MOV R2,#08H ;字長(zhǎng)送R2 CLR C LOOP:MOV A,R0 ;被減數(shù)送A SUBB A,R1 ;相減,形成Cy MOV R
25、0,A ;存差 INC R0 ;修改被減數(shù)地址指針 INC R1 ;修改減數(shù)地址指針 DJNZ R2,LOOP ;若未完,則轉(zhuǎn)LOOP RET 12.8 片內(nèi)片內(nèi)RAM 20H單元開始存放著單元開始存放著8個(gè)無(wú)符號(hào)數(shù),編個(gè)無(wú)符號(hào)數(shù),編寫子程序找出其中的最大值送入片內(nèi)寫子程序找出其中的最大值送入片內(nèi)RAM的的30H單元單元 MOV R0,#20H ;數(shù)據(jù)區(qū)首地址送R0 MOV A,R0 ;取第一個(gè)數(shù)做基準(zhǔn)數(shù)送A MOV R7,#07H ;比較次數(shù)送計(jì)數(shù)器R7LOOP:INC R0 ;指向下一個(gè)單元 MOV 30H,R0 ;要比較的數(shù)暫存30H CJNE A,30H,CHK ;兩數(shù)作比較CHK:J
26、NC LOOP1 ;A大,則轉(zhuǎn)移 MOV A,R0 ;A小,則大數(shù)送ALOOP1:DJNZ R7,LOOP ;計(jì)數(shù)器減1,不為零,繼續(xù) MOV 30H,A ;比較完,存結(jié)果 RET 12.9 若SP=60H,標(biāo)號(hào)LABEL所在的地址為3456H。LCALL指令的地址為2000H,執(zhí)行如下指令: 2000HLCALLLABEL 后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC值等于什么?如果指令LCALL直接換成ACALL是否可以?如果換成ACALL指令,可調(diào)用的地址范圍是什么? 解:執(zhí)行指令后:SP=62H, (61H)=03H, (62H)=20H, PC=3456H 指令LCALL直接換成A
27、CALL不行,若換成ACALL指令,可調(diào)用的地址范圍是2000H-27FFH。 12.10 已知已知51系列單片機(jī)系統(tǒng)的晶振頻率為系列單片機(jī)系統(tǒng)的晶振頻率為6MHz,請(qǐng),請(qǐng)編寫程序,使用編寫程序,使用T0定時(shí),在定時(shí),在P1.0輸出連續(xù)矩形波,輸出連續(xù)矩形波,其波形其波形如下:如下: ORG 0030H ;采用查詢方式的程序MAIN: MOV TMOD,#01H ;設(shè)置T0工作于模式1 SETB TR0 ;啟動(dòng)T0WAIT0:SETB P1.0 MOV TH0,#0FFH ;T0計(jì)數(shù)初值(-25的補(bǔ)碼) MOV TL0,#0E7HWAIT1:JNB TF0,WAIT1 CLR TF0 CLR
28、P1.0 MOV TH0,#0FFH ;T0計(jì)數(shù)初值(-75的補(bǔ)碼) MOV TL0,#0B5HWAIT2:JNB TF0,WAIT2 CLR TF0 SJMP WAIT0 ORG 0000H ;采用中斷方式的程序 LJMP MAIN ;跳轉(zhuǎn)至主程序 ORG 000BH ;T0中斷向量地址 AJMP T0ISR ORG 0030HMAIN:MOV SP,#30H ;調(diào)整堆棧指針 MOV TMOD,#01H ;設(shè)置T0工作于模式1 MOV TH0,#0FFH ;T0定時(shí)初值(-25的補(bǔ)碼) MOV TL0,#0E7H MOV IE,#82H ;打開全局中斷和T0中斷 SETB TR0 ;啟動(dòng)T0 SETB P1.0 SETB F0 ;“輸出電平標(biāo)志”置1(輸出高電平) SJMP $ ;循環(huán)等待 ORG 0100H ;定時(shí)器T0中斷服務(wù)程序T0ISR: JNB F0,L1 MOV TH1,#0FFH ; T0計(jì)數(shù)初值(-75的補(bǔ)碼) MOV TL1,#0B5H CLR P1.0 CLR F0 ;“輸出電平標(biāo)志”清0(輸出低電平) SJMP L2 L1: MOV TH0,#0FFH ;T0定時(shí)初值(-25的補(bǔ)碼) MOV TL0,#0E7H SETB P1.0 SETB F0 ;“輸出電
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司聯(lián)歡慰問(wèn)活動(dòng)方案
- 公司組織油畫活動(dòng)方案
- 公司月餅diy活動(dòng)方案
- 公司組織踏青活動(dòng)方案
- 公司蘇州兩日游活動(dòng)方案
- 公司百日安全賽活動(dòng)方案
- 公司網(wǎng)絡(luò)宣傳周活動(dòng)方案
- 2025年戰(zhàn)略管理與籌資行業(yè)考研試題及答案
- 2025年植物學(xué)基礎(chǔ)知識(shí)及應(yīng)用考試卷及答案
- 拓展任務(wù)-火災(zāi)事故的基礎(chǔ)知識(shí)
- 智慧醫(yī)院建設(shè)項(xiàng)目實(shí)施方案
- 項(xiàng)目協(xié)作與溝通過(guò)程中的沖突管理試題及答案
- 2025年軌道車司機(jī)(中級(jí))職業(yè)技能鑒定參考試題庫(kù)(含答案)
- 生物必修1教師用書
- 2024版壓力容器設(shè)計(jì)審核機(jī)考題庫(kù)-多選3-3
- 慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭個(gè)案護(hù)理
- 路由與交換技術(shù)試題及答案
- (完整版)保安培訓(xùn)課件
- 2025屆上海市(春秋考)高考英語(yǔ)考綱詞匯對(duì)照表清單
- 《外匯交易基礎(chǔ)知識(shí)培訓(xùn)》詳解課件
- 汽油化學(xué)品安全技術(shù)說(shuō)明書MSDS
評(píng)論
0/150
提交評(píng)論