Báo cáo thực hành học phần Vi điều khiển dành cho kỹ sư chuyên ngành Điện Điện tử. Báo cáo bao các bài tập thực trên dòng vi điều khiển 8051 ngôn ngữ lập trình sử dụng ngôn ngữ Asembly cho người mới bắt đầu vô cũng đơn giản.
BÀI 1: ĐIỀU KHIỂN MỘT LED ĐƠN TỪ VI ĐIỀU Mục tiêu 1.1: Nắm bắt bước thực ứng dụng sử dụng vi điều khiển: mạch phần cứng, soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chuơng trình vào vi điều khiển, chạy ứng dụng 1.2: Tìm hiểu nguyên lý hoạt động hệ vi điều khiển 1.3: Cách thức phối ghép vi điều khiển với thiết bị ngoại vi, xuất tín hiệu điều khiển từ vi điều khiển để điều khiển thiết bị ngoại vi 1.4: Thực mô máy tính Cơng tác chuẩn bị sinh viên: 2.1: Đọc kĩ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị phịng thí nghiệm 2.2: Tìm hiểu đối tượng điều khiển có liên quan Trang thiết bị cần thiết 3.1: Máy tính PC với đầy đủ phần mềm liên quan : Reads51, Proteus 3.2: Mạch vi xử lí (KIT ME950) Các nội dung quy trình 4.1: Xây dựng mạch với LED đơn nối với cổng P0.0 vi điều khiển 8051 (đã thực KIT ME950 mô phần mềm proteus PC) 4.2: Viết chương trình để điều khiển LED nháy với tần số 4Hz _ Xây dựng lưu đồ thuật toán _ Soạn thảo biên dịch chương trình điều khiển phần mềm Reads51 PC #include org 0h ;==nhay led tan so 4Hz== led: setb p0.0 acall delay_250ms clr p0.0 lcall delay_250ms sjmp led ;==tao tre 250ms== delay_250ms: mov r0,#5 lap: mov tmod,#01h mov th0,high(-50000) mov tl0,low(-50000) setb tr0 cho: jnb tf0,cho clr tf0 clr tr0 djnz r0,lap ret end 4.3: Nạp chương trình vào Vi điều khiển KIT ME950 mạch mô Proteus 4.4: Chạy thử đánh giá kết _ Đánh giá: Đèn nháy với độ trễ 250ms Kết luận, yêu cầu đạt với sinh viên sau thực hành _ Xây dựng mạch nguyên lí theo yêu cầu _ Thuật tốn chuơng trình điều khiển đáo ứng yêu cầu đề BÀI 2: ĐIỀU KHIỂN LED ĐƠN TỪ VI ĐIỀU KHIỂN Mục tiêu 1.1: Nắm bắt bước thực ứng dụng sử dụng Vi điều khiển: Mạch phần cứng, soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào Vi điều khiển, chạy ứng dụng 1.2: Tìm hiểu nguyên lý hoạt động hệ Vi điều khiển 1.3: Cách thức phối ghép Vi điều khiển với thiết bị ngoại vi (LED, nút ấn), xuất/nhập tín hiệu Vi điều khiển thiết bị ngoại vi 1.4: Thực mơ máy tính Cơng tác chuẩn bị sinh viên 2.1: Đọc kĩ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị phịng thí nghiệm 2.2: Tìm hiểu đối tượng điều khiển có liên quan Trang thiết bị cần thiết 3.1: Máy tính PC với đầy đủ phần mềm liên quan : Reads51, Proteus 3.2: Mạch vi xử lí (KIT ME950) Các nội dung quy trình 4.1: Mô proteus: Xây dựng mạch với LED đơn nối với cổng P0.0 VĐK 8051 nút ấn nối với cổng P1.0 P1.1 (nút ấn cho mức logic 0) 4.2: Viết chương trình để điều khiển LED: Khi bắt đầu chương trình LED điều khiển để sáng theo thứ tự mẫu Bit 11100000B Khi ấn nút P1.0 xoay trái trình tự sáng LED Khi ấn nút P1.1 xoay phải trình tự sáng LED Nếu nút ấn ấn liên tục việc xoay trái or phải thực 250ms/1 lần _ Xây dựng lưu đồ thuật toán _ Soạn thảo biên dịch chương trình điều khiển Reads51 #include org 0h ;==cho den sang theo thu tu 111000b== mov p0,#11100000b ;==dat lenh nut an== kt: jnb p1.0,xt jnb p1.1,xp sjmp kt ;==xoay trai trinh tu sang== xt: mov a,p0 rl a mov p0,a acall delay_250ms sjmp kt ;==xoay phai trinh tu sang== xp: mov a,p0 rr a mov p0,a acall delay_250ms sjmp kt ;==tao tre 250ms== delay_250ms: mov r0,#5 lap: mov tmod,#01h mov th0,high(-50000) mov tl0,low(-50000) setb tr0 wait: jnb tf0, wait clr tf0 clr tr0 djnz r0,lap ret end 4.3: Nạp chương trình vào Vi điều khiển KIT ME950 mạch mô Proteus 4.4: Chạy thử đánh giá kết *Khi chưa ấn nút : * Ấn nút P1.0 : *Ấn nút P1.1: _ Đánh giá: Khi bắt đầu đèn sáng theo trình tự 111000B Ấn nút P1.0 tạo thành dải LED sáng chạy từ trái sáng phải, giữ liên tục 1s xoay lần Ấn nút P1.1 tạo thành dải LED sáng chạy từ phải sang trái, giữ liên tục 1s xoay lần Kết luận, yêu cầu đạt với sinh viên sau thực hành _ Xây dựng mạch nguyên lý theo yêu cầu _ Thuật tốn chương trình điều khiển đáp ứng yêu cầu đề BÀI 3: ĐIỀU KHIỂN MỘT LED VẠCH TRỰC TIẾP TỪ VI ĐIỀU KHIỂN Mục tiêu: 1.1: Nắm bắt bước thực ứng dụng sử dụng Vi điều khiển: Mạch phần cứng, soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào Vi điều khiển, chạy ứng dụng 1.2: Tìm hiểu nguyên lý hoạt động hệ Vi điều khiển 1.3: Cách thức phối ghép Vi điều khiển với thiết bị ngoại vi (LED, nút ấn), xuất/nhập tín hiệu Vi điều khiển thiết bị ngoại vi Nguyên lí điều khiển LED vạch trực tiếp từ Vi điều khiển 1.4: Thực mơ máy tính Cơng tác chuẩn bị sinh viên 2.1: Đọc kĩ tài liệu hướng dẫn thực hành, đối chiếu với thiết bị phịng thí nghiệm 2.2: Tìm hiểu đối tượng điều khiển có liên quan Trang thiết bị cần thiết 3.1: Máy tính PC với đầy đủ phần mềm liên quan : Reads51, Proteus 3.2: Mạch vi xử lí (KIT ME950) Các nội dung quy trình 4.1: Mơ Proteus: Xây dựng mạch với LED đoạn (anode chung) nối với cổng P2 VĐK 8051 theo trình tự LED a, b, c,…, g nối tương ứng với P2.0, P2.1,…, P2.6 4.2: Viết chương trình để điều khiển LED hiển thị giá trị từ đến 9, giá trị hiển thị 500ms _ Xây dựng lưu đồ thuật toán _ Soạn thảo biên dịch chương trình điều khiển Reads51 #include org 1000h db c0h,f9h,a4h,b0h,99h,92h,82h,f8h,80h,90h org 0h led7v: mov dptr,#1000h mov r0,#0 lap: mov a,r0 movc a,@a+dptr mov p2,a lcall delay_500ms inc r0 cjne r0,#10,lap mov r0,#0 sjmp lap ;============================ delay_500ms: mov r2,#10 lood: mov tmod,#01h mov th0,#high(-50000) mov tl0,#low(-50000) setb tr0 wait: jnb tf0,wait clr tf0 clr tr0 djnz r2,lood ret end 4.3: Nạp chương trình vào Vi điều khiển KIT ME950 mạch mô Proteus 4.4: Chạy thử đánh giá kết _ Đánh giá: Khi chạy chương trình, LED vạch đếm từ đến liên tục Kết luận, yêu cầu đạt với sinh viên sau thực hành _ Xây dựng mạch nguyên lý theo u cầu _ Thuật tốn chương trình điều khiển đáp ứng yêu cầu đề BÀI 4: ĐIỀU KHIỂN HIỂN THỊ KÝ TỰ TRÊN LCDX16 TRỰC TIẾP TỪ VI ĐIỀU KHIỂN Mục tiêu - Nắm bắt bước thực úng dụng sử dụng vi điều khiển: mạch phần cứng,soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,chạy ứng dụng -Tìm hiểu nguyên lý hoạt động LCDx16 -Cách thức phối ghép vi điều khiển với thiết bị ngoại vi, xuất tín hiệu điều khiển từ vi điều khiển để điều khiển thiết bị ngoại vi.Nguyên lý điều khiển LCDx16 trực tiếp từ vi điều khiển -Mơ máy tính Trang thiết bị cần thiết -Máy tính PC với đầy đủ phàn mềm liên quan -Mạch vi xử lý(KIT ME950) -Mạch LCD(Modul LCD) Nội dung -Xây dựng mạch ghép nối VĐK 8051 hình LCD 16x2.Trong : đường liệu D0…D7 LCD nối với cổng P0 VDK 8051,chân RS nối với P2.0,chân RW nối với P2.1, chân E nối vơi P2.2 -Viết chương trình hiển thị LCD dịng “Hello!” Soạn thảo chương trình điều khiển Reads51 #include ORG 0H LCD: MOV A,#38H LCALL GUI_LENH MOV A,#0CH LCALL GUI_LENH MOV A,#06H LCALL GUI_LENH MOV A,#02H LCALL GUI_LENH MOV A,#01H LCALL GUI_LENH ; -MOV A,#'H' LCALL GUI_DU_LIEU MOV A,#'E' LCALL GUI_DU_LIEU MOV A,#'L' LCALL GUI_DU_LIEU MOV A,#'L' LCALL GUI_DU_LIEU MOV A,#'O' LCALL GUI_DU_LIEU SJMP $ GUI_LENH: CLR P2.0 CLR P2.1 MOV P0,A SETB P2.2 LCALL DELAY5 CLR P2.2 LCALL DELAY5 RET ;================ GUI_DU_LIEU: SETB P2.0 CLR P2.1 MOV P0,A SETB P2.2 LCALL DELAY5 CLR P2.2 LCALL DELAY5 RET DELAY5: MOV TMOD,#01H MOV TL0,#LOW(60536) MOV TH0,#HIGH(60536) SETB TR0 CHO: JNB TF0,CHO CLR TF0 CLR TR0 RET END Mô Proteus BÀI 5: ĐIỀU KHIỂN TRUYỀN /NHẬN DỮ LIỆU TỪ VI ĐIỀU KHIỂN VỚI MT THÔNG QUA CỔNG UART Mục tiêu - Nắm bắt bước thực úng dụng sử dụng vi điều khiển: mạch phần cứng,soạn thảo chương trình điều khiển, biên dịch chương trình, nạp chương trình vào vi điều khiển,chạy ứng dụng -Tìm hiểu nguyên lý hoạt động hệ vi điều khiển -Cách thức truyền nhận liệu vi điều khiển với thiết bị khác qua cổng UART Trang thiết bị cần thiết -Máy tính PC với đầy đủ phàn mềm liên quan -Mạch vi xử lý(KIT ME950) -Cáp RS232 Nội dung -Xây dựng mạch với nút ấn nối với cổng P1,8LED đơn nối với cổng P0, KIT ME950 nối với máy tính thơng qua cổng RS232 -Viết chương trình để AT89S52 nhận byte từ máy tính đưa byte za cổng P0,sau đọc cổng P1 gửi máy tính Soạn thảo chương trình điều khiển Reads51 #include ORG 0H MOV SCON,#52H MOV TMOD,#20H MOV TH1,#-3H SETB TR1 ;============== LAP: JNB TI,NEXT MOV SBUF,#41H CLR TI ;============== NEXT: JNB RI,NEXT2 MOV A,SBUF MOV P2,A CLR RI NEXT2: SJMP LAP END Mô Proteus