已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單片機(jī)原理與接口技術(shù)習(xí)題答案習(xí)題與思考題11-2 單片微型計(jì)算機(jī)與一般微型計(jì)算機(jī)相比較有哪些區(qū)別?有哪些特點(diǎn)?答:與通用微型計(jì)算機(jī)相比,單片機(jī)的硬件上,具有嚴(yán)格分工的存儲(chǔ)器ROM和RAM和I/O端口引腳具有復(fù)用功能;軟件上,采用面向控制的指令系統(tǒng)和硬件功能具有廣泛的通用性,以及品種規(guī)格的系列化。單片機(jī)還具備體積小、價(jià)格低、性能強(qiáng)大、速度快、用途廣、靈活性強(qiáng)、可靠性高等特點(diǎn)。1-4 單片機(jī)的幾個(gè)重要指標(biāo)的定義。答:?jiǎn)纹瑱C(jī)的重要指標(biāo)包括位數(shù)、存儲(chǔ)器、I/O口、速度、工作電壓、功耗和溫度。習(xí)題與思考題22-2 MCS-51單片機(jī)的EA、ALE和PSEN端的功能是什么?答:ALEALE為地址鎖存允許信號(hào),在訪問外部存儲(chǔ)器時(shí),ALE用來鎖存P0送出的低8位地址信號(hào)。PSEN外部程序存儲(chǔ)器的讀選通信號(hào)。當(dāng)訪問外部ROM時(shí),PSEN產(chǎn)生負(fù)脈沖作為外部ROM的選通信號(hào);在訪問外部RAM或片內(nèi)ROM時(shí),不會(huì)產(chǎn)生有效的PSEN信號(hào)。PSEN可驅(qū)動(dòng)8個(gè)LSTTL門輸入端。EA訪問外部程序存儲(chǔ)器控制信號(hào)。對(duì)8051和8751,它們的片內(nèi)有4KB的程序存儲(chǔ)器。當(dāng)EA為高電平時(shí),CPU訪問程序存儲(chǔ)器有兩種情況:一是訪問的地址空間在04K范圍內(nèi),CPU訪問片內(nèi)程序存儲(chǔ)器;二是訪問的地址超出4K時(shí),CPU將自動(dòng)執(zhí)行外部程序存儲(chǔ)器的程序。對(duì)于8031,EA必須接地,只能訪問外部ROM。2-3 程序計(jì)數(shù)器(PC)有多少位?它的主要功能是什么?答:程序計(jì)數(shù)器有16位,它的功能和一般微型計(jì)算機(jī)的相同,用來存放下一條要執(zhí)行的指令的地址。當(dāng)按照PC所指的地址從存儲(chǔ)器中取出一條指令后,PC會(huì)自動(dòng)加l,即指向下一條指令。2-5 MCS-51單片機(jī)如何實(shí)現(xiàn)工作寄存器組R0R7的選擇?答:每個(gè)工作寄存器組都可被選為CPU的當(dāng)前工作寄存器,用戶可以通過改變程序狀態(tài)字寄存器(PSW)中的RS1、RS0兩位來任選一個(gè)寄存器組為當(dāng)前工作寄存器。RS1RS0寄存器組R0R1R2R3R4R5R6R7000組00H01H02H03H04H05H06H07H011組08H09H0AH0BH0CH0DH0EH0FH102組10H11H12H13H14H15H16H17H113組18H19H1AH1BH1CH1DH1EH1FH2-6 單片機(jī)復(fù)位后,各特殊功能寄存器中的初始化狀態(tài)是什么?答:特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)ACC00HTMOD00HPC0000HTCON00HPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P30FFHTH100HIPxx000000BB00HIE0x000000BSCON00HPCON0xxx0000BSBUF不定 2-7 MCS-51單片機(jī)的21個(gè)特殊功能寄存器中,哪些具有位尋址能力?答:MCS-51單片機(jī)中的程序狀態(tài)字寄存器(PSW),B寄存器,累加器(ACC),端口P0P3,控制寄存器中用于中斷控制的中斷優(yōu)先級(jí)控制寄存器(IP)和中斷允許控制寄存器(IE),用于設(shè)置定時(shí)/計(jì)數(shù)器和串行口工作方式的定時(shí)/計(jì)數(shù)器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位尋址能力。2-8 程序狀態(tài)字寄存器(PSW)的作用是什么? 答:PSW寄存器是8位寄存器,用做程序運(yùn)行狀態(tài)的標(biāo)志,字節(jié)地址為D0H。可以進(jìn)行位尋址。2-9 MCS-51單片機(jī)的P3口具有哪些功能?答:P3口是雙功能口,除了作為準(zhǔn)雙向通用I/O口使用外,每一根口線還具有第二種功能,P3口的各位如不設(shè)定為第二功能則自動(dòng)處于第一功能。P3的第二功能涉及到串行口、外部中斷、定時(shí)器,與特殊功能寄存器有關(guān)。2-13 什么是時(shí)鐘周期、狀態(tài)周期、機(jī)器周期和指令周期?當(dāng)單片機(jī)時(shí)鐘頻率為12MHz時(shí),一個(gè)機(jī)器周期是多少?ALE引腳的輸出頻率是多少?答:時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖頻率(fosc)的倒數(shù),它是計(jì)算機(jī)中最基本的、最小的時(shí)間單位。時(shí)鐘周期經(jīng)2分頻后成為內(nèi)部的時(shí)鐘信號(hào),用作單片機(jī)內(nèi)部各功能部件按序協(xié)調(diào)工作的控制信號(hào),稱為狀態(tài)周期,用S表示。完成一個(gè)基本操作所需要的時(shí)間稱為機(jī)器周期。指令周期是執(zhí)行一條指令所需要的時(shí)間,一般由若干個(gè)機(jī)器周期組成,指令不同,所需要的機(jī)器周期數(shù)也不同。當(dāng)單片機(jī)時(shí)鐘頻率為12MHz時(shí),一個(gè)機(jī)器周期為1s。ALE引腳的輸出頻率為2MHz。2-14 什么時(shí)候需要復(fù)位操作?對(duì)復(fù)位信號(hào)有何要求?答:復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位。上電復(fù)位利用電容器的充電實(shí)現(xiàn)。在時(shí)鐘電路工作后,在RST端連續(xù)給出2個(gè)機(jī)器周期的高電平就可完成復(fù)位操作。MCS-51單片機(jī)的上電加按鍵復(fù)位電路當(dāng)復(fù)位按鍵按下 后,復(fù)位端通過51的小電阻與+5V電源接通,迅速放電,使RST引腳為高電平;當(dāng)復(fù)位按鍵彈起后,+5V電源通過2k電阻對(duì)22F電容重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖。習(xí)題與思考題33-1 什么是尋址方式?MCS-51指令系統(tǒng)有哪些尋址方式?相應(yīng)的尋址空間在何處?答:在指令系統(tǒng)中,操作數(shù)是一個(gè)重要的組成部分,它指定了參與運(yùn)算的數(shù)據(jù)或數(shù)據(jù)所在的地址單元。如何找到參與運(yùn)算的這個(gè)數(shù)據(jù)或數(shù)據(jù)所在的地址就稱為尋址方式。MCS-51指令系統(tǒng)的尋址方式主要有立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址尋址、相對(duì)尋址和位尋址等七種。對(duì)程序存儲(chǔ)器只能采用立即尋址和基址加變址尋址方式;對(duì)特殊功能寄存器只能采用直接尋址方式,不能采用寄存器間接尋址,對(duì)8032/8052等單片機(jī)內(nèi)部RAM的高128個(gè)字節(jié)(80HFFH),只能采用寄存器間接尋址,不能使用直接尋址方式;對(duì)位操作指令只能對(duì)位尋址區(qū)操作;外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器只能用MOVX指令訪問,而內(nèi)部RAM的低128個(gè)字節(jié)(00H7FH)既能用直接尋址,也能用間接尋址。3-2 訪問外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器可以用哪些指令來實(shí)現(xiàn)?舉例說明。答:訪問外部數(shù)據(jù)存儲(chǔ)器可以用以下指令實(shí)現(xiàn):MOVX A, Ri ;(Ri)A,寄存器Ri指向的片外RAM地址中的內(nèi)容送到累加器A中MOVX Ri, A ;A(Ri),累加器中內(nèi)容送到寄存器Ri指向的片外RAM地址中MOVX A, DPTR ;(DPTR)A,數(shù)據(jù)指針指向的片外RAM地址中的內(nèi)容送到累加器A中MOVX DPTR, A ;A(DPTR),累加器中內(nèi)容送到數(shù)據(jù)指針指向的片外RAM地址中訪問程序存儲(chǔ)器可以用以下指令實(shí)現(xiàn):MOVC A, A+DPTR ;(A+DPTR)A,表格地址單元中的內(nèi)容送到累加器A中MOVC A, A+PC ;PC+1PC,(A+PC)A,表格地址單元中的內(nèi)容送到累加器A中 3-3 試用下列3種尋址方式編程,將立即數(shù)0FH送入內(nèi)部RAM的30H單元中。 (1) 立即尋址方式;(2) 寄存器尋址方式;(3) 寄存器間接尋址方式答:(1)立即尋址方式: MOV 30H, #0FH(2)寄存器尋址方式: MOV R5, #0FHMOV 30H, R5(3)寄存器間接尋址方式:MOV R1, #0FHMOV 30H, R13-5 試編寫一段程序,將內(nèi)部數(shù)據(jù)存儲(chǔ)器30H、3lH單元內(nèi)容傳送到外部數(shù)據(jù)存儲(chǔ)器1000H、1001H單元中。答: MOV A, 30HMOV DPTR, #1000HMOV DPTR, AMOV A, 31HMOV DPTR, #1000HMOV DPTR, A3-13 SJMP指令和AJMP指令都是字節(jié)轉(zhuǎn)移指令,它們有什么區(qū)別?各自的轉(zhuǎn)移范圍是多少?能否用AJMP指令代替程序中的所有SJMP指令?為什么?答:AJMP和SJMP的區(qū)別有:(1) 跳轉(zhuǎn)范圍不同。AJMP addr1 ;短跳轉(zhuǎn)范圍:2KBSJMP rel ;相對(duì)跳轉(zhuǎn)范圍:-128+127(2) 指令長(zhǎng)度不同。(3) 指令構(gòu)成不同。AJMP、LJMP后跟的是絕對(duì)地址,而SJMP后跟的是相對(duì)地址。不能用AJMP指令代替程序中的SJMP指令,因?yàn)槿绻淖兊脑?,程序跳轉(zhuǎn)到的新PC值指向的地址會(huì)不同,導(dǎo)致程序出現(xiàn)錯(cuò)誤。3-14 試用位操作指令實(shí)現(xiàn)下列邏輯操作。要求不得改變未涉及到的位的內(nèi)容。(1)使ACC.0置位; (2)清除累加器高4位; (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 答:(1)SETB ACC.0 (2)CLR ACC.4 CLR ACC.5 CLR ACC.6 CLR ACC.7 (3)CLR ACC.3 CLR ACC.4 CLR ACC.5 CLR ACC.6 習(xí)題與思考題44-1 MCS-51系列單片機(jī)匯編語言進(jìn)行程序設(shè)計(jì)的步驟如何?答:?jiǎn)纹瑱C(jī)匯編語言進(jìn)行程序設(shè)計(jì)的步驟:(1)分析題意,明確要求;(2)確定算法;(3)畫程序流程圖,用圖解來描述和說明解題步驟;(4)分配內(nèi)存工作單元,確定程序與數(shù)據(jù)區(qū)的存放地址;(5)編寫源程序;(6)程序優(yōu)化;(7)上機(jī)調(diào)試、修改和最后確定源程序。4-3 子程序調(diào)用時(shí),參數(shù)的傳遞方法有哪幾種?答:傳遞方法有傳遞數(shù)據(jù)、傳送地址和通過堆棧傳遞參數(shù)。 4-5 編寫程序,采用算術(shù)平均值濾波法求采樣平均值,設(shè)8次采樣值依次放在20H27H的連續(xù)單元中,結(jié)果保留在A中。 答:FILT: CLR AMOV R2, AMOV R3, AMOV R0, #20HMOV R7, #08H;初始化FILT1: MOV A, R0ADD A, R3 MOV R3, ACLR AADDC A, R2MOV R2, AINC R0DJNZ R7, FILT1;累加采樣值到R3,累加進(jìn)位到R2=00000xxxBFILT2: SWAP ARL A ;R2/8,節(jié)省一個(gè)指令周期XCH A, R3SWAP ARL A ;R3/8,節(jié)省一個(gè)指令周期ADD A, #80H ;四舍五入ANL A, #1FH ;屏蔽移位進(jìn)入的前三位ADDC A, R3 ;結(jié)果相加END;取平均值 4-8 假設(shè)在R0指向的片內(nèi)RAM區(qū),存有20個(gè)16進(jìn)制數(shù)的ASCII字串。將ASCII碼轉(zhuǎn)換為16進(jìn)制數(shù),然后兩兩合成一個(gè)字節(jié),從低地址單元到高地址單元依次組合。答: ORG 0000HSTART: MOV R7, #20S0: MOV A, R0MOV R1, A ;R1為中間量MOV A, R0CLR CSUBB A, #30HMOV R1, AJC S01MOV A, R0SUBB A, #07HMOV R1, AS01: INC R0MOV A, R0CLR CSUBB A, #30HSWAP AORL A, R1MOV R1, AJC S02MOV A, R0SUBB A, #07HSWAP AOR A, R1MOV R1, AS02: INC R0DJNZ R7, S0END 習(xí)題與思考題6 6-2 MCS-51單片機(jī)提供了幾個(gè)中斷源?有幾級(jí)中斷優(yōu)先級(jí)別?各中斷標(biāo)志是如何產(chǎn)生的又如何清除這些中斷標(biāo)志?各中斷源所對(duì)應(yīng)的中斷矢量地址是多少?答:MCS-51單片機(jī)提供了5個(gè)中斷源,有2級(jí)中斷優(yōu)先級(jí)別。中斷標(biāo)志由特殊功能寄存器TCON和SCON的相應(yīng)位鎖存。(見書中圖6-4、6-6)中斷標(biāo)志的撤消分為:1)定時(shí)/計(jì)數(shù)器中斷請(qǐng)求的撤消中斷請(qǐng)求被響應(yīng)后,硬件會(huì)自動(dòng)清TF0或TF1。2)外部中斷請(qǐng)求的撤消(1)跳沿方式外部中斷請(qǐng)求的撤消是自動(dòng)撤消的。(2)電平方式外部中斷請(qǐng)求的撤消,除了標(biāo)志位清“0”之外,還需在中斷響應(yīng)后把中斷請(qǐng)求信號(hào)引腳從低電平強(qiáng)制改變?yōu)楦唠娖?。(見書中圖例6-1)3)串行口中斷請(qǐng)求的撤消響應(yīng)串行口的中斷后,CPU無法知道是接收中斷還是發(fā)送中斷,還需測(cè)試這兩個(gè)中斷標(biāo)志位的狀態(tài),以判定是接收操作還是發(fā)送操作,然后才能清除。所以串行口中斷請(qǐng)求的撤消只能使用軟件的方法。CLR TI ;清TI標(biāo)志位CLR RI ;清RI標(biāo)志位各中斷源對(duì)應(yīng)的中斷矢量地址分別為:中斷源中斷矢量外部中斷00003H定時(shí)器T0中斷000BH外部中斷10013H定時(shí)器T1中斷001BH串行口中斷0023H定時(shí)器中斷T2(僅52系列有)002BH 6-3 外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產(chǎn)生的中斷過程有何不同?怎樣設(shè)定? 答:采用中斷電平觸發(fā)方式時(shí),中斷請(qǐng)求標(biāo)志IT0=0,CPU在每個(gè)機(jī)器周期的S5P2期間采樣,一旦在P3.2引腳上檢測(cè)到低電平,則有中斷申請(qǐng),使IE0置位(置1),向CPU申請(qǐng)中斷。在電平觸發(fā)方式中,在中斷響應(yīng)后中斷標(biāo)志位IE0的清0由硬件自動(dòng)完成,但由于CPU對(duì)P3.2引腳沒有控制作用,使中斷請(qǐng)求信號(hào)的低電平可能繼續(xù)存在,在以后的機(jī)器周期采樣時(shí)又會(huì)把已清0的IE0標(biāo)志位重新置1,所以,在中斷響應(yīng)后必須采用其它方法撤消該引腳上的低電平,來撤除外部中斷請(qǐng)求信號(hào),否則有可能再次中斷造成出錯(cuò)。采用邊沿觸發(fā)方式時(shí),IT0=1,CPU在每個(gè)機(jī)器的S5P2期間采樣,當(dāng)檢測(cè)到前一周期為高電平,后一周期為低電平時(shí),使標(biāo)志IE0置1,向CPU申請(qǐng)中斷,此標(biāo)志位一直保持到CPU響應(yīng)中斷后,才由硬件自動(dòng)清除。在邊沿觸發(fā)方式中,為保證CPU在兩個(gè)機(jī)器周期內(nèi)檢測(cè)到由高到低的負(fù)跳變,高電平與低電平的持續(xù)時(shí)間不得少于一個(gè)機(jī)器周期的時(shí)間。6-4 試分析以下幾種中斷優(yōu)先級(jí)的排列順序(級(jí)別由高到低)是否可能?若可能,則應(yīng)如何設(shè)置中斷源的中斷級(jí)別?否則,請(qǐng)簡(jiǎn)述不可能的理由。 (1) 定時(shí)器T0中斷,定時(shí)T1中斷,外中斷1NT0,外中斷INT1,串行口中斷;(2) 串行口中斷,外中斷1NT0,定時(shí)器T0中斷,外中斷INT1,定時(shí)器T1中斷;(3) 外中斷INT0、定時(shí)器T1中斷,外中斷INT1,定時(shí)器T0中斷,串行口中斷。答:(1)可以,將定時(shí)器T0中斷,定時(shí)T1設(shè)置為高優(yōu)先級(jí)中斷,將外中斷1NT0,外中斷INT1,串行口中斷(2)可以,將串行口中斷設(shè)置為高優(yōu)先級(jí)中斷,將外中斷1NT0,定時(shí)器T0中斷,外中斷INT1,定時(shí)器T1中斷設(shè)置為低優(yōu)先級(jí)中斷;(3)不行,因?yàn)镸CS-51單片機(jī)有2級(jí)中斷優(yōu)先級(jí)別,同級(jí)中斷還存在按次序決定的第二優(yōu)先級(jí)結(jié)構(gòu),由高到低依次為外中斷1NT0、定時(shí)器T0中斷、外中斷INT1、定時(shí)器T1中斷、串行口中斷。 習(xí)題與思考題77-1 定時(shí)/計(jì)數(shù)器有哪些專用寄存器,它們有幾種工作模式?如何設(shè)置?答:有定時(shí)控制寄存器(TCON)和工作方式寄存器(TMOD),具有四種工作方式:方式0、方式1、方式2和方式3,四種方式由工作方式寄存器(TMOD)的M1和M0兩位決定。7-4 定時(shí)/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:外部輸入的計(jì)數(shù)脈沖的最高頻率為振蕩器頻率的1/24。7-7 編寫程序,要求使用T0,采用方式2定時(shí),在P1.0輸出周期為400s,占空比為10:1的矩形脈沖。 答:本題采用晶體振蕩器頻率為12MHz,使用定時(shí)器配合計(jì)數(shù)器,設(shè)計(jì)成一個(gè)40s定時(shí)將P1.0置0和一個(gè)400s定時(shí)將P1.0置1。ORG 0000H ;中斷入口地址AJMP STARTORG 000BH ;定時(shí)器0的中斷向量地址AJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV 30H, #00H ;軟件計(jì)數(shù)器清零MOV TMOD, #02H ;T0工作在方式1MOV TH0, #216MOV TL0, #216SETB EASETB ET0SETB TR0;任意程序段TIME0: PUSH ACC ;中斷處理子程序PUSH PSWCLR P1.0INC 30HMOV A, 30HCJNE A, #10, T0_4SETB P1.0MOV 30H, #00HT0_4: POP PSWPOP ACCRETIEND7-9 利用定時(shí)/計(jì)數(shù)器T0產(chǎn)生定時(shí)時(shí)鐘,由P1口控制8個(gè)指示燈。編一個(gè)程序,使8個(gè)指示燈依次一個(gè)一個(gè)閃動(dòng),閃動(dòng)頻率為20次/秒(8個(gè)燈依次亮一遍為一個(gè)周期)。答:本題采用晶體振蕩器頻率為12MHz,每個(gè)燈的閃爍周期是:50ms,采用工作方式1。ORG 0000HAJMP STARTORG 000BHAJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV R7, #0FEHMOV TMOD, #01H ;T0在工作方式1MOV TH0, #3CHMOV TL0, #0B0HSETB EASETB ET0SETB TR0S0: AJMP S0 ;此處放任意程序段TIME0: PUSH ACCPUSH PSWMOV P1, R7MOV A, R7RL AMOV R7, AMOV TH0, #3CHMOV TL0, #0B0HPOP PSWPOP ACCRETIEND7-12 簡(jiǎn)述特殊功能寄存器SCON,TCON,TMOD功能。答:SCON是串行口控制寄存器,主要用于控制、監(jiān)視串行口的工作狀態(tài);TCON是定時(shí)控制寄存器,主要用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)和停止、計(jì)數(shù)溢出標(biāo)志和管理外部中斷;TMOD是工作方式控制寄存器,主要用于設(shè)定定時(shí)/計(jì)數(shù)器的的工作方式和選定定時(shí)還是計(jì)數(shù)以及門控INT0非信號(hào)。7-15 幀格式為1個(gè)起始位,8個(gè)數(shù)據(jù)位和1個(gè)停止位的異步串行通信方式是方式幾?。 答:是異步串行通信方式1。7-16 簡(jiǎn)述串行口通信的第9數(shù)據(jù)位的功能。答:在工作方式2和3下,才有第9數(shù)據(jù)位,既可作為奇偶校驗(yàn)位使用,也可作為控制位使用。習(xí)題與思考題88-1 畫圖說明單片機(jī)系統(tǒng)總線擴(kuò)展方法。答:?jiǎn)纹瑱C(jī)系統(tǒng)擴(kuò)展總線原理如下圖所示,擴(kuò)展后由P0口經(jīng)鎖存器形成低8位地址,P2口形成高8位地址,共同形成16位地址總線;P0口形成8位數(shù)據(jù)線,/WR、/RD及/PSEN形成控制總線。 8-10 以8031為核心的單片機(jī)應(yīng)用系統(tǒng)中擴(kuò)展程序存儲(chǔ)器至16KB。 (1)選擇存儲(chǔ)器件;(2)畫出原理電路;(3)說明各器件占用存儲(chǔ)空間。答:(1)選用EPROM存儲(chǔ)器作為程序存儲(chǔ)器,可選用1片27128或2片2764,本題選兩片6264作為程序存儲(chǔ)器。(2)原理電路如下圖所示。(3)由于8031單片機(jī)內(nèi)部沒有程序程序器,外擴(kuò)程序存儲(chǔ)器地址必須從0000H開始,并且單片機(jī)的/EA引腳應(yīng)接地。從圖中可以看出,1#2764的地址范圍為0000-1FFFH,2#2764的地址范圍為2000H-3FFFH8-12 試編程對(duì)8155進(jìn)行初始化,設(shè)A口為選通輸出,B口為選通輸入,C口作為控制聯(lián)絡(luò)口,并啟動(dòng)定時(shí)/計(jì)數(shù)器按方式1工作,工作時(shí)間為10 ms,定時(shí)器計(jì)數(shù)脈沖頻率為單片機(jī)的時(shí)鐘頻率24分頻,fOSC=12 MHz。答:(1)參照書中圖8-21,設(shè): 8155的片選信號(hào)CE接至51單片機(jī)的P2.7口,即單片機(jī)操作指令產(chǎn)生的地址信號(hào)P2.7為0時(shí),對(duì)擴(kuò)展的8155進(jìn)行操作。因此,擴(kuò)展的8155口地址最高位為0; 8155的IO/M(IO/M=1時(shí)選擇8155的寄存器,IO/M=0時(shí)選擇8155的存儲(chǔ)器)信號(hào)接至51單片機(jī)的P2.0口,即單片機(jī)操作指令產(chǎn)生的地址信號(hào)P2.0為1時(shí)(前提是P2.7為0),對(duì)擴(kuò)展8155的內(nèi)部寄存器進(jìn)行操作。 (2)8155內(nèi)部寄存器口地址分析 根據(jù)前面假設(shè),擴(kuò)展的8155內(nèi)部寄存器高8位地址是:0xxx,xxx1B,取其中的任意位x為1,則8155內(nèi)部寄存器高8位地址是:0111,1111B=7FH。 參照書中表8-5知,8155地址信號(hào)有效時(shí),由地址信號(hào)的低3位確定所操作的寄存器如下: 控制字寄存器和狀態(tài)字寄存器地址是:,000B,取其中任意值x為0,則該寄存器低8位地址是00H。加上前面分析過的這里擴(kuò)展的8155內(nèi)部寄存器高8位地址7FH,該寄存器的16位地址為7F00H; A口寄存器地址是:,001B,取其中任意值x為0,則該寄存器低8位地址是01H。同理,加上高8位地址7FH,該寄存器的16位地址為7F01H; B口寄存器地址是:,010B,取其中任意值x為0,則該寄存器低8位地址是02H。同理,加上高8位地址7FH,該寄存器的16位地址為7F02H; C口寄存器地址是:,011B,取其中任意值x為0,則該寄存器低8位地址是03H。同理,加上高8位地址7FH,該寄存器的16位地址為7F03H; 定時(shí)/計(jì)數(shù)器低字節(jié)寄存器地址是:,100B,取其中任意值x為0,則該寄存器低8位地址是04H。同理,加上高8位地址7FH,該寄存器的16位地址為7F04H; 定時(shí)/計(jì)數(shù)器高字節(jié)寄存器地址是:,101B,取其中任意值x為0,則該寄存器低8位地址是05H。同理,加上高8位地址7FH,該寄存器的16位地址為7F05H。 (3)8155控制字分析 根據(jù)8155控制字各位定義可知: D7D6位(TM1和TM2)是定時(shí)/計(jì)數(shù)器工作方式,TM1和TM2=11時(shí),啟動(dòng)定時(shí)/計(jì)數(shù)器。根據(jù)題意要求,這兩位取11(啟動(dòng)定時(shí)/計(jì)數(shù)器); D5位(IEB)是B口中斷控制位,本題不涉及,故取0; D4位(IEA)是A口中斷控制位,本題不涉及,故取0; D3D2位(PAB2和PAB1)是定義A口、B口和C口的工作方式。按照定義可知,PAB2PAB1=10時(shí),A口和B口均為選通方式。此時(shí),C口的PC0PC5提供它們所需握手聯(lián)絡(luò)信號(hào)(PC0=INTRA,PC1=BFA,PC2=STBA,PC3=INTRB,PC4=BFB,PC5=STBB)。其中與本題有關(guān)的信號(hào)是:STBA為A口數(shù)據(jù)選通輸入信號(hào),STBB為B口數(shù)據(jù)選通輸入信號(hào)(選通信號(hào)只在讀取A、B口數(shù)據(jù)時(shí)使用,本題要求的初始化程序中不需要考慮); D1位(PB)定義B口的輸入/輸出,PB=0為輸入,PB=1為輸出。根據(jù)題意應(yīng)取該位為0; D0位(PA)定義A口的輸入/輸出,PA=0為輸入,PA=1為輸出。根據(jù)題意應(yīng)取該位為1。 綜合以上分析,這里擴(kuò)展的8155控制字為:1100,1001B=C9H。意為:?jiǎn)?dòng)定時(shí)/計(jì)數(shù)器,A口和B口均為選通方式,B口為輸入,A口為輸出。 (4)定時(shí)/計(jì)數(shù)器工作方式及初值確定 51單片機(jī)的定時(shí)/計(jì)數(shù)器是以加法器方式工作,從定時(shí)常數(shù)開始加1直到溢出后產(chǎn)生定時(shí)中斷。而8155的定時(shí)/計(jì)數(shù)器是以減法器方式工作,從定時(shí)常數(shù)開始減1直到溢出后產(chǎn)生定時(shí)中斷。8155的定時(shí)時(shí)間常數(shù)計(jì)算公式為:10000/(分頻系數(shù)*(fOSC/12)。 8155的定時(shí)/計(jì)數(shù)器是一個(gè)14位的減法計(jì)數(shù)器。根據(jù)8155定時(shí)/計(jì)數(shù)器工作方式的定義,定時(shí)/計(jì)數(shù)器高字節(jié)寄存器的D7D6位(M2、M1)為01時(shí),定時(shí)/計(jì)數(shù)器以方式1工作(連續(xù)方波),D5D0是定時(shí)時(shí)間常數(shù)的高6位。定時(shí)/計(jì)數(shù)器低字節(jié)寄存器是定時(shí)時(shí)間常數(shù)的低8位。 依照題意及要求,工作時(shí)間為10 ms,定時(shí)器計(jì)數(shù)脈沖頻率為單片機(jī)時(shí)鐘頻率的24分頻,fOSC=12 MHz。因此,按照8155定時(shí)時(shí)間常數(shù)計(jì)算公式,計(jì)算如下: 10000/(24*(fOSC/12)=417D=00,0001,1010,0001B=01A1H 即,定時(shí)/計(jì)數(shù)器低字節(jié)寄存器內(nèi)容是定時(shí)/計(jì)數(shù)初值低8位1010,0001B(A1H)。高字節(jié)寄存器內(nèi)容是定時(shí)/計(jì)數(shù)器工作方式1(D7D6=01)和定時(shí)/計(jì)數(shù)初值高6位(D5D0=00,0001B)的“位或”邏輯組合值0100,0001B(41H)。 (5)分析結(jié)果 綜合以上分析,得出本題中擴(kuò)展的8155相關(guān)口地址和控制字結(jié)果如下: 控制寄存器地址:7F00H 端口A地址:7F01H(初始化程序中不使用) 端口B地址:7F02H(初始化程序中不使用) 端口C地址:7F03H(初始化程序中不使用) 定時(shí)/計(jì)數(shù)器低字節(jié)地址:7F04H 定時(shí)/計(jì)數(shù)器高字節(jié)地址:7F05H 控制字為:C9H 定時(shí)/計(jì)數(shù)器低8位初值為:A1H 定時(shí)/計(jì)數(shù)器高8位初值為:41H (6)編寫8155初始化程序如下。 ORG 1000H MOV DPTR, #7F04H ;數(shù)據(jù)指針指向定時(shí)/計(jì)數(shù)器低字節(jié)地址 MOV A, #0A1H ;10ms定時(shí)初值的低8位 MOVX DPTR, A ;裝入定時(shí)初值的低8位 INC DPTR ;數(shù)據(jù)指針指向定時(shí)/計(jì)數(shù)器高字節(jié)地址 MOV A, #41H ;連續(xù)方波方式和10ms定時(shí)初值的高6位 MOVX DPTR, A ;裝入定時(shí)/計(jì)數(shù)器工作方式及定時(shí)初值高6位 MOV DPTR, #7F00H ;數(shù)據(jù)指針指向控制寄存器地址 MOV A, #0C9H ;C9H為依題意確定的8155控制字 MOVX DPTR, A ;寫控制字到8155控制寄存器,設(shè)定A, B, C口 ;的工作方式,同時(shí)啟動(dòng)定時(shí)/計(jì)數(shù)器 RET ;完成8155初始化,返回 END 習(xí)題與思考題99-2 SPI總線與I2C總線在擴(kuò)展多個(gè)外部器件時(shí)有何不同? 答: SPI總線與I2C總線在擴(kuò)展多個(gè)外部器件時(shí)區(qū)別如下: (1)I2C總線 下圖為I2C總線外圍接口擴(kuò)展示意圖,單片機(jī)系統(tǒng)采用I2C總線可方便地?cái)U(kuò)展外部存儲(chǔ)器、AD和DA轉(zhuǎn)換器、實(shí)時(shí)時(shí)鐘、鍵盤、顯示等接口電路。 I2C總線上連接的器件都是總線上的節(jié)點(diǎn),每個(gè)時(shí)刻只有一個(gè)主控器件操控總線。每個(gè)器件都有一個(gè)唯一確定的地址,主控器件通過這個(gè)地址實(shí)現(xiàn)對(duì)從器件的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸。器件的地址由7位組成,其后附加了1位方向位,確定數(shù)據(jù)的傳輸方向。這8位構(gòu)成了傳輸起始狀態(tài)S后的第一個(gè)字節(jié)。 器件的地址由4位固定位和3位可編程位組成。固定位由生產(chǎn)廠家給出,用戶不能改變。可編程位與器件的地址管腳的連接相對(duì)應(yīng),當(dāng)系統(tǒng)中使用了多個(gè)相同芯片時(shí)可以進(jìn)行正確的訪問。 當(dāng)主器件發(fā)送了數(shù)據(jù)幀的第一個(gè)字節(jié)后,總線上連接的從器件會(huì)將接收到的地址數(shù)據(jù)與自己的地址進(jìn)行比較,被選中的從器件在根據(jù)方向位確定是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。 (2)SPI總線 總線上有多個(gè)SPI接口的單片機(jī)時(shí),應(yīng)為一主多從,在某一時(shí)刻只能由一個(gè)單片機(jī)為主器件。如果總線上只有一個(gè)SPI接口器件,不需要進(jìn)行尋址操作而進(jìn)行全雙工通信。在擴(kuò)展多個(gè)SPI外圍器件時(shí),單片機(jī)應(yīng)分別通過I/O口線為每個(gè)從器件提供獨(dú)立的使能信號(hào),硬件上比I2C系統(tǒng)要稍微復(fù)雜一些,下圖所示為SPI總線擴(kuò)展外圍器件。但是SPI不需要在總線上發(fā)送尋址序列,軟件上簡(jiǎn)單高效。 9-7 簡(jiǎn)述單線總線的操作原理。答: 由于單線總線沒有時(shí)鐘脈沖進(jìn)行同步,需要嚴(yán)格的時(shí)序和協(xié)議來保證總線的操作有效性和數(shù)據(jù)的完整性。單線總線有四種基本操作,分別是復(fù)位、寫1、寫0和讀位操作。單線總線將完成一位傳輸?shù)臅r(shí)間稱為一個(gè)時(shí)隙。定義了基本操作后,對(duì)器件的讀寫操作可通過多次調(diào)用位操作來實(shí)現(xiàn)。 采用單線總線通信,要求CPU能夠產(chǎn)生較為精確的1s延時(shí),還要保證通信過程不能被中斷。所有的數(shù)據(jù)和指令的傳遞都是從最低有效位開始通過單線總線。 所有單線總線操作的流程為現(xiàn)對(duì)總線上的器件進(jìn)行初始化,然后利用ROM操作指令尋找和匹配,指定待操作器件,接著發(fā)出功能指令,進(jìn)行具體操作或傳輸數(shù)據(jù)。系統(tǒng)對(duì)從器件的各種操作必須按協(xié)議進(jìn)行,只有主機(jī)呼叫時(shí),從器件才能應(yīng)答,如果命令順序混亂,則總線將不能正常工作10-4 10-4 利用AD574設(shè)計(jì)一個(gè)接口電路,每隔5 s對(duì)模擬通道采樣一次,并將采樣結(jié)果保存在外部RAM的1000H單元。畫出原理圖并編制相應(yīng)程序。答:AD574工作在單極性輸入方式時(shí)與MCS-51單片機(jī)的接口電路原理圖如下圖所示。 P0.0和P0.1通過地址鎖存器連接AD574的A0和R/C。啟動(dòng)轉(zhuǎn)換時(shí),R/C=0并且A0=0則按12位轉(zhuǎn)換,未連接的地址線按1算,則啟動(dòng)12位A/D轉(zhuǎn)換的地址為FCH。讀取轉(zhuǎn)換結(jié)果時(shí),在R/C=1條件下,A0=0讀高8位,A0=1讀低4位,因而,讀高8位數(shù)據(jù)的地址為FEH,讀低4位數(shù)據(jù)的地址為FFH。P1.0用于查詢A/D轉(zhuǎn)換是否結(jié)束。 編寫程序如下。包括AD574程序和5s延時(shí)程序(晶振頻率為12MHz)。 ORG 0200H DEY5S: MOV R5, #100 ; 置外循環(huán)計(jì)數(shù)器R5初值為100 LOOP1: MOV R6, #200 ; 置2層循環(huán)計(jì)數(shù)器R6為初值為200 LOOP2: MOV R7, #248 ; 置三層循環(huán)計(jì)數(shù)器R7的初值為248 LOOP3: DJNZ R7, LOOP3 ; 3層循環(huán)計(jì)數(shù)結(jié)束否? DJNZ R6, LOOP2 ; 2層循環(huán)計(jì)數(shù)結(jié)束否? DJNZ R5, LOOP1 ; 1層循環(huán)計(jì)數(shù)結(jié)束否? AD574:MOV DPTR, #1000H ; DPTR指向數(shù)據(jù)緩沖區(qū) MOV R0, #0FCH ; R0指向啟動(dòng)地址 MOVX R0, A ; 啟動(dòng)A/D轉(zhuǎn)換 LOOP: JB P1.0, LOOP ; 等待轉(zhuǎn)換結(jié)束 INC R0 ; 指向讀高8位數(shù)據(jù)地址 INC R0 ; 12的數(shù)據(jù)存儲(chǔ)時(shí)占兩個(gè)字節(jié) MOVX A, R0 ; 讀高8位數(shù)據(jù) MOVX DPTR, A ; 存高8位數(shù)據(jù) INC R0 ; 指向讀低4位數(shù)據(jù)地址 INC DPTR ; 指向緩沖區(qū)下一字節(jié)地址 10-7 利用DAC0832雙緩沖結(jié)構(gòu)特性,設(shè)計(jì)一個(gè)接口電路并編制相應(yīng)程序,實(shí)現(xiàn)雙路模擬信號(hào)同時(shí)輸出。答:(1)接口電路原理如下圖所示。圖中選用兩片0832作為雙路模擬信號(hào)輸出轉(zhuǎn)換器,由圖中的連接關(guān)系可以看出,1#0832第一級(jí)緩沖器地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 師德師風(fēng)提升年活動(dòng)簡(jiǎn)報(bào)范文(6篇)
- 農(nóng)村培訓(xùn)課件
- 開學(xué)第一課觀后感(匯編15篇)
- 2024年中國折扣零售行業(yè)市場(chǎng)現(xiàn)狀、前景分析研究報(bào)告(智研咨詢發(fā)布)
- 二零二五年度海上風(fēng)電項(xiàng)目土地租賃與海上平臺(tái)建設(shè)合同3篇
- 二零二五年度林業(yè)資源綜合開發(fā)承包協(xié)議3篇
- 2025版食用菌木屑研發(fā)與生產(chǎn)合作合同3篇
- 二零二五年度旅游線路設(shè)計(jì)與開發(fā)合作協(xié)議3篇
- 2025版環(huán)境執(zhí)法檢查相關(guān)方環(huán)境管理協(xié)議3篇
- 鼓勵(lì)幼兒自主探索的教學(xué)方法計(jì)劃
- 第一章威爾遜公共行政管理理論
- 外科護(hù)理(高職護(hù)理專業(yè))PPT完整全套教學(xué)課件
- 超聲科圖像質(zhì)量評(píng)價(jià)細(xì)則及超聲科制度匯編
- 創(chuàng)傷嚴(yán)重程度(ISS)評(píng)分表(完整版)
- 中國古代文學(xué)史 馬工程課件(中)24第六編 遼西夏金元文學(xué) 緒論
- 2022版義務(wù)教育(勞動(dòng))課程標(biāo)準(zhǔn)(含2022年修訂部分)
- 最新交管12123學(xué)法減分題庫含答案(通用版)
- 碳排放核查員模擬考試題
- 奢侈品管理概論完整版教學(xué)課件全書電子講義(最新)
- 文藝美學(xué)課件
- DB51T2939-2022 彩燈(自貢)制作工藝通用規(guī)范
評(píng)論
0/150
提交評(píng)論