Bài thí nghiệm 1: Lập trình giao tiếp phím đơn và Led đơn
Số trang: 9
Loại file: pdf
Dung lượng: 1.27 MB
Lượt xem: 6
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tài liệu nắm được cách sử dụng Kit thí nghiệm, phần mềm lập trình; nắm được cách lập trình giao tiếp IO Port; nắm được cách lập trình tạo thời gian trễ dùng các lệnh.
Nội dung trích xuất từ tài liệu:
Bài thí nghiệm 1: Lập trình giao tiếp phím đơn và Led đơn BÀI TN 1 LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Họ tên: Đinh Thị Thu Thủy MSSV: 1814252MỤC TIÊU: Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình. Nắm được cách lập trình giao tiếp IO port Nắm được cách lập trình tạo thời gian trễ dùng các lệnhCHUẨN BỊ: Đọc chương 1 và chương 2 của tài liệu hướng dẫn Viết chương trình và mô phỏng các bài thí nghiệmTHÍ NGHIỆM 1Mục tiêu Nắm được cách thức điều khiển trực tiếp ngoại vi thông qua các port I/O của 8051.Yêu cầu Viết chương trình thực hiện việc đọc liên tục trạng thái của nút nhấn được nối đến P1.0 và hiển thị ra led được nối tại chân P1.1 (bit thứ 0 của led thanh BL202). ORG 2000H LOOP: MOV C, P1.0 MOV P1.1, C SJMP LOOP ENDKiểm tra Biên dịch và thực thi chương trình để kiểm tra kết quả thực hiện. Thử giải thích tại sao có đến 2 led cùng bị tác động khi nhấn hoặc thả nút. LED nối vào P1.0 và P1.1 đều bị tác động. LED tại P1.0 bị tác động do phần cứng, khi nhấn phím, mức điện áp trên P1.0 bằng 0, đầu còn lại của LED được nối vào điện trở và nối đến VCC nên đèn tại P1.0 sáng. Tương tự, tại P1.1, 1 đầu LED được nối vào điện trở và nối đến VCC, đầu còn lại nối đến P1.1. Khi nhấn nút, P1.0 có mức điện áp thấp, phần mềm sec đọc mức điện áp và đọc cho P1.1 mức điện áp thấp nên đèn sáng. Tổng kết xem các bit nào của 2 port có thể được dùng trong thí nghiệm trên và giải thích tại sao. Tất cả các chân trên P1 đều có thể được dùng do tất cả các chân đều có thể làm chân I/OTHÍ NGHIỆM 2 Biên dịch và thử nghiệm chương trình cho sẵn sau: ORG 2000H MAIN: CPL P1.1 JMP MAIN ENDKiểm tra Biên dịch, thực thi và kiểm tra hoạt động của chương trình bằng cách đo dạng sóng trên oscilloscope.Câu hỏi Theo lý thuyết, dạng sóng tạo ra trên chân P1.1 sẽ như thế nào? Sóng vuông Vẽ dạng sóng đo được trên oscilloscope và so sánh với kết qua lý thuyết. Giống với lý thuyết Tần số tối đa một xung tuần hoàn có chu kỳ nhiệm vụ 50% có thể đạt được là bao nhiêu? - Lệnh JMP tốn 2Mcs, CPL tốn 1Mc => 1 chu kỳ mất 6Mcs => fmax=153,846 Khz ( Với tần số thạch anh là 11.059Mhz)THÍ NGHIỆM 3Mục tiêu Nắm được cách tạo trễ dùng vòng lặp lệnhYêu cầu Viết chương trình tạo xung vuông 1 Khz, chu kỳ nhiệm vụ 50% trên P1.1 ORG 2000H MAIN: CPL P1.1 ACALL DELAY SJMP MAIN DELAY: MOV R7,#230 LOOP: DJNZ R7,LOOP RET ENDKiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách sử dụng oscilloscope để kiểm tra.Câu hỏi Để tạo xung 1Khz, các vòng trễ tạo ra như thế nào. Tính toán chính xác dựa trên chương trình đã viết 0,5.10-3 = 2n.Tmáy = 2n.12Tthạch anh = 24n(1/11059200) n = 230.4 chọn n = 230 Sai số nhỏ nhất có thể đạt được so với yêu cầu là bao nhiêu? HD: Tính sai số dựa vào tần số thạch anh là 11.0592 Mhz. ∆ = (230,4 – 230)/230,4 = 0.17%THÍ NGHIỆM 4Mục tiêu Nắm được cách viết chương trình con để tạo trễYêu cầu Viết chương trình con Delay1sIns và dùng chương trình con này để chớp/tắt LED đơn gắn vào P1.0 sau mỗi khoảng thời gian 1s. ORG 2000H LOOP: CPL P1.0 ACALL DELAY1SINS SJMP LOOP DELAY1SINS: MOV R7, #7 LOOP1: MOV R6, #250 LOOP2: MOV R5, #250 DJNZ R5, $ DJNZ R6, LOOP2 DJNZ R7, LOOP1 RET END Kiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn.Câu hỏi Thời gian 1s được tạo ra như thế nào? 1 = 2n.Tmáy = 2n.12Tthạch anh = 24n(1/11059200) n = 460800 chọn n1 = 250; n2 = 250; n3 = 7THÍ NGHIỆM 5Mục tiêu Nắm được cách hiển thị LED và tạo hiệu ứngYêu cầu Viết chương trình tạo hiệu ứng quay LED: các LED đơn trên BARLED1 sáng lần lượt từ trái sang phải sau thời gian 1s và lặp lại. Sử dụng chương trình con 1s đã viết ở trên. ORG 2000H MAIN: CLR P1.0 ACALL DELAY1SCLR P1.1ACALL DELAY1SCLR P1.2ACALL DELAY1SCLR P1.3ACALL DELAY1SCLR P1.4ACALL DELAY1SCLR P1.5ACALL DELAY1SCLR P1.6ACALL DELAY1SCLR P1.7MOV P1, #7FHSJMP MAINDELAY1S: MOV R7, #1 LOOP1: MOV R6, #250 LOOP2: MOV R5, #250 DJNZ R5, $ DJNZ R6, LOOP2 DJNZ R7, LOOP1 RETENDKiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát hiệu ứng trên bar led.Câu hỏi Led ngoài cùng bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) của port 1? LED ngoài cùng bến tráu kết nối đến MSB của P1
Nội dung trích xuất từ tài liệu:
Bài thí nghiệm 1: Lập trình giao tiếp phím đơn và Led đơn BÀI TN 1 LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Họ tên: Đinh Thị Thu Thủy MSSV: 1814252MỤC TIÊU: Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình. Nắm được cách lập trình giao tiếp IO port Nắm được cách lập trình tạo thời gian trễ dùng các lệnhCHUẨN BỊ: Đọc chương 1 và chương 2 của tài liệu hướng dẫn Viết chương trình và mô phỏng các bài thí nghiệmTHÍ NGHIỆM 1Mục tiêu Nắm được cách thức điều khiển trực tiếp ngoại vi thông qua các port I/O của 8051.Yêu cầu Viết chương trình thực hiện việc đọc liên tục trạng thái của nút nhấn được nối đến P1.0 và hiển thị ra led được nối tại chân P1.1 (bit thứ 0 của led thanh BL202). ORG 2000H LOOP: MOV C, P1.0 MOV P1.1, C SJMP LOOP ENDKiểm tra Biên dịch và thực thi chương trình để kiểm tra kết quả thực hiện. Thử giải thích tại sao có đến 2 led cùng bị tác động khi nhấn hoặc thả nút. LED nối vào P1.0 và P1.1 đều bị tác động. LED tại P1.0 bị tác động do phần cứng, khi nhấn phím, mức điện áp trên P1.0 bằng 0, đầu còn lại của LED được nối vào điện trở và nối đến VCC nên đèn tại P1.0 sáng. Tương tự, tại P1.1, 1 đầu LED được nối vào điện trở và nối đến VCC, đầu còn lại nối đến P1.1. Khi nhấn nút, P1.0 có mức điện áp thấp, phần mềm sec đọc mức điện áp và đọc cho P1.1 mức điện áp thấp nên đèn sáng. Tổng kết xem các bit nào của 2 port có thể được dùng trong thí nghiệm trên và giải thích tại sao. Tất cả các chân trên P1 đều có thể được dùng do tất cả các chân đều có thể làm chân I/OTHÍ NGHIỆM 2 Biên dịch và thử nghiệm chương trình cho sẵn sau: ORG 2000H MAIN: CPL P1.1 JMP MAIN ENDKiểm tra Biên dịch, thực thi và kiểm tra hoạt động của chương trình bằng cách đo dạng sóng trên oscilloscope.Câu hỏi Theo lý thuyết, dạng sóng tạo ra trên chân P1.1 sẽ như thế nào? Sóng vuông Vẽ dạng sóng đo được trên oscilloscope và so sánh với kết qua lý thuyết. Giống với lý thuyết Tần số tối đa một xung tuần hoàn có chu kỳ nhiệm vụ 50% có thể đạt được là bao nhiêu? - Lệnh JMP tốn 2Mcs, CPL tốn 1Mc => 1 chu kỳ mất 6Mcs => fmax=153,846 Khz ( Với tần số thạch anh là 11.059Mhz)THÍ NGHIỆM 3Mục tiêu Nắm được cách tạo trễ dùng vòng lặp lệnhYêu cầu Viết chương trình tạo xung vuông 1 Khz, chu kỳ nhiệm vụ 50% trên P1.1 ORG 2000H MAIN: CPL P1.1 ACALL DELAY SJMP MAIN DELAY: MOV R7,#230 LOOP: DJNZ R7,LOOP RET ENDKiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách sử dụng oscilloscope để kiểm tra.Câu hỏi Để tạo xung 1Khz, các vòng trễ tạo ra như thế nào. Tính toán chính xác dựa trên chương trình đã viết 0,5.10-3 = 2n.Tmáy = 2n.12Tthạch anh = 24n(1/11059200) n = 230.4 chọn n = 230 Sai số nhỏ nhất có thể đạt được so với yêu cầu là bao nhiêu? HD: Tính sai số dựa vào tần số thạch anh là 11.0592 Mhz. ∆ = (230,4 – 230)/230,4 = 0.17%THÍ NGHIỆM 4Mục tiêu Nắm được cách viết chương trình con để tạo trễYêu cầu Viết chương trình con Delay1sIns và dùng chương trình con này để chớp/tắt LED đơn gắn vào P1.0 sau mỗi khoảng thời gian 1s. ORG 2000H LOOP: CPL P1.0 ACALL DELAY1SINS SJMP LOOP DELAY1SINS: MOV R7, #7 LOOP1: MOV R6, #250 LOOP2: MOV R5, #250 DJNZ R5, $ DJNZ R6, LOOP2 DJNZ R7, LOOP1 RET END Kiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn.Câu hỏi Thời gian 1s được tạo ra như thế nào? 1 = 2n.Tmáy = 2n.12Tthạch anh = 24n(1/11059200) n = 460800 chọn n1 = 250; n2 = 250; n3 = 7THÍ NGHIỆM 5Mục tiêu Nắm được cách hiển thị LED và tạo hiệu ứngYêu cầu Viết chương trình tạo hiệu ứng quay LED: các LED đơn trên BARLED1 sáng lần lượt từ trái sang phải sau thời gian 1s và lặp lại. Sử dụng chương trình con 1s đã viết ở trên. ORG 2000H MAIN: CLR P1.0 ACALL DELAY1SCLR P1.1ACALL DELAY1SCLR P1.2ACALL DELAY1SCLR P1.3ACALL DELAY1SCLR P1.4ACALL DELAY1SCLR P1.5ACALL DELAY1SCLR P1.6ACALL DELAY1SCLR P1.7MOV P1, #7FHSJMP MAINDELAY1S: MOV R7, #1 LOOP1: MOV R6, #250 LOOP2: MOV R5, #250 DJNZ R5, $ DJNZ R6, LOOP2 DJNZ R7, LOOP1 RETENDKiểm tra Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát hiệu ứng trên bar led.Câu hỏi Led ngoài cùng bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) của port 1? LED ngoài cùng bến tráu kết nối đến MSB của P1
Tìm kiếm theo từ khóa liên quan:
Lập trình giao tiếp Phím đơn và Led đơn Kỹ thuật lập trình Lập trình tạo thời gian trễ Phần mềm lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 253 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 194 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 184 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 152 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 103 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0