SJMP ketthuc la lenh nhay ngan, dieu khien chuong trinh re nhanhdelay1ms: den dia chi duoc tro den.
Trang 1BÀI T P VI X LÝ (H VI ĐI U KHI N 8051) Ậ Ử Ọ Ề Ể
2 S D NG T P L NH Ử Ụ Ậ Ệ
Truy xu t RAM n i ấ ộ
Trang 22.1 Vi t CT ghi 40H vào ô nh 30H c a RAM n i theo 2 cách (đ nh đ a ch ôế ớ ủ ộ ị ị ỉ
Truy xu t RAM ngoài ấ
2.6 Vi t CT ghi 40H vào ô nh 0030H c a RAM ngoài.ế ớ ủ
2.7 Vi t CT xóa ô nh 0031H c a RAM ngoài.ế ớ ủ
2.8 Vi t CT đ c ô nh 0032H c a RAM ngoài vào thanh ghi A.ế ọ ớ ủ
2.8 Vi t CT ghi n i dung thanh ghi A vào ô nh 0033H c a RAM ngoài.ế ộ ớ ủ
2.10 Vi t CT chuy n d li u ô nh 0034H c a RAM ngoài vào ô nh 0035Hế ể ữ ệ ớ ủ ớ
c a RAM ngoài.ủ
Truy xu t Port ấ
2.11 Vi t CT xu t 0FH ra Port 1.ế ấ
2.12 Vi t CT xu t F0H ra Port 2.ế ấ
2.13 Vi t CT xu t n i dung thanh ghi A ra Port 1.ế ấ ộ
2.14 Vi t CT nh p t Port 1 vào thanh ghi A.ế ậ ừ
2.15 Vi t CT nh p t Port 1 và xu t ra Port 2.ế ậ ừ ấ
2.16 Vi t CT xu t 1 (m c logic cao) ra chân P1.0ế ấ ứ
2.17 Vi t CT xu t 0 (m c logic th p) ra chân P1.1ế ấ ứ ấ
Truy xu t RAM n i, RAM ngoài và Port ấ ộ
2.18 Vi t CT chuy n d li u ô nh 40H (RAM n i) đ n ô nh 2000H (RAMế ể ữ ệ ớ ộ ế ớngoài) Làm theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánị ị ỉ ớ ự ế ị ị ỉ ớ
ti p).ế
2.19 Vi t CT chuy n d li u ô nh 2001H (RAM ngoài) vào ô nh 41H (RAMế ể ữ ệ ớ ớ
n i) Làm theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánộ ị ị ỉ ớ ự ế ị ị ỉ ớ
ti p).ế
2.20 Vi t CT nh p t Port 1 vào ô nh 42H (RAM n i) Làm theo 2 cách (đ nhế ậ ừ ớ ộ ị
đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ỉ ớ ự ế ị ị ỉ ớ ế
Trang 32.21 Vi t CT nh p t Port 1 vào ô nh 2002H (RAM ngoài).ế ậ ừ ớ
2.22 Vi t CT l y ô nh 43H (RAM n i) xu t ra Port 1 Làm theo 2 cách (đ nhế ấ ớ ộ ấ ị
2.26 Vi t CT xóa 250 ô nh RAM ngoài có đ a ch b t đ u là 4000H.ế ớ ị ỉ ắ ầ
2.27 Vi t CT xóa 2500 ô nh RAM ngoài có đ a ch b t đ u là 4000H.ế ớ ị ỉ ắ ầ
2.28 Vi t CT xóa toàn b RAM ngoài có dung lế ộ ượng 8KB, bi t r ng đ a chế ằ ị ỉ
2.33 Cho m t chu i d li u g m 20 byte liên ti p trong RAM n i, b t đ u tộ ỗ ữ ệ ồ ế ộ ắ ầ ừ
đ a ch 20H Hãy vi t CT l n lị ỉ ế ầ ượt xu t các d ki u này ra Port 1.ấ ữ ệ
2.34 Gi s Port 1 đả ử ược n i đ n m t thi t b phát d li u (ví d nh 8 nútố ế ộ ế ị ữ ệ ụ ư
nh n) Hãy vi t CT nh n liên ti p 10 byte d li u t thi t b phát này và ghiấ ế ậ ế ữ ệ ừ ế ịvào 10 ô nh (RAM n i) liên ti p b t đ u t ô nh 50H.ớ ộ ế ắ ầ ừ ớ
Trang 42.43 Vi t CT t o chu i xung vuông có f = 10 Hz t i chân P1.4 (Xtal 12 MHz).ế ạ ỗ ạ
2.44 Vi t CT t o chu i xung vuông có f = 10 Hz và có chu kỳ làm vi c D =ế ạ ỗ ệ25% t i chân P1.5 (Xtal 12 MHz).ạ
Các phép toán
2.45 Cho m t chu i s 8 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H Hãy vi t CT con c ng chu i s này và ghi k t qu vào ô nh 2FHớ ế ộ ỗ ố ế ả ớ(gi s k t qu nh h n ho c b ng 255).ả ử ế ả ỏ ơ ặ ằ
2.46 Cho m t chu i s 8 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H Hãy vi t CT con c ng chu i s này và ghi k t qu vào ô nhớ ế ộ ỗ ố ế ả ớ
2EH:2FH (ô nh 2EH ch a byte cao c a k t qu và ô nh 2FH ch a byte th pớ ứ ủ ế ả ớ ứ ấ
c a k t qu ).ủ ế ả
2.47 Cho m t chu i s 16 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H theo nguyên t c ô nh có đ a ch nh h n ch a byte cao và ô nh cóớ ắ ớ ị ỉ ỏ ơ ứ ớ
đ a ch l n h n ch a byte th p (Ví d : byte cao c a s 16 bit đ u tiên đị ỉ ớ ơ ứ ấ ụ ủ ố ầ ượ c
c t t i ô nh 30H và byte th p c a s 16 bit đ u tiên đấ ạ ớ ấ ủ ố ầ ượ ấ ạc c t t i ô nh 31H).ớHãy vi t CT con c ng chu i s này và c t k t qu vào ô nh 2EH:2FH.ế ộ ỗ ố ấ ế ả ớ
2.48 Vi t CT con l y bù 2 s 16 bit ch a trong R2:R3.ế ấ ố ứ
So sánh
2.49 Cho hai s 8 bit, s th 1 ch a trong (30H), s th 2 ch a trong (31H).ố ố ứ ứ ố ứ ứ
Vi t CT con so sánh hai s này N u s th 1 l n h n ho c b ng s th 2 thìế ố ế ố ứ ớ ơ ặ ằ ố ứset c F0, n u ngờ ế ượ ạc l i thì xóa c F0.ờ
Trang 52.50 Cho hai s 16 bit, s th 1 ch a trong (30H):(31H), s th 2 ch a trongố ố ứ ứ ố ứ ứ(32H):(33H) Vi t CT con so sánh hai s này N u s th 1 l n h n ho c b ngế ố ế ố ứ ớ ơ ặ ằ
s th 2 thì set c F0, n u ngố ứ ờ ế ượ ạc l i thì xóa c F0.ờ
2.51 Cho m t chu i ký t dộ ỗ ự ướ ại d ng mã ASCII trong RAM n i, dài 20 byte,ộ
b t đ u t đ a ch 50H Vi t CT xu t các ký t in hoa có trong chu i này raắ ầ ừ ị ỉ ế ấ ự ỗPort 1 Bi t r ng mã ASCII c a ký t in hoa là t 65 (ch A) đ n 90 (ch Z).ế ằ ủ ự ừ ữ ế ữ
2.52 Vi t CT nh p m t chu i ký t t Port 1 dế ậ ộ ỗ ự ừ ướ ại d ng mã ASCII và ghi vàoRAM ngoài, b t đ u t đ a ch 0000H Bi t r ng chu i này k t thúc b ng kýắ ầ ừ ị ỉ ế ằ ỗ ế ằ
t CR (có mã ASCII là 0DH) và ghi c ký t này vào RAM.ự ả ự
2.53 Vi t CT nh p m t chu i ký t t Port 1 dế ậ ộ ỗ ự ừ ướ ại d ng mã ASCII và ghi vàoRAM ngoài, b t đ u t đ a ch 0000H Bi t r ng chu i này k t thúc b ng kýắ ầ ừ ị ỉ ế ằ ỗ ế ằ
t CR (có mã ASCII là 0DH) và không ghi ký t này vào RAM.ự ự
2.54 Vi t CT nh p m t chu i ký t t Port 1 dế ậ ộ ỗ ự ừ ướ ại d ng mã ASCII và ghi vàoRAM ngoài, b t đ u t đ a ch 0000H Bi t r ng chu i này k t thúc b ng kýắ ầ ừ ị ỉ ế ằ ỗ ế ằ
t CR (có mã ASCII là 0DH) và không ghi ký t này vào RAM mà thay b ngự ự ằ
ký t null (có mã ASCII là 00H).ự
2.55 Cho m t chu i ký t dộ ỗ ự ướ ại d ng mã ASCII trong RAM n i, dài 20 byte,ộ
b t đ u t đ a ch 50H Vi t CT đ i các ký t in hoa có trong chu i này thànhắ ầ ừ ị ỉ ế ổ ự ỗ
ký t thự ường Bi t r ng mã ASCII c a ký t thế ằ ủ ự ường b ng mã ASCII c a kýằ ủ
ra Port 1 n u là s dế ố ương (xem s 0 là dố ương) và xu t ra Port 2 n u là s âm.ấ ế ố
2.58 Cho m t chu i d li u dộ ỗ ữ ệ ướ ại d ng s có d u trong RAM ngoài, b t đ uố ấ ắ ầ
t đ a ch 0100H và k t thúc b ng s 0 Vi t CT l n lừ ị ỉ ế ằ ố ế ầ ượt xu t các d li uấ ữ ệ trong chu i ra Port 1 n u là s dỗ ế ố ương và xu t ra Port 2 n u là s âm.ấ ế ố
2.59 Cho m t chu i d li u dộ ỗ ữ ệ ướ ại d ng s không d u trong RAM ngoài, b tố ấ ắ
đ u t đ a ch 0100H và đ dài chu i là n i dung ô nh 00FFH Vi t CT đ mầ ừ ị ỉ ộ ỗ ộ ớ ế ế
s s ch n (chia h t cho 2) có trong chu i và c t vào ô nh 00FEH.ố ố ẵ ế ỗ ấ ớ
2.60 Cho m t chu i d li u dộ ỗ ữ ệ ướ ại d ng s không d u trong RAM ngoài, b tố ấ ắ
đ u t đ a ch 0100H và đ dài chu i là n i dung ô nh 00FFH Vi t CT ghiầ ừ ị ỉ ộ ỗ ộ ớ ếcác s ch n (xem s 0 là s ch n) có trong chu i vào RAM n i b t đ u t đ aố ẵ ố ố ẵ ỗ ộ ắ ầ ừ ị
ch 30H cho đ n khi g p s l thì d ng.ỉ ế ặ ố ẻ ừ
2.61 Vi t CT con có nhi m v l y 1 byte t 1 chu i data g m 20 byte c tế ệ ụ ấ ừ ỗ ồ ấ trong Ram ngoài b t đ u t đ a ch 2000H và xu t ra Port1 M i l n g i CTắ ầ ừ ị ỉ ấ ỗ ầ ọ
Trang 6con ch xu t 1 byte, l n g i k thì xu t byte k ti p, l n g i th 21 thì l iỉ ấ ầ ọ ế ấ ế ế ầ ọ ứ ạ
3.7 Vi t CT dùng Timer t o sóng vuông f=500Hz t i P1.4 (Xtal 12MHz).ế ạ ạ
3.8 Vi t CT dùng Timer t o sóng vuông f=20KHz t i P1.5 (Xtal 24MHz).ế ạ ạ
Thờ
i gian
Xanh 1
Đ 2ỏ P1.5
Trang 7Đèn sáng khi bit đi u khi n b ng 0.ề ể ằ
4 SERIAL PORT
4.1 Vi t CT đ c 1 chu i data ch a trong RAM n i t đ a ch 30H đ n 50H vàế ọ ỗ ứ ộ ừ ị ỉ ế
xu t ra 1 thi t b (ví d nh màn hình tinh th l ng LCD) đấ ế ị ụ ư ể ỏ ược n i v i portố ớ
n i ti p c a 8051 (ch đ UART 8 bit, 2400 baud) Cho Xtal 11,059 MHz.ố ế ủ ế ộ
4.2 Vi t CT nh n 1 chu i data t 1 thi t b ngoài (ví d nh máy đ c mãế ậ ỗ ừ ế ị ụ ư ọ
v ch) n i v i 8051 qua port n i ti p (ch đ UART 8 bit, 4800 baud) và ghiạ ố ớ ố ế ế ộdata vào RAM n i t đ a ch 40H Bi t r ng chu i data g m 20 byte và Xtalộ ừ ị ỉ ế ằ ỗ ồ11,059MHz
4.3 Vi t CT l y 1 chu i data ch a trong RAM ngoài b t đ u t đ a ch 2000Hế ấ ỗ ứ ắ ầ ừ ị ỉ
và xu t ra 1 thi t b đấ ế ị ược n i v i port n i ti p c a 8051 (ch đ UART 8 bit,ố ớ ố ế ủ ế ộ
1200 baud) Chu i k t thúc b i ký t EOT (có mã ASCII là 04H) và ký t nàyỗ ế ở ự ựcũng được xu t ra (Xtal 11,059 MHz).ấ
4.4 Làm l i bài 4.3 nh ng không xu t ký t EOT.ạ ư ấ ự
4.5 Vi t CT nh n 1 chu i data t 1 thi t b ngoài n i v i 8051 qua port n iế ậ ỗ ừ ế ị ố ớ ố
ti p (ch đ UART 8 bit, 9600 baud) và ghi data vào RAM ngoài b t đ u tế ế ộ ắ ầ ừ
đ a ch 4000H Chu i data b t đ u b ng ký t STX (02H) và k t thúc b ng kýị ỉ ỗ ắ ầ ằ ự ế ằ
t ETX (03H) Không ghi 2 ký t này vào RAM Cho Xtal 11,059MHz.ự ự
4.6 Vi t CT con mang tên XUAT có nhi m v l y 1 chu i data ch a trongế ệ ụ ấ ỗ ứRAM ngoài xu t ra port n i ti p ch đ UART 9 bit Bit th 9 là bit parityấ ố ế ở ế ộ ứ
ch n Chu i data k t thúc b ng ký t null (00H) CT g i CT con XUAT s đ tẵ ỗ ế ằ ự ọ ẽ ặ
đ a ch b t đ u c a chu i vào DPTR trị ỉ ắ ầ ủ ỗ ước khi g i CT con XUAT Gi s portọ ả ử
n i ti p đã đố ế ược kh i đ ng.ở ộ
4.7 Vi t CT con mang tên NHAP có nhi m v nh p 1 chu i data g m 30 byteế ệ ụ ậ ỗ ồ
t port n i ti p ch đ UART 9 bit, bit th 9 là bit parity l N u data nh nừ ố ế ở ế ộ ứ ẻ ế ậ
được không b l i thì ghi vào 1 vùng nh c a RAM n i, n u b l i thì khôngị ỗ ớ ủ ộ ế ị ỗghi CT g i CT con NHAP s đ t đ a ch đ u c a vùng nh vào thanh ghi R0ọ ẽ ặ ị ỉ ầ ủ ớ
trước khi g i CT con NHAP Gi s port n i ti p đã đọ ả ử ố ế ược kh i đ ng.ở ộ
Trang 85.4 Vi t CT l y 1 chu i data ch a trong Ram ngoài b t đ u t đ a ch 6200Hế ấ ỗ ứ ắ ầ ừ ị ỉ
đ n đ a ch 62FFH và xu t ra Port1, m i l n xu t cách nhau 50ms S d ngế ị ỉ ấ ỗ ầ ấ ử ụ
ng t Timer Xtal 12MHz.ắ
5.5 Vi t CT nh p data t thi t b ngoài k t n i v i 8051 qua Port1, m i l nế ậ ừ ế ị ế ố ớ ỗ ầ
nh p cách nhau 5s, data nh p v đậ ậ ề ược ghi vào vùng Ram n i b t đ u t đ aộ ắ ầ ừ ị
ch 50H đ n đ a ch 5FH Bi t r ng sau khi ghi vào ô nh cu i cùng thì tr l iỉ ế ị ỉ ế ằ ớ ố ở ạ ghi vào ô nh đ u S d ng ng t Timer Xtal 12MHz.ớ ầ ử ụ ắ
5.6 Vi t CT phát liên t c chu i s t 0 đ n 9 ra port n i ti p theo ch đế ụ ỗ ố ừ ế ố ế ế ộ UART 8 bit, 2400 baud S d ng ng t serial Xtal 12MHz.ử ụ ắ
5.7 Vi t CT ch nh n data t 1 thi t b ngoài g i đ n 8051 qua port n i ti pế ờ ậ ừ ế ị ở ế ố ế (ch đ UART 8 bit, 19200 baud) N u nh n đế ộ ế ậ ược ký t STX (02H) thì b tự ậ sáng LED, n u nh n đế ậ ược ký t ETX (03H) thì t t LED, bi t r ng LED đự ắ ế ằ ượ c
đi u khi n b ng ngõ P1.3 (LED sáng khi bit đi u khi n b ng 1) S d ngề ể ằ ề ể ằ ử ụ
ng t serial Xtal 11,059MHz.ắ
5.8 Vi t CT ch nh n 1 xung c nh xu ng đ a vào chân /INT0 (P3.2), khi cóế ờ ậ ạ ố ưxung thì nh p data t Port1 và phát ra port n i ti p ch đ UART 9 bit 4800ậ ừ ố ế ở ế ộbaud, bit th 9 là bit parity l Xtal 6MHz.ứ ẻ
5.9 Vi t CT đ m s xung đ a vào chân /INT1 (P3.3) và đi u khi n relay thôngế ế ố ư ề ểqua chân P3.0 (relay đóng khi P3.0 b ng 1), c t s đ m vào ô nh 40H c aằ ấ ố ế ớ ủ Ram n i, n u s đ m ch a đ n 100 thì đóng relay, n u s đ m đ t 100 thìộ ế ố ế ư ế ế ố ế ạ
Trang 10Truy xu t RAM ngoàiấ
2.6 Vi t CT ghi 40H vào ô nh 0030H c a RAM ngoài.ế ớ ủ
ORG 0000H
MOV A,#40H
Trang 12Truy xu t RAM n i, RAM ngoài và Port ấ ộ
2.18 Vi t CT chuy n d li u ô nh 40H (RAM n i) đ n ô nh 2000H (RAMế ể ữ ệ ớ ộ ế ớngoài) Làm theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánị ị ỉ ớ ự ế ị ị ỉ ớ
2.19 Vi t CT chuy n d li u ô nh 2001H (RAM ngoài) vào ô nh 41H (RAMế ể ữ ệ ớ ớ
n i) Làm theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánộ ị ị ỉ ớ ự ế ị ị ỉ ớ
Trang 152.33 Cho m t chu i d li u g m 20 byte liên ti p trong RAM n i, b t đ u tộ ỗ ữ ệ ồ ế ộ ắ ầ ừ
đ a ch 20H Hãy vi t CT l n lị ỉ ế ầ ượt xu t các d ki u này ra Port 1.ấ ữ ệ
2.34 Gi s Port 1 đả ử ược n i đ n m t thi t b phát d li u (ví d nh 8 nútố ế ộ ế ị ữ ệ ụ ư
nh n) Hãy vi t CT nh n liên ti p 10 byte d li u t thi t b phát này và ghiấ ế ậ ế ữ ệ ừ ế ịvào 10 ô nh (RAM n i) liên ti p b t đ u t ô nh 50H.ớ ộ ế ắ ầ ừ ớ
Trang 16SJMP ketthuc (la lenh nhay ngan, dieu khien chuong trinh re nhanh
delay1ms: den dia chi duoc tro den)
Trang 18END
2.43 Vi t CT t o chu i xung vuông có f = 10 Hz t i chân P1.4 (Xtal 12 MHz).ế ạ ỗ ạ2.44 Vi t CT t o chu i xung vuông có f = 10 Hz và có chu kỳ làm vi c D =ế ạ ỗ ệ25% t i chân P1.5 (Xtal 12 MHz).ạ
Các phép toán
2.45 Cho m t chu i s 8 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H Hãy vi t CT con c ng chu i s này và ghi k t qu vào ô nh 2FHớ ế ộ ỗ ố ế ả ớ(gi s k t qu nh h n ho c b ng 255).ả ử ế ả ỏ ơ ặ ằ
2.46 Cho m t chu i s 8 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H Hãy vi t CT con c ng chu i s này và ghi k t qu vào ô nhớ ế ộ ỗ ố ế ả ớ
2EH:2FH (ô nh 2EH ch a byte cao c a k t qu và ô nh 2FH ch a byte th pớ ứ ủ ế ả ớ ứ ấ
lap: ADD A,@R0
JNC boqua ; (nhay neu co carry flag nho khong duoc set bang 1)
2.47 Cho m t chu i s 16 bit không d u trong RAM n i g m 10 s b t đ u tộ ỗ ố ấ ộ ồ ố ắ ầ ừ
ô nh 30H theo nguyên t c ô nh có đ a ch nh h n ch a byte cao và ô nh cóớ ắ ớ ị ỉ ỏ ơ ứ ớ
đ a ch l n h n ch a byte th p (Ví d : byte cao c a s 16 bit đ u tiên đị ỉ ớ ơ ứ ấ ụ ủ ố ầ ượ c
c t t i ô nh 30H và byte th p c a s 16 bit đ u tiên đấ ạ ớ ấ ủ ố ầ ượ ấ ạc c t t i ô nh 31H).ớHãy vi t CT con c ng chu i s này và c t k t qu vào ô nh 2EH:2FH.ế ộ ỗ ố ấ ế ả ớ
2.48 Vi t CT con l y bù 2 s 16 bit ch a trong R2:R3.ế ấ ố ứ
Trang 19So sánh
2.49 Cho hai s 8 bit, s th 1 ch a trong (30H), s th 2 ch a trong (31H).ố ố ứ ứ ố ứ ứ
Vi t CT con so sánh hai s này N u s th 1 l n h n ho c b ng s th 2 thìế ố ế ố ứ ớ ơ ặ ằ ố ứset c F0, n u ngờ ế ượ ạc l i thì xóa c F0.ờ
ORG 0000H
MOV A,30H
CJNE A,31H,ke hoac CJNE A,31H,$+3
ke: JNC lonhoacbang JNC lonhoacbang
s th 2 thì set c F0, n u ngố ứ ờ ế ượ ạc l i thì xóa c F0.ờ
2.51 Cho m t chu i ký t dộ ỗ ự ướ ại d ng mã ASCII trong RAM n i, dài 20 byte,ộ
b t đ u t đ a ch 50H Vi t CT xu t các ký t in hoa có trong chu i này raắ ầ ừ ị ỉ ế ấ ự ỗPort 1 Bi t r ng mã ASCII c a ký t in hoa là t 65 (ch A) đ n 90 (ch Z).ế ằ ủ ự ừ ữ ế ữORG 0000H
MOV R0,#50H
MOV R3,#20
lap: MOV A,@R0
CJNE A,#65,ke hoac CJNE A,#65,$+3
ke: JC boqua JC boqua
CJNE A,#91,ke2 CJNE A,#91,$+3
ke2: JNC boqua JNC boqua
Trang 20RAM ngoài, b t đ u t đ a ch 0000H Bi t r ng chu i này k t thúc b ng kýắ ầ ừ ị ỉ ế ằ ỗ ế ằ
t CR (có mã ASCII là 0DH) và không ghi ký t này vào RAM.ự ự
2.55 Cho m t chu i ký t dộ ỗ ự ướ ại d ng mã ASCII trong RAM n i, dài 20 byte,ộ
b t đ u t đ a ch 50H Vi t CT đ i các ký t in hoa có trong chu i này thànhắ ầ ừ ị ỉ ế ổ ự ỗ
ký t thự ường Bi t r ng mã ASCII c a ký t thế ằ ủ ự ường b ng mã ASCII c a kýằ ủ
ORG 0000H
Trang 212.59 Cho m t chu i d li u dộ ỗ ữ ệ ướ ại d ng s không d u trong RAM ngoài, b tố ấ ắ
đ u t đ a ch 0100H và đ dài chu i là n i dung ô nh 00FFH Vi t CT đ mầ ừ ị ỉ ộ ỗ ộ ớ ế ế
s s ch n (chia h t cho 2) có trong chu i và c t vào ô nh 00FEH.ố ố ẵ ế ỗ ấ ớ
HD: S ch n có LSB=0ố ẵ
2.60 Cho m t chu i d li u dộ ỗ ữ ệ ướ ại d ng s không d u trong RAM ngoài, b tố ấ ắ
đ u t đ a ch 0100H và đ dài chu i là n i dung ô nh 00FFH Vi t CT ghiầ ừ ị ỉ ộ ỗ ộ ớ ếcác s ch n (xem s 0 là s ch n) có trong chu i vào RAM n i b t đ u t đ aố ẵ ố ố ẵ ỗ ộ ắ ầ ừ ị
ch 30H cho đ n khi g p s l thì d ng.ỉ ế ặ ố ẻ ừ
2.61 Vi t CT con có nhi m v l y 1 byte t 1 chu i data g m 20 byte c tế ệ ụ ấ ừ ỗ ồ ấ trong Ram ngoài b t đ u t đ a ch 2000H và xu t ra Port1 M i l n g i CTắ ầ ừ ị ỉ ấ ỗ ầ ọcon ch xu t 1 byte, l n g i k thì xu t byte k ti p, l n g i th 21 thì l iỉ ấ ầ ọ ế ấ ế ế ầ ọ ứ ạ
Trang 22Bi t r ng sóng vuông t i P1.7 ch m pha h n sóng vuông t i P1.6 100(s (Xtalế ằ ạ ậ ơ ạ12MHz).
3.10 Vi t CT dùng Timer đi u khi n đèn giao thông t i m t giao l Cho bi tế ề ể ạ ộ ộ ế
4.1 Vi t CT đ c 1 chu i data ch a trong RAM n i t đ a ch 30H đ n 50H vàế ọ ỗ ứ ộ ừ ị ỉ ế
xu t ra 1 thi t b (ví d nh màn hình tinh th l ng LCD) đấ ế ị ụ ư ể ỏ ược n i v i portố ớ
n i ti p c a 8051 (ch đ UART 8 bit, 2400 baud) Cho Xtal 11,059 MHz.ố ế ủ ế ộORG 0000H