




已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
浙江大學(xué)遠(yuǎn)程教育學(xué)院微機(jī)原理與接口技術(shù)課程作業(yè)姓名:學(xué) 號(hào):年級(jí):學(xué)習(xí)中心:第二章 P47280C51單片微機(jī)芯片引腳第二功能有哪些?答:80C51單片機(jī)的P0、P2和P3引腳都具有第二功能。第一功能第二變異功能P0口地址總線A0A7/數(shù)據(jù)總線D0D7P2口地址總線A8A15P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 (外部中斷0)P3.3 (外部中斷1)P3.4 T0 (定時(shí)器/計(jì)數(shù)器0的外部輸入)P3.5 T1 (定時(shí)器/計(jì)數(shù)器0的外部輸出)P3.6 (外部讀寫(xiě)存儲(chǔ)器或I/O的寫(xiě)選通)P3.7 (外部讀寫(xiě)存儲(chǔ)器或I/O的讀選通)480C51存儲(chǔ)器在結(jié)構(gòu)上有何特點(diǎn)?在物理上和邏輯上各有哪幾種地址空間?訪問(wèn)片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的指令格式有何區(qū)別?答:80C51單片機(jī)采用哈佛(Haryard)結(jié)構(gòu),即是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別進(jìn)行尋址。不僅在片內(nèi)駐留一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器,而且還具有強(qiáng)的外部存儲(chǔ)器擴(kuò)展能力,擴(kuò)展的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器尋址范圍分別可達(dá)64KB。在物理上設(shè)有4個(gè)存儲(chǔ)器空間l 片內(nèi)程序存儲(chǔ)器;l 片外程序存儲(chǔ)器;l 片內(nèi)數(shù)據(jù)存儲(chǔ)器;l 片外數(shù)據(jù)存儲(chǔ)器。在邏輯上設(shè)有3個(gè)存儲(chǔ)器地址空間l 片內(nèi)、片外統(tǒng)一的 64 KB程序存儲(chǔ)器地址空間。l 片內(nèi)256B(80C52為384 B)數(shù)據(jù)存儲(chǔ)器地址空間。 片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,在物理上又包含兩部分: 對(duì)于80C51型單片機(jī),從0127 字節(jié)為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從128255 字節(jié)為特殊功能寄存器(SFR)空間(實(shí)際僅占用了20多個(gè)字節(jié))。l 片外64 KB的數(shù)據(jù)存儲(chǔ)器地址空間。在訪問(wèn)三個(gè)不同的邏輯空間時(shí),應(yīng)采用不同形式的指令,以產(chǎn)生不同存儲(chǔ)空間的選通信號(hào)。訪問(wèn)片內(nèi)RAM采用MOV指令,訪問(wèn)片外RAM則一定要采用MOVX指令,因?yàn)镸OVX指令會(huì)產(chǎn)生控制信號(hào)或,用來(lái)訪問(wèn)片外RAM。訪問(wèn)程序存儲(chǔ)器地址空間,則應(yīng)采用MOVC指令。680C51片內(nèi)數(shù)據(jù)存儲(chǔ)器低128個(gè)存儲(chǔ)單元?jiǎng)澐譃槟?個(gè)主要部分?各部分主要功能是什么?答:80C51片內(nèi)RAM的低128個(gè)存儲(chǔ)單元?jiǎng)澐譃?個(gè)主要部分:l 寄存器區(qū):共4組寄存器,每組8個(gè)存儲(chǔ)單元,各組以R0R7作為單元編號(hào)。常用于保存操作數(shù)及中間結(jié)果等等。R0R7也稱為通用寄存器,占用00H1FH共32個(gè)單元地址。l 位尋址區(qū):20H2FH,既可作為一般RAM單元使用,按字節(jié)進(jìn)行操作,也可以對(duì)單元中的每一位進(jìn)行位操作,稱為位尋址區(qū)。尋址區(qū)共有16個(gè)RAM單元,共計(jì)128位,位地址為00H7FH。l 堆棧區(qū):設(shè)置在用戶RAM區(qū)內(nèi)。l 用戶RAM區(qū):在內(nèi)部RAM低128單元中,除去前面3個(gè)區(qū),剩下的所有單元。第三章P879MOV、MOVC、MOVX 指令有什么區(qū)別,分別用于那些場(chǎng)合,為什么?答:MOV指令用于對(duì)內(nèi)部RAM的訪問(wèn)。MOVC指令用于對(duì)程序存儲(chǔ)器的訪問(wèn),從程序存儲(chǔ)器中讀取數(shù)據(jù)(如表格、常數(shù)等)。MOVX指令采用間接尋址方式訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,有Ri和DPTR兩種間接尋址方式。MOVX指令執(zhí)行時(shí),在P3.7引腳上輸出有效信號(hào)或在P3.6引腳上輸出有效信號(hào),可以用作外部數(shù)據(jù)存儲(chǔ)器或I/O的讀或?qū)戇x通信號(hào),與單片機(jī)擴(kuò)展電路有關(guān)。15已知(R1)=20H,(20H)=AAH,請(qǐng)寫(xiě)出執(zhí)行完下列程序段后A的內(nèi)容。MOV A,#55HANL A,#0FFHORL20H,AXRL A,R1CPLA答:各指令執(zhí)行結(jié)果如下:MOV A,#55H;(A)=55HANL A,#0FFH;(A)=55HORL20H,A;(20H)=FFHXRL A,R1;(A)=AAHCPLA;(A) =55H執(zhí)行完程序段后,A的內(nèi)容為55H。16閱讀下列程序,說(shuō)明其功能。MOVR0,#30H MOVA,R0 RLA MOVR1,ARLARLAADDA,R1MOVR0,A 答:對(duì)程序注釋如下:MOVR0,#30H ;(R0)=30HMOVA,R0 ;取數(shù)RLA ;(A)2MOVR1,ARLA;(A)4RLA;(A)8ADDA,R1;(A)10MOVR0,A ;存數(shù) 功能:將30H中的數(shù)乘以10以后再存回30H中。條件:30H中的數(shù)不能大于25,2510=250仍為一個(gè)字節(jié)。若30H中的數(shù)大于25,則應(yīng)考慮進(jìn)位。17. 已知兩個(gè)十進(jìn)制數(shù)分別從內(nèi)部數(shù)據(jù)存儲(chǔ)器中的40H單元和50H單元開(kāi)始存放(低位在前),其字節(jié)長(zhǎng)度存放在內(nèi)部數(shù)據(jù)存儲(chǔ)器的30H單元中。編程實(shí)現(xiàn)兩個(gè)十進(jìn)制數(shù)求和,并把和的結(jié)果存放在內(nèi)部數(shù)據(jù)存儲(chǔ)器40H開(kāi)始的單元中。 【答】程序如下: ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV R0,#40H ;被加數(shù)首址又作兩個(gè)十進(jìn)制數(shù)和的首址 MOV R1,#50H ;加數(shù)首址 MOV R2,30H ;字節(jié)長(zhǎng)度 CLR C PP: MOV A,R1 ;取加數(shù) ADDC A,R0 ;帶進(jìn)位加 DA A ;二一十進(jìn)制數(shù)調(diào)整 MOV R0,A ;存和 INC R0 ;修正地址 INC R1 DJNZ R2,PP ;多字節(jié)循環(huán)加 AJMP $ END 21讀程序,請(qǐng)畫(huà)出P1.0P1.3引腳上的波形圖,并標(biāo)出電壓V時(shí)間T坐標(biāo); 加以注釋。 ORG0000HSTART:MOVSP,#20HMOV30H,#01HMOVP1,#01 MLP0:ACALLD50ms; 軟件延時(shí)50mSMOVA,30HCJNEA,#08H,MLP1MOVA,#01H MOVDPTR,#ITABMLP2MOV30H,AMOVCA,A+DPTRMOVP1,ASJMPMLP0MLP1:INCASJMPMLP2ITAB:DB0,1,2,4,8 DB8,4,2,1D50ms:; 延時(shí)50ms子程序(略)RET答:程序功能:P1.0P1.3引腳上的波形圖如圖3-2所示。圖3-2P1.0P1.3引腳上的波形圖注釋見(jiàn)源程序右邊所述。ORG0000HSTART:MOVSP,#20HMOV30H,#01HMOVP1,#01H ;P1.0P1.3引腳輸出波形MLP0:ACALLD50ms;軟件延時(shí)50msMOVA,30HCJNEA,#08H,MLP1;判表格中數(shù)據(jù)是否取完?MOVA,#01H ;取完,從表頭開(kāi)始取MOVDPTR,#ITAB;表格首地址MLP2MOV30H,AMOVCA,A+DPTR;取表格中數(shù)據(jù)MOVP1,ASJMPMLP0MLP1:INCA;表格中數(shù)據(jù)未取完,準(zhǔn)備取下一個(gè)SJMPMLP2ITAB:DB0,1,2,4,8;表 DB8,4,2,1D50ms:;軟件延時(shí)50ms子程序RET第四章P1236 根據(jù)運(yùn)算結(jié)果給出的數(shù)據(jù)到指定的數(shù)據(jù)表中查找對(duì)應(yīng)的數(shù)據(jù)字。 運(yùn)算結(jié)果給出的數(shù)據(jù)在片內(nèi)數(shù)據(jù)存儲(chǔ)器的40H單元中,給出的數(shù)據(jù)大小在000FH之間,數(shù)據(jù)表存放在20H開(kāi)始的片內(nèi)程序存儲(chǔ)器中。查表所得數(shù)據(jù)字(為雙字節(jié)、高位字節(jié)在后)高位字節(jié)存于 42H、低位字節(jié)存于41H單元。其對(duì)應(yīng)關(guān)系為: 給出數(shù)據(jù);00 01 02 0DH 0EH 0FH 對(duì)應(yīng)數(shù)據(jù):00A0H 7DC2H FF09H 3456H 89ABH 5678H請(qǐng)編制查表程序段,加上必要的偽指令,并加以注釋?!敬稹砍绦蛉缦拢?ORG 0000H AJMP MAIN , 0RG 0020H TAB:DB OAOH,OOH,0C2H,7DH,09H,OFFH,.,56H,34H,0ABH,89H,DB 78H,56H; 數(shù)據(jù)字表 ORG 0050H MAIN: MOV A,40H ;運(yùn)算結(jié)果給出的數(shù)據(jù)放在40H中 MOV DPTR,#TAB ;指向數(shù)據(jù)字表首地址 RL A ;由于是雙字節(jié),所以A左移1位(乘2) MOV 40H,A ;結(jié)果放在40H MOVC A,A+DPTR ;查表,找出對(duì)應(yīng)的值 MOV 41H,A ;查找出的數(shù)據(jù)值低字節(jié)放入41H MOV A40H ADD A,#01H ;查找數(shù)據(jù)的高位字節(jié) MOV DPTR,#TAB MOVC A,A+DPTR MOV 42H,A 。 ;查找出的數(shù)據(jù)值高字節(jié)放入42H SJMP$注意:數(shù)據(jù)表存放在20 H開(kāi)始的片內(nèi)存儲(chǔ)器中,該存儲(chǔ)器應(yīng)為內(nèi)部程序存儲(chǔ)器,因?yàn)椴楸碇噶頜OVC的功能是從程序存儲(chǔ)器中讀數(shù)據(jù)。10. 把長(zhǎng)度為10H的字符串從內(nèi)部數(shù)據(jù)存儲(chǔ)器的輸入緩沖區(qū)INBUF向設(shè)在外部數(shù)據(jù)存儲(chǔ)器的輸出緩沖區(qū)OUTBUF進(jìn)行傳送,一直進(jìn)行到遇見(jiàn)回車(chē)字符“CR”結(jié)束傳送或整個(gè)字符串傳送完畢。加上必要的偽指令,并對(duì)源程序加以注釋。答:程序如下:ORG 0000HAJMP MAIN ORG 0030HMAIN:MOV R7,#10H ;數(shù)據(jù)長(zhǎng)度 MOV R0,#INBUF ;源數(shù)據(jù)首地址 MOV DPTR,#OUTBUF;目的數(shù)據(jù)首地址LOOP: MOV A,R0 ;把源數(shù)據(jù)的值賦給ACJNEA,#0DH,LOOP1;是“CR”(ASCII碼值為0DH) ?SJMPEND1;是“CR”,則結(jié)束傳送LOOP1:MOVX DPTR,A ;把A的值賦給目的數(shù)據(jù) INC R0 ;源數(shù)據(jù)下一個(gè)地址值 INC DPTR ;目的數(shù)據(jù)下一個(gè)地址值 DJNZ R7,LOOP ;判數(shù)據(jù)傳送是否完畢?END1:SJMP END112比較兩個(gè)ASCII碼字符串是否相等。字符串的長(zhǎng)度在內(nèi)部數(shù)據(jù)存儲(chǔ)器的20H單元,第一個(gè)字符串的首地址在內(nèi)部數(shù)據(jù)存儲(chǔ)器的30H中,第二個(gè)字符串的首地址在內(nèi)部數(shù)據(jù)存儲(chǔ)器的50H中。如果兩個(gè)字符串相等,則置用戶標(biāo)志F0為0;否則置用戶標(biāo)志F0為1。 加上必要的偽指令,并加以注釋。(注:每個(gè)ASCII碼字符為一個(gè)字節(jié),如ASCII碼“A”表示為41H)【答】字符串中每一個(gè)字符都可以用一個(gè)ASCII碼表示。只要有一個(gè)字符不相同,就可以判斷字符串不相等。 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV R0,#30H 第一個(gè)字符串的首地址 MOV R1,#5 0H 第二個(gè)字符串的首地址 LOOP: MOV A,R0 第一個(gè)字符串的字符值賦給A MOV B,R1 ;第二個(gè)字符串的字符值賦給B CJNE A,B,NEXT ;兩個(gè)字符值比較 INC R0 字符值相等,則繼續(xù)比較 INC R1 DJNZ 20H,LOOP ;判斷字符串是否比較完 CLR F0 字符串相等,則F0位清0 SJMP $ NEXT: SETB F0 字符串不等,則F0位置1 SJMP $ END 例如:(2OH)=03H,(3OH)=41H,(31H)=42H,(32H)=43H,(5OH)=41H,(51H)= 42H,(52H)=43H。兩個(gè)字符串均為“ABC。 執(zhí)行結(jié)果:F0=014. 80C51單片機(jī)從內(nèi)部數(shù)據(jù)存儲(chǔ)器的31H單元開(kāi)始存放一組8位帶符號(hào)數(shù),字節(jié)個(gè)數(shù)在30H中。請(qǐng)編寫(xiě)程序統(tǒng)計(jì)出其中正數(shù)、零和負(fù)數(shù)的數(shù)目,并把統(tǒng)計(jì)結(jié)果分別存入20H、21H和22H三個(gè)單元中。加上必要的偽指令,并對(duì)源程序加以注釋。答:分析:帶符號(hào)數(shù)以字節(jié)最高位D7的值來(lái)區(qū)分是正數(shù)(包括零)和負(fù)數(shù)。D7=1,則該帶符號(hào)數(shù)為負(fù)數(shù)。程序如下: POS_NUM EQU 20H;正數(shù)個(gè)數(shù) ZERO_NUM EQU 21H ;零個(gè)數(shù) NEG_NUM EQU 22H ;負(fù)數(shù)個(gè)數(shù)ORG 0000HAJMP MAINORG 0030HMAIN: MOV POS_NUM,#0;計(jì)數(shù)單位初始化為0MOVZERO_NUM,#0MOVNEG_NUM,#0 MOVR1,30H ;數(shù)據(jù)長(zhǎng)度MOVR0,#31H ;數(shù)據(jù)首地址LOOP: MOVA,R0 JBACC.7, INC_NEG;符號(hào)位為,該數(shù)為負(fù)數(shù),跳轉(zhuǎn)加1CJNEA,#0,INC_POS INCZERO_NUM ;該數(shù)為0,0個(gè)數(shù)加1AJMP LOOP1INC_NEG: INCNEG_NUM;負(fù)數(shù)個(gè)數(shù)加1AJMP LOOP1INC_POS: INCPOS_NUM;該數(shù)為正數(shù),正數(shù)個(gè)數(shù)加1LOOP1: INCR0;判斷統(tǒng)計(jì)是否結(jié)束DJNZR1,LOOP END 例如:已知(30H)=08H,31H單元起存放數(shù)據(jù)為:00H,80H,7EH,6DH,2FH,34H,EDH,F(xiàn)FH。執(zhí)行結(jié)果:(20H)=04H,(21H)=01H,(22H)=03H。16將外部數(shù)據(jù)存儲(chǔ)器的2040H單元中的一個(gè)字節(jié)拆成2個(gè)ASCII碼,分別存入內(nèi)部數(shù)據(jù)存儲(chǔ)器40H和41H單元中,試編寫(xiě)以子程序形式給出的轉(zhuǎn)換程序,說(shuō)明調(diào)用該子程序的入口條件和出口功能。加上必要的偽指令,并加以注釋?!敬稹孔映绦虻娜肟跅l件、出口功能及源代碼如下: 子程序人口條件:準(zhǔn)備拆為2個(gè)ASCII碼的數(shù)存入外部RAM的40 H單元中。 子程序出口功能:完成外部RAM單元一個(gè)字節(jié)拆成2個(gè)ASCII碼,分別存入內(nèi)部數(shù)據(jù)存儲(chǔ)器40 H和41 H單元中。 ORG 1 000H B_TO_A:MOV DPTR,#40H ;外部RAM40H單元 MOV R0,#40H MOVX A,DPTR ;取數(shù) PUSH A ANL A,#0FH ;低4位轉(zhuǎn)換為ASCII碼 LCALL CHANGE MOV RO,A INC R0 POP A SWAP A ANL A,#0FH ;高4位轉(zhuǎn)換為ASCII碼 LCALL CHANGE MOV R0,A RET CHANGE:CJNE A,#0AH,NEXT ;轉(zhuǎn)換子程序 NEXT: JNC NEXT2 ;0AH,轉(zhuǎn)移 ADD A,#3 0H ;9,數(shù)字0-9轉(zhuǎn)化為ASCII碼 RET NEXT2: ADD A,#37H ;字母AF轉(zhuǎn)化為ASCII碼 RET END 設(shè)外部(40 H)=12 H。 執(zhí)行程序B_TO_A后:內(nèi)部(40 H)=31 H,(41 H)=32 H。 設(shè)外部RAM(40 H)=ABH。執(zhí)行程序B_TO_A后,內(nèi)部(40 H)=41 H,(41 H)=42 H。 17根據(jù)8100H單元中的值X,決定P1口引腳輸出為:2X X0 P1= 80H X=0(128DX63D) X變反X0【答】程序如下: ORG 0000H SJMP BEGIN ORG 0030H BEGIN: MOV DPTR,#8100H MOVX A,DPTR MOV R2,A JB ACC.7,SMALLER;有符號(hào)數(shù)0 SJMP UNSIGNED ;無(wú)符號(hào)數(shù)0 SMALLER:DEC A ;X0,輸出-X(先減1,再取反) CPL A MOV P1,A SJMP OK UNSIGNED:CJNE A,#00H,BIGGER ;不等于0即大于0 MOV P1,#80H ;X等于0,輸出80H SJMP OK BIGGER: CLR C ;X大于0,輸出A2 RLC A ;A2 MOV P1,A OK: SJMP $ END例如:輸入55 H,P1口引腳輸出AAH;輸入00 H,P1口引腳輸出80 H;輸入F1(一1 5的補(bǔ)碼),P1口引腳輸出0FH。22. 編寫(xiě)求一組無(wú)符號(hào)數(shù)中最小值的子程序,入口條件為:內(nèi)部數(shù)據(jù)存儲(chǔ)器的20H和21H中存數(shù)據(jù)塊的起始地址,22H中存數(shù)據(jù)塊的長(zhǎng)度,求得的最小值存入30H中。【答】程序如下: ;求無(wú)符號(hào)數(shù)最小值的子程序CMPI ORG 2000H CMPI: MOV DPL,20H MOV DPH,21H MOV 30H,#0FFH ;最小值單元初始值設(shè)為最大值 LOOP: MOVX A,DPTR MOVX A,DPTR CJNE A,3 0H,CHK ;比較兩個(gè)數(shù)大小 SJMP LOOP1 ;兩個(gè)數(shù)相等,不交換 CHK: JNC LOOP1 ;A較大,不交換 MOV 30H,A ;A較小,交換 LOOP1: INC DPTR DJNZ 22HLOOP RET 注意:30 H中始終存放兩個(gè)數(shù)比較后的較小值,比較結(jié)束后存放的即是最小值。 例如:(20 H)=00 H,(21 H)=80 H(22 H)=0 5 H。從8000 H開(kāi)始存放下列數(shù):02 H,04 H,01 H,F(xiàn)FH,03 H。 調(diào)用子程序CMPl后的結(jié)果:(30 H)=01 H第五章 p1411什么是中斷?在單片微機(jī)中中斷能實(shí)現(xiàn)哪些功能?【答】單片機(jī)在程序執(zhí)行過(guò)程中,允許外部或內(nèi)部“事件通過(guò)硬件打斷程序的執(zhí)行,使其轉(zhuǎn)向執(zhí)行處理外部或內(nèi)部“事件的中斷服務(wù)子程序;而在完成中斷服務(wù)子程序以后,繼續(xù)執(zhí)行原來(lái)被打斷的程序,這種情況稱為“中斷,這樣的過(guò)程稱為“中斷響應(yīng)過(guò)程。780C51共有哪些中斷源?對(duì)其中斷請(qǐng)求如何進(jìn)行控制? 【答】中斷響應(yīng)是有條件的,即:中斷源申請(qǐng)中斷;該中斷源已被允許中斷,且CPU也已允許中斷;沒(méi)有同級(jí)或高優(yōu)先級(jí)中斷在執(zhí)行中斷服務(wù)程序。 在接受中斷申請(qǐng)時(shí),如遇下列情況之一,硬件生成的長(zhǎng)調(diào)用指令LCALL將被封鎖:CPU正在執(zhí)行同級(jí)或高一級(jí)的中斷服務(wù)程序。因?yàn)楫?dāng)一個(gè)中斷被響應(yīng)時(shí),其對(duì)應(yīng)的中斷優(yōu)先級(jí)觸發(fā)器被置1,封鎖了同級(jí)和低級(jí)中斷。查詢中斷請(qǐng)求的機(jī)器周期不是執(zhí)行當(dāng)前指令的最后一個(gè)周期。目的在于使當(dāng)前指令執(zhí)行完畢后,才能進(jìn)行中斷響應(yīng),以確保當(dāng)前指令的完整執(zhí)行。當(dāng)前正在執(zhí)行RETI指令或執(zhí)行對(duì)IE、IP的讀寫(xiě)操作指令。80C51中斷系統(tǒng)的特性規(guī)定,在執(zhí)行完這些指令之后,必須再繼續(xù)執(zhí)行一條指令,然后才能響應(yīng)中斷。1280C51的中斷與子程序調(diào)用有哪些異同點(diǎn),請(qǐng)各舉兩點(diǎn)加以說(shuō)明。 相同點(diǎn):都是中斷當(dāng)前正在執(zhí)行的程序,都要通過(guò)執(zhí)行返回指令,返回到原來(lái)的程序。都是由硬件自動(dòng)地把斷點(diǎn)地址壓入堆棧;當(dāng)執(zhí)行到返回指令時(shí),自動(dòng)彈出斷點(diǎn)地址以便返回原來(lái)的程序。都要通過(guò)軟件完成現(xiàn)場(chǎng)保護(hù)和現(xiàn)場(chǎng)恢復(fù)。都可以實(shí)現(xiàn)嵌套。 不同點(diǎn):中斷請(qǐng)求信號(hào)可以由外部設(shè)備發(fā)出,是隨機(jī)的;子程序調(diào)用子程序卻是由軟件編排好的。中斷響應(yīng)后由固定的矢量地址轉(zhuǎn)入中斷服務(wù)程序,而子程序地址由軟件設(shè)定。中斷響應(yīng)是受控的,其響應(yīng)時(shí)間會(huì)受一些因素影響素;子程序響應(yīng)時(shí)間是固定的。第六章P1611. 80C51單片微機(jī)內(nèi)部設(shè)有幾個(gè)定時(shí)器計(jì)數(shù)器?簡(jiǎn)述各種工作方式的功能特點(diǎn)?答:80C51 單片機(jī)內(nèi)部設(shè)有2 個(gè) 16 位定時(shí)器計(jì)數(shù)器 TO 和 T1。定時(shí)器計(jì)數(shù)器有 4 種工作方式,其特點(diǎn)如下: 方式 O 是 13 位定時(shí)器計(jì)數(shù)器。由 THxT 高 8 位(作計(jì)數(shù)器)和TLx的低5位(32分頻的定標(biāo)器)構(gòu)成。TLx的低5位溢出時(shí),向THxT進(jìn)位;THxT 溢出時(shí),硬件置位件TFx(可用于軟件查詢),并可以申請(qǐng)定時(shí)器中斷定時(shí)器。 方式1 是16 位定時(shí)器計(jì)數(shù)器。TLxT 的低 8 位溢出時(shí)向THx進(jìn)位(可用于軟件查詢),并可以申請(qǐng)定時(shí)器中斷。 方式 2 是定時(shí)常數(shù)是定時(shí)自動(dòng)重裝載的8位定時(shí)器計(jì)數(shù)器。TLx作為8位計(jì)數(shù)寄存器,THx作為 8 位計(jì)數(shù)常數(shù)寄存器數(shù)。當(dāng) TLx計(jì)數(shù)溢出時(shí),一方面將TFx 置位,并申請(qǐng)中斷;另一方面將 THx的內(nèi)容的自動(dòng)重新裝入TLxT中,繼續(xù)計(jì)數(shù)。由于重新裝重入不影響 THx的內(nèi)容,所以可以多次連續(xù)再裝入。方式2對(duì)定時(shí)控制特別有用。 方式 3 只適用于TO,T0被拆成兩個(gè)獨(dú)立的8位計(jì)數(shù)器位計(jì)TLO和THO 。TLO做8位計(jì)數(shù)器,它占用了T0的 GATE、INTO 、啟動(dòng)停止控制位TRO、TO引腳(P3.4)以及計(jì)數(shù)溢出標(biāo)志位TF0和TO的中斷矢量(地址為000BH)等 TH0只能做8位定時(shí)器用,因?yàn)榇藭r(shí)的外部引腳TO已為定時(shí)器計(jì)數(shù)器 TLO 所占用。這時(shí)它占用了定時(shí)器計(jì)數(shù)器 T1 的啟動(dòng)停止控制位 TRl、計(jì)數(shù)溢出標(biāo)志位 TFl及T1中斷矢量(地址為001BH)。 T0 設(shè)為方式 3 后,定時(shí)器計(jì)數(shù)器 T1 只可選方式 O、1 或 2。由于此時(shí)計(jì)數(shù)溢出標(biāo)志位 TFI及T1 中斷矢量(地址為001BH)已被 TH0T 所占用,所以 T1 僅能作為波特率發(fā)生器或其他不用中斷的地方。5.在80C51單片微機(jī)系統(tǒng)中,已知時(shí)鐘頻率為6MHz,選用定時(shí)器T0方式3,請(qǐng)編程使P10和 P1l引腳上分別輸出周期為2ms和400s的方波。加上必要的偽指令,并對(duì)源程序加以注釋。答:機(jī)器周期為 2s,定時(shí)分別為定時(shí)分2ms和400 s。 計(jì)算:4004 s 定時(shí),400s=(28-TC)T 2s,TC=38 H。 程序如下: ORG 0000H0000 0130 AJMA MAINORG 000BH;定時(shí)器 TO 中斷矢量。 000B2100 AJMP TIMEMAIN: 00307805 MOV R0,#05H0032758903 MOV TMOD,#03H ;T0 方式 3,定時(shí)器中斷0035758A38 MOV TL0,#38H ;TLO 定時(shí) 400s 0038 D28CSETB TR0T ;開(kāi)啟定時(shí)器定TL0003A C28E CLR,TR1003CD2A9 SETB ET0E ;開(kāi)定時(shí)器 TLO中斷003ED2AF SETB EA 004080FE SJMP$ ;中斷等待ORG 0100H0 TIME: 0100 758A38MOV TL0,#38H ;TL0T 定時(shí) 400s0103 B29B 1 CPL P1.1 ;4004 s定時(shí)到,P1.1P1輸出變反0105 D804DJNZ R0,RETURN0107 7805MOV R0,#05H0109 B290 CP. P1.0 ;4004 s*5=2ms到,P1.O輸出變反RETURN: 010B 32 RETIEND14. 監(jiān)視定時(shí)器T3功能是什么?它與定時(shí)器/計(jì)數(shù)器T0、T1有哪些區(qū)別?T3 俗稱“看門(mén)狗,它的作用是強(qiáng)迫單片機(jī)進(jìn)入復(fù)位狀態(tài),使之從硬件或軟件故障中解脫出來(lái)。 在實(shí)際應(yīng)用中,由于現(xiàn)場(chǎng)的各種的干擾或者程序設(shè)計(jì)程序錯(cuò)誤,可能使單片機(jī)的程序進(jìn)入了“死循環(huán)或程序區(qū)(如表格數(shù)據(jù)區(qū))之后,在一段設(shè)定的時(shí)間內(nèi)的,假如用戶程序沒(méi)有重裝監(jiān)視重裝定時(shí)器 T3,則監(jiān)視電路將產(chǎn)生一個(gè)電路將產(chǎn)生系統(tǒng)復(fù)位信號(hào)位,強(qiáng)迫單片機(jī)單退出“死循環(huán)或“非程序區(qū)程”,重新進(jìn)行“冷啟動(dòng)”或“熱啟動(dòng)”。在程序正常運(yùn)行時(shí),需要不斷地對(duì) T3 進(jìn)行“喂狗”,當(dāng)由于干擾而沒(méi)能及時(shí)能“喂狗,則強(qiáng)迫單片機(jī)進(jìn)入復(fù)位狀態(tài),從而退出非正常運(yùn)行狀態(tài)?!拔构贰钡臅r(shí)間間隔就是允許的失控時(shí)間。T3 的定時(shí)溢出表示出現(xiàn)非正常狀態(tài),而 TO 和 T1 的定時(shí)溢出是正常狀態(tài)。第七章P186 簡(jiǎn)述串行通信接口芯片UART的主要功能?答: 它是用于控制計(jì)算機(jī)與串行設(shè)備的芯片。將由計(jì)算機(jī)內(nèi)部傳送過(guò)傳來(lái)的并行數(shù)據(jù)行轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。 將計(jì)算機(jī)外部來(lái)的串行數(shù)據(jù)串轉(zhuǎn)換為字節(jié),供計(jì)算機(jī)內(nèi)部并行數(shù)據(jù)的器件使用。 在輸出的串行數(shù)據(jù)串流中加入奇偶校驗(yàn)位,并對(duì)從外部接收的數(shù)據(jù)流進(jìn)行奇偶校驗(yàn)奇偶。 在輸出數(shù)據(jù)流中加入啟停標(biāo)記,并從接收數(shù)據(jù)流中刪除啟停標(biāo)記啟停。 處理由鍵盤(pán)或鼠標(biāo)發(fā)鼠出的中斷信號(hào)(鍵盤(pán)和鼠標(biāo)也是串行設(shè)備也是串行)。 可以處理計(jì)算機(jī)與外部串行設(shè)備的同步管理問(wèn)題。 80C51單片微機(jī)串行口共有哪幾種工作方式?各有什么特點(diǎn)和功能?答:80C51單片微機(jī)串行口共有4 種工作方式: 移位寄存器方式,波特率為晶振的 1/12 8 位 UART,波特率可變 9 位 UART,波特率為晶振的 1/32 或 1/64 9 位 UART,波特率可變它們都是串口通信。12. 80C51單片微機(jī)串行口共有 4 種工作方式,它們的波特率分別為 晶振的1/12 , 波特率可變 , 波特率為晶振的 1/32 或 1/64 , 波特率可變 。第八章P2591.簡(jiǎn)述單片微機(jī)系統(tǒng)擴(kuò)展的基本原則和實(shí)現(xiàn)方法。答:系統(tǒng)擴(kuò)展是單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)中最常遇到的問(wèn)題。系統(tǒng)擴(kuò)展是指單片機(jī)內(nèi)部各功能部件不能滿足應(yīng)用系統(tǒng)要求時(shí),在片外連接相應(yīng)的外圍芯片以滿足應(yīng)用系統(tǒng)要求。80C51系列單片機(jī)有很強(qiáng)的外部擴(kuò)展能力,外圍擴(kuò)展電路芯片大多是一些常規(guī)芯片,擴(kuò)展電路及擴(kuò)展方法較為典型、規(guī)范。用戶很容易通過(guò)標(biāo)準(zhǔn)擴(kuò)展電路來(lái)構(gòu)準(zhǔn)擴(kuò)展電路電構(gòu)成較大規(guī)模的應(yīng)用系統(tǒng)。 對(duì)于單片機(jī)系統(tǒng)擴(kuò)展的基本方法有并行擴(kuò)展法和串行擴(kuò)展法兩種。并行擴(kuò)展法是指利用單片機(jī)的三組總線 (地址總線 AB、數(shù)據(jù)總線 DB 和控制總線 CB)進(jìn)行的系統(tǒng)擴(kuò)展;串行擴(kuò)展法是指利用 SPIS 三線總線和12C線總線的串行系統(tǒng)擴(kuò)展。 外部并行擴(kuò)展行單片機(jī)是通過(guò)芯片的引腳進(jìn)行系統(tǒng)擴(kuò)展的。為了滿足系統(tǒng)擴(kuò)展要統(tǒng)擴(kuò)求,80C51系列單片機(jī)芯片引腳可以構(gòu)成圖 8-1 所示的三總線結(jié)構(gòu),即地址總線 AB、數(shù)據(jù)總線 DB 和控制總線 CB。單片機(jī)所有的外部芯片都通過(guò)這三組總線進(jìn)行擴(kuò)展。 外部串行擴(kuò)展80C51系列單片機(jī)的串行擴(kuò)展包括:SPI(Serial Peripheral Interface)三線總線和 12C雙總線兩種。在單片機(jī)內(nèi)部不具有串行總線時(shí),可利用單片機(jī)的兩根或三根 IO 引腳甩軟件來(lái)虛擬串行總線的功能。12C總線系統(tǒng)示意圖如圖圖82 所示。2. 如何構(gòu)造80C51單片機(jī)并行擴(kuò)展的系統(tǒng)總線?答:80C51并行擴(kuò)展的系統(tǒng)總線有三組。地址總線(A0A15):由P0口提供低8位地址A0A7,P0口輸出的低8位地址A0A7必須用鎖存器鎖存,鎖存器的鎖存控制信號(hào)為單片機(jī)引腳ALE輸出的控制信號(hào)。由P2口提供高8位地址A8A15。數(shù)據(jù)總線(D0D7):由P0口提供,其寬度為8位,數(shù)據(jù)總線要連到多個(gè)外圍芯片上,而在同一時(shí)間里只能夠有一個(gè)是有效的數(shù)據(jù)傳送通道。哪個(gè)芯片的數(shù)據(jù)通道有效,則由地址線控制各個(gè)芯片的片選線來(lái)選擇??刂瓶偩€(CB):包括片外系統(tǒng)擴(kuò)展用控制線和片外信號(hào)對(duì)單片機(jī)的控制線。系統(tǒng)擴(kuò)展用控制線有ALE、。14. 已知可編程I/O接口芯片8255A的控制寄存器的地址為BFFFH,要求設(shè)定A口為基本輸入,B口為基本輸出,C口為輸入方式。請(qǐng)編寫(xiě)從C口讀入數(shù)據(jù)后,再?gòu)腂口輸出的程序段。并根據(jù)要求畫(huà)出80C51與8255A連接的邏輯原理圖。加上必要的偽指令,并對(duì)源程序加以注釋。答:已知8255A的控制寄存器地址為BFFFH,若地址線A0、A1被用做8255A端口選擇信號(hào),則8255A的 C口地址為BFFEH,B口地址為BFFDH,A口地址為BFFCH??梢赃x用地址線P2.6(A14)作8255A的片選線。8255A 與80C51連接圖如圖8-7所示。圖8-7 8255A 與80C51連接圖程序如下:ORG0000HMOVDPTR,#0BFFFH;8255A控制寄存器地址MOVA,#99HMOVXDPTR,A;控制字(PA輸入、PB輸出、PC輸入)MOVDPTR,#0BFFEH;C口地址MOVXA,DPTR;PC輸入MOVDPTR,#0BFFDH;B口地址MOVXDPTR,A;PB輸出 19.D/A轉(zhuǎn)換器是將 轉(zhuǎn)換為 ,DAC0832具有 , , 三種工作方式,其主要技術(shù)性能有 , , 。D/A 轉(zhuǎn)換器是將 數(shù)字信號(hào)數(shù)字轉(zhuǎn)換為 模擬信號(hào) ,DAC0832 具有 直通方式 , 單緩沖方式 , 雙緩沖方式 三種工作方式,其主要技術(shù)性能有 分辨率 , 轉(zhuǎn)換精度 , 轉(zhuǎn)換速率/建立時(shí)間 。 22. 利用ADC0809芯片設(shè)計(jì)以80C51為控制器的巡回檢測(cè)系統(tǒng)。(8路輸入的采樣周期為1秒,)其它末列條件可自定。請(qǐng)畫(huà)出電路連接圖,并進(jìn)行程序設(shè)計(jì)?!敬稹垦不貦z測(cè)系統(tǒng)如圖8-11所示。圖8-11巡回檢測(cè)系統(tǒng)分析:8路模擬輸入通道IN0-IN7的地址為DFF8HDFFFH(P2.5=0)。ORG 0000HAJMP MAINORG 0030HMAIN: MOV DPTR,#0DFF8H ;通道0地址MOV R0,#40H ;存儲(chǔ)單元首址 LOOP:MOVX DPTR,A ;啟動(dòng)A/D轉(zhuǎn)換 LCALL D128s ;延時(shí)等待完成 MOVX A,DPTR ;讀入轉(zhuǎn)換值 MOV R0,A ;存入內(nèi)存 D128s: ;延時(shí)128s子程序 RETEND23. 請(qǐng)舉例說(shuō)明獨(dú)立式按鍵的設(shè)計(jì)原理。 答:獨(dú)立式按鍵就是各按鍵相互獨(dú)立,每個(gè)按鍵分別與單片微機(jī)的輸入引腳或系統(tǒng)外擴(kuò)I/O芯片的一根輸入線相連。每根輸入線上的按鍵,它的工作狀態(tài)不會(huì)影響其他輸入線的工作狀態(tài)。因此,通過(guò)檢測(cè)輸入線的電平狀態(tài),可以很容易地判斷哪個(gè)按鍵被按下了。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵需占用一根輸入引腳。例如,單片微機(jī)的P1.0引腳上接一個(gè)按鍵,無(wú)鍵按下時(shí)P1.0由上拉電阻決定為高電平,當(dāng)按鍵按下P1.0通過(guò)按鍵與地線短路而為低電平??梢?jiàn),查詢P1.0引腳的電平即可判斷該按鍵是否被按下。25.如何用靜態(tài)方式實(shí)現(xiàn)多位LED顯示,請(qǐng)畫(huà)出接口電路圖,并編寫(xiě)LED顯示程序。答: 靜態(tài)顯示 LEDL 接口 (1)連接方法 各數(shù)碼管的公共極固定接有效電定接有平,各數(shù)碼管的字形控制的字形端分別由各自的控制信號(hào)控制信。 (2)優(yōu)點(diǎn) LEDL 顯示亮度溫度,容易調(diào)節(jié),編程容編易,工作時(shí)占用作時(shí)CPU(3)缺點(diǎn) 若直接用單片機(jī)輸出各位數(shù)接用單片機(jī)輸出各出碼管的字形信號(hào)時(shí),占用單片機(jī)的 I/O 口線較多。一般僅適用于 顯示位數(shù)示較少的應(yīng)用的場(chǎng)合。 26.如何用動(dòng)態(tài)方式實(shí)現(xiàn)多位LED顯示,請(qǐng)畫(huà)出接口電路圖,并編寫(xiě)LED顯示程序。答:動(dòng)態(tài)顯示 LEDL 接口 (1)連接方法 各位數(shù)各碼管的字形控制端對(duì)應(yīng)地并在一起,由一組由I/O 端口進(jìn)行控制,各位的公共極相互獨(dú) 立,分別由不同的分別由不I/O 控制信號(hào)控制。 (2)優(yōu)點(diǎn) 節(jié)省 I/O 端口線 (3)缺點(diǎn) 顯示亮度不夠穩(wěn)定,影響因素較多;編程較復(fù)雜,占用 CPUC 時(shí)間較多。 29簡(jiǎn)述系統(tǒng)擴(kuò)展時(shí)的可靠性設(shè)計(jì)。答:應(yīng)用系統(tǒng)擴(kuò)展時(shí),可靠性設(shè)計(jì)是單片微機(jī)應(yīng)用系統(tǒng)軟件、硬件設(shè)計(jì)的重要組成部分,按照國(guó)家標(biāo)準(zhǔn)規(guī)定,可靠性的定義是“產(chǎn)品在規(guī)定條件下和規(guī)定時(shí)間內(nèi),完成規(guī)定功能的能力”,離開(kāi)這個(gè)三個(gè)“規(guī)定”,就失去了衡量可靠性高低的前提??煽啃栽O(shè)計(jì)貫徹在單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的全過(guò)程,硬件系統(tǒng)設(shè)計(jì)、PCB設(shè)計(jì)及電源系統(tǒng)設(shè)計(jì)主要是本質(zhì)可靠性設(shè)計(jì)。而在軟件設(shè)計(jì)及總體設(shè)計(jì)中,則除了本質(zhì)可靠性外,還必須考慮可靠性控制設(shè)計(jì)。30簡(jiǎn)述系統(tǒng)擴(kuò)展時(shí)的低功耗設(shè)計(jì)。答:應(yīng)用系統(tǒng)擴(kuò)展時(shí),低能耗設(shè)計(jì)除了降低功效、節(jié)省能源、滿足綠色電子的基本要求之外,還能提高系統(tǒng)的可靠性,滿足便攜式、電池供電等特殊場(chǎng)合產(chǎn)品的要求。應(yīng)用系統(tǒng)低功耗設(shè)計(jì)的意義如下:實(shí)現(xiàn)“綠色”電子,節(jié)省能源。低功耗的實(shí)現(xiàn),能明顯地降低應(yīng)用系統(tǒng)所消耗的功率。消耗功率的降低,可以使溫升降低,改善應(yīng)用系統(tǒng)的工
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司班組戶外活動(dòng)方案
- 公司立flag活動(dòng)方案
- 公司清明工會(huì)活動(dòng)方案
- 公司活動(dòng)中心策劃方案
- 公司猜盲盒活動(dòng)方案
- 公司組織跑步活動(dòng)方案
- 公司新年服裝定制活動(dòng)方案
- 公司服裝大賽活動(dòng)方案
- 公司組內(nèi)活動(dòng)策劃方案
- 2025年運(yùn)動(dòng)醫(yī)學(xué)與運(yùn)動(dòng)訓(xùn)練課程考試試題及答案
- 高企研發(fā)費(fèi)用培訓(xùn)
- 飼料公司銷(xiāo)售管理制度
- 物業(yè)維修電工培訓(xùn)內(nèi)容
- 廠房屋頂光伏項(xiàng)目可行性分析報(bào)告
- 中醫(yī)診斷學(xué)課件(修改后)課件 中醫(yī)診斷學(xué)-緒論學(xué)習(xí)資料
- 2025年公安輔警招聘知識(shí)考試題(附含答案)
- 《產(chǎn)后出血護(hù)理》課件
- DB23T 2773-2020 公路路面彩色抗滑薄層施工技術(shù)規(guī)范
- 2025年山東鐵路發(fā)展基金有限公司招聘筆試參考題庫(kù)含答案解析
- 碳酸鋰行業(yè)市場(chǎng)深度調(diào)研及趨勢(shì)與投資分析研究報(bào)告
- 2025浙江紹興市高速公路運(yùn)營(yíng)管理限公司高速公路人員招聘277人高頻重點(diǎn)提升(共500題)附帶答案詳解
評(píng)論
0/150
提交評(píng)論