版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機原理與應用工程式教程自測題答案
鄒顯圣主編
目錄
緒論.............................................................................2
工程一...........................................................................4
工程二...........................................................................7
工程三...........................................................................9
工程四..........................................................................14
工程五..........................................................................17
工程六.........................................................................21
工程七.........................................................................24
工程八.........................................................................27
工程九..........................................................................30
緒論
1.單片機開展分為哪幾個階段?各階段的特點是什么?
答:
共分為四個階段,分別如下:
1)第一代單片機(1975?1976年)。這個時期生產的單片機其特點是制造
工藝落后,集成度低,而且采用雙片形式。
2)第二代單片機(1976?1978年)。其性能低、品種少、尋址范圍有限、
應用范圍也不廣。
3)第三代單片機(1979?1982年)。存儲容量大、尋址范圍廣,而且中斷
源、并行I/O口、定時器/計數器的個數都有了不同程度的增加,同時它還新集
成了全雙工的串行通信接口電路;在指令系統(tǒng)方面普遍增設了乘除法和比擬指令。
4)第四代單片機(1983年以后)。出現了工藝先進、集成度高、內部功能
更強和運算速度更快的16位單片一機,它允許用戶采用面向工業(yè)控制的專用語言,
如C語言等°
2m9系列單片機分為幾類?各類的主要技術特點是什么?都有哪些型
號?
答:
型號AT89C51AT89c52AT89C1051AT89C2051AT89S8252
檔次標準型低檔型高檔型
Flash/KB48128
片內RAM/KB12825664128256
I/O1條)3232151532
定時器/個23123
中斷源/個68369
串行口/個11111
M加密/級33223
片內振蕩器有有有有有
E2PR0M/KB無無無無2
3.微型計算機中常用的數制有幾種卜?計算機內音R采用哪種數制?
答:二進制、八進制、十進制和十六進制。內部采用二進制
4.十六進制數能被計算機直接執(zhí)行嗎?為什么要用十六進制數?
答:不能。引入十六進制數是為了表示或者書寫上的方便,因為一位十六進
制數可以代表四位二進制數。
5.單片機的應用領域主要有哪些?
答:智能化產品、智能化接口、智能化測控系統(tǒng)、智能化儀表
6.將以下十進制數轉換為二進制數和十六進制數。
(1)125D(2)0.525D(3)121.678D(4)47.945D
答:
(1)111U01B.7DH
(2)0.1000011B.0.86H
(3)1111001.101011B>79.ACH
(4)101111.2F.FOH
7.將以下二進制數轉換為十進制數和十六進制數。
(1)10U0101B(2J0.101100100B
(3)0.1010B(4)U01.0101B
答:
(1)18ID、B5H
(2)0.695D、0.B2H
(3)0.625D、0.AH
(4)13.3125D、D.5H
8.將以下十六進制數轉換為二進制數和十進制數。
(1)ABH(2)28.07H(3)ABC.DH(4)0.35FH
咨
10101011B、171D
(2)1O1OOO.00000111B^40.027D
(4)0.001101011111B.0.875D
9.在8位二進制計算機中,正、負數如何表示?
答:8位二進制的正數其最高位為“0〃;負數最高位為“1〃
10.寫出以下各十進制數的原碼、反碼和補碼。
(1)+28D(2)+69D(3)-125D(4)-54D
答:
(1)原碼:00011100B;反碼:00011100B;補碼:0001U00B
(2)原碼:01000101B;反碼:01000101B;補碼:01000101B
⑶原碼:11111101B;反碼:10000010B;補碼:10000011B
(4)原碼:10110110B;反碼:11001001B;補碼:11001010B
11.寫出以下各十進制數的BCD碼。
(1)34D(2)59D(3)1983D(4)270D
答:
(1)110100B
(2)010101001B
(4)100110000B
工程
1.AT89c51單片機的EA信號有何功能?
答:礪引腳用于決定CPU從哪個ROM中讀取程序,當正二0時,CPU只從
外部ROM中讀取程序;當a=1時,CPU先從內ROM中讀取程序,當地址超過OFFFH
時,繼續(xù)從外部ROM中讀取程序。
2.AT89c51單片機只用內部flash存儲器時,礪引腳應該如何處理?
答:詼應接在電源端上,即保持詼引腳為高電平。
3.AT89C51單片機的P3?P0口各有什么功能?
答:P3?P0均為8位并行I/O口,當進行外部擴展時,P3口兼作控制總線,
提供系統(tǒng)的各種控制信號;P2口用于提供最多高8位地址總線;P1口為純粹的
數據口;P0口分時復用,兼作低8位地址總線和數據復用端口。
4.簡述AT89C51單片機的存儲器組織結構和內部RAM的地址空間分配。
答:AT89c51單片機的存儲器組織結構采用哈弗結構;內部RAM地址空間分
配如下:00H?1FH為存放器區(qū);20H?2FH為位尋址區(qū);30H?7FH為用戶RAM區(qū),
即堆棧區(qū);80H?FFH為特殊功能存放器區(qū)。
5.內部RAM的低128單元劃分為哪三個主要局部?各局部的主要功能是什
么?
答:存放器區(qū)、位尋址區(qū)、用戶RAM區(qū);
各局部功能為:
存放器區(qū):用于存儲程序執(zhí)行過程中的存放器中的數據;
位尋址區(qū):即可以字節(jié)尋址,又可以位尋址,主要用于位尋址;
用戶RAM區(qū):用于存儲堆棧過程中的各項數據。
6.位地址7CH與字節(jié)地址7CH如何區(qū)別?位地址7CH具體在內部RAM中的
什么位置?
答:存儲容易不一樣,位地址只能存儲一位二進制數據,而字節(jié)地址可以存
儲八位二進制數據;位地址7CH位于字節(jié)地址2FH.4。
7.AT89C51單片機有哪些特殊功能存放器?這些特殊功能存放器分別在單
片機中哪些功能部件中?
答:見表2-3,主要包括ACC、B、PSW、P0等;見表2-3,分別位于累加器、
B存放器、中央處理器、0號并行I/O口等。
8.特殊功能存放器中哪些存放器可以位尋址?它們的字節(jié)地址是什么?
答:
存放器符號地址
*ACCEOH
*BFOH
*PSWDOH
JEA8H
」PB8H
*P080H
*P190H
*2AOH
“P3BOH
SCON98H
JCON88H
9.程序計數器PC的功能和特點是什么?
答:PC的功能是ROM中的程序指針,用于表示ROM中程序的存放位置;其
特點是:PC為十六位二進制,但其本身無地址,不能對其賦值,也不能讀取PC
值。
10.PC與DPTR各有哪些特點?有何異同?
答:PC為程序指針,DPTR為數據指針;相同為:均為十六位二進制,不同
點是PC不能賦值,而DPTR可以賦值。
11.AT89C51單片機是如何確定和改變當前工作存放器區(qū)的?
答:改變當前工作存放器區(qū)主要由PSW中的RS1和RSO決定,具體如下:
RSIRSO存放器組R0?R7地址
00組000H-07H
01組108H-0FH
10組210H?17H
11組318H?1FH
12.AT89C51單片機復位后,CPU使用了哪一區(qū)工作存放器?工作存放器R0?
R7對應的單元地址是什么?
答:AT89C51單片機復位后,CPU使用了0號區(qū)工作存放器,R0?R7為00H?
07Ho
13.程序狀態(tài)字存放器PSW的作用是什么?簡述各位的作用是什么?
答:程序狀態(tài)字PSN是一個8位存放器,用于存放程序運行的狀態(tài)信息;各
位的作用如下:
位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0
位標志CYACFoRSIRSOov/P
①CY:進位標志位。
②AC:輔助進位標志位。
③F0:用戶標志位。
④RS1和RSO:存放器組選擇位。用于設定通用存放器的組號。
⑤0V:溢出標志位。
⑥P:奇偶標志位。
14.在AT89c51單片機ROM空間中,0003H、000BH、0013H.001BH、0023H
有什么特殊用途?
答:分別為外部中斷0、定時中斷0、外部中斷1,定時中斷1和串行中斷
的入口地址。
15.AT89C51單片機中XTAL1和XTAL2的功能是什么?采用外部時鐘源的情
況下,如何處理這兩個引腳?
答:AT89C51單片機中XTAL1和XTAL2的功能是單片機的時鐘輸入和輸出引
腳;當采用外部時鐘時,XTAL1引腳接地,XTAL2接外部時鐘源。
16.什么是時鐘周期、機器周期和指令周期?
答:時鐘周期即石英晶體振蕩周期,等于l/foSe>機器周期為時鐘周期的12
倍,即1機器周期=12時鐘周期;指令周期為執(zhí)行一條單片機指令所需要的時間,
根據指令類型的不同,一指令周期可以等于1或2或4機器周期。
17.AT89C51單片機所使用的晶振頻率為6MHz,時鐘周期,機器周期為多
少?
答:時鐘周期為1微秒;機器周期為2微秒。
6
18.AT89c51單片機運行出錯或出現死循環(huán),如何擺脫困境?
答:對單片機應用系統(tǒng)進行復位操作。
19.AT89C51單片機復位后,PC、A、PSW、SP、P3?PO的狀態(tài)各是什么?
復位后內部RAM中的數據有何影響?
答:
(PC)=0000H
(A)=0011
(PSW)=00H
(SP)=07H
(PO)?(P3)=FFH
復位后內部RAM中的數據依然被保存,但某些特殊功能存放器中的數據可能
有所改變。
工程二
1.什么是計算機的指令和指令系統(tǒng)?
答:指令是用于指導計算機工作的命令;所有的計算機所能夠執(zhí)行指令的集
合稱為指令系統(tǒng)。
2.簡述AT89c51匯編指令格式。
答:[標號:]操作碼[操作數注釋]。
3.簡述8051的尋址方式和所能涉及的空間。
答:共有七種尋址方式,分別為:存放器尋址、立即尋?址、存放器間接尋址、
直接尋址、相對尋址、變址尋址和位尋址。分別對應的空間是:內部RAM、ROM、
內部RAM和外部RAM;內部RAM、ROM、ROM和內部RAM的位地址空間。
4.要訪問特殊功能存放器和片外數據存儲器,應采用哪些尋址方式?
答:對于特殊功能存放器的訪問只能采用直接尋址方式,對于片外數據存儲
器的訪問要采用存放器間接尋址方式。
5.編寫程序,把片外RAM從2000H開始存放的8個數傳送到片內30H開始
的單元中。
答:
MOVDPTR,#200011
MOVR0,#30H
MOVR2,#08H
LOOP:MOVXA,@DPTR
MOV@R0,A
INCDPTR
INCR0
DJNZR2,LOOP
SJMP$
6.以下程序段經匯編后,從1000H開始的各有關存儲單元的內容是什么?
ORG1000H
TABIEQU1234H
TAB2EQU3000H
DB“START"
DWTABI,TAB2,70H
答:如下表所示。
地址數據
1000H53H
1001H54H
1002H41H
1003H52H
1004H54H
1005H12H
1006H34H
1007H30H
1008H00H
1009H00H
1OOAH70H
7.查表指令是在什么空間上的尋址操作?
答:查表指令是在ROM空間上進行的尋址操作
工程三
1.指出以下程序每一條指令的執(zhí)行結果。
MOVA,#OFOH;答:(A)=FOH
CPLA;答:(A)=OFH
ANL30H,#00H;答:(30H)=00H
ORL30H,#BDH;答:(30H)=BDH
XRLA,#44H;答:(A)=4BH
2.指出以下程序每一條指令的執(zhí)行結果(假設CY=1)。
MOVA,#OAAH答:(A)=AAH
CPLA答:(A)=5511
RLCA答:(A)=ABH,C=0
RLA答:(A)=57H
CPLA答:(A)二A8H
RRCA答:(A)=54H,C=0
RRA答:(A)=2AH
3.假設(A)=7AH,分別執(zhí)行以下指令后,(A)的值是多少?
(1)ANLA,#OFFH;答:(A)=7AH
(2)ORLA,#OFFH;答:(A)=FFH
⑶ANLA,#0011;答:(A)=00H
(4)ORLA,#00H;答:(A)=7AH
(5)XRLA,#OFFH;答:(A)=85H
(6)XRLA,#00H;答:(A)=7AH
4.設(A)=83H,(RO)=17H,(17H)=34H,分析當執(zhí)行完下面指令段后累
加器A、(RO)、(17H)的值各是多少?
ANLA,#17H
ORL17H,A
XRLA,?RO
CPLA
答:(A)=CBH、(RO)=17H、(17H)=37H
5.寫出完成以下要求的指令。
(1)累加器A的低2位清0,其余位不變。
答:ANLA,#FCH
(2)累加器A的高2位置1,其余位不變。
答:ORLA,#COH
(3)累加器A的高4位到反,其余位不變。
答:XRLA,#FOH
(4)累加器A的第0位、2位、4位、6位取反,其余位不變。
答:XRLA,#55H
6.試分析以下程序段,當程序執(zhí)行完畢后,位地址OOH、01H中的內容將
為何值?P1口的8條I/O線為何狀態(tài)?
CLRC
MOVA,#6611
JCLOOP1
CPLC
SETBO1H
LOOP1:ORLC,ACC.0
JBACC.2,LOOP2
CLROOH
L00P2:MOVPl,A
答:(Pl)=66H,位地址OOH保持原值,位地址O1H的內容為“1〃。
7.閱讀下面程序,分析執(zhí)行結果。
MOVA,#67H;答:(A)=67H=0U0,0111B
SETBACC.7;答:ACC.7=1,(A)=1110,0111B
MOVC,ACC.2;答:C=1
CPLA;答:(A)=18H=0001,1000B
MOVACC.6,C;答:ACC.6=1,(A)=0101,1000B=58H
CLRC;答:c=o
SETBACC.0;答:ACC.0=1,(A)=0101,1001D=59II
MOVACC.4,C;答:ACC.4=0,(A)=0100,1001B=49H
8.編程實現把外部RAM中8000H開始的連續(xù)30個字節(jié)的數據傳送到外部
RAM中8100H開始的連續(xù)單元中。
答:
MOVR4,#14H
MOVDPTR,#8000H
PUSHDPH
PUSHDPL
MOVDPTR,#8100H
MOVR2,DPH
MOVR3,DPL
LOOP:POPDPL
POPDPH
MOVXA,@DPTR
INCDPTR
PUSHDPH
PUSHDPL
MOVDPL,R3
MOVDPH,R2
MOVX@DPTR,A
INCDPTR
MOVR2,DPH
MOVR3,DPL
DJNZR4,LOOP
SJMP$
9.編程統(tǒng)計從外部RAM的2000H開始的連續(xù)100個單元中“0”的個數,
并將結果存放于R2中。
答:
MOVR2,#64H
MOVR3,#00H
MOVDPTR,#2000H
L00P1:MOVXA,@DPTR
CJNEA,#0011,LOOP
INCR3
LOOP:INCDPTR
DJNZR2,L00P1
SJMP$
10.將內部RAM的30H單元中的中間4位、31H的低2位、32H的高2位按
順序排成一個新的字節(jié),存入33H單元中。
答:
MOVA,30H
ANLA,#3CH
MOVB,A
MOVA,3111
ANLA,#03H
ORLA,B
MOVB,A
MOVA,32H
ANLA,#COH
ORLA,B
MOV33H,A
11.將DPTR中間8位取反,其余位不變。
答:
MOVA,DPL
XRLA,#FOH
MOVDPL,A
MOVA,DPH
XRLA,#OFH
MOVDPH,A
12.試編寫程序完成以內部RAM的30H為首地址的20個數據傳送,目的地
址為外部RAM以3000H為首地址的區(qū)域。
答:
MOVR0,#30H
MOVDPTR,#3000H
MOVR2,#14H
LOOP:MOVA,@R0
MOVX?DPTR,A
INCR0
INCDPTR
DJNZR2,LOOP
SJMP$
13.試編寫條件轉移程序,當存放器R3的內容分別滿足以下條件時能轉移
到LOOP處執(zhí)行程序,條件不滿足時停機。
(1)(R3)>15(2)(R3)<15(3)(R3)W15(4)(R3)>15
答:
⑴
CJNER3,#0FH,LOOP1
SJMPLOOP
LOOP1:JCLOOP
SJMP$
LOOP:……
(2)
CJNER3,#0FH,LOOP1
SJMP$
LOOP1:JNCLOOP
SJMP$
LOOP:....
(3)
CJNER3,#OFH,LOOP1
SJMPLOOP
LOOP1:JNCLOOP
SJMP$
LOOP:....
(4)
CJNER3,#OFH,LOOP1
SJMP$
LOOP1:JCLOOP
SJMP$
LOOP:……
14.試編寫程序將內部RAM以40H為首地址的數據塊傳送到以BUF為起始
地址的內部RAM區(qū)域,直到遇到所傳送的數據不為0時停止。
答:
MOVRO,#40H
MOVRI,#BUF
LOOP:MOVA,@R0
JNZL00P1
INCRO
INCRI
SJMPLOOP
LOOP1:SJMP$
15.編寫一程序將數00H存入內部RAM的20H單元,存入后,通過讀操作
來檢查是否確實存入?然后再將數FFH存入內部RAM的21H單元,檢查是否確
實存入。如果兩次檢查結果都正確,將內部RAM的60H單元置00H,否那么置
llHo
答:
MOV20H,#0011
MOVA,20H
CJNEA,#00H,LOOP
MOV21H,#FFH
MOVA,21H
CJNEA,#FFH,LOOP
MOV60H,#00H
LOOP:MOV60H,#11H
SJMP$
16.設內部RAM的60H單元有一個8位二進制數,該數8位中的某位券fl”,
編寫程序檢查“1”在哪一位。如果'T在第0位,那么在內部RAM的30H單
元寫入數“00H〃,如果“1〃在第1位,那么在內部RAM的31H單元寫入數
“01H〃,……,以此類推。
答:
MOVA,60H
LOOP:JBACC.0,L0
JBACC.1,L1
JBACC.2,L2
JBACC.3,L3
JBACC.4,L4
JBACC.5,L5
JBACC.6,L6
JBACC.7,L7
SJMPLOOP
L0:MOV30H,#00H
SJMP$
LI:MOV31H,#0111
SJMP$
L2:MOV32H,#0211
SJMP$
L3;MOV33H,#03H
SJMP$
L4:MOV34H,#04H
SJMP$
L5:MOV35H,#05H
SJMP$
L6:MOV36H,#06H
SJMP$
L7:MOV37H,#07H
SJMP$
工程四
1.算術運算指令包括如下指令:
答:
(1)不帶進位的加法指令ADD;(2)帶進位加法指令ADDC;1:3功口1指令INC;
(4)十進制調整指令DAA;(5)帶進位減法指令SUBB;(6)減1指
令DEC;(7)乘法指令MULAB;(8)除法指令DIVAB。
2.BCD碼進行加法運算后,為什么要進行十進制調整?
答:
因為BCD碼是用4位二進制數表示一位十進制數,當兩個BCD碼相加時,
對應位相加超過十時,就應該有進位了,可用來表示它的數碼是十六進制的,也
就是說只有超過十六才能進位,這樣就造成所對結果不是對應的BCD碼了。為
了得到正確的BCD碼結果,所以要對加法運算的結果進行調整,且這條指令必
須緊跟ADD或ADDC指令使用,它不能用于十進制數減法的調整。
3.編程求外部RAM3000H、3001H單元數據的平均值,并傳送給外部RAM的3002H
單元。
答:
MOVDPTR,#3000H
MOVXA,@DPTR
MOVRO,A
INCDPTR
MOVXA,@DPTR
ADDA,RO
MOVB,#02
DIVAB
INCDPTR
MOVX?DPTR,A
4.寫出下面這段程序的運行結果。
MOVA,#79H
MOV20H,#18H
ADDA,20H
DAA
SWAPA
答:
運行結果為:A=79Ho
5.根據以下要求寫出指令序列。
(1)求25X4的乘積,結果存入數據指針DPTR之中。
(2)設計計算255+12的程序,將商和余數分別保存在50H和51H。
(3)判斷內部RAM20H單元的內容,假設為正數程序轉向2100H;假設為負數程
序轉向2200H;假設為0程序轉向2300H。
(4)(A)=192,編程求A與立即數88的和,將結果存入31H(高位)和30H(低
位)單元。
答:
(1)MOVA,#25
MOVB,44
ML-LAB
MOVDPH,B
MOVDPL,A
(2)MOVA,#255
MOVB,#12
DIVAB
MOV50H,A
MOV51H,B
(3)ORG01OOH
MOVA,20H
JZL3
JDACC.7,L2
LJMPLI
ORG21OOH
LI:……
ORG2200H
L2:....
ORG2300H
L3:....
END
(4)MOVA,#192
ADDA,#88
JCLI
MOV30H,A
MOV31H,#00
SJMP$
LI:MOV30H,A
MOV31H,#01
END
6.編寫程序段,實現兩個8位無符號數的乘法程序,積存放在R2、R3中(R2
存放高位)。
答:
MOVA,#78
MOVB,#56
MULAB
MOVR2,B
MOVR3,A
END
7.(30H)=17H,(31H)=38H,分析下面這段程序的運行過程,在每條語句右邊
的空格中寫出在執(zhí)行完該語句后相應單元的結果。
MOVA,30H(A)
ADDA,31H(A)
DAA(A)
答:
(1)(A)=17H
(2)(A)二4FH
(3)(A)=55H
8.兩個16位無符號數分別存放在內部RAM40H、41H和50H、51H中(低位在低
字節(jié)單元),編寫程序段,實現兩個16位數的減法程序,差存放在R6、R7中(R6
存放高位)。
答:
MOVA,40H
SUBBA,50H
MOVR7,A
MOVA,4III
SUBBA,51H
MOVR6,A
END
工程五
1.什么是中斷,采用中斷方式有哪些優(yōu)點?
答:
中斷是計算機的CPU暫停正在運行的程序,轉而執(zhí)行提出中斷的那個外部設備或
事件的效勞程序(即中斷效勞程序),當效勞程序處理完畢后,CPU再回到原來
的“斷點〃繼續(xù)原來的程序。
優(yōu)點:引入中斷技術,解決了CPU與外設的速度匹配問題,提高CPU的運行效率,
計算機具有中斷功能后,還有如下優(yōu)點:
(1)分時處理功能
(2)實時處理功能
(3)故隙處理功能
2.在AT89c51單片機系統(tǒng)中,有哪些中斷源?響應這些中斷的效勞程序入口地
址分別是多少?怎樣合理安排中斷效勞程序?
答:
(1)有5個中斷源,分別為:外部中斷0、定時器T0、外部中斷1、定時器T1、
串行口中斷。
(2)中斷源中斷效勞程序入口地址
外部中斷0:0003H
定時器T0:OOOBH
外部中斷1:0013H
定時器T1:001BH
串行口中斷:0023H
由于各中斷效勞程序的入口地址相隔僅8個單元,如果整個中斷效勞程序的
長度少于或等于8個字節(jié),那么可以將這個中斷效勞程序存放在從入口地址開始
的8個單元中,但如果中斷效勞程序的長度大于8個字節(jié),那么通常在入口地址
處安排一條轉移指令,而轉移指令要跳轉的地址才開始真正存放中斷效勞程序。
3.在單片機復位后,IP和IE為何值?如果當前單片機系統(tǒng)中只允許開放INTO和
T1中斷源,且要求而和T1為高級中斷源,其余為低級中斷源,怎樣設置IP
和IE的值?
答:
(1)單片機復位后,IP為XXOOOOOOB;IE為OXOOOOOOB
(2)IP為:XXXO1OO1B;IE為:1XXO1OO1B
4.定時器。和定時器1各有幾種工作方式?簡述之。
答:
定時器0有4種工作方式:方式0、方式1、方式2、方式3
定時器1有3種工作方式:方式0、方式1、方式2
5.單片機系統(tǒng)時鐘頻率為12MHz,假設要求定時時間分別為0.5ms、1ms、10ms,
定時器0工作在方式0、方式1、方式2的情況下,定時初值THO、TLO分別是
多少?
答:
(1)方式0:
定時0.5ms時:
7=2"-陪=8192-500=7692=1E0C77
THO=1EH;TL0=0CH;
定時1ms時:
7=2*一臀=8192—1000=7192=1。8H
THO=1CH;TL0=18H;
定時10ms時:
采用定時1ms時的初值,循環(huán)10次。
(2)方式1:
定時0.5ms時:
7=216一蟹=65536-500=65036=FE0CH
TH0=0FEH;TL0RCH;
定時1ms時:
T=2脩一譬=65536-1000=64536=FC18H
TH0-0FCH;TL0-18H;
定時10ms時:
r=2l6--^=65536-10000=55536=DA\CH
TH0二ODAH;TLO=1CH;
(2)方式2:
定時0.1ms時:
7=28-^-=256-100=156=9C/7
THO9CH;TL0=9CH;
定時0.5ms時:(采用0.1ms的初值,循環(huán)5次)
定時1ms時:(采用0.1ms的初值,循環(huán)10次)
定時10ms時:(采用0.1ms的初值,循環(huán)100次)
6.要求將定時器T0和T1的外部信號輸入斷作為新增的二個外部中斷請求信號,
如何設置計數初值?
答:
THO和TFO的初值均設置為FFH
7.要求在PL5腳輸出周期為15ms的方波,設單片機系統(tǒng)時鐘頻率為6MHz。
試編寫定時器初始化程序和中斷效勞程序。
答:
定時器初始化程序:
MOVTMOD,#01H
MOVTHO,#OF1H
MOVTLO,#5AH
中斷效勞程序:
ORG0000H
LJMPSTART
ORGOOOBH
LJMPTOINT
ORG1000H
START:MOVTMOD,#01H
SETBTRO
MOVTHO,ttOFlH
MOVTLO,#5AH
SJMP$
ORG2000H
TOINT:CPLPl.5
MOVTHO,ttOFlH
MOVTLO,#5AH
RET1
END
8.請編寫程序:在T1每計滿100個外部輸入脈沖后,使P0口輸出OFOH的數
據。
答:
ORG0000H
LJMPSTART
ORGOOOB1I
LJMPLOOP
ORG1OOOH
START:MOVTMOD,#O1H
SETBTRI
MOVTHO,#OF1H
MOVTLO,#5AH
SJMP$
ORG2000H
LOOP:MOVPO,#OFOH
工程六
1.與8255比擬,8155接口芯片有何特點?
答:
8155是一種通用的多功能可編程RAM/IO擴展器,片內除有三個可編程并行I/O
端口(兩個8位的端口A和B及一個6位是我端口C)外,還帶有256B放入靜
態(tài)RAM及一個可編程的14位定時器、計數器。
2.為什么說P0口是真正的雙向I/O口,而P1?P3口是準雙向口?
答:
P0口是三態(tài)雙向口,每位能驅動8個LSTTL電路;Pl、P2、P3口是準雙向口,
每個引腳可驅動4個LSTTL輸入。
3.擴展存儲器時常用哪些片選方法?
答:
線選法和譯碼法
4.什么是地址空間重疊現象?
答:
存儲器中多個單元地址空間重疊在一起卻僅表示一個單元,這種現象稱為地址空
間重疊現象。
5.擴展存儲器時,低8位地址為什么要鎖存,而高8位地址不需要鎖存?
答:
P0口作為低8位地址線、數據線,分時提供低8位地址信號和數據信號,在擴
展系統(tǒng)中,要將P0口傳送的信號進行別離,以便構成16位地址信號,因此需要
增加一個8位鎖存器,先由鎖存器將地址總線中的低8位地址信號所存,鎖存器
的輸出作為地址線A7-A0,其后P0口作為數據線使用;P2口在整個機器周期內
提供的都是高8位地址信號,因此不用鎖存。
6.設某打印接口電路中有兩個端口:一個是數據端口,其地址為1FFFH;一個
是狀態(tài)端口,其地址為1FFEH,狀態(tài)端口的最高位D7表示打印機當前狀態(tài),即
D7=0表示打印機“空閑〃、D7=l表示打印機“忙〃,試將片內RAM40H?4FH中
的內容由打印機打印輸出。
答:
MOVDPTR,#1FFEH
LP1:MOVXA,@DPTR
JBACC.7,LP1
MOVRO,#4011
MOVR2,#10H
LP2:MOVA,@R0
INCDPTR
MOVX@DPTR,A
LP3:MOVDPTR,#1FFEH
MOVXA,@DPTR
JBACC.7,LP3
INCRO
DJNZR2,LP2
END
7.試用兩片2764擴展16KB程序存儲器,根據以下要求,畫出電路圖,并確定
各自的地址范圍。
答:
(1)用P2.7和P2.6片選。
P2.7業(yè)
P2.6CECE
P2.0~2.4A8-A12A8-A12
ALE1
8GA0-A7
P0.0-P0.7D0~D7Q0~Q7A0-A7
27641#27642#
AT89C5174LS373
00-0700-07
PSEN0EOE
EA
I
地址范圍:1#為:8000H~9FFFH或AOOOH~BFFFH
2#為:4000H~5FFFH或6000H“7FFFH
(2)用74LS138譯碼后片選。
74LS138
P2.7
P2.6
P2.5CECE
P2.0~2.4A8-A12A8-A12
ALE
A0-A7
P0.0-P0.7A0-A7
27641#27642#
AT89C51
00-0700-07
PSENOEOE
EA
地址范圍:1#為:OOOOHlFFFH
2#為:2000H~3FFFH
8.有一個單片機應用系統(tǒng),需要8K字節(jié)的程序存儲器、兩個8位輸入口、兩
個8位輸出口、四個外部中斷源,試設計電路圖。
答:
譯
碼
器
I
工程七
1.在一個AT89C51系統(tǒng)中擴展一片8155,8155外接2位LED顯示器和2位BCD
撥盤,試畫出該局部的接口電路,并編寫相應的顯示子程序和讀撥盤的子程序。
答:
AT89C51
顯示子程序:
START:MOVA,#03H
MOVDPTR,#7F00H
MOVX@DPTR,A
LOOP1:MOVRO,#38H
MOVR3,#7FH
MOVA,R3
L00P2:MOVDPTR,#7F01H
MOVX@DPTR,A
INCDPTR
MOVA,@R0
ADDA,#ODH
MOVCA,@A+PC
MOVX@DPTR,A
ACALLDELAY1ms
MOVA,R3
JNBACC.0,L00P1
RRA
MOVR3,A
INCRO
AJMPL00P2
DATA:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H
RET
讀撥盤子程序:
MOVRO,#30H
MOVPl,#ODFH
MOVA,Pl
SWAPA
XCHA,@R0
MOVPl,#OEFH
MOVA,Pl
XCHDA,?RO
RET
2.在一個AT89c51系統(tǒng)中,試畫出6X6鍵盤接口電路,并編制一個子程序,
用查詢的方法將鍵盤上鍵入的鍵號送內RAM區(qū)。
答:
程序:
SCAN:LCALLKEYDOWN
JNZKEY1
RET
KEY1:LCALLSWLAYlOms
LCALLKEYDOWN
JNZKEY3
KEY2:MOVA,#FFH
RET
KEY3:MOVA,#3FH
MOVP2,A
MOVA,P2
ANLA,#3FH
MOVR2,#0011
MOVR3,#06H
KEY4:RRCA
JNCKEY5
INCR2
INCR2
INCR2
INCR2
INCR2
INCR2
DJNZR3,KEY4
LJMPKEY2
KEY5:MOVA,#3H
MOVPl,A
MOVA,Pl
ANLA,#3FH
MOVRi,#0011
MOVR3,#06H
KEY6:RRCA
JNCKEY7
INCRI
DJNZR3,KEY6
LJMPKEY2
KEY7:MOVA,RI
ADDA,R2
PUSHA
LCALLKEYDOWN
KEY8:JNZKEY8
POPA
RET
KEYDOWN:MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 普外科1季度理論考試試題
- 液壓與氣壓傳動智慧樹知到答案2024年臨沂大學
- 16高中數學新教材課堂導學案(拋物線的定義及方程)
- 工業(yè)VOC治理系統(tǒng)相關行業(yè)投資方案范本
- 橡膠帶相關行業(yè)投資方案
- 電力調度與管理自動化系統(tǒng)行業(yè)相關投資計劃提議
- 暈動片在橋梁振動監(jiān)測中的應用
- 烹飪微生物 課件 第二章-廚房微生物的類別
- 國家高山滑雪中心(2022年四川南充中考語文試卷說明文閱讀題及答案)
- 心理調適小組討論主題班會
- 學而思七年級數學培優(yōu)講義全年級章節(jié)培優(yōu)經典
- 六年級數學課開學第一課
- 小學五年級六年級語文閱讀答題技巧課件
- 高三勵志主題班會65張課件
- 網絡安全檢測預警與應急處置學習課件
- 蘇軾生平及創(chuàng)作整理
- 2024名校版人教《小書包》一年級上冊語文一課一練含答案
- 中國古典舞身韻課程標準
- 長距離輸送管道工程知識講解及計算實例
- 制冰機安全操作規(guī)程
- BS EN ISO 15848-1-2015 工業(yè)閥-逸散性排放的測量、試驗和鑒定程序(中文)
評論
0/150
提交評論