Tài liệu môn học vi xử lí

33 260 0
Tài liệu môn học 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

Với các bạn đã từng và đang học môn này thì biết chắc nó khó thế nào, về cả nội dung môn học và phương pháp thi. Và đây có lẽ cũng là môn đầu tiên các bạn thi bằng hình thức vấn đáp. Nên để các bạn dễ hình dung, mình sẽ giới thiệu về cách thức thi cuối kì cho các bạn chưa biết. Hình thức thi như sau (cập nhật năm 2016, các khóa sau có thay đổi thì không chắc chắn): Đầu tiên sẽ có khoảng 20 người bất kì vào phòng làm bài, không nhất thiết theo chữ cái, không nhất thiết theo lớp nào, chỉ cần có lịch thi là vào ngày hôm đó thì đều có thể vào. Vào phòng các bạn sẽ được giáo viên cho bốc đề, 1 câu lý thuyết và 1 câu bài tập (thường thì có 2 xấp đề và các bạn lấy tự trên xuống, nhưng nói chung là may rủi thôi).

Lời mở đầu Với bạn học mơn biết khó nào, nội dung môn học phương pháp thi Và có lẽ mơn bạn thi hình thức vấn đáp Nên để bạn dễ hình dung, giới thiệu cách thức thi cuối kì cho bạn chưa biết Hình thức thi sau (cập nhật năm 2016, khóa sau có thay đổi khơng chắn): Đầu tiên có khoảng 20 người vào phòng làm bài, không thiết theo chữ cái, không thiết theo lớp nào, cần có lịch thi vào ngày hơm vào Vào phòng bạn giáo viên cho bốc đề, câu lý thuyết câu tập (thường có xấp đề bạn lấy tự xuống, nói chung may rủi thơi) Sau bốc đề bạn xuống ngồi làm bài, thời gian chuẩn bị 15’ thường lâu Sau bạn giáo viên định vào thầy(cơ) rảnh, muốn chọn thầy tốt ỉm ỉm, chờ thầy (cơ) xong vào ln Về số lượng giáo viên hỏi thi thường 5-6 người, dễ khó hỏi người khác nói chung dễ khó tùy vào nhiều yếu tố khác Khi hỏi bạn trả lời câu hỏi lúc bốc đề, sau thầy hỏi thêm vấn đề khác, vấn đề học vấn đề bên (cái khoai) nói chung thi vấn đáp nên hỏi trời biển, nên khuyên bạn học cố mà hiểu mơn này, đọc thêm tài liệu bên ngồi đọc thuộc chẳng ăn thua đâu, gặp thầy xác định chết (chém gió hiểu hết mơn thánh cmnr, nên bảo “hay không may” vậy) Đó hình thức thi, tài liệu này, xin nói trước TÀI LIỆU THAM KHẢO, KHÔNG PHẢI LÀ ĐÁP ÁN Những trình bày mục đích để bạn tham khảo, bạn xem gợi ý để có câu trả lời nói trên, vi xửmôn thi vấn đáp, thầy cô hỏi nhiều vấn đề khác Tài liệu viết chẳng thu nên khơng đảm bảo 100% hoản tồn, viết có lẽ mong giúp đước bạn, em sinh viên khóa sau phần nhỏ để vượt qua môn học Và cuối cùng, nhắc lại câu cũ, TÀI LIỆU THAM KHẢO, KHÔNG PHẢI ĐÁP ÁN Muốn điểm cao chịu khó học, ghi chép đầy đủ, đọc tài liệu bên trước thi nên “ăn chay cầu may” CHÚC CÁC BẠN HỌC TỐT VÀ VƯỢT QUA MÔN HỌC NÀY PHẦN 1: LÝ THUYẾT Đề 1: a b Trình bày kiến trúc nguyên lý hoạt động máy tính theo Von Neumann Nêu vai trò CPU nhớ hệ Nêu chế mà nhờ CPU thực lệnh cách Gợi ý: a Cấu trúc hệ vi xử lý bao gồm phần CPU nhớ (memory) Ngồi có cổng (Port) để kết nối hệ với ngoại vi (I/O) Các phần liên kết với đường bus A_bus, D_bus, C_bus * Nguyên lý hoạt động: - Luôn hoạt động theo nguyên tắc địa chỉ, CPU cần trao đổi thông tin với Mem hay Port thơng qua địa - Mỗi CPU có tập lệnh hữu hạn - CPU thực lệnh cách - Để thực lệnh rẽ nhánh cí điều kiện phải vào cờ nhảy (flag) * Vai trò CPU nhớ hệ - Vai trò CPU CPU gồm phần: +, CU: Đơn vị điều khiển, đọc lệnh, giải mã lệnh, thực lệnh +, ALU: Khối xử lý toán học logic +, Thanh ghi: Nơi lưu trữ liệu tạm thời - Vai trò nhớ: dùng để lưu trữ dự liệu chứa lệnh Trong cấu trúc Von neuman nhớ liệu nhớ chương trình có chung khơng gian nhớ b Cơ chế mà CPU thực lệnh cách nhờ đếm chương trình PC Thanh ghi PC chứa địa nhớ có nội dung mã lệnh thực Khi CPU tìm mã lệnh thứ n PC tự động tăng lên để trỏ vào ô nhớ chứa mã lệnh n+1 Đề 3: a b Trình bày kiến trúc nguyên lý hoạt động máy tính theo Von Neumann Nói rõ CPU truy nhập theo địa Nêu chế mà nhờ CPU thực lệnh rẽ nhánh có điều kiện Gợi ý: a b Đã trình bày đề +, CPU truy nhập theo địa nhờ giải mã địa Chính nhờ giải mã địa chỉ, thông qua D_bus trỏ đến nhớ hay I/O có địa mong muốn Nguyên lý mà CPU thực lệnh rẽ nhánh có điều kiện là: Đầu tiên vi xử lý kiểm tra điều kiện Nếu điều kiện không thỏa mãn PC tăng lên thực lệnh Nếu điều kiện thỏa mãn chương trình nhảy đến nhãn Lệnh rẽ nhánh có điều kiện xác định địa tương đối tức xác định từ địa cộng vào PC (Tạm hiểu địa tương đối dụ chương trình lệnh rẽ nhánh có điều kiện có địa 1000 nhãn có địa 1200 địa offset 200) Đề 5: a b Trình bày kiến trúc nguyên lý hoạt động máy tính theo Von Neumann Nêu rõ nối chung bus số liệu hệ Bạn hiểu CPU truy nhập vào ô nhớ hay truy nhập ô nhớ nhờ cổng vào Gợi ý: a b Đã trình bày đề +, CPU truy nhập cổng vào ô nhớ là: Khi nhớ cổng vào (port) sử dụng chung giải mã địa (DEC) CPU truy nhập cổng vào cổng vào có địa nhớ, mà theo ngun Von Neuman CPU trao đổi liệu theo nguyên tắc địa chỉ, CPU truy nhập cổng vào ô nhớ +, Khi truy nhập ô nhớ nhờ cổng vào lúc có giải mã địa chỉ, giải mã địa cho ô nhớ, giải mã địa cho Port Đề 7: a b Trình bày kiến trúc nguyên lý hoạt động máy tính theo Von Neumann Bằng cách truy nhập tới phần tử khác thông qua địa khác nhau: Đề 9: a b Mô tả chi tiết hoạt động thực lệnh CPU Minh họa trường hợp truy nhập trực tiếp MOV R0, 50H Gợi ý: a Mô tả +, Đầu tiên trỏ PC chứa nội dung nhớ có chứa mã lệnh cần thực Con trỏ PC đưa vào giải mã địa Do PC chứa ô nhớ chứa mã lệnh nên nhờ có giải mã địa trỏ đến nhớ có chứa mã lệnh mong muốn +, Nội dung ô nhớ mà giải mã địa trỏ đến đưa vào đệm Buffer b +, CPU thông qua C_bus gửi tín hiệu OE tích cực mức thấp cho phép liệu từ đệm buffer qua D_bus CPU +, Dữ liệu từ D_bus đưa vào ghi lệnh IR, sau đưa vào giải mã lệnh DEC +, Tại giải mã lệnh DEC giải mã để biết lệnh byte, lệnh để làm Từ thực lệnh Mơ tả chi tiết thực lệnh - Đầu tiên trỏ PC có nội dung địa nhớ chứa mã lệnh lệnh MOV R0, Addr A8, trỏ PC thông qua mạch giải mã địa để đưa đến nhớ có nội dung A8 (ở dụ nhớ 15) - Nội dung nhớ (A8) đưa vào nhớ đệm Buffer CPU gửi tín hiệu OE cho phép liệu từ Buffer vào ghi lệnh IR giải mã lệnh DEC - Tại giải mã lệnh DEC giải mã biết lệnh byte, có tác dụng chuyển nội dung ô nhớ 50H vào ghi R0 (Có thể tra điều tập lệnh MCS- 51) - Do lệnh byte nên chờ byte Lúc trỏ PC tăng lên 1, nhờ mạch giải mã địa trỏ đến ô nhớ (ô nhớ 16) Tại ô nhớ có nội dung 50H - Dữ liệu từ nhớ (ơ số 16) đưa vào buffer, sau có tín hiệu OE đưa lên D_bus vào khối MAR - Dữ liệu từ khối MAR (ở 50H) lại đưa vào giải mã địa DEC để trỏ đến ô nhớ 50H - Dữ liệu từ ô 50H lại đưa xuống Buffer đưa lên D_bus sau di chuyển vào ghi R0 Lưu ý: Ở lệnh byte, giải mã lệnh DEC đâu mã lệnh đâu mã lệnh (A8) đâu nội dung (50H) phân biệt nhờ thứ tự Nghĩa A8 đến trước mã lệnh có byte nên nội dung thực lệnh để phân biệt với mã lệnh 50H Đề 11: a b Mô tả chi tiết hoạt động thực lệnh CPU Minh họa trường hợp truy nhập gián tiếp qua ghi ADD A, @R0 Gợi ý: a b Đã nêu đề Mô tả lệnh - Đầu tiên trỏ PC có nội dung ô nhớ chứa mã lệnh (mã lệnh 26H) Con trỏ PC thông qua mạch giải mã địa trỏ đến ô nhớ chứa nội dung 26H - Dữ liệu đưa xuống nhớ đệm Buffer, sau CPU thơng qua C_bus truyền tín hiệu OE cho phép liệu từ Buffer qua D_bus ghi lệnh IR vào giải mã lệnh DEC - Tại giải mã lệnh DEC giải mã lệnh (26H) biết lệnh byte, thực nhiện vụ cộng nội dung ngăn nhớ RAM có địa cất R0 vài ghi A ( Chỗ khó hiểu với người chưa quen, tạm hiểu sau dụ ghi R0 có nội dung A1 nhớ A1 có nội dung 12H lệnh có tác dụng cộng nội dung ô nhớ A1 hay cộng 12H vào ghi A, kết cất ghi A) - Tiếp theo lấy nội dung ghi R0 qua MAR đưa vào giải mã địa Bộ giải mã địa trỏ đến nhớ có địa nội dung ghi R0 đưa liệu nhớ vào Buffer CPU lại đưa tín hiệu OE phép liệu từ Buffer lên D_bus vào OP2 khối ALU Nội dung ghi A đưa vào OP1 - Khối ALU thực phép cộng OP1 OP2 sau kết đưa trả ghi A CÁC ĐỀ 13, 15 TƯƠNG TỰ, CÁC BẠN TỰ LÀM Lưu ý đề khơng cần sử dụng đến MAR, dụ đề số 15 sau thực giải mã lệnh xong đợi đến byte tiếp theo, giải mã địa trỏ đến nhớ có nội dung 50H, đưa xuông buffer qua D-bus vào ghi A Nói khơng hiểu thơi chịu khó hỏi siêu nhân khác, tết mẹ bắt dọn nhà nên khơng có nhiều free time ))) Đề 17: a b Nêu chế ngắt hệ vi xử lý, mục địch, giải pháp để cất khơi phục trạng thái? Trình bày cách xác định nguồn báo ngắt phần mềm Gợi ý: a Cơ chế ngắt: +, Khi chương trình thực câu lệnh thứ k mà gặp tín hiệu báo ngắt (INT) lúc vi xử lý thực xong câu lệnh thứ k kiểm tra ngắt +, Nếu ngắt khơng chấp nhận vi xử lý bỏ qua thực câu lệnh +, Nếu ngắt ok vxl cất cờ cần thiết, PC tại, trạng thái ghi (nếu cần) vào ngăn xếp +, Tra bảng Vecto ngắt để xác định ngắt ngắt gì, chương trình phục vụ ngắt nằm đâu, sau thực chương trình phục vụ ngắt gặp lệnh RETI dừng chương trình phục vụ ngắt +, Lúc vxl lấy cờ, PC ghi cất từ ngăn xếp ra, tiếp tục thực chương trình chính… Lưu ý: Nếu có nhiều ngắt dựa vào ghi IE để kiểm tra thứ tự ưu tiên ngắt, thực ngắt mà lại có ngắt khác lại xem xét thực ngắt trước Kiểu ngồi viết (chương trình chính) gấu gọi điện thoại (ngắt 1) Lúc nghe điện thoại mẹ kêu mẹ nhờ (ngắt 2) lúc phải bảo gấu chờ, giúp mẹ xong quay nói chuyện tiếp với gấu Nói chuyện với gấu xong lại quay lại viết tiếp…Kiểu )) À gấu em đăng kí nên gọi thoải mái…))) * Mục đích giải pháp để cất giữ khôi phục trạng thái là: Để cất giữ khơi phục trạng thái ta cần phải cất cờ, trò PC tại, ghi có liên quan đến chương trình phục vụ ngắt vào ngăn xếp để trình vxl thực chương trình phục vụ ngắt, thông tin không bị thay đổi Sau chương trình phục vụ ngắt thực xong ta lại lấy cờ, PC ghi ra, khôi phục lại trạng thái, tiếp tục thực chương trình b Trình bày cách xác định nguồn báo ngắt phần mềm (Cái thánh nên vẽ sơ đồ, điều kiện hạn chế nên khơng vẽ, học chịu khó vẽ nhìn cho dễ hiểu) Để xác định nguồn báo ngắt phần mềm phải sử dụng phần mềm để kiểm tra bit ghi, dựa vào bit để xác định ngoại vi báo ngắt Khi có tín hiệu từ chốt (Latch) đưa lên số đường D_bus đưa vào ghi ghi, chương trình kiểm tra bit xem I/O báo ngắt Đề 19: a b Nêu chế ngắt hệ vi xử lý, ưu điểm, khuyết điểm chế này? Trình bày cách xác định nguồn báo ngắt phần cứng Gợi ý: a Cơ chế nói trên, khơng nói lại * Ưu điểm chế không tốn thời gian hỏi vòng, CPU đỡ tốn lượng hơn, chạy nhanh b * Nhược điểm: Nếu I/O trao đổi liệu với số lượng lớn I/O khác có hội trao đổi liệu (Cái đến phần phương thức điều khiển vào cụ thể hơn) Xác định nguồn báo ngắt phần cứng Nếu xét sơ đồ báo ngắt phần mềm phần cứng nhau, nên vẽ sơ đồ thánh vẽ phần cứng Tuy nhiên xác định báo ngắt phần mềm ta cần nhấn mạnh vxl xác định ngoại vi ngắt dựa vào vecto ngắt (phần mềm dựa vào kiểm tra bit) Khi thiết bị báo ngắt tín hiệu Ry= thơng qua mạch AND để tạo tín hiệu INT (cái nhìn vào sơ đồ hiểu) Khi thực báo ngắt phần cứng CPU dựa vào vecto ngắt, nhờ vào mạch AND để x/đ thiết bị ngắt dụ khơng có ngắt Ry0=Ry1=…=Ry7=0 nên tín hiệu 11111111=FF Khi có ngắt, I/O chẳng hạn Ry6=0 tín hiệu 10111111= BF vi xử lý dựa vào để biết I/O báo ngắt Đề 21: a b Ngăn xếp: vai trò hoạt động Liệu có tồn hệ vi xử lý mà hoạt động khơng cần ngăn xếp khơng Giải thích? Gợi ý: a b Ngăn xếp - Ngăn xếp vùng nhớ nằm RAM dùng để lưu trữ dự liệu cách tạm thời - Ngăn xếp hoạt động theo nguyên tắc LIFO (Last In First Out) FIFO (First In First Out) Trong MCS-51 ngăn xếp hoạt động theo nguyên tắc LIFO, liệu cất vào ngăn xếp trước lấy sau ngược lại Để thực theo ngun tắc ngăn xếp có trỏ gọi trỏ SP (Stack Pointer) - Để cất liệu vào ngăn xếp ta sử dụng lệnh PUSH Trước thực lệnh PUSH SP tự động tăng lên để trỏ đến ngăn xếp - Để lấy liệu ta sử dụng lệnh POP Sau liệu lấy trỏ SP tự động giảm Lưu ý: có lệnh PUSH có nhiêu lệnh POP, PUSH trước POP sau… Trên lý thuyết tồn hệ vi xử lý hoạt động mà không cần ngăn xếp hệ vi xử lý thực chương trình đơn giản cộng trừ khơng nhớ, khơng có nhảy, khơng rẽ nhánh Tuy nhiên thực tế hệ vi xử lý làm thường để thực việc phức tạp thế, thực tế không tồn hệ vi xử lý hoạt động không cần ngăn xếp ***11h đêm rồi, ngủ Mẹ dặn ngủ sớm đẹp zai Mấy thánh BK cày đêm lắm, bảo ế dài Có học đọc xong dòng làm động lực, tắt máy tính ngủ đê *** Đề 23: a Vẽ lược đồ hoạt động vi xử lý kể từ lúc RESET b Vecto RESET vecto ngắt trùng khơng? Giải thích? c Nêu cần thiết ngắt NMI (ngắt không che) Gợi ý: a Vẽ lược đồ hoạt động vi xử lý kể từ lúc RESET RESET DMA?A BUS- Hiz Y DMA Mode N Y INT? PC -> Stack NMI Y Flag -> Stack Chương trình phục vụ ngắt N Y N IE? N +, Sau ấn Reset, CPU kiểm tra xem vxl có chế độ vào trực tiếp Đọc lệnh, giải mã lệnh, thực lệnh DMA hay khơng, có thực đưa đường bus A, D, C lên trạng thái cao trở thực chế độ DMA +, Nếu không chế độ DMA kiểm tra xem có ngắt hay khơng, khơng thực chương trình chính, đọc lệnh, giải mã lệnh thực lệnh +, Nếu có ngắt kiểm tra xem có phải ngắt không che hay không, ngắt khơng che tiến hành cất cờ, PC vào ngăn xếp, thực chương trình phục vụ ngắt đến gặp lệnh RETI xong lấy cờ, PC thực đọc lệnh, giải mã lệnh, thực lệnh chương trình +, Nếu khơng phải ngắt NMI kiểm tra xem có phép ngắt khơng, khơng phép ngắt đọc lệnh, giải mã lệnh, thực lệnh chương trình Nếu phép ngắt cất cờ, PC vào ngăn xếp, thực chương trình phục vụ ngắt đến gặp lệnh RETI xong lấy cờ, PC thực đọc lệnh, giải mã lệnh, thực lệnh chương trình b c Vecto Reset vecto ngắt trùng vecto RESET vecto ngắt Tra bảng vecto RESET có số hiệu 00H vecto ngắt Ngắt NMI ngắt phần cứng dùng để đề phòng trường hợp ngắt phần mềm không hoạt động dùng ngắt NMI để dừng chương trình, bảo vệ thiết bị Đề 25: a b c Kiến trúc phần cứng hệ vi xử lý Vai trò mạch giải mã địa Bằng cách CPU trao đổi với thiết bị ngoại vi? Đề 27: a b Trình bày phương thức điều khiển vào chương trình, điều khiển điều khiển ? Nêu ưu khuyết điểm phương thức ? Gợi ý: a Phương thức điều khiển vào chương trình phương thức sử dụng chương trình để trao đổi liệu ngoại vi CPU - Có phương thức điều khiển vào chương trình Phương pháp ưu tiên quay vòng: Đề 10: a b Trình vày cổng vào nối tiếp hệ MCS- 51 Hãy trình bày rõ cách sử dụng bit Parity trường hợp Gợi ý: a Trình bày cổng vào nối tiếp MCS- 51 - 8051 có chân chuyên dùng cho truyền nhận liệu nối tiếp, chân RxD TxD tương ứng chân P3.0 P3.1 (trong vxl chân số 10 11) Các chân tương thích mức logic TTL cần điều khiển đường truyền để tương thích với RS232 - Port hoạt động theo chế độ song công, cho phép kí tự nhận lưu đệm kí tự nhận vào - Để truy xuất Port nối tiếp, phần mềm sử dụng ghi SBUF SCON +, SBUF đệm, muốn byte liệu truyền qua TxD cần đặt liệu SBUF Tương tự SBUF lưu byte liệu nhận qua đường RxD 8051 Byte liệu ghi vào SBUF định khung với bit Start bit STOP truyền qua TxD Khi SBUF nhận bit liệu từ RxD mở khung loại trừ bit start, Stop +, SCON ghi bit chứa bit trạng thái bit điều khiển SM0 SM1 SM2 b REN TB8 RB8 T1 R1 * Các bit trạng thái kết thúc việc thu phát * Các bit điều khiển thiết lập chế độ hoạt động Port nối tiếp SM0 SM1 Chế độ 0 Chế độ ghi dịch Chế độ bit start stop Chế độ bit 1 Bit Parity bit kiểm tra tính chẵn lẻ có ký hiệu P nằm ghi đặc biết PSW Bit nạp vào bit TB8 ghi SCON phần mềm Bit chẵn tổng số số bit liệu chẵn bit chẵn có giá trị Bit có giá trị tổng số số byte liệu số lẻ Lưu ý ban đầu ta định sẵn byte liệu có bit Parity bit chẵn mà bên thu lại lẻ nghĩa liệu bị truyền sai, bên thu mà lại chẵn ta chưa có kết luận VD để kiểm tra chẵn lẻ ta dùng đoạn lệnh MOV C, P CPL C MOV TB8, C MOV SBUF, A Đề 12: a b Vào nối tiếp dị bộ: định nghĩa, mục đích, phương pháp đồng Nêu mặt hạn chế chuẩn RS232C, cách khắc phục Gợi ý: a b Vào nối tiếp dị - Định nghĩa: Vào nối tiếp dị phương pháp truyền lần byte thay truyền lần khối liệu phương pháp đồng - Mục đích: Là để phát tín hiệu khơng phải phát theo xung clock đồng phức tạp - Phương pháp đồng bộ: Đồng theo byte, thêm vào bit khởi đầu bit kết thúc Hạn chế chuẩn RS232C chuẩn đời trước có họ vi mạch TTL nên điện áp vào chuẩn không tương thích với TTL Hạn chế thứ truyền liệu khoảng cách xa dễ bị nhiễu tín hiệu Để khắc phục nhược điểm đầu tiên, người sử dụng biến đổi điện áp MAX232 để chuyển đổi mức điện áp TTL sang mức điện áp RS232 ngược lại Để khắc phục hạn chế thứ sử dụng chuẩn khác RS484, RS422…hoặc phải có biện pháp chống nhiễu phù hợp Đề 14: (Như năm (anh) học thầy Tuấn câu thầy bảo bỏ, khóa sau khơng rõ nên viết vậy) a b Mạch thời gian hệ vi xử lý: công dụng, cấu trúc, hoạt động ghép nối với hệ vi xử lý Nếu sử dụng mạch thời gian để đếm kiện ta phải làm gì? Nêu khác biệt mạch thời gian mạch đếm Gợi ý: a Mạch thời gian hệ vi xử lý: • Cơng dụng: Dùng để tạo trễ thời gian làm đếm để đếm kiện xảy bên vi xử lý • Cấu trúc: TFx NHmax NLmax THx TLx OSC Px.m N0H N0L Bộ dao động thạch anh để đếm thời gian  mạch chia  Bộ đếm thời gian  Các ghi để đặt giá trị đầu giá trị cuối • Nguyên tắc hoạt động: ♦ Khi phép hoạt động đếm tăng từ N0 -> N0max Khi đạt đến giá trị max phát xung gọi xung TF (Timer Overflow) có tác dụng báo tràn Cờ TF lúc bật lên Sau chu kì cờ tự xóa giá trị đếm ♦ Có chế độ hoạt động:  Chế độ Input Capture: phát xung đếm lưu lại giá trị vào ghi đếm chạy đến Nmax  Chế độ Output Capture: Là chế độ so sánh giá trị đếm với giá trị đặt Nếu sử dụng mạch thời gian để đếm kiện ta đặt nguồn tạo xung clock tạo xung dựa việc xảy kiện - Sự khác biệt mạch thời gian mạch đếm: +, Mạch thời gian có xung đưa từ ngồi vào, thường xung dao động thạch anh nên có chu kì biết trước +, Mạch đếm kiện có kiện xảy ra, đếm hoạt động Do chu kì chưa biết trước  b Đề 16: a b c Mạch thời gian hệ MCS-51 Intel: mô tả ghi liên quan Các chế độ hoạt động ứng dụng chế độ Sử dụng ngắt với mạch thời gian nào? Gợi ý: a Mạch thời gian hệ MCS-51 Intel có ghi ghi TMOD TCON • Thanh ghi TMOD: GATE C/T M1 M0 GATE C/T Trong bit đầu dành cho Timer 1, bit sau dành cho Timer M1 M0 +, Bit GATE nhận giá trị 1, dùng để lựa chọn chế độ điều khiển GATE= chạy bit TRx= Khi Timer chọn chế độ điều khiển phần mềm Bit GATE= 1, Timer chọn chế độ điều khiển phần cứng => điều khiển ngắt +, Bit C/T cho phép lựa chọn chế độ Timer hay Counter +, bit M1 M0 dùng để lựa chọn chế cho Timer     • b c M1= 0, M0= 0: chế độ 13 bit bit cao đặt trước (an hem tìm hiểu bit đặt trước nào, thầy hỏi) M1=0 M0= 1: chế độ 16 bit sử dụng THx TLx đếm từ 0000H đến FFFFH M1= M0= 0: chế đồ Auto reload định thời bit đếm từ 00H đến FFH vào ghi THx định thời TLx ghi đếm Ở TLx chứa giá trị bắt đầu nghĩa TLx đếm đến giá trị max đếm tự động đếm lại giá trị nằm ghi TLx M1=1 M0=1: ghi THx, TLx đếm độc lập bit (chế độ dùng) Thanh ghi TCON: TF1 TR1 TF0 TR0 IE1 IT1 IE0 - TF1/ TF0: báo tràn cho T/C1 T/C0 - TR1 TR0: khời chạy cho T/C1 T/C0 bit lại dùng cho ngắt với mạch thời gian, giải thích phần sau Các chế độ hoạt đơng: có chế đô hoạt động nêu trên, ứng dụng tự tìm ))) Sử dụng ngắt với mạch thời gian nào: • Để sử dụng ngắt với mạch thời gian, ta sử dụng bit IE1/0 IT1/0 ghi TCON • Các bit IT1/0 bit xác định mức ngắt phần cứng cho chân INT1 INT0 Khi Reset thi bit nghĩa ngắt mức thấp • IE0 IE1 dùng để xác định kiểu ngắt kích sườn phát xung Nếu IT1 IT0 khơng IE1 IE0 khơng có tác dụng Các bit IE1 IE0 dùng để chốt sường phát xung từ cao xuống thấp INT1 INT0 IT0 • Khi có chuyển trang thái sườn xung INT1 INT0 8051 chuyển bit IE1 IE0 từ lên Đề 18: a b c Trình bày kỹ thuật qt giải mã phím Có thể dùng kỹ thuật để xác đinh mã phím nhấn hay khơng? Giải thích? Nếu dùng kỹ thuật theo cách điều khiển ngắt có khơng? Giải thích? Gợi ý: a Trình bày kỹ thuật quét giải mã phím Cách 1: Quét chương trình +5V Px.0 Px.1 Px.2 Px.3 Px.4 Px.5 Px.6 Px.7 start Hx=0, Cx= Mov A, Px ANL A, #F0H H0=0, Cx=1, Hx=1 Mov A,Px ANL A, #F0H N Y A= F0H? Khơng có phím ấn A= F0H? H0 có phím ấn N Y A=E0H? C0 ấn N A=D0H? N H1=0, Hx=1, Cx=1 Đọc cột Y C1 ấn A= F0H? N H1 có phím ấn A=B0H? Y C2 ấn N H2=0, Hx=1, Cx=1 Đọc cột Y A=70H? C3 ấn A= F0H? N H2 có phím ấn H3=0, Hx=1, Cx=1 Đọc cột A= F0H? N H3 có phím ấn B1: Xác định cột cách cho cột 0, hàng sau đoc cột cách: Mov A, Px ANL A, #F0H B2: đặt hàng 0, hàng lại Đọc kiểm tra cột - Nếu xác đinh cơt hàng - Nếu khác tiếp tục quét B3: Sau đặt hàng 0, hàng lại Đọc kiểm tra cột bước hết Cách 2: Khi dùng ngắt Khi kiểm tra cột có phím bấm qua cổng AND cho giá trị vào ngắt, kiểm tra b c Kỹ thuật khơng thể xác định mã phím nhấn Khi có phím nhấn tùy thuộc vào chương trình viết thực theo thứ tự trước sau Nghĩa xác định đươc mã phím mà khơng xác định mã phím nhấn lúc Kỹ thuât dùng theo cách điều khiển ngắt (đã trình bày trên, phải vẽ nhác vẽ Thực giống với sơ đồ khác tín hiệu Px.4- Px.7 đươc gom đưa vào cổng AND, đầu cổng AND đưa vào INT ) Đề 20: a b c Trình bày kỹ thuật đảo dây để giải mã bàn phím Có thể dùng kỹ thuật để xác định mã phím nhấn hay khơng? Giải thích? Kỹ thuật thích hợp với phương thức điều khiển nào? Giải thích? Gợi ý: a Trình bày kỹ thuật đảo dây Đầu tiên ta xác định cột: - Cho hàng 0, cột sau đọc cột về: mov A, Px ANL A, #F0H Từ ta xác định cột, tương tự qt giải mã phím - Do vai trò hàng cột nên ta đảo vị trí cột hàng, sau tương tự thực Từ ta xác định hàng Nói khó hiểu, ta dụ với hình vẽ đề 18 Giả sử phím nhấn hàng cột 0, phím chỗ chấm đen Ban đầu cho hàng 0, cột đọc cột ta có A=11110000= F0H Nếu giá trị đọc F0H nghĩa khơng có phím ấn Lúc có phím ấn vị trí trên, lúc C0 tương ứng với Px.4=0 đọc ta A=11100000H= E0H Kiểm tra mã E0H nghĩa cột có phím nhấn Sau đảo vị trí hàng cột, làm tương tự xác định hàng Minh họa sơ đồ khối Start Hx=0 Cx=1 Mov A, Px ANL A, #F0H N A=F0H? Y Khơng có phím ấn N Y A= E0H? Cột nhấn Y A=D0H? Cột nhấn N A=B0H? Y Cột nhấn N A=70H? Y Cột nhấn b c Kỹ thuật khơng xác định mã phím nhấn lúc tùy thuộc vào chương trình viết mà nhấn phím lúc thực theo thứ tự trước sau, nghĩa xác định mã phím Kỹ thuật thích hợp với phương thức điều khiển ngắt việc điều khiển vào ngắt cho phép CPU có thời gian nghỉ, có phím ấn lúc kiểm tra, khác với điều khiển chương trình khơng có phím ấn kiểm tra Đề 22: a b Nêu phương pháp ghép nối vi xử lý hiển thị LED nhiều chữ số? Bằng cách ta điều khiển để LED hay bóng sợi đốt sang dần tối dần? Gợi ý: a b Có phương pháp để ghép nối vi xử lý hiển thị LED nhiều chữ số gồm: • Hệ vi mạch chốt liệu Hệ có đường liệu chung vào đèn thông qua vi mạch chốt liệu (hay sử dụng 7447) Các đền LED điều khiển lối vào điều khiển chốt liệu Hệ dùng cho LED số Nhược điểm 7447 khơng giải mã dấu chấm nên phải sử dụng dầu chấm tĩnh • Hệ nhiều LED có đường liệu nối trực tiếp với cổng Ở hệ cổng vi xử lý nối trực tiếp với anot (hoặc catot tùy vào cách mắc LED) LED thơng qua điện trở để hạn dòng Nhược điểm hệ tốn cổng vi xử lý, sử dụng với hệ cần LED • Hệ có đường dây liệu D0-D7 chung cho đèn Phương pháp cần có cổng để điều khiển LED thơng qua Anot hay Catot chung Chương trình đưa liệu hiển thị LED qua bước: - Đưa liệu mã đường dây D0-D7 qua cổng Px - Đưa tín hiệu điều khiển tranzito từ Px cho tranzito làm sang đèn LED tương ứng (đúng phải có hình, tội cài win, khơng có proteus hay antium, anh em học chịu khó chép thầy) Để điều khiển LED sang dần hay tối dần, người ta sử dụng DAC Ngun điều khiển dòng điện Nhờ có DAC người ta điều chỉnh dòng điện đầu DAC tăng hay giảm dần, qua điều chỉnh dòng điện qua LED nên làm đèn sang hay tối dần Đề 24: a Hãy mô tả cách ghép nối vi xử lý ADC để điều khiển chương trình ngắt b Nêu cách ghép nối MCS-51 ADC0800 Biết ADC0800 có tín hiệu điều khiển: Bắt đầu chuyển đổi- SOC, kết thúc chuyển đổiEOC, cho phép đa số liệu OE Gợi ý: a Mô tả cách ghép nối vi xử lý ADC0800 Ở dùng ADC0801 proteus khơng có kia, mạch vẽ xấu, chủ yếu mô tả chỗ nối chỗ thôi, vẽ giấy an hem chỉnh lại cho chẹp Cụ thể an hem download datasheet ADC0801 xem tương tự 0800 Cho link ln: http://pdf1.alldatasheet.com/datasheetpdf/view/8093/NSC/ADC0801.html +, Đặt cổng P2.6= WR tích cực mức thấp (khơng tìm gạch đầu đâu nên viết tự hiểu) Cái nên để tích cực mức thấp để sau chu trình cấp nguồn đảm bảo hoạt động => bắt đầu chuyển đổi cần xung thấp lên cao +, Đặt chân P2.7=0 kết thúc chuyển đổi +, P2.5= RD tích cực mức thấp để đọc liệu từ ADC +, P1.0- P1.7 nối với đường liệu D0-D7 ADC *Quá trình chuyển đổi - Bật ALE=1 gửi xung thấp lên cao tới chân Start để bắt đầu chuyển đổi - Duy trì hiển thị chân EOC (tcmt) Nếu chân EOC (tcmt) xuống thấp việc chuyển đổi hồn tất Nếu EOC (tcmt) mức cao tiếp tục chuyển đổi - Sau EOC (tcmt) xuống thấp, ta lại bật ALE=1 gửi xung thấp lên cao đến chân OE để lấy liệu chuyển đổi từ ADC Đề 26: a Hãy trình bày tổ chức nhớ hệ MCS-51 b Bằng cách hệ 8051 truy nhập nhiều nhớ có chung địa chỉ? (trong/ ngoài/ SFR) Gợi ý: a Tổ chức nhớ hệ MCS- 51 Bộ nhớ hệ MCS- 51 chia làm phần: Bộ nhớ nhớ * Bộ nhớ gồm 4kB ROM 128 kB RAM RAM bao gồm nhiều vùng nhớ với mục đích khác - Vùng RAM đa dụng: 30H- 7FH: 80 byte truy xuất lần bit cách dùng chế độ địa trực tiếp hay gián tiếp - Vùng địa hóa bit 20H- 2FH (gồm 128 bit định địa bit từ 00H- 7FH) truy xuất lần bit truy xuất lần bit lệnh xử lý bit - Các bank ghi (00H- 7FH) có bank Mỗi bank đại diện ghi R0- R7 Do có bank nên thời điểm có bank ghi truy xuất ghi R0- R7 Việc thay đổi bank ghi thực thông qua ghi trạng thái PSW - Các ghi có chức đặc biệt SFR 80H- 0FFH * Bộ nhớ ngồi - MCS 51 có nhó theo cấu trúc Harvard, nhớ chương trình nhớ liệu tách riêng bao gồm 64kB nhớ chương trình 64kB nhớ liệu - Bộ nhớ chương trình truy xuất thơng qua chân PSEN (ROM ngồi) - Bộ nhớ liệu truy xuất thông qua RD WR - Bộ nhớ chương trình ln sử dụng địa 16 bit nhớ liệu 8/16 bit Khi dùng nhớ liệu bit xem Port Port I/O thông thường dùng truy xuất với 16 bit Port dùng làm bit địa cao (16 bit DPTR bit R0, R1) - Port địa thấp/ liệu đa hợp Tín hiệu ALE tách byte địa liệu chốt ngồi b Có thể truy nhập nhiều nhớ có chung địa vùng khơng gian nhớ (trong/ ngồi/ SFR) tách biệt nhau, trùng địa với Để truy nhập nhiều ô nhớ có chung địa chỉ, ta dựa vào tín hiệu điều khiển, hay nói phân biệt dựa vào câu lệnh VD: MOV dùng với ram trong, MOVX dùng với RAM ngoài, PSEN dùng với ROM Đề 28: a b Trình bày kiến trúc nguyên lý hoạt động máy tính theo Von Neumann Kiến trúc Harvard MCS-51 có điểm khác biệt so với nguyên Gợi ý: a b Kiến trúc máy tính theo Von Neumann Theo Von Neumann, máy tính có kiến trúc gồm phần memory CPU, ngồi có hệ thống vào I/O - Để liên kết phần, người ta sử dụng đường bus gồm A_bus, D_bus, C_bus - CPU có cấu trúc gồm: o Thanh ghi: lưu trữ thơng tin tạm thời o ALU: khối xử số học logic o CU: nơi giải mã lệnh, điều khiển, xác định thao tác - Bộ nhớ: bao gồm nhớ chương trình nhớ liệu dùng để lưu trữ liệu, chương trình * Nguyên lý hoạt động - CPU thực tập lệnh định - Luôn hoạt động theo nguyên tắc địa chỉ: Khi CPU muốn trao đổi liệu với nhớ hay ngoại vi thông qua địa - CPU thực lệnh cách CPU làm điều nhớ có đếm chương trình - Tập hợp lệnh tạo thành chương trình Chương trình qua trình biên dịch đưa mã nhị phân lưu trữ nhớ - Để thực lệnh rẽ nhánh có điều kiện phải vào cờ nhảy Kiến trúc Harvard MCS-51 khác biệt so với nguyên Von Neumann theo nguyên Von Neumann hoạt động theo nguyên tắc địa chỉ, nghĩa truy cập đồng thời nhớ chương trình nhớ liệu nhớ có chung khơng gian nhớ Tuy nhiên kiến trúc Harvard nhớ chương trình nhớ liệu tách riêng truy nhập đồng thời vùng thời điểm Đề 30: a Hãy trình bày bước cần thiết để yêu cầu ngắt từ INT0 hệ MCS-51 xảy b Hãy lập trình để ngắt T0 có mức ưu tiên cao INT0 Đề 32: a b c Hãy trình bày bus hệ vi xử lý Ghép nối với MCS-51 theo cổng bus khác nào? Bạn cho biết kiến trúc bus mà bạn biết Gợi ý: a b c Trình bày hệ bus vi xử lý: - Bus đường tín hiệu có chức liên kết CPU với nhớ thiết bị ngoại vi - Có đường bus là: +, A_bus: có chức truyền địa tham chiếu tới khu vực nhớ liệu lưu trữ đâu không gian nhớ Số lượng đường bus liên quan đến không gian nhớ +, D_bus: chức truyền tải thông tin theo chiều CPU nhớ thiết bị ngoại vi Độ rộng bus xác định lượng liệu trao đổi bus +, C_bus: Phục vụ truyền tải thông tin liệu để điều khiển hoạt động hệ thống Điểm khác ghép nối MCS-51 theo cổng bus là: Ghép nối MCS-51 theo cổng khơng cần có giải mã địa DEC ngoại vi ghép nối trực tiếp với cổng vi xử lý cổng có sẵn địa CPU biết sẵn địa ngoại vi cần trao đổi liệu Ghép nối MCS-51 theo bus cần có mạch giải mã địa ghép nối theo bus ghéo nối với nhiều ngọa vi nên cần DEC để biết I/O cần trao đổi liệu có nhu cầu Có kiểu kiến trúc bus kiểu vòng, thẳng hình Cái phải vẽ ra, anh em lên mạng tìm mà vẽ nha Phần 2: BÀI TẬP ... tồn hệ vi xử lý hoạt động mà không cần ngăn xếp hệ vi xử lý thực chương trình đơn giản cộng trừ khơng nhớ, khơng có nhảy, khơng rẽ nhánh Tuy nhiên thực tế hệ vi xử lý làm thường để thực vi c phức... quay lại hỏi ngoại vi thứ ngoại vi thứ khơng nhu cầu trao đổi chuyển xuống hỏi ngoại vi Sau tiến hành trao đổi với ngoại vi thứ ngoại vi khơng nhu cầu trao đổi kiểm tra ngoại vi thứ Cứ hết Phương... trao đổi với ngoại vi nên số liệu trao đổi I/O mà lớn I/O khác có hội trao đổi liệu * Điểm giống nhau: Vi c trao đổi liệu phải thông qua CPU, điều khiển câu lệnh người lập trình vi t * Khác nhau:

Ngày đăng: 02/03/2018, 09:21

Từ khóa liên quan

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

Tài liệu liên quan