




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第1章 思考題及習(xí)題參考答案1寫出下列二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼(設(shè)字長為8位)。(1)001011(2)100110(3)-001011 (4)-111111答:(1)原碼:00001011 反碼:00001011 補(bǔ)碼:00001011(2)原碼:00100110 反碼:00100110 補(bǔ)碼:00100110(3)原碼:10001011 反碼:11110100 補(bǔ)碼:11110101(4)原碼:10111111 反碼:11000000 補(bǔ)碼:110000012已知X和Y,試計(jì)算下列各題的X+Y補(bǔ)和X-Y補(bǔ)(設(shè)字長為8位)。(1) X=1011Y=0011(2) X=1011Y=0111
2、(3) X=1000Y=1100 答:(1)X補(bǔ)碼=00001011 Y補(bǔ)碼=00000011 Y補(bǔ)碼=11111101X+Y補(bǔ)=00001110 X-Y補(bǔ)=00001000(2)X補(bǔ)碼=00001011 Y補(bǔ)碼=00000111 Y補(bǔ)碼=11111001X+Y補(bǔ)=00010010 X-Y補(bǔ)=00000100(3)X補(bǔ)碼=00001000 Y補(bǔ)碼=00001100 Y補(bǔ)碼=11110100X+Y補(bǔ)=00010100 X-Y補(bǔ)=111111003微型計(jì)算機(jī)由那幾部分構(gòu)成?微機(jī)系統(tǒng)由那幾部分構(gòu)成?答:微型計(jì)算機(jī)由微處理器、存儲器、I/O接口電路和系統(tǒng)總線構(gòu)成。 微型計(jì)算機(jī)系統(tǒng)是在微型計(jì)算機(jī)的基礎(chǔ)上
3、,配上必要的外設(shè)(如鍵盤、光驅(qū)等)、電源以及必要的軟件而構(gòu)成的系統(tǒng)。4 什么叫單片機(jī)?它有何特點(diǎn)? 答:單片機(jī)就是在一塊硅片上集成了CPU、RAM、ROM、定時器/計(jì)數(shù)器和多種I/O口(如并行、串行及A/D變換器等)的一個完整的微機(jī)處理系統(tǒng)。單片機(jī)主要特點(diǎn)有:品種多樣,型號繁多;存儲容量大;頻率高,速度快;控制功能強(qiáng),集成度高;功耗低;配套應(yīng)用軟件多。5 單片機(jī)有哪幾種供應(yīng)狀態(tài)?答:片內(nèi)無ROM,片內(nèi)掩模ROM,片內(nèi)EPROM, 片內(nèi)PROM,片內(nèi)FLASH和鐵電存儲技術(shù)(FRAM)存貯器配置。第2章 思考題及習(xí)題參考答案2.1.說明ROM、EPROM、EEPROM和FLASH之間的主要區(qū)別解
4、:ROM為只讀存儲器,在一般情況下只能讀出所存信息,而不能重新寫入。信息的寫入是通過工廠的制造環(huán)節(jié)或采用特殊的編程方法進(jìn)行的,一旦寫入,就能長期保存。EPROM芯片一般允許用戶多次編程和擦除。擦除時,通過向芯片窗口照射紫外光的方法來進(jìn)行。 EEPROM,也稱E2PROM。該類芯片允許用戶多次編程和擦除。擦除時,可采用加電方法在線進(jìn)行。FLASH是一種新型的大容量、速度快、電可擦除可編程只讀存儲器。2.2.EPROM、PROM、動態(tài)RAM、靜態(tài)RAM等存儲器中,哪幾類是可以隨時讀寫的?解:動態(tài)RAM、靜態(tài)RAM這幾類是可以隨時讀寫的。2.3 某ROM芯片中有12根地址輸入端和8個數(shù)據(jù)輸出端,該芯
5、片的存儲容量是多少位?解:芯片的存儲容量是4K*8位。2.4.說明動態(tài)RAM和靜態(tài)RAM的主要區(qū)別,使用時應(yīng)如何選用?解:靜態(tài)(static)RAM,即SRAM。它以觸發(fā)器為基本存儲單元,所以只要不掉電,其所存信息就不會丟失。該類芯片的集成度不如動態(tài)RAM,功耗也比動態(tài)RAM高,但它的速度比動態(tài)RAM快,也不需要刷新電路。在構(gòu)成小容量的存儲系統(tǒng)時一般選用SRAM。在微型計(jì)算機(jī)中普遍用SRAM構(gòu)成高速緩沖存儲器。 動態(tài)(Dynamic)RAM,即DRAM。一般用MOS型半導(dǎo)體存儲器件構(gòu)成,以單個M0S管為基本單元,以極間的分布電容是否持有電荷作為信息的存儲手段,其結(jié)構(gòu)簡單,集成度高。但是,如果不
6、及時進(jìn)行刷新,極間電容中的電荷會在很短時間內(nèi)自然泄漏,致使信息丟失。所以,必須為它配備專門的刷新電路。動態(tài)RAM芯片的集成度高、價格低廉,所以多用在存儲容量較大的系統(tǒng)中。目前,微型計(jì)算機(jī)中的主存幾乎都是使用動態(tài)RAM。 2.5.說明NOR FLASH與NAND FLASH的主要區(qū)別,使用時應(yīng)如何選用?解:NOR Flash具有以下特點(diǎn):(1) 程序和數(shù)據(jù)可存放在同一芯片上,擁有獨(dú)立的數(shù)據(jù)總線和地址總線,能快速隨機(jī)讀取,允許系統(tǒng)直接從Flash中讀取代碼執(zhí)行,而無需先將代碼下載至RAM中再執(zhí)行;(2) 可以單字節(jié)或單字編程,但不能單字節(jié)擦除,必須以塊為單位或?qū)φ瑘?zhí)行擦除操作,在對存儲器進(jìn)行重新
7、編程之前需要對塊或整片進(jìn)行預(yù)編程和擦除操作。但是NOR Flash的擦除和編程速度較慢,塊尺寸又較大,因此擦除和編程操作所花費(fèi)的時間很長,在純數(shù)據(jù)存儲和文件存儲的應(yīng)用中,NOR技術(shù)顯得力不從心。NAND Flash具有以下特點(diǎn):(1) 以頁為單位進(jìn)行讀和編程操作,1頁為256或512B(字節(jié));以塊為單位進(jìn)行擦除操作,1塊為4K、8K或16KB。具有快編程和快擦除的功能,其塊擦除時間是2ms;而NOR技術(shù)的塊擦除時間達(dá)到幾百ms。(2) 數(shù)據(jù)、地址采用同一總線,實(shí)現(xiàn)串行讀取。隨機(jī)讀取速度慢且不能按字節(jié)隨機(jī)編程。(3) 芯片尺寸小,引腳少,是位成本(bit cost)最低的固態(tài)存儲器,將很快突破
8、每兆字節(jié)1美元的價格限制。(4) 芯片包含有失效塊,其數(shù)目最大可達(dá)到335塊(取決于存儲器密度)。失效塊不會影響有效塊的性能,但設(shè)計(jì)者需要將失效塊在地址映射表中屏蔽起來。NOR Flash具有可靠性高、隨機(jī)讀取速度快的優(yōu)勢,在擦除和編程操作較少而直接執(zhí)行代碼的場合,尤其是純代碼存儲的應(yīng)用中廣泛使用,如PC的BIOS固件、移動電話、硬盤驅(qū)動器的控制存儲器等。 NAND Flash結(jié)構(gòu)的閃速存儲器適合于純數(shù)據(jù)存儲和文件存儲,主要作為SmartMedia卡、CompactFlash卡、PCMCIA ATA卡、固態(tài)盤的存儲介質(zhì),并正成為閃速磁盤技術(shù)的核心。 2.6.現(xiàn)有2K8位的RAM芯片若干片,若用
9、線選法組成存儲器,有效的尋址范圍最大是多少KB?若用3-8譯碼器來產(chǎn)生片選信號,則有效的尋址范圍最大又是多少?若要將尋址范圍擴(kuò)展到64KB,應(yīng)選用什么樣的譯碼器來產(chǎn)生片選信號?解:以8086為例,8086有20條地址線,用11條地址線尋址一片2K8位的RAM,余下的9條地址線做線選法的線,故可以并聯(lián)9個芯片,故尋址最大范圍是20KB,若用3-8譯碼器來產(chǎn)生片選信號,9條地址線可以控制3個3-8譯碼器這樣就可以控制24個芯片最大范圍是50KB. 若要將尋址范圍擴(kuò)展到64KB可選用4-16地址譯碼器來產(chǎn)生片選信號。2.7.什么是地址重疊區(qū)?它對存儲器擴(kuò)展有什么影響?解:基本地址和前面全譯碼連接的地
10、址范圍是相同的,但兩者還是有區(qū)別的。區(qū)別在于全譯碼連接時各芯片的地址是唯一的,而部分譯碼連接時各芯片地址不是唯一的,也就是可以由若干個地址都選中同一芯片的同一單元,既所謂的地址重疊區(qū)。由于存在的地址重疊,影響了地址區(qū)的有效使用,也限制了存儲器的擴(kuò)展。因此,在選用部分譯碼時,也要盡可能多選一些高位地址線來作為譯碼器的輸入。2.8如圖2-22若用1K8位片子來擴(kuò)展3K8位RAM,試核算各片的地址范圍為多少?圖2-22 1K8位片子擴(kuò)展的3K8位RAM系統(tǒng)解:A15 A14 A13 A12 A11 A10 A9 A8 A7A6A5A4 A3A2A1A0 地址G1 A B C 1 0 1 0 0 0
11、0 0 0 0 0 0 0 0 0 0 片1:A000H1 0 1 0 0 0 11 1 1 1 1 1 1 1 1 片1:A3FFHA15 A14 A13 A12 A11 A10 A9 A8 A7A6A5A4 A3A2A1A0 地址G1 A B C 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 片2:B000H1 0 1 1 0 0 11 1 1 1 1 1 1 1 1 片2:B3FFHA15 A14 A13 A12 A11 A10 A9 A8 A7A6A5A4 A3A2A1A0 地址G1 A B C 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 片3:B
12、400H1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 片3:B7FFH所以各片地址范圍為:片1:A000H-A3FFH, 片2:B000H-B3FFH, 片3:B400H-B7FFH2.9. 現(xiàn)有8K8位RAM多片,1片3-8譯碼器,要構(gòu)成容量為16K8位的存儲器,請用線譯碼、部分譯碼、全譯碼3種方式分別設(shè)計(jì),畫出連接圖,并指出尋址范圍。解:線譯碼法: 尋址范圍:2000H5FFFH部分譯碼尋址范圍:0000H3FFFH全譯碼:尋址范圍:0000HFFFFH2.10.如何檢查擴(kuò)展的RAM工作是否正常?試編一個簡單的RAM檢查程序,要求此程序能記錄有多少個RAM單元工作有錯?且
13、能記錄出錯的單元地址。解:TEST_CONST EQU 5AHTEST_RAM EQU 03HORG 0000HLJMP INITIAL ORG 0050HINITIAL: MOV R0,#253MOV R1,#3HTEST_ALL_RAM: MOV R2,#0FFHTEST_ONE_RAM: MOV A, R2MOV R1,ACLR AMOV A,R1CJNE A,2H, ERROR_DISPLAYDJNZ R2, TEST_ONE_RAMINC R1DJNZ R0, TEST_ALL_RAMOK_DISPLAY:MOV P1, #11111110BWAIT1: SJMP WAIT1ERRO
14、R_DISPLAY: MOV A, R1MOV P1,AWAIT2: SJMP WAIT2END第3章 思考題及習(xí)題參考答案1. 80C51單片機(jī)的P0P3口在通用I/O口時操作要注意哪些?P0P3口不做通用I/O口時是什么功能?在使用上有何特點(diǎn)? P0P3驅(qū)動能力如何?答:(1)作為通用I/O口時,P0P3都是準(zhǔn)雙向口,輸入引腳信息時都必須先向其鎖存器寫“1”,作為輸出口時P0口需結(jié)上拉電阻。(2)P0可以作為地址/數(shù)據(jù)總線;P2口可以作為地址線的高8位;P3口是雙功能口,每條口線還具有不同的第二功能。(3)P0口的驅(qū)動能力為8個TTL負(fù)載,而其它口僅可驅(qū)動4個TTL負(fù)載。2、MCS-51單
15、片機(jī)運(yùn)行出錯或程序進(jìn)入死循環(huán),如何擺脫困境?答:通過復(fù)位電路復(fù)位3、單片機(jī)的復(fù)位(RST)操作有幾種方法,復(fù)位功能的主要作用是什么?答:單片機(jī)的復(fù)位操作方式有:1、上電復(fù)位;2、手動復(fù)位。復(fù)位功能的主要作用是:復(fù)位時,PC初始化為0000H,使MCS-51單片機(jī)從0000H開始執(zhí)行程4、簡述程序狀態(tài)寄存器PSW寄存器中各位的含義。答:程序狀態(tài)字寄存器PSW,8位。其各位的意義為:CY:進(jìn)位、借位標(biāo)志。有進(jìn)位、借位時CY=1,否則CY=0;AC:輔助進(jìn)位、借位標(biāo)志(高半字節(jié)與低半字節(jié)間的進(jìn)位或借位);F0:用戶標(biāo)志位,由用戶自己定義;RS1、RS0:當(dāng)前工作寄存器組選擇位,共有四組:00、01、
16、10、11;OV:溢出標(biāo)志位。有溢出時OV=1,否則OV=0;P:奇偶標(biāo)志位。存于累加器ACC中的運(yùn)算結(jié)果有奇數(shù)個1時P=1,否則P=0.5、80C51單片機(jī)的當(dāng)前工作寄存器組如何選擇?答:由特殊功能寄存器中的程序狀態(tài)寄存器PSW的RS1、RS0來決定,當(dāng)RS1、RS0為00時,選擇0組;為01時,選擇1組;為10時選擇2組,為11時選擇3組。6. 80C51單片機(jī)的控制總線信號有哪些?各信號的作用如何?答:80C51單片機(jī)的控制總線信號有以下4個,各信號的作用為:RST/VPD: 復(fù)位信號輸入引腳/備用電源輸入引腳;ALE/PROG: 地址鎖存允許信號輸出引腳/編程脈沖輸入引腳;EA/Vpp
17、 : 內(nèi)外存儲器選擇引腳/片內(nèi)EPROM(或FlashROM)編程電壓輸入引腳;PSEN:外部程序存儲器選通信號輸出引腳。7、8051單片機(jī)中EA引腳的作用是什么?答:訪問內(nèi)部或外部程序存儲器的選擇端當(dāng)EA接高電平的時候程序從內(nèi)部ROM開始執(zhí)行,當(dāng)EA為低電平的時候,從外部ROM開始執(zhí)行8、 程序計(jì)數(shù)器PC的作用是什么?答:程序計(jì)數(shù)器PC是一個16位的計(jì)數(shù)器,他總是存放著下一個要取的指令的16位存儲單元地址。用來存放下一條指令的地址。當(dāng)執(zhí)行一條指令時,首先需要根據(jù)PC中存放的指令地址,將指令由內(nèi)存取到指令寄存器中,此過程稱為“取指令”。與此同時,PC中的地址或自動加1或由轉(zhuǎn)移指針給出下一條指今
18、的地址。此后經(jīng)過分析指令,執(zhí)行指令,完成第一條指令的執(zhí)行,而后根據(jù)PC取出第二條指令的地址,如此循環(huán),執(zhí)行每一條指令。9、堆棧有哪些功能?堆棧指示器( SP)的作用是什么?在程序設(shè)計(jì)時,為什么要對 SP重新賦值?答:堆棧在中斷過程中用來保護(hù)現(xiàn)場數(shù)據(jù),復(fù)位后SP=07H,而堆棧一般設(shè)置在通用ROM區(qū)(30H-7FH),在系統(tǒng)初始化時要從新設(shè)置。10、內(nèi)部 RAM低 128單元劃分為哪 3個主要部分?說明各部分的使用特點(diǎn)。 答:80C51內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。各區(qū)域的特性如下:00H1FH為工作寄存器組區(qū),共分4組,每組占用8個RAM字節(jié)單元
19、,每個單元作為一個工作寄存器,每組的8個單元分別定義為8個工作寄存器R0R7。當(dāng)前工作寄存器組的選擇是由程序狀態(tài)字PSW的RS1、RS0兩位來確定。如果實(shí)際應(yīng)用中并不需要使用工作寄存器或不需要使用4組工作寄存器,不使用的工作寄存器組的區(qū)域仍然可作為一般數(shù)據(jù)緩沖區(qū)使用,用直接尋址或用Ri的寄存器間接尋址來訪問。20H2FH為可位尋址區(qū)域,這16個字節(jié)的每一位都有一個地址,編址為00H7FH。當(dāng)然,位尋址區(qū)也可以用作字節(jié)尋址的一般數(shù)據(jù)緩沖區(qū)使用。(3)30H7FH為堆棧、數(shù)據(jù)緩沖區(qū)。11、簡述MCS-51單片機(jī)存儲區(qū)的劃分。答:1)MCS-51單片機(jī)的存儲器從物理結(jié)構(gòu)上分為:片內(nèi)和片外數(shù)據(jù)存儲器,
20、片內(nèi)和片外程序存儲器。2)從邏輯上分別可劃分為:片內(nèi)統(tǒng)一尋址的64KB程序存儲器空間(0000HFFFFH);64KB的片外數(shù)據(jù)存儲器空間(0000HFFFFH);256B的片內(nèi)數(shù)據(jù)存儲器空間(00HFFH)。12、MCS-51基本型單片機(jī)的中斷入口地址各為多少。答:外部中斷0 中斷入口地址 0003H定時/計(jì)數(shù)器0 中斷入口地址 000BH外部中斷1 中斷入口地址 0013H定時/計(jì)數(shù)器1 中斷入口地址 001BH串行接口 中斷入口地址 0023H13、什么是指令周期、機(jī)器周期和狀態(tài)周期?答:指令周期:指令的執(zhí)行時間;機(jī)器周期:CPU完成一個最簡單的指令所需要的時間;狀態(tài)周期:晶振信號周期的
21、2倍。14、已知一MCS51單片機(jī)系統(tǒng)使用6MHZ的外部晶體振蕩器,計(jì)算:該單片機(jī)系統(tǒng)的狀態(tài)周期與機(jī)器周期各為多少?解:由于晶振為6MHz,所以機(jī)器周期為2us,因?yàn)橐粋€機(jī)器周期由6個狀態(tài)周期組成,所以狀態(tài)周期1/3us第4章 思考題及習(xí)題參考答案1. 尋址方式是什么?答:尋址方式是尋找操作數(shù)或操作數(shù)地址的方式。2. 89C51指令系統(tǒng)有哪幾種尋址方式?答:89C51的尋址方式有七種。即:寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、基址寄存器加變址寄存器變址尋址、相對尋址和位尋址。3、訪問特殊功能寄存器SFR可以采用哪些尋址方式?答:直接尋址和位尋址方式。4、訪問RAM單元可以采用哪些尋址
22、方式?訪問外部RAM單元有哪些指令?答:直接尋址、寄存器間接尋址和位尋址方式。訪問外部RAM單元的指令有4條:MOVX A,DPTR MOVX A,Ri MOVX DPTR,A MOVX Ri,A 5、訪問外部程序存儲器可以采用哪些尋址方式?訪問外部程序存儲器有哪些指令?答:立即尋址、變址尋址和相對尋址方式。訪問外部程序存儲器的指令有2條MOVC A,A+DPTR MOVC A,A+PC 6、試寫出完成以下每種操作的指令序列。 (1)將R0的內(nèi)容傳送到片內(nèi)RAM 20H;(2)將R1的內(nèi)容傳送到R0; (3)內(nèi)部RAM單元10H的內(nèi)容傳送到外部RAM單元1000H; (4)外部RAM單元100
23、0H的內(nèi)容傳送到R5; (5)外部ROM單元1000H的內(nèi)容傳送到R5; (6)外部RAM單元2000H的內(nèi)容傳送到外部RAM單元2001H。答:(1)MOV 20H,R0(2) MOV A,R1MOV R0,A(3)MOV A,10HMOV DPTR,#1000HMOVX DPTR,A(4)MOV DPTR,#1000HMOVX A,A+DPTRMOV R5,A(5) MOV DPTR,#1000HMOV A,#00HMOVC A,A+DPTRMOV R5,A(6) MOV DPTR,#2000HMOVX A,DPTRINC DPTRMOVX DPTR,A7. 設(shè)內(nèi)部RAM (30H)=60
24、H, (60H)=10H, (10H)=20H, (R1)=22H,(P1)=0AH, 分析以下程序執(zhí)行后(30H)=?, (60H)= ?, (10H)= ?,(A)= ?,(B)= ?,(P2)= ?每條指令的機(jī)器碼為多少? MOV R0, 30H MOV A, R0 MOV R1, A MOV B, R1 MOV R1, P1 MOV P2, P1 MOV 10H, 90H 答: MOV R0, 30H ; (R0)= 30H , 78 30 MOV A, R0 ; (A) =60H , E6 MOV R1, A ; (R1) =60H , F9 MOV B, R1 ; (B) = 10
25、H , 87 F0 MOV R1, P1 ; (60H) =0AH , A7 90 MOV P2, P1 ; (P2) =0AH , 85 90 A0 MOV 10H, 90H ; (10H) =90H , 75 10 90 (30H)= 60H, (60H)= 0A H, (10H)= 90H,(A)= 60H,(B)= 10H,(P2)= 0AH8. 設(shè)外部RAM (2030H)=0FH, 分析以下指令執(zhí)行后(DPTR)=?, (30H)=?, (2030H)=?(A)=?每條指令的機(jī)器碼為多少? MOV DPTR, 2030H MOVX A, DPTR MOV 30H, A MOV A,
26、 3FH MOVX DPTR, A 答:MOV DPTR, 2030H ; (DPTR) = 2030H , 90 20 30 MOVX A, DPTR ; (A) =0FH , E0 MOV 30H, A ; (30H) =0FH , F5 30 MOV A, 3FH ; (A) =3FH , 74 3F MOVX DPTR, A ; (2030H)=3FH , F0 執(zhí)行結(jié)果為: (DPTR)=2030H, (30H)=0FH, (2030H)=3FH ,(A)=3FH。 9、編寫指令實(shí)現(xiàn)下列位操作。 (1)使累加器的最高2位清零; (2)屏蔽(清零)20H的高4位; (3)將E0H的低4
27、位取反,高4位不變;(4)將P0的低2位置1。(5)將10H的內(nèi)容取補(bǔ)后存放到20H答:(1)CLR ACC.7 CLR ACC.6(2) ANL 20H,#0FH(3) XRL E0H,#0FH(4)ORL P0,#03H(5) XRL 10H,#0FFHINC 10HMOV 20H,10H10. 在外部程序存儲器中, 從1020H單元開始依次存放09的平方值: 0、 1、 4、 9、 、81, 要求依據(jù)累加器A中的值(09)來查找所對應(yīng)的平方值, 試設(shè)計(jì)程序?qū)崿F(xiàn)。 答:MOV DPTR, 1020H MOVC A, A+DPTR 11. 設(shè)(R0)=20H, (20H)=40H, (A)=
28、58H, 則: 執(zhí)行 XCH A, R0 后 (A)=?, (20H)=? 若執(zhí)行 XCHD A, R0 后 (A) =?, (20H) =?答:執(zhí)行 XCH A, R0 后 (A)=40H, (20H)=58H若執(zhí)行 XCHD A, R0 后 (A) =50H, (20H) =48H12、試編寫程序序列,完成兩個16位數(shù)的減法:(30H)(31H)(10H)(11H) (30H)(31H)。答:CLR CMOV A,31HSUBB A,11HMOV 31H,AMOV A,30HSUBB A,10HMOV 30H,A13、試編寫程序,將R0中的低4位數(shù)與R1中的高4位數(shù)合并成一個8位數(shù),并將其
29、存放在R0中。答:MOV A,R0ANL A,#0FHMOV B,AMOV A,R1ANL A,#0F0HORL A,BMOV R0,A14. 設(shè)計(jì)雙字節(jié)無符號數(shù)加法程序?qū)崿F(xiàn)(R0 R1)+(R2 R3) (R4 R5), R0、 R2、 R4存放16位數(shù)的高字節(jié), R1、 R3、 R5存放低字節(jié),假設(shè)其和不超過16位。答:MOV A, R1 ADD A, R3 MOV R5, A MOV A, R0 ADDC A, R2 MOV R4, A 15. 設(shè)計(jì)雙字節(jié)無符號數(shù)相減程序?qū)崿F(xiàn)(R0 R1)(R2 R3) (R4 R5)。R0、 R2、 R4存放16位數(shù)的高字節(jié), R1、 R3、 R5存放
30、低字節(jié), 答: MOV A, R1 CLR C SUBB A, R3 MOV R5, A MOV A, R0 SUBB A, R2 MOV R4, A 17. 設(shè)2個BCD碼數(shù)存在外部RAM的2000H和內(nèi)部RAM的20H。設(shè)計(jì)程序?qū)崿F(xiàn)2個BCD碼相加,其結(jié)果的十位和個位送到外部 RAM的2000H單元, 結(jié)果的百位值送F0位。答: MOV DPTR,#2000H MOVX A,DPTR ADD A, 20H DA A MOVX DPTR, A MOV F0H,CY18. 設(shè)變量X存放在片內(nèi)10H單元中, 函數(shù)Y存放在片內(nèi)20H單元。 編寫程序?qū)崿F(xiàn)如下函數(shù)功能。 80H X0 Y= 50 X=
31、0 FFH X0則轉(zhuǎn)移到POSI MOV A, 0FFH ; 若X0 時A=80H COMP: MOV 20H, A ; 存函數(shù)Y值 SJMP $ ; 等待19. 利用位邏輯指令, 模擬下圖硬件邏輯電路功能。試編寫程序?qū)崿F(xiàn)。答:MOV CY,P1.0ANL CY,P1.1CPL CYMOV F0,CYMOV CY,P1.1ORL CY,P1.2ANL CY,F0CPL CY MOV F0,CY20.若(CY)=0,(P1)=10110111B,試指出執(zhí)行下列程序段后,CY、P1口內(nèi)容的變化情況。 MOV P1.2,C MOV C, P1.4 JBC P1.7 ,SS ORL C, P1.6SS
32、:CPL P1.3 ANL C, /P1.3 MOV P1.0,C答:(CY)=0,(P1)=0011 1010B第5章 思考題及習(xí)題參考答案1、80C51單片機(jī)匯編語言有何特點(diǎn)?答:優(yōu)點(diǎn):源程序結(jié)構(gòu)緊湊、靈活,匯編成的目標(biāo)程序效率高,具有占存儲空間少、運(yùn)行速度快、實(shí)時性強(qiáng)等優(yōu)點(diǎn)。缺點(diǎn):由于它是面向機(jī)器的語言,所以它缺乏通用性,編程復(fù)雜繁瑣,但應(yīng)用相當(dāng)廣泛。2、利用80C51單片機(jī)匯編語言進(jìn)行程序設(shè)計(jì)的步驟如何?答:(1).需要對單片機(jī)應(yīng)用系統(tǒng)預(yù)先完成的任務(wù)進(jìn)入深入的分析,明確系統(tǒng)的設(shè)計(jì)任務(wù)、功能要求、技術(shù)指標(biāo)。(2).要對系統(tǒng)的硬件資源和工作環(huán)境進(jìn)行分析和熟悉.(3).利用數(shù)學(xué)方法或數(shù)學(xué)模型
33、來對其進(jìn)行描述,從而把一個實(shí)際問題轉(zhuǎn)化成由計(jì)算機(jī)進(jìn)行處理的問題。(4).對各種算法進(jìn)行分析比較,并進(jìn)行合理的優(yōu)化。3、常用的程序結(jié)構(gòu)有哪幾種?特點(diǎn)如何?答:常用的程序結(jié)構(gòu)有以下幾種: (1)順序程序結(jié)構(gòu):順序結(jié)構(gòu)是按照邏輯操作順序,從某一條指令開始逐條順序進(jìn)行,直到某一條指令為止;比如數(shù)據(jù)傳送與交換、查表程序和查表程序的設(shè)計(jì)等;在順序結(jié)構(gòu)中沒有分支,也沒有子程序,但它是組成復(fù)雜程序的基礎(chǔ)和主干; (2)分支程序結(jié)構(gòu):它的主要特點(diǎn)是程序執(zhí)行流程中必然包含有條件判斷指令,符合條件要求的和不符條件合要求的有不同的處理程序; (3)循環(huán)程序結(jié)構(gòu) :它在本質(zhì)上只是分支程序中的一個特殊形式,它由循環(huán)初始化
34、、循環(huán)體、循環(huán)控制和結(jié)束部分構(gòu)成;在循環(huán)次數(shù)已知情況下,采用計(jì)數(shù)循環(huán)程序,其特點(diǎn)是必須在初始部分設(shè)定計(jì)數(shù)的初始值,循環(huán)控制部分依據(jù)計(jì)數(shù)器的值決定循環(huán)次數(shù);根據(jù)控制循環(huán)結(jié)束的條件,決定是否繼續(xù)循環(huán)程序的執(zhí)行。 (4)子程序:它的主要特點(diǎn)是,在執(zhí)行過程中需要由其它的程序來調(diào)用,執(zhí)行完后又需要把執(zhí)行流程返回到調(diào)用該子程序的主程序。4、子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種?答:在80C51單片機(jī)中,子程序調(diào)用時,參數(shù)的傳遞方法由三種:(1)、利用累加器A或寄存器;(2)、利用存儲器;(3)、利用堆棧。5、什么是偽指令?常用的偽指令功能如何?答:偽指令是匯編程序能夠識別并對匯編過程進(jìn)行某種控制的匯編命令
35、。常用的偽指令有: (1)起始地址設(shè)定偽指令ORG,該指令的功能是向匯編程序說明下面緊接的程序段或數(shù)據(jù)段存放的起始地址; (2)匯編結(jié)束偽指令END,該指令的功能是匯編程序遇到END偽指令后立即結(jié)束匯編; (3)字節(jié)數(shù)據(jù)定義偽指令DB,該指令的功能是從標(biāo)號指定的地址單元開始,在程序存儲器中定義字節(jié)數(shù)據(jù); (4)字?jǐn)?shù)據(jù)定義偽指令DW,該指令的功能是從標(biāo)號指定的地址單元開始,在程序存儲器中定義字?jǐn)?shù)據(jù); (5)空間定義偽指令DS,該指令的功能是從標(biāo)號指定的地址單元開始,在程序存儲器中保留由表達(dá)式所指定的個數(shù)存儲單元作為備用空間,并都填以零值; (6)賦值偽指令EQU,該指令的功能是將表達(dá)式的值或特定
36、的某個匯編符號定義為一個指定的符號名; (7)位地址符號定義偽指令BIT,該指令的功能是將位地址賦給指定的符號名。6:把外部RAM的2000-20FFH RAM空間置零程序如下: ORG 0000H MOV R0,#00H MOV DPTR,#2000H ;空間首地址送DPTRLOOP: MOV A,#00H MOVX DPTR,A;清零 INC DPTR;DPTR加1 INC R0;字節(jié)數(shù)加1 CJNE R0,#00H,LOOP;連續(xù)清256個字節(jié)LOOP1: SJMP LOOP1 END軟件仿真時為了更好地看到結(jié)果,把清零改為了賦值55H。7、錄入并調(diào)試一個排序子程序,其功能為用冒泡法將內(nèi)
37、部RAM中從50H開始的十個單字節(jié)無符號正整數(shù),按從小到大的次序重新排列。程序如下:用冒泡法進(jìn)行數(shù)據(jù)排序ORG 0000HMOV R3,#50HLOOP0:MOV A,R3MOV R0,A;指針?biāo)蚏0MOV R7,#0AH;長度送R7CLR 00H ;標(biāo)志位為0MOV A,R0LOOP1:INC R0MOV R2,ACLR CMOV 22H,R0CJNE A,22H,LOOP2;相等嗎?SETB CLOOP2:MOV A,R2JC LOOP3;小于或等于不交換SETB 00HXCH A,R0DEC R0XCH A,R0INC R0;大于交換位置LOOP3:MOV A,R0DJNZ R7,LOO
38、P1JB 00H,LOOP0;最后一次循環(huán)中有交換繼續(xù)LOOP:SJMP LOOP;無交換退出END8、設(shè)被加數(shù)存放在內(nèi)部RAM的20H、21H單元,加數(shù)存放在22H、23H單元,若要求和存放在24H、25H中,試編寫出16位數(shù)相加的程序。答: ORG 0000HCLR CMOV A,21HADDC A,23HMOV 25H,AMOV A,20HADDC A,22HMOV 24H,ASJMP $END9、編寫一段程序,把外部RAM中1000H1030H單元的內(nèi)容傳送到內(nèi)部RAM的30H60H單元中。答: ORG 0030H MOV R1,#49 MOV R0,#30H MOV DPTR,#10
39、00HLOOP: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R1,LOOP SJMP $ END 10、編寫程序,實(shí)現(xiàn)雙字節(jié)無符號數(shù)加法運(yùn)算,要求(R1R0)+(R7R6)(61H60H)。答: MOV A,R0 ADD A,R6 MOV 60H,A MOV A,R1 ADDC A,R7 MOV 61H,A SJMP $11、用R0和R1作數(shù)據(jù)指針,R0指向第一個加數(shù),并兼作“和”的指針,R1指向另一個加數(shù),字節(jié)存放到R2中作計(jì)數(shù)初值。答:主程序:JAFA: MOV R0,#20H ;指向加數(shù)最低字節(jié)MOV R1,#29H ;指向另一加數(shù)最低字節(jié)MOV
40、 R2,#04H ;字節(jié)數(shù)作計(jì)數(shù)值A(chǔ)CALL JASUB ;調(diào)用加法子程序AJMP $ RET 多字節(jié)加法子程序:JASUB: CLR CJASUB1: MOV A,R0 ;取出加數(shù)的一個字節(jié)(無符號數(shù)加數(shù))ADDC A,R1 ;加上另一數(shù)的一個字節(jié)MOV R0,A ;保存和數(shù)INC R0 ;指向加數(shù)的高位INC R1 ;指向另一加數(shù)的高位DJNZ R2,JASUB1 ;全部加完了嗎?RET12、在內(nèi)部RAM的21H單元開始存有一組單字節(jié)不帶符號數(shù),數(shù)據(jù)長度為30H,要求找出最大數(shù)存入BIG單元。答:START: MOV R7,30H DEC R7 MOV R0,#21HMOV A,R0 LO
41、OP:INC R0 CLR C SUBB A,R0 JNC NEXT MOV A,R0NEXT:DJNZ R7,LOOP MOV BIG, A SJMP $ END13、求雙字節(jié)補(bǔ)碼程序 設(shè)雙字節(jié)數(shù)放在內(nèi)部RAM的30H和31H單元(高字節(jié)在低地址),將其取補(bǔ)后存入40H(存放高字節(jié))和41H(存放低字節(jié))單元答:START:MOV A,31H CPL A ADD A,#01H MOV 41H,A MOV A,30H CPL A JNC DONE ADD A,#01HDONE:MOV 30H,A SJMP $14、編程統(tǒng)計(jì)累加器A中“1”的個數(shù)。答: MOV R1,#0 PUSH ACCLOO
42、P1:JZ DONE CLR C RLC A JNC LOOP1 INC R1 SJMP LOOP1DONE:POP ACC SJMP $ END15、編程序?qū)崿F(xiàn)1+2+3+100?答:匯編代碼如下: H_Byte EQU R4 ;保存結(jié)果,高8位L_Byte EQU R5 ;保存結(jié)果,低8位Max_Adder EQU 100 ;最大的加數(shù) ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R2,#1 ;加數(shù) MOV R4,#0 MOV R5,#0 START: MOV A,#Max_Adder CLR CY SUBB A,R2 JC RESULT MOV A,R
43、2 ADD A,L_ByteMOV L_Byte,A ;保存低位MOV A,H_ByteADDC A,#0MOV H_Byte,A ;保存高位 INC R2 JMP START RESULT: SJMP $ ;只用于調(diào)試 END C語言代碼如下: #include at89x51.h /由于這里只是計(jì)算結(jié)果,所以這行代碼可以去掉 void main(void) unsigned char i=1; unsigned int result=0; for(i=1;ic & b=c (False) (2) a|b+c&b-c (True) (3)!(ab) & !c| 1 (True)(4)!(a+
44、b)+c-1&b+c/2 (True)6.7用分支結(jié)構(gòu)編程實(shí)現(xiàn),輸入”1”時顯示“a”,輸入”2”時顯示“b”,輸入”3”時顯示“c”,輸入”4”時顯示“d”,輸入”5”時結(jié)束。 答:#include #include #define uchar unsigned char#define uint unsigned intuchar i;void main()printf(please input the numbern);scanf(%d,&i);switch (i)case 1: printf(a);break;case 2: printf(b);break;case 3: printf(
45、c);break;case 4: printf(d);break;case 5: break; default: printf(Error!);while(1); 6.8 輸入3個無符號數(shù)據(jù),要求按由大到小的順序輸出。解:#include #include #define uchar unsigned char#define uint unsigned intuint a,b,c;void main() uint max, min, med; scanf(%d,%d,%d, &a , &b, &c); if (ab & bc) max=a; med=b; min=c; else if (ab
46、& bc) max=a; med=c; min=b; else if (ab & bc & aa & ba & bc & ac) max=b; med=a; min=c; else max=b; med=c; min=a; printf(%d%d%dn, max, med, min);6.9 用循環(huán)結(jié)構(gòu)編寫程序?qū)崿F(xiàn)輸出1-10的平方和解:#include #include #define uchar unsigned char#define uint unsigned intuint sum=0;void main( ) uchar i; for (i=1;i=10;i+) sum = sum
47、 +i*i;printf(sum=%d,sum);6.10設(shè)fsoc=12MHz,8051定時器0的方式0、方式1、方式2的最大定時間隔分別是多少?答:fsoc=12MHz,故計(jì)數(shù)周期為1us,所以:方式0最大計(jì)數(shù)為213=8192,T0=8192us;方式1最大計(jì)數(shù)為216=65536,T1=65536us;方式2最大計(jì)數(shù)為28=256,T1=256us; 6.11用單片機(jī)內(nèi)部定時器來產(chǎn)生矩形波, 設(shè)單片機(jī)時鐘頻率為l2MHz。要求在p1.0引腳上輸出頻率為1kHz。試寫出有關(guān)的程序。答:用定時器0的方式1編程,采用中斷方式。#include sbit P10=P10;void time0(
48、void) interrupt 1 using 1 P10=P10; TH0=(65536-500)/256; TL0=(65536-500)%256;void main(void) TMOD=0 x01; TH0=(65536-500)/256; TL0=(65536-500)%256; EA=1; ET0=1; TR0=1; while (1); 6.12設(shè)fosc=12MHz,用延時程序要求在P0口上輸出頻率為1Hz的流水燈,試寫出有關(guān)的程序,并給出Proteus硬件仿真結(jié)果。答:(1)建立文件夾LED。(2)在桌面點(diǎn)擊Keil uVision4圖標(biāo),啟動Vision4,彈出界面如圖6.
49、9(左)所示。(3)新建一個項(xiàng)目工程:選擇ProjectNew uVision Project選項(xiàng),彈Creat new Project對話框如圖6.9(右)所示,找到第一步新建的文件夾LED,并在文件名中給定一個項(xiàng)目工程名,不建議用中文,如sw。點(diǎn)擊保存進(jìn)入到Select Device for Target界面,并從器件庫中選擇一個單片機(jī)芯片,如Atmel公司的AT89C51,如圖6.10(左)所示,點(diǎn)擊OK回到界面6.9(左)。(4)建立C文件:選擇FileNew,建立text1文件。再選擇FileSave As彈出對話框如圖6.10(右)所示,在文件名中輸入led.c,然后在文件中輸入下
50、列程序代碼。# include void delay(x,y) int i,j; for(i=0;ix;i+) for(j=0;jy;j+); void main()int a=200;int b=200;char LED=1;while (1) char i;for(i=0;i8;i+) P0=(LED(8-i);/循環(huán)左移i位delay(a,b); (5)在項(xiàng)目工程中添加源文件:點(diǎn)擊Target1會出現(xiàn)Source Group1圖標(biāo),右擊Source Group1,在彈出的快捷菜單中選擇Add File to GroupSource Group1選項(xiàng),進(jìn)入到Add File to Grou
51、pSource Group1界面,選擇第四步建立的程序文件(led.c),點(diǎn)擊Add按鈕,將源文件添加到項(xiàng)目中。(6)設(shè)置項(xiàng)目工程參數(shù):在Project菜單的下拉選項(xiàng)中,單擊Options for TargetTarget 1選項(xiàng),完成以下設(shè)置:單片機(jī)工作頻率設(shè)置為12MHz;Output標(biāo)簽下的Create HEX File前小框中要打鉤;表示可以生成HEX目標(biāo)代碼;在Debug標(biāo)簽下選擇Use Simulator(默認(rèn)項(xiàng))。(7)編譯項(xiàng)目工程:選擇ProjectRebuild all Target file選項(xiàng)完成匯編,也可以用工具欄中的快捷方式,編譯界面如圖6.11所示。(8)軟件調(diào)試:
52、編譯成功后在Debug菜單選項(xiàng)中單擊Start/Stop Debug Session進(jìn)入調(diào)試狀態(tài)。在Debug菜單下選擇Step(單步)運(yùn)行方式,可以實(shí)時觀察程序運(yùn)行狀態(tài),單步運(yùn)行調(diào)試界面如圖6.12所示;如果選擇Run,則程序進(jìn)入到連續(xù)運(yùn)行方式。(9)打開Proteus軟件:雙擊桌面上的Proteus 8 Professional圖標(biāo)或者單擊開始程序Proteus 8 ProfessionalProteus 8 Professional命令,出現(xiàn)如圖6.13所示屏幕,表明進(jìn)入Proteus集成環(huán)境主頁Home page,點(diǎn)擊藍(lán)色I(xiàn)SIS圖標(biāo)(Schematic Capture),進(jìn)入到ISI
53、S仿真界面。(10)添加元件,繪制原理圖:單擊對象選擇器按鈕,彈出“Pick Devices”頁面,在“Keywords”輸入AT89C51,將單片機(jī)選中放入電路圖中,然后將LED添加進(jìn)來。(11)添加電源、地和示波器:點(diǎn)擊中的第一個按鈕,在元件列表中選擇GROUND、POWER(電源和地);單擊最后一個按鈕,在元件列表中選擇OSCILLOSCOPE(示波器)。(12)加載可執(zhí)行二進(jìn)制文件:選擇單片機(jī)AT89S51,用鼠標(biāo)左鍵單擊,在彈出圖6.14對話框的Program File后面加載Keil軟件生成的*.HEX文件,單擊“OK”按鈕即可。(13)運(yùn)行,得到仿真結(jié)果。第7章思考題及習(xí)題參考答
54、案1. 什么是中斷、中斷源、中斷服務(wù)程序、中斷程序入口地址?答: 當(dāng)有中斷源申請中斷,并允許響應(yīng)時,當(dāng)前執(zhí)行的程序會轉(zhuǎn)去執(zhí)行中斷服務(wù)子程序,此時被中斷的原程序的位置就成為斷點(diǎn),斷點(diǎn)是完成中斷服務(wù)子程序,返回原程序繼續(xù)執(zhí)行的位置。導(dǎo)致中斷產(chǎn)生的事件和原因統(tǒng)稱為中斷源。處理暫停主程序后轉(zhuǎn)去執(zhí)行的,用來處理中斷事件的程序成為中斷服務(wù)子程序。中斷程序入口地址是指的中斷服務(wù)子程序的第一條指令所在的地址。2. 80C51單片機(jī)的中斷系統(tǒng)有幾個中斷源?幾個中斷優(yōu)先級?中斷優(yōu)先級是如何控制的?在出現(xiàn)同級中斷申請時,CPU按什么順序響應(yīng)(按由高級到低級的順序?qū)懗龈鱾€中斷源)?各個中斷源的入口地址是多少?答:80
55、C51單片機(jī)有5個中斷源,2個中斷優(yōu)先級,中斷優(yōu)先級由特殊功能寄存器IP控制,在出現(xiàn)同級中斷申請時,CPU按如下順序響應(yīng)各個中斷源的請求:INT0、T0、INT1、T1、串口,各個中斷源的入口地址分別是0003H、000BH、0013H、001BH、0023H。3. 保護(hù)斷點(diǎn)是保護(hù)什么,怎么保護(hù)的,中斷返回后的下一步到到哪里去? 答:保護(hù)斷點(diǎn)是保護(hù)主程序暫停時的下一條將要執(zhí)行的指令的地址。保護(hù)方法是將下一條指令的地址值入棧。中斷返回后,斷點(diǎn)地址從堆棧中彈出到程序計(jì)數(shù)器或指令指針寄存器,繼續(xù)執(zhí)行主程序。4.保護(hù)現(xiàn)場有什么作用?在80C51中保護(hù)現(xiàn)場和保護(hù)斷點(diǎn)有什么區(qū)別?答:當(dāng)響應(yīng)中斷時,執(zhí)行的中
56、斷服務(wù)子程序很可能和主程序使用同一個寄存器,當(dāng)執(zhí)行完中斷服務(wù)子程序后,這些共用的寄存器值發(fā)生改變,那么返回主程序后,會導(dǎo)致主程序出錯。為了預(yù)防這點(diǎn),所以需要保護(hù)現(xiàn)場。在80C51中,保護(hù)斷點(diǎn)全部是由硬件自動完成,而保護(hù)現(xiàn)場必須由用戶自己編寫處理,保護(hù)的內(nèi)容根據(jù)中斷服務(wù)子程序中使用到的寄存器進(jìn)行保存。5. 80C51各中斷源對應(yīng)的中斷服務(wù)程序的入口地址是否能任意設(shè)定? 如果想將中斷服務(wù)程序放置在程序存儲區(qū)的任意區(qū)域,在程序中應(yīng)該作何種設(shè)置?請舉例加以說明答:各中斷源的入口地址已經(jīng)在中斷地址區(qū)中被定義了,不能任意設(shè)定。 如果要將中斷服務(wù)程序放置在程序存儲區(qū)的任意區(qū)域,在程序中要通過在中斷地址區(qū)的對
57、應(yīng)地址上設(shè)置跳轉(zhuǎn)指令才可實(shí)現(xiàn)對中斷服務(wù)程序的執(zhí)行。 例如:外部中斷0的中斷服務(wù)程序INT0P放置在程序存儲區(qū)的任意區(qū)域,此時,通過以下方式,可實(shí)現(xiàn)對中斷服務(wù)程序的執(zhí)行: ORG0003H LJMP INTOP6. 簡述子程序調(diào)用和執(zhí)行中斷服務(wù)程序的異同點(diǎn)答:相同點(diǎn):均能中斷主程序執(zhí)行本程序,然后再返回斷點(diǎn)地址繼續(xù)執(zhí)行主程序。不同點(diǎn):1)中斷服務(wù)程序入口地址是固定的,子程序調(diào)用入口地址是用戶自己設(shè)定的。 2)中斷服務(wù)子程序返回指令除具有子程序返回指令所具有的全部功能之外,還有清除中斷響應(yīng)時被置位的中斷請求標(biāo)志位的功能。 3)中斷服務(wù)子程序是在滿足中斷申請的條件下,隨機(jī)發(fā)生的;而子程序調(diào)用是用戶主
58、程序事先安排好的。7. 80C51單片機(jī)開中斷總允許的指令是_,初始化時一般在什么時候開總中斷允許?答: SETB EA或者EA=1.一般在初始化的后面或者最后開總中斷允許,防止單片機(jī)啟動時產(chǎn)生意外的中斷。8 當(dāng)80C51某個中斷源有中斷請求時,處理器響應(yīng)這個中斷的條件是什么? 答:1)相應(yīng)的中斷使能控制位為1 2)全局使能控制位EA=1 3)當(dāng)前沒有在執(zhí)行同優(yōu)先級中斷或更高優(yōu)先級中斷的中斷服務(wù)子程序。9.簡述80C51的各個中斷源是如何撤銷中斷申請的?答: 80C51各中斷源的中斷申請撤銷方法是:定時/計(jì)數(shù)器中斷:在中斷被響應(yīng)后,由硬件自動清零中斷申請標(biāo)志位;串口中斷:由軟件清零中斷申請標(biāo)志
59、位;下降沿觸發(fā)時的外部中斷:中斷被響應(yīng)后,由硬件自動清零中斷申請標(biāo)志位;低電平電平觸發(fā)的外部中斷:需要設(shè)計(jì)專門的電路,通過軟件編程通知外部中斷源,由外部中斷源撤銷申請。10 80C51單片機(jī)的定時/計(jì)數(shù)器可選擇_個時鐘源,當(dāng)選擇外部時鐘源時,通常作為_,當(dāng)選擇內(nèi)部時鐘源時,通常用為_。答: 2,計(jì)數(shù)器,定時器11. 80C51單片機(jī)的定時功能和計(jì)數(shù)功能本質(zhì)上有區(qū)別嗎?為什么?答:定時/計(jì)數(shù)器的計(jì)數(shù)和定時功能其本質(zhì)上都是通過計(jì)算時鐘信號的下降沿個數(shù)來實(shí)現(xiàn)的,兩者之間沒有本質(zhì)上的區(qū)別。只是選擇內(nèi)部時鐘源時,由于頻率固定,只能做為定時器,當(dāng)選擇外部時鐘源時,即可作為定時器也可作為計(jì)數(shù)器。12 80C
60、51單片機(jī)中的定時/計(jì)數(shù)器選擇外部時鐘源有什么限制?為什么? 答:當(dāng)選擇外部時鐘源時,由于時鐘信號的下降沿有效,而采樣一個下降沿需要兩個機(jī)器周期,因此外部時鐘信號的最高頻率為fosc/24。13. 當(dāng)80C51單片機(jī)中的門控位GATE為0時,怎么啟動定時/計(jì)數(shù)器?當(dāng)門控位GATE為1時,又怎么啟動定時/計(jì)數(shù)器?答:當(dāng)GATE為0時,外部中斷輸入引腳(x=1或0)的電平狀態(tài)對定時/計(jì)數(shù)器不產(chǎn)生影響,這時只需要使TRx(x=0或1)為1就可以啟動定時/計(jì)數(shù)器。而當(dāng)GATE為1時,此時,除了使TRx(x=0或1)為1外,還需要相應(yīng)的外部中斷輸入引腳(x=1或0)為高電平,才能啟動定時/計(jì)數(shù)器。14.
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 14《背影》教學(xué)設(shè)計(jì)2024-2025學(xué)年八年級語文上冊同步課堂(統(tǒng)編版)
- 上海國內(nèi)旅游合同范本
- 加油站供貨合同范本
- 保安管理服務(wù)合同范例
- 健身房市場推廣合同范本
- 第21課 活動課 從考古發(fā)現(xiàn)看中華文明的起源(教學(xué)設(shè)計(jì)-課堂使用)2024-2025學(xué)年七年級歷史上冊同步備課系列(統(tǒng)編版2024)
- 企業(yè)合同范本英文
- 2024年宣城郎溪縣縣直事業(yè)單位引進(jìn)專業(yè)人才考試真題
- 第16課 明朝的科技、建筑與文學(xué)(教學(xué)設(shè)計(jì))2023-2024學(xué)年七年級歷史下冊同步教學(xué)設(shè)計(jì)(統(tǒng)編版)
- 勞動合同范本 宿舍
- 三好學(xué)生競選12
- 2024年河南鄭州二七區(qū)侯寨中心衛(wèi)生院招聘筆試真題
- 中國糖尿病防治指南+2024+解讀
- 崗位職責(zé)心得體會(2篇)
- 2025年上海寶冶集團(tuán)限公司招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 機(jī)械設(shè)計(jì)基礎(chǔ) 課件 01機(jī)械設(shè)計(jì)概論
- GB/T 6822-2024船體防污防銹漆體系
- 全國第三屆職業(yè)技能大賽(智能網(wǎng)聯(lián)汽車裝調(diào)運(yùn)維)選拔賽理論考試題庫(含答案)
- 電信網(wǎng)絡(luò)詐騙犯罪的特征、治理困境及對策建議
- 救護(hù)車掛靠私立醫(yī)院協(xié)議書(2篇)
- 《血透患教》課件
評論
0/150
提交評論