Bài tập vi xử lý

35 573 0
Bài tập vi xử lý

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HBK Tp HCMBMT GVPT: H Trung M Bi Vi X Chng Bi chng ny c chia lm phn: Túm tt phn cng (3.1+3.2), Tp lnh (3.3+3.4), Timer (3.5), Cng ni tip (3.6), Ngt (3.7), Assembler (3.8) v tng hp Phn Túm tt phn cng 1.1K tờn cỏc nh sn xut khỏc (ngoi Intel) cú ch to MCU 8051? 1.2Ta s dng lnh gỡ t LSB ca byte a ch 25H lờn 1? 1.3Hóy vit cỏc lnh dựng OR cỏc bit cú a ch l 00H v 01H, kt qu ct vo bit cú a ch 02H? 1.4Sau thc thi cỏc lnh sau thỡ nhng bit no cú giỏ tr 1? MOV R0, #26H MOV @R0, #7AH 1.5Hóy tỡm lnh byte cú cựng hiu ng nh lnh byte sau: MOV 0E0H, #55H 1.6Hóy vit cỏc lnh ct giỏ tr 0ABH vo RAM ngoi a ch 9A00H 1.7Cú bao nhiờu ghi chc nng c bit c nh ngha 8051, 8052? 1.8Sau reset h thng, giỏ tr ca SP ca 8051 l bao nhiờu? 1.9Ta cú th s dng lnh gỡ to tr cho SP ca 8031 to stack 64 byte nh ca RAM ni? 1.10 Mt chng trỡnh s dng cỏc ghi R0-R7 m rng Hóy minh lm cỏch no chng trỡnh ny chuyn sang s dng cỏc ghi R bank vo chng trỡnh ny v tr li bank ghi c kt thỳc chng trỡnh ú? BT-VXL-Ch trang 1.11 MCU 80C31BH1 hot ng vi thch anh 16MHz ni vo cỏc ngừ vo XTAL1 v XTAL2 ca nú Nu khụng cú s dng lnh MOVX, tn s ca tớn hiu ALE l bao nhiờu? 1.12 8051 c s dng vi thch anh 4MHz, ú chu k mỏy l bao nhiờu? 1.13 Chu k nhim v ca ALE l bao nhiờu? Gi s phn mm khụng truy cp RAM ngoi (chỳ ý l chu k nhim v = chu k bn phn = chu k lm vic = duty cycle = thi gian ON / chu k ca tớn hiu) 1.14 Ta bit rng 8051 b reset nu chõn RST c gi mc cao ti thiu chu k mỏy (chỳ ý l vi c tớnh DC ca 8051 thỡ mc cao RST ti thiu l 2.5V) a) Nu 8051 hot ng vi thch anh 8MHz, khong thi gian ti thiu gi cho RST mc cao reset h thng l bao nhiờu? b) Hỡnh 2-15a cho thy mch RC dựng reset bng tay Trong ang n nỳt reset thỡ RST=5V v h thng c gi trng thỏi reset Nh vy sau nỳt reset c nh thỡ 8051 s gi trng thỏi reset bao lõu? 1.15 Chõn cng P1.7 (chõn 8) cú th lỏi c bao nhiờu ti Schottky cụng sut thp (LS)? 1.16 Lit kờ cỏc tớn hiu iu khin bus ca 8051 chn cỏc EPROM ngoi v cỏc RAM ngoi 1.17 a ch bit ca MSB ca byte a ch 25H vựng d liu ni ca 8051 l bao nhiờu? 1.18 Hóy lit kờ nhng lnh dựng t LSB ca ghi tớch ly lờn m khụng nh hng bit khỏc? 1.19 Gi s lnh sau va c thc thi: MOV A, #55H Giỏ tr ca bit P PSW l bao nhiờu? 1.20 Hóy vit cỏc lnh dựng chộp ni dung ca R7 vo ụ nh 100H RAM ngoi 1.21 Gi s ta ang dựng bank 0, hóy ghi cỏc giỏ tr RAM ni ca 8051 sau thc thi on mó sau: MOV R4, #32H BT-VXL-Ch trang MOV R0, #12H MOV R7, #3FH MOV R5, #55H 1.22 Sau cp in cho VXL, hóy cho bit bng cỏch no chn bank bng mt lnh 1.23 Gi s lnh th nht c thc thi sau reset h thng l gi chng trỡnh Ni dung ca PC c ct nhng a ch no RAM ni trc r nhỏnh chng trỡnh? 1.24 S khỏc bit gia ch ngh (idle) v ch tt ngun? 1.25 Lnh gỡ dựng a 8051 vo ch tt ngun? 1.26 Tt c cỏc ghi R0R7 rng bao nhiờu bit? Phn ln cỏc ghi 8051 rng bao nhiờu bit? K tờn cỏc ghi 16 bit 8051 1.27 Bit P ca PSW l bao nhiờu sau thc thi mi lnh sau: a) CLR C b) MOV A, #0CH c) MOV A, #0ABH 1.28 Nhng a ch bit no sau õy cú giỏ tr l sau thc thi (cỏc) lnh: a) MOV 26H, #26H MOV A, #13H e) MOV 30H, #55H XRL 30H, #0AAH b) SETB P1.1 c) MOV P3, #0CH d) f) MOV R0, #26H MOV @R0, #7AH 1.29 Sau thc thi lnh ny thỡ bank ghi no c chn? a) MOV PSW, #0C8H b) MOV PSW, #50H c) MOV PSW, #10H 1.30 Hóy minh lm cỏch no cú th giao tip RAM tnh (mi RAM 32KB) vi 8051 chỳng cú th chim ton b vựng d liu ngoi 64K 1.31 Vi hỡnh 3.15 sỏch, gi s RAM ngoi cú dung lng l 211x8, cỏc chõn P2.0, P2.1, v P2.2 c ni vo cỏc chõn A8, A9, v A10 tng ng ca RAM Hóy cho bit: a) vi cỏch ni ny RAM c chia lm bao nhiờu trang? b) mun truy cp n byte th (th t k t 0) ca trang thỡ lm cỏch no? BT-VXL-Ch trang c) a ch tht ca byte trờn l bao nhiờu? d) vit on chng trỡnh gỏn tr 56H vo a ch 548H 1.32 Vi h thng dựng 8051, hóy thit k mch gii mó a ch cho cỏc trng hp sau: (gi s tớn hiu chn chip u l tớch cc thp [/CS]) Trng hp Tm a ch Trng hp Thit b a ch bt u Kớch thc Thit b 0000H 3FFFH RAM 0000H 8Kx8 ROM 8000H 9FFFH ROM 4000H 16 K x RAM E000H FFFFH I/O (8255 PIA) 8000H 16 K x RAM FF00H 256 x I/O (8255 PIA) Phn Tp lnh 2.1 Hóy cho bit cỏch nh a ch ca cỏc lnh sau a) MOV R1, A c) MOV A, #12H e) MOV R6, #28H g) MOVX A, @DPTR i) LJMP 0548H b) MOV A, @R1 f) SJMP LOOP h) ACALL SUB1 j) PUSH B d) MOV A, 12H 2.2 Mó mỏy dng hex ca lnh sau l gỡ? INC DPTR 2.3 Mó mỏy dng hex ca lnh sau l gỡ? DEC R6 2.4 Lnh no c biu din bi mó mỏy 5DH? 2.5 Lnh no c biu din bi mó mỏy FFH? 2.6 Lit kờ tt c cỏc lnh byte ca 8051 cú mó mỏy tn cựng l 5H BT-VXL-Ch trang 2.7 Hóy minh bng cỏch no ta cú th chuyn ni dung ca a ch ni 50H vo ghi tớch ly A vi nh a ch giỏn tip? 2.8 Mó lnh no khụng c nh ngha 8051? 2.9 np vo R4 giỏ 65H thỡ cú cn du # lnh: MOV R4, #65H khụng? 2.10 Ta xột lnh sau: MOV 50H, #0FFH a) Mó lnh ca lnh ny l bao nhiờu? b) Lnh ny di bao nhiờu byte? c) Gii thớch mi byte ca lnh ny d) MCU phi cn bao nhiờu chu k mỏy thc hin lnh ny? e) Nu 8051 hot ng vi thch anh 16 MHz, MCU phi mt bao lõu mi thc thi xong lnh ny? 2.11 Offset tng i ca lnh sau l bao nhiờu? SJMP AHEAD nu lnh ny ang ụ nh 0400H v 0401H, v nhón AHEAD biu din lnh a ch 041FH 2.12 Offset tng i ca lnh sau l bao nhiờu? SJMP BACK nu lnh ny ang ụ nh A050H v A051H, v nhón BACK biu din lnh a ch 9FE0H 2.13 Gi s lnh AJMP AHEAD b nh chng trỡnh ti a ch 2FF0H v 2FF1H, v nhón AHEAD tng ng vi lnh a ch 2F96H Nhng byte mó mỏy (dng s hex) ca lnh ny l gỡ? BT-VXL-Ch trang 2.14 Ti mt ch chng trỡnh, nu ta mun chng trỡnh r nhỏnh n nhón EXIT nu ghi A bng mó ASCII ca carriage return Thỡ ta phi s dng (nhng) lnh gỡ? 2.15 Lnh SJMP BACK b nh chng trỡnh ti a ch 0100H v 0101H, v nhón BACK tng ng vi lnh a ch 00AEH Nhng byte mó mỏy (dng s hex) ca lnh ny l gỡ? 2.16 Lnh sau thc hin gỡ ? SETB 0D7H Cú cỏch no tt hn thc hin cựng tỏc v ny? Ti sao? 2.17 S khỏc bit gia lnh sau l gỡ? INC A INC ACC 2.18 Hóy vit nhng byte mó mỏy cho lnh sau LJMP ONWARD nu nhón ONWARD biu din lnh a ch 0A0F6H 2.19 Gi s ghi tớch ly A cha 5AH Ni dung ghi A l gỡ sau thc thi lnh: XRL A, #0FFH 2.20 Gi s PSW cha 0C0H v ghi A cha 50H trc thc thi lnh RLC A Ni dung ca ghi A sau thc thi lnh trờn l bao nhiờu? 2.21 Hóy vit (cỏc) lnh tng ng thc hin: a) Xúa ni dung ghi A b) Ly bự giỏ tr ghi A v ct li vo A 2.22 Hóy vit cỏc lnh thc hin: a) Chia nguyờn nụùi dung ca A cho 16 (gi s A < 256) BT-VXL-Ch trang b) Nhõn nguyờn ni dung ca A cho (gi s A Y 2.72 Vit chng trỡnh tớnh tng s bit byte cho trc ghi A Lm li vi tớnh tng s bit Hóy vit chng trỡnh cho kt qu tng s bit v tng s bit ghi A 2.73 Vit chng trỡnh tớnh trung bỡnh cng ca mt dóy cỏc tr s byte khụng du vi s u cú a ch R6, chiu di ca dóy s R7 Kt qu c ct vo R5 2.74 Hóy mụ t stack, SP v ni dung ca cỏc ghi b nh hng on chng trỡnhsau Gi s ban u (SP)=07H MOV R2, #55H MOV R5, #0CCH MOV R1, #0ADH BT-VXL-Ch trang 21 PUSH PUSH5 PUSH1 POP POP POP 2.75 Vit chng trỡnh xúa ACC v cng 5H vo ACC 10 ln bng cỏch dựng vũng lp 2.76 Cú 2KB RAM d liu c gn vo 8051 (bt u a ch 8000H) Vit chng trỡnh (bt u t 2030H): a) in ton b RAM 2K vi tr 55H; b) kim tra li giỏ tr mi ụ nh cú bng 55H khụng? Nu cú sai thỡ cho P1.1=1 v cho bit bao nhiờu ụ nh b sai (ct vo R7) 2.77 Vit chng trỡnh ATOH i byte ASCII sang s hex tng ng (09 v AF; tng ng ASCII l 30H39H v 41H46H) Nu byte ASCII khụng thuc 30H39H hay 41H46H thỡ t c C lờn Aựp dng chng trỡnh ATOH i byte ASCII liờn tip RAM ni ca 8051 (thớ d byte cao 40H v byte thp 41H) thnh mó hex byte ụ nh RAM ni 8051 (thớ d 42H) Thớ d: (40H)=36H v (41H)=42H thỡ kt qu (42H)=6BH 2.78 Vit chng trỡnh ci t logic cho cỏc hm sau theo cỏch: bng cỏc lnh x logic vi bin Boole, v bng cỏc lnh r nhỏnh theo iu kin vi bit Gi s cỏc bin X, Y, Z, V, W v F tng ng vi cỏc chõn P0.0 n P0.5 a) F = (X(Y+Z)) Z (V+W) b) F = (XYZ) + Z + V + W c) F = XY+ YZ+ ZVW d) F = (X+Y)(Z+V)(X+W) e) F = ((XY + XZ ) V) BT-VXL-Ch trang 22 2.79 Vit chng trỡnh copy 16 byte b nh mó ngoi (1000H100FH) n RAM ni t 30H3FH 2.80 Vit chng trỡnh copy 16 byte b nh d liu ngoi (1000H100FH) n RAM ni t 30H3FH 2.81 Vit chng trỡnh i s BCD ký s thnh mó (LED) on S BCD c c t cng P0 v kt qu c xut P1 v P2 (P1 ng vi ký s hng chc, P2 ng hng n v) Dng kt ni phn cng cho P1 v P2 tng t hỡnh E.2.81 Hỡnh E.2.81 BT-VXL-Ch trang 23 Phn Timer Trong phn Timer ny, ta s gi s l 8051 c s dng vi thch anh 12MHz nu bi khụng cho bit tn s thch anh 3.1 Vit chng trỡnh 8051 to súng vuụng P1.5 cú tn s 100KHz (Hng dn: Khụng s dng timer) 3.2 Hiu ng ca lnh sau l gỡ ? a) SETB 8EH b) MOV TMOD, #11010101B 3.3 Hóy cho bit cn np tr cho TMOD l bao nhiờu a) Timer chy ch 2, Timer chy ch b) Timer chy ch 0, Timer chy ch 3.4 Cú bao nhiờu cỏch dng Timer ang chy? 3.5 Xột chng trỡnh lnh thớ d to dng xung (thớ d u phn 3.5.8) Tn s v chu k nhim v ca dng súng c to chõn P1.0 ca 8051 hot ng vi thch anh 16MHz? 3.6 Hóy tớnh thi gian trỡ hoón ca chng trỡnh DELAY sau vi tn s thch anh l: a) 12 MHz v b) 11.0592 MHz DELAY: MOV R3,#250 HERE: ; NOP MC (1 chu k mỏy) ; NOP ; MC NOP ; MC NOP ; MC DJNZ R3,HERE ; MC RET ; MC MC 3.7 Vit li bi gii ca thớ d giao tip buzzer (thớ d cui phn 3.5.8) bao gm ch restart (bt u li) Nu chuyn tip sang xy BT-VXL-Ch trang 24 buzzer phỏt ting kờu, bt u li vũng nh thỡ tip tc cho buzzer kờu giõy k, xem minh hỡnh E.3.7 Hỡnh E.3.7 3.8 Vit chng trỡnh 8051 to súng vuụng P1.2 cú tn s 12KHz theo cỏch: a) dựng Timer 0; v b) khụng dựng timer 3.9 Vit chng trỡnh 8051 dựng timer tng ni dung ca ụ nh TIME (trong RAM ni) thờm c sau 20 ms 3.10 Vit chng trỡnh MOTGIAY theo cỏch: a) dựng Timer 0; v b) khụng dựng timer Aựp dng chng trỡnh trờn to dng súng vuụng tun hon cú chu k 10 s, 20 s v 30 s tng ng vi cỏc chõn P1.0, P1.1 v P1.2 3.11 Vit chng trỡnh 8051 dựng timer: a) to xung vuụng 500Hz cú chu k nhim v l 70% chõn P1.0 b) Tng t a) nhng chu k nhim v l 40% v xung ny ch tn ti 10s 3.12 Thit k ng dng ca xoay (turnstile) dựng Timer phỏt hin lỳc no cú ngi th 10 000 i vo khu vc hi ch Gi s (a) cm bin ca xoay ni vo T1 v to xung cú ngi i vo lm xoay ca, v (b) ốn c ni vo chõn P1.7 (chỳ ý thc t cú thờm mch giao tip t P1.7 vi ốn) v sỏng P1.7=1 v tt P1.7=0 Nh vy 8051 s m s s kin T1 v BT-VXL-Ch trang 25 lm sỏng ốn P1.7 ngi th 10 000 i vo khu vc hi ch (xem hỡnh E.3.12) Hỡnh E.3.12 3.13 Chun iu hng (hay cũn gi l cng hng) quc t cho cỏc thit b õm nhc l A trờn D trung (La trờn ụ trung) tn s 440 Hz Vit chng trỡnh 8051 to tn s iu hng ny v phỏt tone 440 Hz loa ni P1.1 (xem hỡnh E.3.13) Do vic lm trũn cỏc giỏ tr t TL1/TH1, cú sai s nh tn s Tn s chớnh xỏc l bao nhiờu v phn trm sai s l bao nhiờu? Mun cú c chớnh xỏc 440 Hz vi chng trỡnh bn ó vit thỡ giỏ tr ca thch anh l bao nhiờu? Hỡnh E.3.13 3.14 Vit chng trỡnh 8051 to tin hiu 500 Hz P1.0 dựng timer Dng súng cú chu k nhim v 30% 3.15 Mch hỡnh E.3.15 s cung cp tớn hiu rt chớnh xỏc 60 Hz (vi iu kin ỏp AC ny cú tn s n nh) vo T0 bng cỏch ly t th cp ca mt bin ỏp Khi ng Timer cho nú ly xung nhp t T0 v trn ln/giõy mi ln trn, cp nht giỏ tr thi gian ngy c cha b nh ni ca 8051 cỏc v trớ 50H (gi), 51H (phỳt), v 52H (giõy) BT-VXL-Ch trang 26 Hỡnh E.3.15 Phn Cng ni tip (Serial Port) 4.1Hóy tỡm giỏ tr ca TH1 (dng thp phõn v hex) t tc baud cho cỏc trng hp sau nu SMOD=1: a) 9600 baud; b) 4800 baud Gi s rng XTAL=11.0592 MHz 4.2Tỡm tc baud nu TH1=2, SMOD = v XTAL =11.0592MHz 4.3Gi s rng cng ni tip 8051 c ni vo cng COM ca mỏy vi tớnh, v PC ta s dng chng trỡnh terminal.exe gi v nhn d liu ni tip P1 v P2 ca 8051 c ni vo cỏc LED v cỏc cụng tc tng ng Vit chng trỡnh 8051 : a) gi n mỏy vi tớnh thụng ip We Are Ready!; b) nhn bt c d liu no c gi t mỏy vi tớnh v xut nú cỏc LED ang gn P1; v c) ly d liu trờn cỏc cụng tc ni vo P2 v gi ni tip d liu ú n mỏy vi tớnh Chng trỡnh thc a) mt ln, nhng cỏc phn b) v c) liờn tc S dng tc baud l 4800 4.4Gi s XTAL=11.0592 MHz vi chng trỡnh sau, hóy cho bit: a) chng trỡnh ny lm gỡ, b) tớnh tn s c s dng bi timer1 tc baud, v c) tỡm tc baud ca vic chuyn d liu MOV A, PCON SETB ACC.7 MOV PCON, A MOV TMOD, #20H MOV TH1, -3 BT-VXL-Ch trang 27 MOV SCON, #50H SETB TR1 MOV A, # B LOOP: CLR TI MOV SBUF, A JNB TI, $ SJMP LOOP 4.5S dng cng ni tip lm cng hin th: Cho mch hỡnh E.4.5 Hỡnh E.4.5 Mch ni bờn ngoi vi cng ni tip 8051 Vi lnh: MOV SBUF, A D liu nh phõn t ACC s c truyn bờn ngoi bt u t bit thp nht qua chõn RXD ca cng ni tip sau thc thi lnh trờn Khi kt thỳc truyn bit SCON.1 s t ng c t lờn IC 74LS164 hỡnh l ghi dch bit vo ni tip song song (SIPO) D liu nh phõn bit vo ni tip s c xut song song Cỏc IC 74LS164 mc k tip giỏ tr ban u c hin trờn hin th s dch t phi sang trỏi cú thờm giỏ tr mi BT-VXL-Ch trang 28 LED on l loi anode chung, ú a mc thp vo cú th lm sỏng cỏc on ny (thớ d: on a s sỏng Q1 ca 74LS164 l 0) Theo nguyờn tc ny ta cú th cho hin ký t trờn hin th nu cỏc ngừ tng ng ca 74LS164 mc thp Thớ d hin c ký t thỡ cn lm sỏng cỏc on a, b, g, e v d, vỡ vy cỏc ngừ tng ng Q7, Q6, Q3, Q1 v Q0 phi c t mc thp v cỏc ngừ Q5, Q4 v Q2 gi mc cao Do ú ta cn gi byte 34H b m d liu ni tip D liu 34H c gi l mó ký t ca ký t Bng mó ký t cho cỏc ký t t n F nh sau: Ký t D7 D6 D5 D4 D3 D2 D1 D0 b g c dp e f 1 0 50H 1 1 5FH 1 34H 0 1 1CH 0 1 1BH 0 1 0 98H 0 0 90H 1 1 5DH a 0 Mó ký t d 1 0 0 BT-VXL-Ch trang 29 0 0 10H 0 1 0 19H 0 0 11H 0 0 92H 1 0 F0H 0 1 16H 1 0 B0H 1 0 B1H A B C D 0 E F 1 Chỳ ý: o lm cho tt c cỏc on sỏng ta n nỳt SW o lm cho tt c cỏc on tt ta dựng lnh MOV SBUF, #FF Hóy vit cỏc lnh : a) Hin th cỏc ký t 0, 1, 2, 3, v t phi sang trỏi Cú nhn xột gỡ v kt qu hin th? b) Hin th ký t A trờn bng hin th? Cỏc sau (4.6 n 4.14) l cỏc chng trỡnh tiờu biu giao tip vi cỏc thit b u cui (terminal) hoc cỏc thit b ni tip khỏc vi mỏy vi tớnh Gi s cng ni tip c ng mode UART bit v tc baud c cung cp bi Timer BT-VXL-Ch trang 30 4.6Vit chng trỡnh OUTSTR gi chui ký t ASCII kt thỳc bi ký t NULL n thit b ni tip ni vi cng ni tip ca 8051 Gi s chui mó ASCII b nh mó bờn ngoi v chng trỡnh gi t a ch ca chui DPTR trc gi OUTSTR Chui ký t kt thỳc bng NULL l chui byte ASCII kt thỳc vi byte 00H 4.7Vit chng trỡnh INLINE nhp dũng cỏc mó ASCII t thit b ni vi cng ni top ca 8051 v t nú vo b nh d liu ni bt u 50H Gi s dũng kt thỳc bng CR (carriage return) t mó CR vo b m dũng cựng vi cỏc mó khỏc v ri kt thỳc b m bng byte NULL (00H) 4.8Vit chng trỡnh gi liờn tc b mu t t a ti z n thit b gn vo cng ni tip, dựng chng trỡnh OUTCHR (cú sn ) 4.9Gi s cho trc chng trỡnh OUTCHR, hóy vit chng trỡnh gi liờn tc b ASCII hin th c (cỏc mó t 20H n 7EH) n thit b ang gn vo cng ni tip ca 8051 Sa i li li gii ca bi trờn treo v cho xut tip li mn hỡnh dựng cỏc mó XOFF v XON nhn c t bn phớm Tt c cỏc mó khỏc b b qua (chỳ ý: XOFF = CONTROL-S = 13H v XON=CONTROL-Q=11H) 4.10 Gi s cho trc cỏc chng trỡnh INCHAR v OUTCHR, hóy vit chng trỡnh nhp cỏc ký t t bn phớm v v hin th chỳng li trờn mn hỡnh, i nhng ký t ch in thng sang ch in hoa 4.11 Gi s cho trc cỏc chng trỡnh INCHAR v OUTCHR, hóy vit chng trỡnh nhp cỏc ký t t thit b ang gn cng ni tip 8051 v hin th chỳng li vi du chm (.) s thay th cho cỏc ký t iu khin (cú cỏc mó ASCII 00H n 1FH, v 7FH) 4.12 Gi s cho trc chng trỡnh OUTCHR, hóy vit chng trỡnh xúa mn hỡnh VDT ang gn cng ni tip 8051 v ri gi tờn ca bn n VDT 10 ln trờn 10 dũng Chc nng xúa VDT c thc hin bng cỏch truyn CONTROL-Z vi nhiu terminal hoc 4.13 BT-VXL-Ch trang 31 chui ký t thoỏt [2J trờn terminal cú h tr ANSI (American National Standards Institute) S dng c phng phỏp bi gii Hỡnh 3.32 sỏch minh k thut m rng kh nng xut ca 8051 Gi s vi cu hỡnh nh vy, hóy vit chng trỡnh ng cng ni tip vi ch ghi dch v ri ỏnh x ni dung ca ụ nh ni 20H ngừ ph, mi giõy thc hin 10 ln 4.14 Phn Ngt (Interrupt) 5.1Cho bit nhim v ca bit SMOD 8051? Hóy nờu cỏc bc thit lp Timer dựng ngt trỡ hoón (lm tr) mt khong thi gian nht nh? 5.2Hóy vit cỏc lnh : a) cho phộp ngt ni tip, ngt timer v ngt phn cng bờn ngoi 1; v b) cm ngt timer 0; v c) cm tt c cỏc ngt ch bng lnh 5.3Sau thc thi on chng trỡnh sau: MOV IE, #99H MOV IP, #10H a) Cỏc ngt no c cho phộp? b) Ngt no cú u tiờn cao nht? 5.4Th t phc v cỏc ngt nh th no nu tt c cỏc ngt c cho phộp xy ng thi? 5.5Trong h dựng 8051 cho phộp cỏc ngt /INT0, /INT1 v Timer v cm tt c cỏc ngt khỏc Nu ngt /INT1 tớch cc thỡ s to súng vuụng 500 Hz chõn P1.0 (dựng ngt Timer 1) Súng vuụng ny s chm dt /INT0 tớch cc Vit on chng trỡnh BT-VXL-Ch trang 32 to tr cho cỏc ngt v i ngt chng trỡnh chớnh v cỏc chng trỡnh ISR 5.6Vit chng trỡnh ly liờn tc d liu bit t P0 v gi nú n P1 ú ng thi to súng vuụng cú chu k 200 às chõn P2.1 (s dng Timer to súng vuụng) 5.7Gi s chõn /INT1 c ni vo cụng tc bỡnh thng mc cao, chõn ny xung mc thp thỡ nú s lm sỏng ốn LED ốn LED ny c ni vo chõn P1.3 v bỡnh thng thỡ tt, cú mc thp /INT1 thỡ nú s sỏng /INT1 mc thp 5.8Gi s chõn /INT1 c ni vo b to xung, vit chng trỡnh nhn bit cú cnh xung ca xung thỡ s t bit P1.3 lờn v lm cho ốn LED gn P1.3 sỏng (v mch cng) Ngha l LED s sỏng (ON) v tt (OFF) cựng vi tc ca xung a vo chõn /INT1 5.9Vit chng trỡnh 8051 ly d liu t P1 v gi nú n P2 liờn tc, ú d liu n t cng ni tip c gi n P0 Gi s tc baud l 9600 5.10 To súng vuụng kHz chõn P1.7 dựng ngt To xung vuụng kHz vi chu k nhim v 30% chõn P1.6 dựng ngt 5.11 a) Vit chng trỡnh phc v ngt cho timer to xung vuụng 500Hz cú chu k nhim v l 70% chõn P1.0 5.12 BT-VXL-Ch trang 33 b) Tng t a) nhng chu k nhim v l 40% v xung ny ch tn ti 10s Hóy ghộp chng trỡnh to súng vuụng bng ngt ca timer (trang 218) vi chng trỡnh Xut ký t bng ngt (trang 221) thnh chng trỡnh 5.13 Hóy vit li chng trỡnh Xut ký t bng ngt (trang 221) cho gi ký t/1 giõy (hng dn: s dng timer v xut ký t ISR ca timer) 5.14 Phn Assembler 6.1Hóy vit li cỏc lnh sau vi dng d liu tc thi l nh phõn: a) MOV A, #255 c) MOV A, #1AH b) MOV A, #11Q d) MOV A, #A 6.2Cú gỡ sai lnh sau: ORL 80H, #F0H 6.3Hóy tỡm cỏc ký hiu no b t tờn sai: ?byte.bit @GOOD_bye MY_PROGRAM 1ST_FLAG 6.4Hóy vit cỏc lnh tng ng cỏc lnh sau vi d liu tc thi l tr s hex: a) MOV AB DPTR, # EQ 48 b) MOV DPTR, # (275 MOD 256) c) MOV DPTR, #HIGH d) MOV DPTR, #NOT 6.5S khỏc bit gia DB v DW? 6.6Hóy ghi cỏc giỏ tr ụ nh ca on sau: BT-VXL-Ch trang 34 ORG 0FH DW SHL DB 65535 DW 6.7Vit nh ngha macro dựng in hng s d liu vo 1khi b nh d liu ngoi Truyn a ch bt u, chiu di, v hng s d liu cho cỏc tham s macro 6.8Vit nh ngha cho cỏc macro sau: JGE nhy n LABEL nu ghi tớch ly cú tr >= VALUE JLT nhy n LABEL nu ghi tớch ly cú tr < VALUE JLE nhy n LABEL nu ghi tớch ly cú tr Y 2.72 Vit chng trỡnh tớnh tng s bit byte cho trc ghi A Lm li vi tớnh tng s bit Hóy vit chng trỡnh cho kt qu tng s bit v tng s bit ghi A 2.73 Vit chng trỡnh tớnh trung bỡnh

Ngày đăng: 26/08/2017, 09:39

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan