1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

bài tập vi xử lý họ vi điều khiển 8051 - lê chí công

24 639 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 153,86 KB

Nội dung

Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông BÀI T P VI X LÝ (H VI ĐI U KHI N 8051)Ậ Ử Ọ Ề Ể 1. C U TRÚC PH N C NG - GI I MÃ Đ A CHẤ Ầ Ứ Ả Ị Ỉ 1.1 S d ng 1 vi m ch 74138 và các c ng c n thi t đ thi t k m ch gi i mãử ụ ạ ổ ầ ế ể ế ế ạ ả đ a ch t o ra các tín hi u ch n chip t ng ng các vùng đ a ch sau:ị ỉ ạ ệ ọ ươ ứ ị ỉ Tín hi uệ ch n chipọ Vùng đ aị chỉ Đ c tính truyặ xu tấ 0CS 0000H - 3FFFH PSEN 1CS 4000H - 7FFFH PSEN 2CS 6000H - 7FFFH WR,RD 3CS 8000H - 87FFH RD 4CS 8800H - 8FFFH WR 1.2 S d ng 1 vi m ch 74138 và các c ng c n thi t đ thi t k m ch gi i mãử ụ ạ ổ ầ ế ể ế ế ạ ả đ a ch t o ra các tín hi u ch n chip t ng ng các vùng đ a ch sau:ị ỉ ạ ệ ọ ươ ứ ị ỉ Tín hi uệ ch n chipọ Vùng đ aị chỉ Đ c tính truyặ xu tấ 0CS 9800H - 9BFFH PSEN 1CS 9800H - 9BFFH WR,RD 2CS 9C00H - 9DFFH WR,RD 3CS 9E00H - 9EFFH WR,RD 1.3 Ch dùng m t vi m ch 74138 (không dùng thêm c ng), thi t k m ch gi iỉ ộ ạ ổ ế ế ạ ả mã đ a ch t o ra m t tín hi u ch n chip /CS t ng ng t m đ a ch F000H-ị ỉ ạ ộ ệ ọ ươ ứ ầ ị ỉ F3FFH. 2. S D NG T P L NHỬ Ụ Ậ Ệ Truy xu t RAM n iấ ộ Trang 1/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 2.1 Vi t CT ghi 40H vào ô nh 30H c a RAM n i theo 2 cách (đ nh đ a ch ôế ớ ủ ộ ị ị ỉ nh tr c ti p và đ nh đ a ch ô nh gián ti p).ớ ự ế ị ị ỉ ớ ế 2.2 Vi t CT xóa ô nh 31H c a RAM n i theo 2 cách (đ nh đ a ch ô nh tr cế ớ ủ ộ ị ị ỉ ớ ự ti p và đ nh đ a ch ô nh gián ti p).ế ị ị ỉ ớ ế 2.3 Vi t CT ghi n i dung thanh ghi A vào ô nh 32H c a RAM n i theo 2 cáchế ộ ớ ủ ộ (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ị ỉ ớ ự ế ị ị ỉ ớ ế 2.4 Vi t CT đ c ô nh 33H c a RAM n i vào thanh ghi A theo 2 cách (đ nhế ọ ớ ủ ộ ị đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ỉ ớ ự ế ị ị ỉ ớ ế 2.5 Vi t CT chuy n d li u ô nh 34H c a RAM n i vào ô nh 35H c aế ể ữ ệ ớ ủ ộ ớ ủ RAM n i theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánộ ị ị ỉ ớ ự ế ị ị ỉ ớ ti p).ế 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 2/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 2.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ế ấ ớ ộ ấ ị đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ỉ ớ ự ế ị ị ỉ ớ ế 2.23 Vi t CT l y ô nh 2003H (RAM ngoài) xu t ra Port 1.ế ấ ớ ấ S d ng vòng l pử ụ ặ 2.24 Vi t CT xóa 20 ô nh RAM n i có đ a ch b t đ u là 30H.ế ớ ộ ị ỉ ắ ầ 2.25 Vi t CT xóa các ô nh RAM n i t đ a ch 20H đ n 7FH.ế ớ ộ ừ ị ỉ ế 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ế ộ ượ ế ằ ị ỉ đ u là 2000H.ầ 2.29 Vi t CT chuy n m t chu i d li u g m 10 byte trong RAM n i có đ aế ể ộ ỗ ữ ệ ồ ộ ị ch đ u là 30H đ n vùng RAM n i có đ a ch đ u là 40H.ỉ ầ ế ộ ị ỉ ầ 2.30 Vi t CT chuy n m t chu i d li u g m 100 byte trong RAM ngoài có đ aế ể ộ ỗ ữ ệ ồ ị ch đ u là 2000H đ n vùng RAM ngoài có đ a ch đ u là 4000H.ỉ ầ ế ị ỉ ầ 2.31 Vi t CT chuy n m t chu i d li u g m 10 byte trong RAM n i có đ aế ể ộ ỗ ữ ệ ồ ộ ị ch đ u là 30H đ n vùng RAM ngoài có đ a ch đ u là 4000H.ỉ ầ ế ị ỉ ầ 2.32 Vi t CT chuy n m t chu i d li u g m 10 byte trong RAM ngoài có đ aế ể ộ ỗ ữ ệ ồ ị ch đ u là 5F00H đ n vùng RAM n i có đ a ch đ u là 40H.ỉ ầ ế ộ ị ỉ ầ 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.ớ ộ ế ắ ầ ừ ớ T o tr (delay)ạ ễ 2.35 Vi t CT con delay 100μs, bi t r ng th ch anh (xtal) dùng trong h th ngế ế ằ ạ ệ ố là: a. 12 MHz b. 6 MHz 2.36 Vi t CT con delay 100ms, bi t r ng th ch anh (xtal) dùng trong h th ngế ế ằ ạ ệ ố là: a. 12 MHz b. 11,0592 MHz 2.37 Vi t CT con delay 1s, bi t r ng th ch anh (xtal) dùng trong h th ng là:ế ế ằ ạ ệ ố Trang 3/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông a. 12 MHz b. 24 MHz T o xungạ 2.38 Vi t CT t o m t xung d ng (ế ạ ộ ươ ) t i chân P1.0 v i đ r ng xungạ ớ ộ ộ 1ms, bi t r ng xtal là 12 MHz.ế ằ 2.39 Vi t CT t o chu i xung vuông có f = 100 KHz t i chân P1.1 (Xtal 12ế ạ ỗ ạ MHz). 2.40 Vi t CT t o chu i xung vuông có f = 100 KHz và có chu kỳ làm vi c D =ế ạ ỗ ệ 40% t i chân P1.2 (Xtal 12 MHz).ạ 2.41 Vi t CT t o chu i xung vuông có f = 10 KHz t i chân P1.3 (Xtal 24ế ạ ỗ ạ MHz). 2.42 Vi t CT t o chu i xung vuông có f = 10 KHz và có chu kỳ làm vi c D =ế ạ ỗ ệ 30% t i chân P1.3 (Xtal 24 MHz).ạ 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ớ ứ ủ ế ả ớ ứ ấ 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 4/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 2.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àoế ậ ộ ỗ ự ừ ướ ạ RAM 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àoế ậ ộ ỗ ự ừ ướ ạ RAM 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àoế ậ ộ ỗ ự ừ ướ ạ RAM 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ýự ườ ế ằ ủ ự ườ ằ ủ t in hoa c ng thêm 32.ự ộ 2.56 Cho m t chu i ký t s 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 s này thành mã BCD.ắ ầ ừ ị ỉ ế ổ ự ố Bi t r ng mã ASCII c a các ký t s là t 30H (s 0) đ n 39H (s 9).ế ằ ủ ự ố ừ ố ế ố S d ng l nh nh y có đi u ki nử ụ ệ ả ề ệ 2.57 Cho m t chu i d li u d i d ng s có d u trong RAM ngoài, dài 100ộ ỗ ữ ệ ướ ạ ố ấ byte, b t đ u t đ a ch 0100H. 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 (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 5/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 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ỉ ấ ầ ọ ế ấ ế ế ầ ọ ứ ạ xu t byte đ u, ấ ầ 3. TIMER 3.1 Vi t CT con mang tên DELAY500 có nhi m v t o tr 0,5ms dùng Timer.ế ệ ụ ạ ễ (Xtal 6MHz). 3.2 Vi t CT con mang tên DELAY10 có nhi m v t o tr 10ms dùng Timer.ế ệ ụ ạ ễ (Xtal 12MHz). 3.3 Dùng CT con DELAY500 (bài 3.1) đ vi t CT t o sóng vuông f=1KHz t iể ế ạ ạ P1.0. 3.4 Dùng CT con DELAY10 (bài 3.2) đ vi t CT t o sóng vuông f=50Hz t iể ế ạ ạ P1.1. 3.5 Dùng CT con DELAY500 (bài 3.1) đ vi t CT t o sóng vuông f=500Hzể ế ạ (D=25%) t i P1.2.ạ 3.6 Dùng CT con DELAY10 (bài 3.2) đ vi t CT t o sóng vuông f=20Hzể ế ạ (D=20%) t i P1.3.ạ 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).ế ạ ạ 3.9 Vi t CT dùng Timer t o 2 sóng vuông có cùng f= 1KHz t i P1.6 và P1.7.ế ạ ạ Bi 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ế ề ể ạ ộ ộ ế r ng:ằ Đèn Bit đi uề khi nể Thờ i gian Xanh 1 P1.0 25s Vàng 1 P1.1 3s Đ 1ỏ P1.2 Xanh 2 P1.3 33s Vàng 2 P1.4 3s Đ 2ỏ P1.5 Trang 6/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông Đè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.ướ ọ ả ử ố ế ượ ở ộ 5. INTERRUPT 5.1 Vi t CT dùng ng t Timer đ t o sóng vuông f=2KHz t i P1.7. (Xtalế ắ ể ạ ạ 12MHz). 5.2 Vi t CT dùng ng t Timer đ t o sóng vuông f=200Hz t i P1.6. (Xtalế ắ ể ạ ạ 12MHz). 5.3 Vi t CT dùng ng t Timer đ t o đ ng th i 2 sóng vuông 1KHz và 50Hzế ắ ể ạ ồ ờ t i P1.0 và P1.1. (Xtal 6MHz)ạ Trang 7/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 5.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ìộ ế ố ế ư ế ế ố ế ạ ng t relay.ắ ĐÁP ÁN VI X LÝ (H VI ĐI U KHI N 8051)Ử Ọ Ề Ể 1. C U TRÚC PH N C NG - GI I MÃ Đ A CHẤ Ầ Ứ Ả Ị Ỉ 1.1 S d ng 1 vi m ch 74138 và các c ng c n thi t đ thi t k m ch gi i mãử ụ ạ ổ ầ ế ể ế ế ạ ả đ a ch t o ra các tín hi u ch n chip t ng ng các vùng đ a ch sau:ị ỉ ạ ệ ọ ươ ứ ị ỉ Tín hi u ch n chip Vùng đ a ch Đ c tính truy xu tệ ọ ị ỉ ặ ấ 0000H - 3FFFH 4000H - 7FFFH 6000H - 7FFFH 8000H - 87FFH Trang 8/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 8800H - 8FFFH 1.2 S d ng 1 vi m ch 74138 và các c ng c n thi t đ thi t k m ch gi i mãử ụ ạ ổ ầ ế ể ế ế ạ ả đ a ch t o ra các tín hi u ch n chip t ng ng các vùng đ a ch sau:ị ỉ ạ ệ ọ ươ ứ ị ỉ Tín hi u ch n chip Vùng đ a ch Đ c tính truy xu tệ ọ ị ỉ ặ ấ 9800H - 9BFFH 9800H - 9BFFH 9C00H - 9DFFH 9E00H - 9EFFH 1.3 Ch dùng m t vi m ch 74138 (không dùng thêm c ng), thi t k m ch gi iỉ ộ ạ ổ ế ế ạ ả mã đ a ch t o ra m t tín hi u ch n chip /CS t ng ng t m đ a ch F000H-ị ỉ ạ ộ ệ ọ ươ ứ ầ ị ỉ F3FFH. 2. S D NG T P L NHỬ Ụ Ậ Ệ Truy xu t RAM n iấ ộ 2.1 Vi t CT ghi 40H vào ô nh 30H c a RAM n i theo 2 cách (đ nh đ a ch ôế ớ ủ ộ ị ị ỉ nh tr c ti p và đ nh đ a ch ô nh gián ti p).ớ ự ế ị ị ỉ ớ ế Cách 1: Đ nh đ a ch tr c ti pị ị ỉ ự ế ORG 0000H MOV 30H,#40H END Cách 2: Đ nh đ a ch gián ti pị ị ỉ ế ORG 0000H MOV R0,#30H MOV @R0,#40H END 2.2 Vi t CT xóa ô nh 31H c a RAM n i theo 2 cách (đ nh đ a ch ô nh tr cế ớ ủ ộ ị ị ỉ ớ ự ti p và đ nh đ a ch ô nh gián ti p).ế ị ị ỉ ớ ế HD: Xóa là ghi giá tr 0.ị ORG 0000H MOV 31H,#OOOOH END. C2 ORG Trang 9/24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông MOV R0,#31H MOV @R0,#0000H END. 2.3 Vi t CT ghi n i dung thanh ghi A vào ô nh 32H c a RAM n i theo 2 cáchế ộ ớ ủ ộ (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ị ỉ ớ ự ế ị ị ỉ ớ ế CÁCH 1: ORG 0000H MOV 32H,A END CÁCH 2: ORG 0000H MOV R0,#32H MOV @R0,A END 2.4 Vi t CT đ c ô nh 33H c a RAM n i vào thanh ghi A theo 2 cách (đ nhế ọ ớ ủ ộ ị đ a ch ô nh tr c ti p và đ nh đ a ch ô nh gián ti p).ị ỉ ớ ự ế ị ị ỉ ớ ế CÁCH 1: ORG 0000H MOV A,33H END CÁCH 2: ORG 0000H MOV R0,#33H MOV A,@R0 END 2.5 Vi t CT chuy n d li u ô nh 34H c a RAM n i vào ô nh 35H c aế ể ữ ệ ớ ủ ộ ớ ủ RAM n i theo 2 cách (đ nh đ a ch ô nh tr c ti p và đ nh đ a ch ô nh giánộ ị ị ỉ ớ ự ế ị ị ỉ ớ ti p).ế CÁCH 1: ORG 0000H MOV 35H,34H END CÁCH 2: ORG 0000H MOV R0,#34H MOV A,@R0 INC R0 MOV @R0,A END Truy 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 10/24 [...]... TMOD,#00000010B … delay500: MOV TL0, #-2 50 SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET 3.2 Vi t CT con mang tên DELAY10 có nhiệm vụ tạo trễ 10ms dùng Timer (Xtal 12MHz) … MOV TMOD,#00000001B … delay10: MOV TH0,#HIGH (-1 0000) MOV TL0,#LOW (-1 0000) SETB TR0 Trang 21/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông JNB TF0,$ CLR TR0 CLR TF0 RET 3.3 Dùng CT con DELAY500 (bài 3.1) để vi t CT tạo sóng vuông f=1KHz... Dùng CT con DELAY10 (bài 3.2) để vi t CT tạo sóng vuông f=50Hz tại P1.1 3.5 Dùng CT con DELAY500 (bài 3.1) để vi t CT tạo sóng vuông f=500Hz (D=25%) tại P1.2 3.6 Dùng CT con DELAY10 (bài 3.2) để vi t CT tạo sóng vuông f=20Hz (D=20%) tại P1.3 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) 3.9 Vi t CT dùng Timer tạo... 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 rằng: Đèn Bit điều khiển Thời gian Xanh 1 P1.0 25s Vàng 1 P1.1 3s Đỏ 1 P1.2 Xanh 2 P1.3 33s Vàng 2 P1.4 3s Đỏ 2 P1.5 Đè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. .. 2.42 Vi t CT tạo chuỗi xung vuông có f = 10 KHz và có chu kỳ làm vi c D = 30% tại chân P1.3 (Xtal 24 MHz) ORG 0000H lap: SETB P1.3 ACALL delay30 CLR P1.3 ACALL delay70 SJMP lap delay30: MOV R4,#15 DJNZ R4,$ RET delay70: MOV R4,#35 DJNZ R4,$ Trang 17/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông RET END 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... ketthuc: NOP END 2.39 Vi t CT tạo chuỗi xung vuông có f = 100 KHz tại chân P1.1 (Xtal 12 MHz) ORG 0000H lap: CPL P1.1 Trang 16/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông NOP NOP SJMP lap END 2.40 Vi t CT tạo chuỗi xung vuông có f = 100 KHz và có chu kỳ làm vi c D = 40% tại chân P1.2 (Xtal 12 MHz) ORG 0000H lap: SETB P1.2 NOP NOP NOP CLR P1.2 NOP NOP NOP SJMP lap END 2.41 Vi t CT tạo chuỗi... 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 18/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông 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ứ... DPTR Trang 13/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông DJNZ R7,lap1 END 2.27 Vi t CT xóa 2500 ô nhớ RAM ngoài có địa chỉ bắt đầu là 4000H ORG 0000H MOV DPTR,#4000H CLR A MOV R6,#10 lap2: MOV R7,#250 lap1: MOVX @DPTR,A INC DPTR DJNZ R7,lap1 DJNZ R6,lap2 END 2.28 Vi t CT xóa toàn bộ RAM ngoài có dung lượng 8KB, biết rằng địa chỉ đầu là 2000H HD: 8KB = 8192Byte 2.29 Vi t CT chuyển một...Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông MOV DPTR,#0030H MOVX @DPTR,A END 2.7 Vi t CT xóa ô nhớ 0031H của RAM ngoài ORG 0000H MOV A,#0000H MOV DPTR,#0031H MOVX @DPTR,A END HD: Ghi giá trị 0 2.8 Vi t CT đọc ô nhớ 0032H của RAM ngoài vào thanh ghi A ORG 0000H MOV DPTR,#0032H MOVX A,@DPTR END 2.8 Vi t CT ghi nội dung thanh ghi A vào ô nhớ 0033H... Vi t CT nhập từ Port 1 và xuất ra Port 2 0FH Trang 11/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông ORG 0000H MOV 0FH,P1 MOV P2,#0FH END 2.16 Vi t CT xuất 1 (mức logic cao) ra chân P1.0 ORG 0000H SETB P1.0 END 2.17 Vi t CT xuất 0 (mức logic thấp) ra chân P1.1 ORG 0000H CLR P1.1 END 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... Xtal 11,059 MHz ORG 0000H MOV TMOD,#00100000B MOV SCON,#01010010B MOV TH1, #-1 2 SETB TR1 MOV R0,#30H lap: MOV A,@R0 JNB TI,$ CLR TI MOV SBUF,A INC R0 CJNE R0,#51H,lap Trang 22/24 Đại Học Bách Khoa TP.HCM – Khoa Điện-Điện Tử Lê Chí Thông END 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 . ọ ị ỉ ặ ấ 0000H - 3FFFH 4000H - 7FFFH 6000H - 7FFFH 8000H - 87FFH Trang 8 /24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông 8800H - 8FFFH 1.2 S d ng 1 vi m ch 74138 và. Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông BÀI T P VI X LÝ (H VI ĐI U KHI N 8051) Ậ Ử Ọ Ề Ể 1. C U TRÚC PH N C NG - GI I MÃ Đ A CHẤ Ầ Ứ Ả Ị Ỉ 1.1 S d ng 1 vi m ch 74138 và các c ng. MHz 2.37 Vi t CT con delay 1s, bi t r ng th ch anh (xtal) dùng trong h th ng là:ế ế ằ ạ ệ ố Trang 3 /24 Đ i H c Bách Khoa TP.HCM – Khoa Đi n-Đi n Tạ ọ ệ ệ ử Lê Chí Thông a. 12 MHz b. 24 MHz T

Ngày đăng: 18/11/2014, 22:16

TỪ KHÓA LIÊN QUAN

w