單片機(jī)原理及應(yīng)用習(xí)題答案--(第三版)
《單片機(jī)原理及應(yīng)用習(xí)題答案--(第三版)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《單片機(jī)原理及應(yīng)用習(xí)題答案--(第三版)(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第一章習(xí)題參考答案 1-1:何謂單片機(jī)?與通用微機(jī)相比,兩者在結(jié)構(gòu)上有何異同? 答:將構(gòu)成計(jì)算機(jī)的基本單元電路如微處理器(CPU)、存儲(chǔ)器、I/O接口電路和相應(yīng)實(shí)時(shí)控制器件等電路集成在一塊芯片上,稱(chēng)其為單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)單片機(jī)。 單片機(jī)與通用微機(jī)相比在結(jié)構(gòu)上的異同: (1)兩者都有CPU,但通用微機(jī)的CPU主要面向數(shù)據(jù)處理,其發(fā)展主要圍繞數(shù)據(jù)處理功能、計(jì)算速度和精度的進(jìn)一步提高。例如,現(xiàn)今微機(jī)的CPU都支持浮點(diǎn)運(yùn)算,采用流水線(xiàn)作業(yè),并行處理、多級(jí)高速緩沖(Cache)技術(shù)等。CPU的主頻達(dá)到數(shù)百兆赫茲(MHz),字長(zhǎng)普遍達(dá)到32位。單片機(jī)主要面向控制,控制中的數(shù)據(jù)類(lèi)型及數(shù)據(jù)處理相對(duì)簡(jiǎn)單,所以單片機(jī)的數(shù)據(jù)處理功能比通用微機(jī)相對(duì)要弱一些,計(jì)算速度和精度也相對(duì)要低一些。例如,現(xiàn)在的單片機(jī)產(chǎn)品的CPU大多不支持浮點(diǎn)運(yùn)算,CPU還采用串行工作方式,其振蕩頻率大多在百兆赫茲范圍內(nèi);在一些簡(jiǎn)單應(yīng)用系統(tǒng)中采用4位字長(zhǎng)的CPU,在中、小規(guī)模應(yīng)用場(chǎng)合廣泛采用8位字長(zhǎng)單片機(jī),在一些復(fù)雜的中、大規(guī)模的應(yīng)用系統(tǒng)中才采用16位字長(zhǎng)單片機(jī),32位單片機(jī)產(chǎn)品目前應(yīng)用得還不多。 (2) 兩者都有存儲(chǔ)器,但通用微機(jī)中存儲(chǔ)器組織結(jié)構(gòu)主要針對(duì)增大存儲(chǔ)容量和CPU對(duì)數(shù)據(jù)的存取速度?,F(xiàn)今微機(jī)的內(nèi)存容量達(dá)到了數(shù)百兆字節(jié)(MB),存儲(chǔ)體系采用多體、并讀技術(shù)和段、頁(yè)等多種管理模式。單片機(jī)中存儲(chǔ)器的組織結(jié)構(gòu)比較簡(jiǎn)單,存儲(chǔ)器芯片直接掛接在單片機(jī)的總線(xiàn)上,CPU對(duì)存儲(chǔ)器的讀寫(xiě)按直接物理地址來(lái)尋址存儲(chǔ)器單元,存儲(chǔ)器的尋址空間一般都為64 KB。 (3) 兩者都有I/O接口,但通用微機(jī)中I/O接口主要考慮標(biāo)準(zhǔn)外設(shè)(如CRT、標(biāo)準(zhǔn)鍵盤(pán)、鼠標(biāo)、打印機(jī)、硬盤(pán)、光盤(pán)等)。用戶(hù)通過(guò)標(biāo)準(zhǔn)總線(xiàn)連接外設(shè),能達(dá)到即插即用。單片機(jī)應(yīng)用系統(tǒng)的外設(shè)都是非標(biāo)準(zhǔn)的,且千差萬(wàn)別,種類(lèi)很多。單片機(jī)的I/O接口實(shí)際上是向用戶(hù)提供的與外設(shè)連接的物理界面。用戶(hù)對(duì)外設(shè)的連接要設(shè)計(jì)具體的接口電路,需有熟練的接口電路設(shè)計(jì)技術(shù)。 另外,單片機(jī)的微處理器(CPU)、存儲(chǔ)器、I/O接口電路集成在一塊芯片上,而通用微機(jī)的微處理器(CPU)、存儲(chǔ)器、I/O接口電路一般都是獨(dú)立的芯片 1-4 IAP、ISP的含義是什么? ISP:In System Programable,即在系統(tǒng)編程。用戶(hù)可以通過(guò)下載線(xiàn)以特定的硬件時(shí)序在線(xiàn)編程(到單片機(jī)內(nèi)部集成的FLASH上),但用戶(hù)程序自身不可以對(duì)內(nèi)部存儲(chǔ)器做修改。 IAP:In Application Programable,即在應(yīng)用編程。用戶(hù)可以通過(guò)下載線(xiàn)對(duì)單片機(jī)進(jìn)行在線(xiàn)編程,用戶(hù)程序也可以自己對(duì)內(nèi)部存儲(chǔ)器重新修改。 1-6 51單片機(jī)與通用微機(jī)相比,結(jié)構(gòu)上有哪些主要特點(diǎn)? (1)單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是嚴(yán)格區(qū)分的,前者為ROM,后者為RAM; (2)采用面向控制的指令系統(tǒng),位處理能力強(qiáng); (3)I/O引腳通常是多功能的; (4) 產(chǎn)品系列齊全,功能擴(kuò)展性強(qiáng); (5) 功能是通用的,像一般微處理機(jī)那樣可廣泛地應(yīng)用在各個(gè)方面。 1-7 51單片機(jī)有哪些主要系列產(chǎn)品? (1) Intel公司的MCS-51系列單片機(jī):功能比較強(qiáng)、價(jià)格比較低、較早應(yīng)用的單片機(jī)。此系列三種基本產(chǎn)品是:8031/8051/8751; (2) ATMEL公司的89系列單片機(jī):內(nèi)含F(xiàn)lash存儲(chǔ)器,開(kāi)發(fā)過(guò)程中可以容易地進(jìn)行程序修改。有8位Flash子系列、ISP_Flash子系列、I2C_Flash子系列; (3) SST公司的SST89系列單片機(jī):具有獨(dú)特的超級(jí)Flash技術(shù)和小扇區(qū)結(jié)構(gòu)設(shè)計(jì),采用IAP和ISP技術(shù); (4) PHILIPS公司的增強(qiáng)型80C51系列單片機(jī):其產(chǎn)品類(lèi)型較完整,包括通用型、Flash型、OTP型和低成本型,主要產(chǎn)品系列包括P80、P87、P89、LPC76、LPC900等。 第二章習(xí)題參考答案 2-1 51單片機(jī)內(nèi)部包含哪些主要邏輯功能部件? (1)一個(gè)8位微處理器CPU。 (2)256B數(shù)據(jù)存儲(chǔ)器RAM和特殊功能寄存器SFR。 (3)4K程序存儲(chǔ)器ROM。 (4)兩個(gè)定時(shí)/計(jì)數(shù)器,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可用作定時(shí)器。 (5)四個(gè)8位可編程的I/O(輸入/輸出)并行端口,每個(gè)端口既可做輸入,也可做輸出。 (6)一個(gè)串行端口,用于數(shù)據(jù)的串行通信 (7)1個(gè)可管理5個(gè)中斷源、2級(jí)優(yōu)先嵌套的中斷管理系統(tǒng);。 (8)片內(nèi)振蕩器及時(shí)鐘發(fā)生器。 2-2 MCS-51引腳中有多少I(mǎi)/O總線(xiàn)?它們和單片機(jī)對(duì)外的地址總線(xiàn)和數(shù)據(jù)總線(xiàn)有什么關(guān)系?地址總線(xiàn)和數(shù)據(jù)總線(xiàn)各是幾位? 32條I/O口線(xiàn),分為4組,每組8條,稱(chēng)為P0~P3口,P0口有8位數(shù)據(jù)總線(xiàn)和地址總線(xiàn)的低8位,P2口有地址總線(xiàn)的高8位,因此單片機(jī)的地址總線(xiàn)位是16位,尋址空間為64KB,數(shù)據(jù)總線(xiàn)位寬為8位。同時(shí)在P3口還R/W控制信號(hào)線(xiàn)。I/O口線(xiàn)的總數(shù)與地址總線(xiàn)和數(shù)據(jù)總線(xiàn)沒(méi)有多大聯(lián)系,只是說(shuō)地址總線(xiàn)和數(shù)據(jù)總線(xiàn)需要占用一定的端口。像AT89C2051單片機(jī),只有15條I/O口線(xiàn)(P3.6沒(méi)有引出,作為內(nèi)部使用),分為P1口(8位)和P3口(7位),沒(méi)有所謂的地址總線(xiàn)和數(shù)據(jù)總線(xiàn),并且P1口并不完整,因?yàn)镻1.0和P1.1被電壓比較器占用了。 2-3 51單片機(jī)的 EA, ALE,PSEN信號(hào)各自功能是什么? EA:為片外程序存儲(chǔ)器選用端,該引腳有效(低電平)時(shí),只選用片外程序存儲(chǔ)器,否則單片機(jī)上電或復(fù)位后選用片內(nèi)程序存儲(chǔ)器。 ALE:地址鎖存有效信號(hào)輸出在訪(fǎng)問(wèn)片外程序存儲(chǔ)器期間,ALE以每機(jī)器周期兩次進(jìn)行信號(hào)輸出,其下降沿用于控制鎖存P0輸出的低8位地址;在不訪(fǎng)問(wèn)片外程序存儲(chǔ)器期間,ALE端仍以上述頻率(振蕩頻率fosc的1/6)出現(xiàn),可作為對(duì)外輸出的時(shí)鐘脈沖或用于定時(shí)目的. PSEN:片外程序存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效。 2-4 51系列單片機(jī)有哪些信號(hào)需要芯片引腳的第二功能方式提供? P3.0 :RxD 串行口輸入端 P3.1 :TxD串行口輸出端 P3.2 :INT0 外部中斷0請(qǐng)求輸入端,低電平有效 P3.3 :INT1 外部中斷1請(qǐng)求輸入端,低電平有效 P3.4 :T0 定時(shí)/計(jì)數(shù)器 0技術(shù)脈沖輸入端 P3.5 :T1 定時(shí)/計(jì)數(shù)器 1技術(shù)脈沖輸入端 P3.6 :WR 外部數(shù)據(jù)存數(shù)器寫(xiě)選通信信號(hào)輸出端,低電平有效 P3.7 :RD 外部數(shù)據(jù)存數(shù)器讀選通信信號(hào)輸出端,低電平有效 2-5 51系列單片機(jī)的程序狀態(tài)字PSW中存放什么信息?其中的OV標(biāo)志位在什么情況下被置位?置位是表示什么意思? ●PSW是一個(gè)8位標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢(xún)和判別。 ●1)做加法時(shí),最高位,次高位之一有進(jìn)位則OV被置位 2)做減法時(shí),最高位,次高位之一借位則OV被置位 3)執(zhí)行乘法指令MUL AB,積大于255,OV=1 4)執(zhí)行除法指令DIV AB,如果B中所放除數(shù)為0 ,OV=1 ●0V=1,置位反映運(yùn)算結(jié)果超出了累加器的數(shù)值范圍 2-9 片內(nèi)RAM低128單元?jiǎng)澐譃槟膸讉€(gè)區(qū)域?應(yīng)用中怎么樣合理有效的使用? ●工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū) ①工作寄存器區(qū)用于臨時(shí)寄存8位信息,分成4組,每組有8個(gè)寄存器,每次只用1組, 其他各組不工作 ②位尋址區(qū)(20H~2FH),這16個(gè)單元的每一位都賦予了一個(gè)位地址,位地址范圍為00H~7FH,位尋址區(qū)的每一位都可能當(dāng)作軟件觸發(fā)器,由程序直接進(jìn)行位處理。 ③由于工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū)統(tǒng)一編址,使用同樣的指令訪(fǎng)問(wèn),因此這三個(gè) 區(qū)既有自己獨(dú)特的功能,又可統(tǒng)一調(diào)度使用,前兩個(gè)已未使用的單元也可作為一般的用戶(hù)RAM單元。 2-10 51系列單片機(jī)的堆棧與通用微機(jī)中的堆棧有何異同?在程序設(shè)計(jì)時(shí),為什么要對(duì)堆棧指針SP重新賦值? ●堆棧是按先進(jìn)后出或后進(jìn)先出的遠(yuǎn)側(cè)進(jìn)行讀/寫(xiě)的特殊RAM區(qū)域 51單片機(jī)的堆棧區(qū)時(shí)不固定的,可設(shè)置在內(nèi)部RAM的任意區(qū)域內(nèi) ●當(dāng)數(shù)據(jù)壓入堆棧時(shí),SP的內(nèi)容自動(dòng)加1,作為本次進(jìn)棧的指針,然后再存取數(shù)據(jù)SP的值隨著數(shù)據(jù)的存入而增加,當(dāng)數(shù)據(jù)從堆棧彈出之后,SP的值隨之減少,復(fù)位時(shí),SP的初值為07H,堆棧實(shí)際上從08H開(kāi)始堆放信息,即堆棧初始位置位于工作寄存器區(qū)域內(nèi),所以要重新賦值 2-13 什么是時(shí)鐘周期,機(jī)器周期和指令周期?當(dāng)振蕩頻率為6MHZ時(shí),一條雙周期指令的執(zhí)行時(shí)間是多少? ●時(shí)鐘周期:2個(gè)CPU振蕩脈沖信號(hào)的周期 機(jī)器周期:一個(gè)機(jī)器周期包含6個(gè)狀態(tài)周期 指令周期:執(zhí)行一條指令所占用的全部時(shí)間 12MHZ時(shí),一條雙周期指令周期時(shí)間為2us 6MHZ時(shí),一條雙周期指令周期時(shí)間為4us 2-14 定時(shí)器/計(jì)數(shù)器定時(shí)與計(jì)數(shù)的內(nèi)部工作有何異同? ●定時(shí)工作模式和技術(shù)工作模式的工作原理相同,只是計(jì)數(shù)脈沖來(lái)源有所不同: 處于計(jì)數(shù)器工作模式時(shí),加法計(jì)數(shù)器對(duì)芯片端子T0(P3.4)或T1(P3.5)上的輸入脈沖計(jì)數(shù); 處于定時(shí)器工作模式時(shí),加法計(jì)數(shù)器對(duì)內(nèi)部機(jī)器周期脈沖計(jì)數(shù)。 2-15 定時(shí)器/計(jì)數(shù)器有四種工作方式,它們的定時(shí)與計(jì)數(shù)范圍各是多少?使用中怎樣選擇工作方式? ●工作方式0:定時(shí)范圍:1~8192us;計(jì)數(shù)值范圍:1~8192 工作方式1:定時(shí)范圍:1~65536us;計(jì)數(shù)值范圍:1~65536 工作方式2:定時(shí)范圍:1~256us;計(jì)數(shù)值范圍:1~256 工作方式3:定時(shí)范圍:1~256us;計(jì)數(shù)值范圍:1~256 ●通過(guò)TMOD來(lái)選擇,低4位用于定時(shí)器/計(jì)數(shù)器0,高4位用于定時(shí)器/計(jì)數(shù)器1 M1,M0:定時(shí)器計(jì)數(shù)器工作方式選擇位 2-16 定時(shí)器/計(jì)數(shù)器的門(mén)控方式與非門(mén)控方式有何不同?使用中怎么樣選擇哪種工作方式?初值應(yīng)設(shè)置為多少(十六進(jìn)制)? ●GATE:門(mén)控位,用于控制定時(shí)器/計(jì)數(shù)器的啟動(dòng)是否受外部中斷請(qǐng)求信號(hào)的影響。 GATE=1,則定時(shí)器/計(jì)數(shù)器0的啟動(dòng)受芯片引腳INT0(P3.2)控制,定時(shí)器/計(jì)數(shù)器1的啟動(dòng)受芯片引腳INT1(P3.3)控制 GATE=0,則定時(shí)器/計(jì)數(shù)器的啟動(dòng)與引腳INT0、INT1無(wú)關(guān),一般情況下GATE=0 2-18 51單片機(jī)的五個(gè)中斷源中哪幾個(gè)中斷源在CPU響應(yīng)中斷后可自動(dòng)撤除中斷請(qǐng)求,哪幾個(gè)不能撤除中斷請(qǐng)求?CPU不能撤除中斷請(qǐng)求的中斷源時(shí),用戶(hù)應(yīng)采取什么措施? ●可自動(dòng)撤除:計(jì)數(shù)器T0`T1的溢出中斷 不可自動(dòng)撤除:電平觸發(fā)的外部中斷;發(fā)送接收中斷 ●1)電平觸發(fā)的外部中斷:由于CPU對(duì)INTx引腳沒(méi)有控制作用,也沒(méi)有相應(yīng)的中斷請(qǐng)求標(biāo)志位,因此需要外接電路來(lái)撤除中斷請(qǐng)求信號(hào)。 2)串行口的發(fā)送/接收中斷:當(dāng)串行口發(fā)送完或接收完一幀信息時(shí),SCON的TI,RI向CPU申請(qǐng)中斷,響應(yīng)中斷后,接口電路不能自動(dòng)將TI或RT清0,用戶(hù)需采用軟件方法將TI或RT清0,來(lái)撤除中斷請(qǐng)求信號(hào) 2-21 使單片機(jī)復(fù)位有幾種方式?復(fù)位后單片機(jī)的初始狀態(tài)如何? ●上電復(fù)位,按鈕復(fù)位 ●(PC)=0000H:程序的初始入口地址為0000H (PSW) =00H:由于RS1(PSW.4)=0,RS0(PSW.3)=0,復(fù)位后單片機(jī)選擇工作寄存器0組 (SP)=07H:復(fù)位后堆棧早起片內(nèi)RAM的08H單元處建立 TH1、TL0、TH0、TL0:他們的內(nèi)容為00H,定時(shí)器/計(jì)數(shù)器的初值為0 (TMOD)=00H:復(fù)位后定時(shí)器/計(jì)數(shù)器T0、T1定時(shí)器方式0,非門(mén)控方式 (TCON)=00H:復(fù)位后定時(shí)器/計(jì)數(shù)器T0、T1停止工作,外部中斷0、1為電平觸發(fā)方式 (T2CON) =00H:復(fù)位后定時(shí)器/計(jì)數(shù)器T2停止工作 (SCON)=00H:復(fù)位后串行口工作在移位寄存器方式,且禁止串行口接收 (IE)=00H:復(fù)位后屏蔽所有中斷 (IP)=00H:復(fù)位后所有中斷源都直指為低優(yōu)先級(jí) P0~P3:鎖存器都是全1狀態(tài),說(shuō)明復(fù)位后4個(gè)并行接口設(shè)置為輸入口 2-23 51單片機(jī)串行口有幾種工作方式?這幾種工作方式有何不同?各用于什么場(chǎng)合? ●有4種工作方式:方式0、方式1、方式2、方式3 工作方式:方式0移位寄存器方式;方式1、方式2、方式3都是異步通信方式 場(chǎng)合:方式0不用于通信,而是通過(guò)外接移位寄存器芯片實(shí)現(xiàn)擴(kuò)展I/O口的功能;方式1用于雙機(jī)通信;方式2、3主要用于多機(jī)通信,也可用于雙機(jī)通信 第三章參考答案 3-1 何謂尋址方式?51單片機(jī)有哪幾種尋址方式?這幾種方式是如何尋址的? ●所謂尋址方式,就是CPU執(zhí)行那個(gè)一條指令時(shí)怎樣找到該指令所要求的操作數(shù)的方式。 ●1)立即尋址:操作數(shù)直接出現(xiàn)在指令中,緊跟在操作碼的后面,作為指令的一部分與操作碼一起存放在程序存儲(chǔ)器中,可以立即得到并執(zhí)行,例如:MOV A,#30H指令中30H就是立即數(shù)。這一條指令的功能是執(zhí)行將立即數(shù)30H傳送到累加器A中的操作。 2) 寄存器尋址:操作數(shù)放在寄存器中,在指令中直接以寄存器的名字來(lái)表示操作數(shù)的地址。例如MOV A,R0,即將R0寄存器的內(nèi)容送到累加器A中。 3)寄存器間接尋址方式:由指令指出某一寄存器的內(nèi)容作為操作數(shù)地址的尋址方法,例如:MOV A,@R1,將以工作寄存器R1中的內(nèi)容為地址的片內(nèi)RAM單元的數(shù)據(jù)傳送到A中去。 4)直接尋址: 指令中直接給出操作數(shù)所在的存儲(chǔ)器地址,以供取數(shù)或存數(shù)的尋址方式稱(chēng)為 直接尋址。例如:MOV A,40H指令中的源操作數(shù)就是直接尋址,40H為操作數(shù)的地址。該指令的功能是把片內(nèi)RAM地址為40H單元的內(nèi)容送到A中 5)變址尋址:基地址寄存器加變址寄存器間接尋址 6)相對(duì)尋址:相對(duì)尋址是以當(dāng)前程序計(jì)數(shù)器PC值加上指令中給出的偏移量rel,而構(gòu)成實(shí)際操作數(shù)地址的尋址方法。它用于訪(fǎng)問(wèn)程序存儲(chǔ)器,常出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。 7)位尋址:位尋址是在位操作指令中直接給出位操作數(shù)的地址,可以對(duì)片內(nèi)RAM中的128 位和特殊功能寄存器SFR中的93位進(jìn)行尋址。 3-2 訪(fǎng)問(wèn)片內(nèi)、片外程序存儲(chǔ)器有哪幾種尋址方式? ●采用基址寄存器加變址寄存器間接尋址方式 MOVC A,@A+DPTR MOVC A,@A+PC 3-3 訪(fǎng)問(wèn)片內(nèi)RAM單元和特殊功能寄存器各有哪幾種尋址方式? ●訪(fǎng)問(wèn)片內(nèi)RAM有:立即尋址,寄存器尋址,寄存器間接尋址,直接尋址 ● 特殊功能有:直接尋址 3-4若要完成以下的數(shù)據(jù)傳送,應(yīng)如何用51的指令來(lái)完成。 (1)R0的內(nèi)容送到R1中。 MOV A, R1 MOV R0,A (2)外部RAM的20H單元內(nèi)容送R0,送內(nèi)部RAM的20H單元。 MOV DPTR,#0020H MOVX A,@DPTR MOV R0,A 3-5 試比較下列每組兩條指令的區(qū)別 1) MOV A,#24與MOV A,24H 2) MOV A,R0與MOV A,@R0 3) MOV A,@R0與MOVX A,@R0 4) MOV A,@R1與MOVX A,@DPTR ●1)前者為立即尋址,將立即數(shù)24H單元的內(nèi)容送到A中;后者為直接尋址,將24H單元的片內(nèi)RAM內(nèi)容送到A中。 2)前者為直接尋址,將R0單元的內(nèi)容送到A中,后者為寄存器間接尋址,將R0中的內(nèi)容為地址的片內(nèi)RAM單元的數(shù)據(jù)送到A中。 3)前者為寄存器間接尋址,將R0中的內(nèi)容為地址的片內(nèi)RAM單元的數(shù)據(jù)送到A;后者為寄存器間接尋址,將R0中的內(nèi)容為地址的片外RAM單元的數(shù)據(jù)送到A中。 4)用R1做地址指針可尋址片內(nèi)RAM的256個(gè)單元,但能訪(fǎng)問(wèn)SFR塊,也可8位地址訪(fǎng)問(wèn)片外RAM的低256個(gè)地址單元(00~ffH);用DPTR做地址指針,用于訪(fǎng)問(wèn)片外RAM的64KB范圍(0000~ffffH)(16位)。 3-6已知(A)= 7AH,( B)= 02H,( R0)= 30H,( 30H)= A5H,( PSW)=80H,寫(xiě)出以下各條指令執(zhí)行后A和PSW的內(nèi)容。 (1)XCH A, R0 (A)=30H,(PSW)=00H, (R0)= 7AH, (2)XCH A, 30H (A)=A5H,(PSW)=00H (3)XCH A, @R0 (A)=A5H,(PSW)=00H (4)XCHD A, @R0 (A)=75H,(PSW)=01H (5)SWAP A (A)=A7H,(PSW)=01H (6)ADD A, R0 (A)=AAH,(PSW)=00H (7)ADD A, 30H (A)=1FH,(PSW)=81H (8)ADD A, #30H (A)=AAH,(PSW)=00H (9)ADDC A, 30H (A)=20H,(PSW)=01H (10)SUBB A, 30H (A)=D5H,(PSW)=85H (11)SUBB A, #30H (A)=4AH,(PSW)=01H (12)INC @R0 (A)=7AH,(PSW)=80H; (13)MUL AB (14)DIV AB 3-7 已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,(SP)=30H, 片內(nèi)RAM(7FH)=70H,片外RAM(2FFEH)=11H,ROM(2FFEH)=64H,試分別寫(xiě)出以下指令執(zhí)行后目標(biāo)單元的結(jié)果。 1) MOVX @DPTR,A 2) MOVX A,@R1 3) MOVC A,@A+DPTR 4) PUSH ACC ●1)(2FFEH)=02H 2)(A)=70H 3)(A)=(02H+2FFCH)=(2FFEH)=64H 4)(31H)=02H 3-9 DA A指令有什么作用?怎樣使用? l 這條指令是進(jìn)行BCD碼運(yùn)算時(shí),跟在ADD或ADDC指令之后,將相加后存放在累加器中的結(jié)果進(jìn)行修正。 修正的條件和方法為: 若(A0~3)>9或(AC)=1,則(A0~3)+06H→(A0~3); 若(A4~7)>9或(CY)=1,則(A4~7)+06H→(A4~7)。 若以上二條同時(shí)發(fā)生,或高4位雖等于9 ,但低4位修正后有進(jìn)位,則應(yīng)加66H修正。 3-9 設(shè)(A)=83H,(R0)=17H,(17H)=34H,分析當(dāng)執(zhí)行下面的每條指令后目標(biāo)單元的內(nèi)容,及4條指令組成的程序段執(zhí)行后A的內(nèi)容是什么? ANL A,#17H ;與 ORL 17H,A ;或 XRL A,@R0 ;異或 CPL A ;取反 ANL A,#17H 10000011與00010111 = 0000 0011 ORL 17H,A 00110100或00000011 = 0011 0111 XRL A,@R0 00110111異或 0000 0011 = 0011 0100 CPL A ~A 1100 1000 CBH 3-10 請(qǐng)寫(xiě)出達(dá)到下列要求的邏輯操作的指令,要求不得改變未涉及位的內(nèi)容 1) 使累加器A的低位置‘1’ 2) 清累加器A的高4位 3) 使A.2和A.3置‘1’ 4) 清除A.3、A.4、A.5、A.6 SETB ACC.1; ANL A,#0FH; ORL A,#00001100B ANL A,#10000111B 3-11 指令LJIMP addr16與AJMP addr11的區(qū)別是什么? l LJIMP addr16是長(zhǎng)轉(zhuǎn)移, LCALL的作用就是將addr16直接賦給PC l AJMP addr11,在當(dāng)前PC的2KB范圍跳轉(zhuǎn)(因?yàn)閍ddr11就是2KB), 即PC高五位不變,低十一位等于addr11。 3-12試說(shuō)明指令CJNE @R1, #7AH, 10H的作用。若本條指令地址為2500H,其轉(zhuǎn)移地址是多少? 當(dāng)前地址 2500H。執(zhí)行該指令后PC為2503H,加上10H后,目標(biāo)地址是2513H。 3-13下面執(zhí)行后(SP)=42H, (A) = 40H, (B) =40H ,并解釋每條指令的作用。 ORG 2000H ;起始地址為2000H MOV SP,#40H ;(SP)=40H MOV A,#30H ;(A)=30H LCALL 2500H ;調(diào)用2500H子程序 ADD A,#10H ;(A)<—(A)+10,(A)=40H MOV B,A ;(B)=40H HERE:SJMP HERE ORG 2500H ;起始地址為2500H MOV DPTR,#2009H ;(DPTR)=2009H PUSH DPL ;(SP)=40H+1=41H PUSH DPH ; (SP)=41H+1=42H RET ;返回 3-14已知P1.7= 1, A.0= 0, C= 1, FIRST=1000H, SECOND=1020H,試寫(xiě)出下列指令的執(zhí)行結(jié)果。 (1)MOV 26H, C 1 (2)CPL A.0 1 (3)CLR P1.7 0 (4)ORL C, /P1.7 1 (5)FIRST: JC SECOND (6)FIRST: JNB A.0, SECOND (7)SECOND: JBC P1.7, FIRST 3-15經(jīng)匯編后,下列各條語(yǔ)句標(biāo)號(hào)將是什么值? ORG 2000H TABLE: DS 5 WORD: DB 15, 20, 25, 30 (2005H)=15, FANG: EQU 1000H FANG=1000H BEGIN: MOV A, R0 3-16 設(shè)fosc=12MHZ,定時(shí)器/計(jì)數(shù)器0的初始化程序和中斷服務(wù)程序如下: MOV TH0,#0DH MOV TL0,#0D0H MOV TMOD,#01H SETB TR0 : ;中斷服務(wù)程序 ORG 000BH MOV TH0,#0DH MOV TL0,#0D0H : RETI 問(wèn):1)該定時(shí)器/計(jì)數(shù)器工作于什么方式? 2)相應(yīng)的定時(shí)時(shí)間或計(jì)數(shù)值是多少? 3)為什么在中斷服務(wù)程序中藥重置定時(shí)器/計(jì)數(shù)器的初值? ●1)方式1 2)定時(shí)時(shí)間為:fosc=12MHZ Tcy=1us T=N*Tcy =(65536-x)*Tcy 定時(shí)范圍:1~65536 計(jì)數(shù)值為:N=216 -x=65536-x 計(jì)數(shù)范圍為:1~65536 3) 定時(shí)器T0的溢出對(duì)外無(wú)脈沖信號(hào),重置定時(shí)器/計(jì)數(shù)器的初值可以再形成計(jì)數(shù)脈沖 3-18設(shè)有100個(gè)有符號(hào)數(shù),連續(xù)存放在以2000H為首地址的存儲(chǔ)區(qū)中,試編程統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)。 ZERO EQU 20H ;零的統(tǒng)計(jì) NEGETIVE EQU 21H ;負(fù)數(shù)的統(tǒng)計(jì) POSITIVE EQU 22H ;正數(shù)的統(tǒng)計(jì) COUNT EQU 100 ;比較個(gè)數(shù) ORG 0000H LJMP MAIN ORG 0040H MOV ZERO,#0 MOV NEGETIVE,#0 MOV POSITIVE,#0 MOV R2,#0 MOV DPTR,# 2000H LOOP: MOVX A,@DPTR CJNE A,#0,NONZERO INC ZERO AJMP NEXT NONZERO: JC NEG INC POSITIVE AJMP NEXT NEG: INC NEGETIVE NEXT: INC DPTR INC R2 CJNE R2,#COUNT,LOOP SJMP $ 3-20 51單片機(jī)從串行口發(fā)送緩沖區(qū)首址為30H的10個(gè)ASCII碼字符,最高位用于奇偶校驗(yàn),采用偶校驗(yàn)方式,要求發(fā)送的波特率為2400波特,時(shí)鐘頻率?osc=12MHz,試編寫(xiě)串行口發(fā)送子程序。 單片機(jī)采用12 MHz晶振;設(shè)串行口工作于方式1;定時(shí)器/計(jì)數(shù)器T1用作波特率發(fā)生器,工作于方式2;PCON中的SMOD位為1;發(fā)送的波特率要求為2400。 定時(shí)器/計(jì)數(shù)器T1初值計(jì)算: 根據(jù)公式 波特率=2SMOD溢出率/32有 溢出率=240016=38 400 溢出周期=1/溢出率=26 μs (此為定時(shí)器/計(jì)數(shù)器的定時(shí)值) 定時(shí)器初值=256-26=230=E6H 根據(jù)要求確定定時(shí)器/計(jì)數(shù)器的TMOD中的方式控制字為20H,串行口SCON中的控制字為40H,PCON控制字為80H。則相應(yīng)的發(fā)送程序如下: TSTART:MOV TMOD,#20H ;置定時(shí)器/計(jì)數(shù)器T1工作于方 式2定時(shí) MOV PCON, #80H MOV TL1,#0E6H ;定時(shí)器/計(jì)數(shù)器T1置初值 MOV TH1,#E6H ;定時(shí)器/計(jì)數(shù)器T1置重裝數(shù) MOV SCON,#40H ;置串行口工作于方式1 MOV R0,#30H ;R0作地址指針,指向數(shù)據(jù)塊首址 MOV R7,#10 ;R7作循環(huán)計(jì)數(shù)器,置以發(fā)送=字節(jié)數(shù) SETB TR1 ;啟動(dòng)定時(shí)器/計(jì)數(shù)器T1 LOOP: MOV A,@R0 ;取待發(fā)送的一個(gè)字節(jié) MOV C,P ;取奇偶標(biāo)志,奇為1,偶為0 MOV A.7,C ;給發(fā)送的ASCII碼最高位加偶校驗(yàn)位 MOV SBUF,A ;啟動(dòng)串行口發(fā)送 WAIT:JNB TI,WAIT ;等待發(fā)送完畢 CLR TI ;清TI標(biāo)志,為下一個(gè)字節(jié)發(fā)送作準(zhǔn)備 INC R0 ;指向數(shù)據(jù)塊下一個(gè)待發(fā)送字節(jié)的地址 DJINZ R7,LOOP ;循環(huán)發(fā)送,直到數(shù)據(jù)塊發(fā)送完畢 第四章 參考答案 4-1何謂單片機(jī)的最小系統(tǒng)? ★所謂最小系統(tǒng),是指一個(gè)真正可用的單片機(jī)最小配置系統(tǒng)。 對(duì)于片內(nèi)帶有程序存儲(chǔ)器的單片機(jī),只要在芯片上對(duì)外接時(shí)鐘電路和復(fù)位電路就能達(dá)到真正可用,就是最小系統(tǒng)。 對(duì)于片外不帶有程序存儲(chǔ)器的單片機(jī),除了在芯片上外接時(shí)鐘電路和復(fù)位電路外,還需外接程序存儲(chǔ)器,才能構(gòu)成一個(gè)最小系統(tǒng)。 4-5什么是完全譯碼?什么是部分譯碼?各有什么特點(diǎn)? ★所謂部分譯碼,就是存儲(chǔ)器芯片的地址線(xiàn)與單片機(jī)系統(tǒng)的地址線(xiàn)順序相接后,剩余的高位地址線(xiàn)僅用一部分參加譯碼。 特點(diǎn):部分譯碼使存儲(chǔ)器芯片的地址空間有重疊,造成系統(tǒng)存儲(chǔ)器空間的浪費(fèi)。 ★所謂全譯碼,就是存儲(chǔ)器芯片的地址線(xiàn)與單片機(jī)系統(tǒng)的地址線(xiàn)順序相接后,剩余的高位地址線(xiàn)全部參加譯碼。 ★特點(diǎn):存儲(chǔ)器芯片的地址空間是唯一確定的,但譯碼電路相對(duì)復(fù)雜。 4-7存儲(chǔ)器芯片地址引腳數(shù)與容量有什么關(guān)系? ★ 地址線(xiàn)的數(shù)目由芯片的容量決定,容量(Q)與地址線(xiàn)數(shù)目(N)滿(mǎn)足關(guān)系式:Q=2N 4-10 采用2764(8K*8)芯片擴(kuò)展程序存儲(chǔ)器,分配的地址范圍為4000H~7FFFH。采用完全譯碼方式,試確定所用芯片數(shù)目,分配地址范圍,畫(huà)出地址譯碼關(guān)系圖,設(shè)計(jì)譯碼電路,畫(huà)出與單片機(jī)的連接圖。 ★7FFFH-4000H+1=4000H=16KB 因?yàn)?764為8K*8 所以需要2片芯片 第一片地址為范圍為:4000H~5FFFH 第二片地址為范圍為:6000H~7FFFH 譯碼關(guān)系圖: p2.7 P2.6 P2.5 P2.4 p2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 1 0 * * * * * * * * * * * * * 0 1 1 * * * * * * * * * * * * * 第六章 參考答案 6-9何謂靜態(tài)顯示?何謂動(dòng)態(tài)顯示??jī)煞N顯示方式各有什么優(yōu)缺點(diǎn)? ★靜態(tài)顯示:LED工作在靜態(tài)顯示方式下,共陰極接地或共陽(yáng)極接+5V;每一位的段選線(xiàn)(a~g,dp)與一個(gè)8位并行I/O口相連。 優(yōu)點(diǎn):顯示器每一位可以獨(dú)立顯示,每一位由一個(gè)8位輸出口控制段選碼,故在同一個(gè)時(shí)刻各位可以獨(dú)立顯示不同的字符。 缺點(diǎn):N位靜態(tài)顯示器要求有N8根I/o口線(xiàn),占用I/o口線(xiàn)較多,故在位數(shù)較多時(shí)往往采用動(dòng)態(tài)顯示。 ★ 動(dòng)態(tài)顯示:LED動(dòng)態(tài)顯示是將所有位的段選線(xiàn)并接在一個(gè)I/o口上,共陰極端或共陽(yáng)極端分別由相應(yīng)的I/o口線(xiàn)控制。 優(yōu)點(diǎn):節(jié)約用線(xiàn) 缺點(diǎn):每一位段選線(xiàn)都接在一個(gè)I/o口上,因此每送一個(gè)段選碼,8位就顯示同一個(gè)字符,這種顯示器是不能用的。解決這個(gè)問(wèn)題利用人眼的視覺(jué)停留,從段選線(xiàn)I/o口上按位分別送顯示字符的段選碼,在位控制口也按相應(yīng)的次序分別選通相應(yīng)的顯示位(共陰極送低電平,共陽(yáng)極送高電平),選通位就顯示相應(yīng)字符,并保持幾毫秒的延時(shí),未選通位不顯示字符(保持熄滅)。 6-14設(shè)計(jì)一個(gè)內(nèi)置HD44780驅(qū)動(dòng)控制器的字符型LCM與51單片機(jī)的接口電路,并編寫(xiě)在字符型液晶顯示模塊顯示“HELLO”字符的程序。 6-15 ADC0809的8路輸入通道是如何選擇的?試舉例說(shuō)明。 ★ ADDC ADDB ADDA 選通的通道 0 0 0 IN0 0 0 0 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 6-22單片機(jī)控制大功率對(duì)象時(shí),為什么要采用隔離器進(jìn)行接口? ★由于繼電器由吸合到斷開(kāi)的瞬間會(huì)產(chǎn)生一定的干擾,當(dāng)吸合電流較大時(shí),在單片機(jī)與繼電器之間需要增加隔離電路。 常用的光耦器件的型號(hào):4N25 ,4N26~4N28,TLP528,TLP124,TLP126,4N33,H11G1,H11GZ,H11G3 6-23 單片機(jī)與繼電器線(xiàn)圈接口時(shí),應(yīng)注意什么問(wèn)題?采取什么措施解決這些問(wèn)題? ★繼電器由吸合到斷開(kāi)的瞬間會(huì)產(chǎn)生一定的干擾,因而使用于吸合電流很小的微型繼電器 ★當(dāng)吸合電流比較大時(shí),在單片機(jī)與繼電器之間需要增加隔離電路。 第七章習(xí)題參考答案 7-1 一般單片機(jī)應(yīng)用系統(tǒng)由哪幾部分組成? 由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成的。硬件系統(tǒng)是指單片機(jī)及擴(kuò)展的存儲(chǔ)器、外圍設(shè)備及其接口電路等;軟件系統(tǒng)包括監(jiān)控程序和各種程序。 7-2 模擬量采集的前向通道包括哪些組成部分?有什么特點(diǎn)? 一般包括變換器、隔離放大器、濾波器、采樣保持器、多路電子開(kāi)關(guān)、A/D轉(zhuǎn)換器及其接口電路。 特點(diǎn): (1) 與現(xiàn)場(chǎng)采集對(duì)象相連,是現(xiàn)場(chǎng)干擾進(jìn)入的主要通道,是整個(gè)系統(tǒng)抗干擾設(shè)計(jì)的重點(diǎn)部位; (2) 采集對(duì)象多樣,存在大量的、形式多樣的信號(hào)變換調(diào)節(jié)電路; (3) 是一個(gè)模擬、數(shù)字混合電路系統(tǒng),電路功耗小,一般沒(méi)有功率驅(qū)動(dòng)要求。 7-3 后向通道有什么特點(diǎn)? (1) 是輸出通道,大多數(shù)需要功率驅(qū)動(dòng); (2) 靠近伺服驅(qū)動(dòng)現(xiàn)場(chǎng),故后向通道的隔離對(duì)系統(tǒng)的可靠性影響很大; (3) 輸出控制要求不同,后向通道電路多種多樣。 7-5 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)包括哪些主要內(nèi)容? (1) 單片機(jī)系統(tǒng)設(shè)計(jì),包括最小系統(tǒng)設(shè)計(jì)和系統(tǒng)擴(kuò)展設(shè)計(jì); (2) 通道與接口設(shè)計(jì); (3) 系統(tǒng)抗干擾設(shè)計(jì); (4) 應(yīng)用軟件設(shè)計(jì)。 7-14 硬件調(diào)試的基本步驟是什么? 先靜態(tài)調(diào)試,第一步為目測(cè),第二步為萬(wàn)用表測(cè)試,第三步為加電檢查,第四步是聯(lián)機(jī)檢查;然后動(dòng)態(tài)調(diào)試,一般是由近及遠(yuǎn)、由分到合。 7-15 軟件調(diào)試中可用哪些程序運(yùn)行方式?它們分別在何種場(chǎng)合下運(yùn)用? 單步運(yùn)行:需要了解每條指令的執(zhí)行情況時(shí),或用于精確定位某一段程序范圍內(nèi)的錯(cuò)誤所在; 斷點(diǎn)運(yùn)行:用于將故障定位在程序的一個(gè)小范圍內(nèi) 連續(xù)運(yùn)行:需要調(diào)試實(shí)時(shí)性操作(如中斷等)。為準(zhǔn)確地對(duì)錯(cuò)誤進(jìn)行定位,可使用連續(xù)加斷點(diǎn)方式調(diào)試。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機(jī) 原理 應(yīng)用 習(xí)題 答案 第三
鏈接地址:http://ioszen.com/p-10854102.html