Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
0,96 MB
Nội dung
ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH PHÒNG ĐÀO TẠO - KHOA ĐIỆN TỬ Bài giảng VI ĐIỀU KHIỂN 8051 8051 Microcontroller TS Lê Thế Vinh 21 April 2009 L.T.Vinh Nội dung 21 April 2009 L.T.Vinh Giới thiệu 8051 Lập trình cho 8051, phần mềm Đảm bảo phần cứng Bộ thực tập MDA-EMS51 Một số tập thực hành L.T.Vinh ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Giới thiệu 8051 - Vi điều khiển 8051 máy tính tích hợp chíp (là IC, integrated circuit, có 40 chân) - Khác với Vi xử lý, CPU Ứng dụng: nhiều dụng cụ điện tử, thiết bị điện, ôtô, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động, v.v 21 April 2009 L.T.Vinh Giới thiệu 8051 Communicationtruyền thông Avionics- đ.tử hàng không Automobile - ôtô Consumer Electronics – TB đ.tử tiêu dùng 21 April 2009 L.T.Vinh Household Appliances – dụng cụ gia đình L.T.Vinh ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Giới thiệu 8051 Today’s high-end automobile have > 80 microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine Millions lines of code 21 April 2009 L.T.Vinh Giới thiệu 8051 Một số thông số máy bay 21 April 2009 L.T.Vinh L.T.Vinh ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Giới thiệu 8051 Một số thông số máy bay 21 April 2009 L.T.Vinh Giới thiệu 8051 Đặc điểm: 4K Bytes ROM 128 Bytes RAM cổng 8-bit I/O định thời 16-bit Cổng nối tiếp … Sơ đồ khối 8051 21 April 2009 L.T.Vinh L.T.Vinh ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Lập trình cho 8051 Ví dụ: Ngôn ngữ lập trình ORG 2000H MOV SP,#50H MOV PSW,#00H CLR P1,00H ; LED on ; SETB P1,0FH ;LED off END 21 April 2009 L.T.Vinh Lập trình cho 8051 Các bước: • Viết chương trình • Dịch chương trình file hex • Nạp chương trình vào VĐK • Chạy chương trình 21 April 2009 L.T.Vinh L.T.Vinh 10 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Đảm bảo phần cứng 21 April 2009 Nạp chương trình dạng Hex cho VĐK Cấp nguồn: Vcc=+5V; (40) GND=0V (20) (mass) Cấp xung nhịp (Mạch dao động, 18,19) Tín hiệu khởi động (ban đầu, xảy lỗi, 9) L.T.Vinh 11 Bộ thực tập MDA-EMS51 + MDA - EMS51 TB thực hành VĐK 8051 (cty Midas Engineering, Hàn Quốc) + Kit MDA - EMS51 gồm khối giao tiếp để tìm hiểu vi điều khiển 8051 + Có chế độ làm việc: KIT PC + Có phần cứng + mềm 21 April 2009 L.T.Vinh L.T.Vinh 12 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Bộ thực tập MDA-EMS51 + CPU & MEMORY CPU sử dụng vi điều khiển 8051 với xung nhịp 11,0592 MHz Khối nhớ gồm nhớ ROM SRAM ROM chứa chương trình sở cho phép người sử dụng điều khiển kit MDA - EMS51 bàn phím Hex, khối hiển thị LCD để trao đổi liệu SRAM dùng để chứa chương trình ứng dụng người dùng tạo + LED: LEDs nối với cổngn P1.0-P1.3 + Dot Matrix: Khối ma trận điểm sử dụng LED để thị Kích thước ma trận điểm 8x8 Khối giao tiếp với với bus hệ thống thông qua vi mạch 8255A Các tập tìm hiểu cấu trúc nguyên lý hiển thị ma trận điểm thực khối + Keyboard: Khối bàn phím có 25 phím gồm: 16 phím liệu số Hex, phím chức phím khởi động lại (RESET) Phím RESET nằm góc bên phải tách rời với phím khác Các thông tin điều khiển liệu nhập vào hệ thống thông qua bàn phím 21 April 2009 L.T.Vinh 13 Bộ thực tập MDA-EMS51 10 Bật máy tính Mở nắp Bộ thực tập Bật công tắc nguồn (off -> on) Suy nghĩ toán cần làm, viết giấy thuật toán Viết mã lệnh (lập trình) Notepad Dùng phần mềm (chương trình) MDA-EMS51 để chuyển mã lệnh sang mã hex, nạp vào VĐK, chạy thử Quan sát kết Bộ thực hành Xem xét, phân tích sửa chương trình cho phù hợp (lặp lại bước 4-8) Làm tập khác (các bước 4-8) Kết thúc buổi thực hành: Đóng phần mềm, Tắt Bộ thực tậpđậy nắp hộp, Tắt máy tính 21 April 2009 L.T.Vinh L.T.Vinh 14 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh 15 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh L.T.Vinh 16 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh 17 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh L.T.Vinh 18 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh 19 Bộ thực tập MDA-EMS51 Một số giao diện: … F2, F3, - F5, F6 21 April 2009 L.T.Vinh L.T.Vinh 20 10 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Một số tập thực hành Bật sáng LED (0,0) ; chuong trinh: Bat LED (0,0) ; Khai bao Bien dia chi HANGA EQU 0C014h COTC EQU 0C016h TuDK EQU 0C017h ; Port A ; Port C ; Control Word Register ; Khoi dong ORG MOV MOV 2000h SP,#50h PSW,#0 ; Bank ; Khoi dong 8255A -MOV MOV MOVX DPTR,#TuDK A,#80h ; Tu dieu khien @DPTR,A ; Khoi tao cho 8255A ; Dua gia tri DK Port A - MOV A,#00000001B MOV MOVX DPTR,#HANGA @DPTR,A ; PA = 0FFh ; Dua gia tri DK Port C MOV DPTR,#COTC 21 April 2009 MOV A,#11111110B MOVX END @DPTR,A ; DPTR tro vao PC ; Gia tri lieu cho PC ; PC = A L.T.Vinh 29 Một số tập thực hành Bật sáng LED (7,7) ; chuong trinh: Bat LED (7,7) ; Khai bao Bien dia chi HANGA EQU 0C014h COTC EQU 0C016h TuDK EQU 0C017h ; Port A ; Port C ; Control Word Register ; Khoi dong ORG MOV MOV 2000h SP,#50h PSW,#0 ; Bank ; Khoi dong 8255A -MOV MOV MOVX DPTR,#TuDK A,#80h ; Tu dieu khien @DPTR,A ; Khoi tao cho 8255A ; Dua gia tri DK Port A - MOV A,#10000000B MOV MOVX DPTR,#HANGA @DPTR,A ; PA = 0FFh ; Dua gia tri DK Port C MOV DPTR,#COTC 21 April 2009 L.T.Vinh MOV A,#01111111B MOVX END @DPTR,A L.T.Vinh ; DPTR tro vao PC ; Gia tri lieu cho PC ; PC = A 30 15 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Một số tập thực hành Bật sáng LED (0,0) Và LED (7,7) Thuật toán Quét nhu bai truoc ; BAT LED (0,0) - LP: MOV A,#00000001B MOV MOVX MOV DPTR,#HANGA @DPTR,A ; PA = 0FFh DPTR,#COTC ; DPTR tro vao PC MOV A,#11111110B ; DL cho PC MOVX @DPTR,A ; PC = A CALL DELAY ; Luu y Do dai ; BAT LED (7,7) - MOV A,#10000000B MOV MOVX MOV DPTR,#HANGA @DPTR,A ; PA = 0FFh DPTR,#COTC ; DPTR tro vao PC MOV A,#01111111B ; DL cho PC MOVX @DPTR,A ; PC = A JMP LP END 21 April 2009 L.T.Vinh 31 Một số tập thực hành Quét nhanh - chậm ; chuong trinh tao tre DELAY: PUSH PSW MOV PSW,#18h MOV R7,#0 DLY1: MOV R6,#0 DLY2: NOP NOP NOP DJNZ R6,DLY2 DJNZ R7,DLY1 POP PSW RET ; Bank Tổng độ dài thời gian trể: t=R7 x R6 (1-256), lưu ý: 0=256, bé 21 April 2009 L.T.Vinh L.T.Vinh 32 16 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Một số tập thực hành Cột LED chạy? PA=1 màu đỏ PB=1 m xanh PA=PB=1 vàng 21 April 2009 L.T.Vinh 33 Một số tập thực hành Lưu đồ thuật toán – Chương trình 21 April 2009 L.T.Vinh L.T.Vinh 34 17 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Một số tập thực hành Một số tập 1- Bật/tắt điểm LED bất kỳ, với màu đỏ, xanh, vàng Ví dụ: LEDs (1,3); (2,6); (5,5); v.v 2- Thử nghiệm thuật toán QUÉT cho điểm LED không hàng, cột với thời gian trể nhanh – chậm khác ? 1- Thuật toán? 2- Lưu đồ? 3- Chương trình? 4- Chạy thử nghiệm? 5- Xe xét, điều chỉnh (lặp đi, lặp lại) 21 April 2009 L.T.Vinh 35 Một số tập thực hành KT Lập trình cho VĐK Ví dụ: Cấu trúc chương trình Định nghĩa, khai báo biến, Bắt đầu: ORG 2000h Chương trình Các chương trình Kết thúc END 21 April 2009 L.T.Vinh X EQU 0C014H; Y DB 00100001B; ORG 2000H MOV SP,#50H MOV PSW,#00H CLR P1,00H CALL Delay Delay: ; chuong trinh delay END L.T.Vinh 36 18 ĐH Sư phạm Kỹ thuật Vinh 21 April 2009 Một số tập thực hành KT Lập trình cho VĐK Truy cập bít Mảng chiều CLR P1.0 CLR P1 CLR P1.1 Hoặc CLR P1.2 MOV a,#00000000h CLR P1.3 MOV P1,a 21 April 2009 L.T.Vinh 37 Một số tập thực hành HANGA EQU MANG2: DB DB DB 0C014H ORG … MOV MOV MOV LAP: MOVC MOV MOVX INC DJNZ … END 2000H 21 April 2009 L.T.Vinh 00000000B 11111100B 00010010B B,0 R1,3 DPTR,#MANG2 A,@B+DPTR DPTR,#HANGA @DPTR,A B R1,LAP KT Lập trình cho VĐK