Lập trình hợp ngữ và điều khiển thiết bị

124 797 1
Lập trình hợp ngữ và điều khiển thiết bị

Đ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

Lập trình hợp ngữ, và điều khiển thiết bị

Môn học: Lập trình hợp ngữ điều khiển thiết bị GV: Phạm Văn Thuận Bộ môn Kỹ thuật Máy tính Viện CNTT & TT email: thuanpv@it-hut.edu.vn Mục tiêu môn học § Sau kết thúc môn học này, sinh viên • Trình bày cấu trúc phần cứng kiến trúc tập lệnh vi họ điều khiển 8051 • Lập trình hợp ngữ sử dụng tập lệnh vi điều khiển 8051 để điều khiển thiết bị ngoại vi • Sử dụng phần mềm Proteus để mô hoạt động vi điều khiển thiết bị ngoại vi Lập trình hợp ngữ điều khiển thiết bị § Tài liệu tham khảo chính: Nguyễn Tăng Cường – Cấu trúc lập trình họ vi điều khiển 8051 Michael J.Paul – Embedded C Diễn đàn: dientuvietnam.net Lập trình hợp ngữ điều khiển thiết bị Nội dung môn học Chương Cấu trúc vi điều khiển 8051 Chương Lập trình hợp ngữ vi điều khiển 8051 Chương Lập trình vi điều khiển 8051 điều khiển thiết bị (sử dụng C) Lập trình hợp ngữ điều khiển thiết bị Cấu trúc vi điều khiển 8051 1.1 Tổng quan vi điều khiển 1.2 Kiến trúc vi điều khiển 8051 Lập trình hợp ngữ điều khiển thiết bị 1.1 Tổng quan vi điều khiển §Vi điều khiển Vi xử lý Vi điều khiển: Computer On Chip (bao gồm CPU, Bộ nhớ, cổng vào ra) Lập trình hợp ngữ điều khiển thiết bị Tổng quan vi điều khiển § Một số dòng vi điều khiển phổ biến • • • • • 8051 (AT89C51, AT89S51, AT89S52) AVR (ATMEGA8, ATMEGA16) PIC (PIC16F877A, PIC18F4550, PIC18F2550) ARM (ARM7, ARM9) … Lập trình hợp ngữ điều khiển thiết bị Lập trình vi điều khiển § Lập trình vào cổng (trên cổng chân cổng) § Lập trình sử dụng ngắt § Lập trình với môđun ngoại vi: UART, SPI, I2C… § … Lập trình hợp ngữ điều khiển thiết bị 1.2 Kiến trúc vi điều khiển 8051 §Do hãng Intel thiết kế năm 1981 §Gồm 40 chân vCó cổng vào ra, cổng rộng bit: P0, P1, P2, P3 vNhóm chân nguồn, dao động điều khiển §Ngoại vi: UART §6 nguồn ngắt (2 ngắt ngoài) §2 Timer/Counter §4KB Flash, 128 Byte Ram §Tần số xung nhịp tối đa: 24 MHz Lập trình hợp ngữ điều khiển thiết bị Đóng vỏ vi điều khiển 8051 10 Lập trình hợp ngữ điều khiển thiết bị Sơ đồ khối 110 Lập trình hợp ngữ điều khiển thiết bị Sơ đồ chân 111 Lập trình hợp ngữ điều khiển thiết bị Các bước lập trình điều khiển LCD § Bước 1: Thiết lập cấu hình làm việc cho LCD • Sử dụng phương thức ghi (0-> R/W) • Thao tác ghi lệnh (0-> RS) § Bước 2: Gửi liệu hiển thị LCD • • • • Chọn vị trí hiển thị (nếu cần) Sử dụng phương thức ghi (0-> RW) Thao tác ghi liệu (1-> RS) Dữ liệu gửi tới LCD mã ASCII ký tự cần hiển thị • Gửi đến chân E xung cao xuống thấp để chốt liệu 112 Lập trình hợp ngữ điều khiển thiết bị Tập lệnh điều khiển LCD 113 Lập trình hợp ngữ điều khiển thiết bị Hàm gửi lệnh điều khiển tới LCD void LCD_Send_Command(unsigned char x) { LCD_DATA=x; RS=0; //Chon ghi lenh RW=0; //De ghi du lieu EN=1; Delay_ms(1); EN=0; Wait_For_LCD(); //Doi cho LCD san sang EN=1; } Lập trình hợp ngữ điều khiển thiết bị 114 Hàm gửi ký tự tới LCD void LCD_Write_One_Char(unsigned char c) { LCD_DATA=c; //Dua du lieu vao ghi RS=1; //Chon ghi du lieu RW=0; EN=1; Delay_ms(1); EN=0; Wait_For_LCD(); EN=1; } Lập trình hợp ngữ điều khiển thiết bị 115 Hàm khởi tạo LCD void LCD_init() { //Chon che 5x7 bit, hang cho LCD LCD_Send_Command(0x38); //Bat hien thi, nhap nhay tro LCD_Send_Command(0x0E); LCD_Send_Command(0x01); //Xoa man hinh LCD_Send_Command(0x80); //Ve dau dong } 116 Lập trình hợp ngữ điều khiển thiết bị Ví dụ 117 Lập trình hợp ngữ điều khiển thiết bị 3.8 Lập trình bảng quang báo § Ví dụ bảng quang báo: bảng quảng cáo, thông báo… 118 Lập trình hợp ngữ điều khiển thiết bị Nguyên tắc hoạt động bảng quang báo § Bảng quang báo hoạt động dựa tượng lưu ảnh mắt người § Các hàng/cột bảng quang báo quét với tốc độ nhanh tượng lưu ảnh mà mắt người không cảm nhận thay đổi 119 Lập trình hợp ngữ điều khiển thiết bị Linh kiện làm bảng quang báo § Bảng quang báo kích thước nhỏ: một vài module led 8x8 120 Lập trình hợp ngữ điều khiển thiết bị Linh kiện làm bảng quang báo § Bảng quang báo kích thước lớn: hàng chục/hàng trăm module led ghép nối với § Mỗi cụm module led có vi điều khiển § Các vi điều khiển cụm kết nối với theo chuẩn truyền tin • • • • RS485 CAN I2C … 121 Lập trình hợp ngữ điều khiển thiết bị Cấu tạo module led § Mỗi module led bao gồm chân điều khiển hàng điều khiển cột § VD: module led 8x8 có chân điều khiển hàng chân điều khiển cột 122 Lập trình hợp ngữ điều khiển thiết bị Các bước làm ứng dụng quang báo § Tạo font chữ mong muốn § Thiết kế mạch ghép nối module led với với vi điều khiển § Thực thuật toán quét led phù hợp 123 Lập trình hợp ngữ điều khiển thiết bị Ví dụ § Để hiển thị chữ A module led 8x8 • Bước 1: Tạo font chữ (thường có kích thước 5x8 – chiều rộng pixel cao pixel) 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 124 Lập trình hợp ngữ điều khiển thiết bị [...]... ngữ và điều khiển thiết bị 2 Lập trình hợp ngữ vi điều khiển 8051 2.1 Cơ bản về lập trình hợp ngữ 2.2 Tập lệnh vi điều khiển 8051 2.3 Mở đầu về lập trình hợp ngữ 2.4 Các cấu trúc lập trình với hợp ngữ 2.5 Các lệnh logic, lệnh dịch, lệnh quay 2.6 Cổng vào/ra và lập trình 2.7 Lập trình xử lý ngắt 13 Lập trình hợp ngữ và điều khiển thiết bị 2.1 Cơ bản về lập trình hợp ngữ § Ngôn ngữ máy: • Chỉ được biểu... 24 Lập trình hợp ngữ và điều khiển thiết bị Tập lệnh vi điều khiển 8051 Lệnh rẽ nhánh Lệnh Giải thích ACALL Gọi chương trình con, địa chỉ 11 bit LCALL Gọi chương trình con, địa chỉ 16 bit RET Trở về từ chương trình con JMP Lệnh nhảy không điều kiện JZ, JNZ, JB, JNB… Lệnh nhảy có điều kiện (kiểm tra bit) 25 Lập trình hợp ngữ và điều khiển thiết bị 2.3 Mở đầu lập trình hợp ngữ 2.3.1 Cú pháp của hợp ngữ. .. kết thúc file mã nguồn 30 Lập trình hợp ngữ và điều khiển thiết bị Một số lệnh cơ bản § Lệnh ADD: cộng • Cú pháp: ADD A,nguồn ;cộng toán hạng ;nguồn vào thanh ghi A § Lệnh MOV: chuyển dữ liệu • Cú pháp MOV đích, gốc ;chuyển dữ liệu từ toán hạng ;gốc vào toán hạng đích 31 Lập trình hợp ngữ và điều khiển thiết bị Dịch và chạy chương trình 32 Lập trình hợp ngữ và điều khiển thiết bị Ví dụ sử dụng lệnh ADD,... trình 2.3.3 Khai báo biến, hằng số 2.3.4 Một số lệnh cơ bản 2.3.5 Cấu trúc chương trình hợp ngữ 2.3.6 Dịch và chạy chương trình 2.3.7 Một số ví dụ 26 Lập trình hợp ngữ và điều khiển thiết bị Cú pháp của hợp ngữ § Một chương trình hợp ngữ bao gồm một chuỗi các dòng lệnh hợp ngữ § Một lệnh hợp ngữ có một từ gợi nhớ (ADD, SUBB, MOV…) và tùy vào từng lệnh mà sau đó không, một hay hai toán hạng § Lệnh hợp. .. A/B 22 Lập trình hợp ngữ và điều khiển thiết bị Tập lệnh vi điều khiển 8051 Lệnh truyền dữ liệu Lệnh Giải thích MOV đích, nguồn Đích = nguồn (Bộ nhớ trong) MOVX đích, nguồn PUSH Đích = nguồn (Thao tác bộ nhớ ngoài) Đẩy dữ liệu vào đỉnh ngăn xếp POP Lấy dữ liệu từ đỉnh ngăn xếp XCH Tráo đổi dữ liệu XCHD Tráo đổi dữ liệu ( 4 bit thấp) 23 Lập trình hợp ngữ và điều khiển thiết bị Tập lệnh vi điều khiển. .. dụ: üMOV A,@R0 ;chuyển dữ liệu trong ô nhớ có ;địa chỉ được chỉ ra trong thanh ;ghi R0 vào thanh ghi A 20 Lập trình hợp ngữ và điều khiển thiết bị 2.2 Tập lệnh vi điều khiển 8051 § § § § § Lệnh số học Lệnh truyền dữ liệu Lệnh logic Xử lý bit Lệnh rẽ nhánh 21 Lập trình hợp ngữ và điều khiển thiết bị Tập lệnh vi điều khiển 8051 Lệnh số học Lệnh Giải thích ADD đích, nguồn Đích = đích + nguồn ADDC đích,... lệnh ADD, MOV 33 Lập trình hợp ngữ và điều khiển thiết bị Ví dụ nhấp nháy led ORG 000 AGAIN: SETB P1.0 ACALL DELAY CLR P1.0 ACALL DELAY SJMP AGAIN DELAY: MOV R1,#255 LOOP: DJNZ R1,LOOP RET END ;Dia chi bat dau cua chuong trinh ;Nhap nhay led o chan P1.0 ;Tao tre 34 Lập trình hợp ngữ và điều khiển thiết bị 2.4.Các cấu trúc lập trình với hợp ngữ 2.4.1 Các lệnh liên quan 2.4.2 Cấu trúc điều kiện 2.4.3... ghi) 16 Lập trình hợp ngữ và điều khiển thiết bị Các chế độ địa chỉ § Chế độ địa chỉ tức thời • Toán hạng nguồn là hằng số • Trước dữ liệu tức thời cần có dấu # • Ví dụ: üMOV A, #25 ; Nạp giá trị 25 và thanh ghi A 17 Lập trình hợp ngữ và điều khiển thiết bị Các chế độ địa chỉ § Chế độ định địa chỉ thanh ghi • Sử dụng thanh ghi để lưu trữ dữ liệu cần thao tác • Thanh ghi nguồn và đích phải phù hợp về... quan 2.4.2 Cấu trúc điều kiện 2.4.3 Cấu trúc lặp 35 Lập trình hợp ngữ và điều khiển thiết bị Các lệnh điều kiện § Lệnh nhảy có điều kiện: JZ, JNZ, DJNZ, JC, JNC, JB, JNB § Lệnh nhảy không điều kiện: SJMP (nhảy ngắn), LJMP (nhảy dài) § Ví dụ: MOV JNZ MOV NEXT: A,R5 NEXT R5,#55h ;A=R5 ;Nhảy tới NEXT nếu A khác 0 … 36 Lập trình hợp ngữ và điều khiển thiết bị ... vi điều khiển 8051 11 Lập trình hợp ngữ và điều khiển thiết bị Các thanh ghi của 8051 § Các thanh ghi dùng để lưu tạm thời dữ liệu hoặc địa chỉ § Các thanh ghi này chủ yếu là thanh ghi 8 bit § Các thanh ghi thường được sử dụng • • • • Thanh ghi A : thanh ghi tích lũy Thanh ghi R0->R7 Thanh ghi con trỏ dữ liệu DPTR (16 bit) Thanh ghi bộ đếm chương trình PC (16bit) 12 Lập trình hợp ngữ và điều khiển thiết ... 8051 Michael J.Paul – Embedded C Diễn đàn: dientuvietnam.net Lập trình hợp ngữ điều khiển thiết bị Nội dung môn học Chương Cấu trúc vi điều khiển 8051 Chương Lập trình hợp ngữ vi điều khiển 8051. .. trình vi điều khiển 8051 điều khiển thiết bị (sử dụng C) Lập trình hợp ngữ điều khiển thiết bị Cấu trúc vi điều khiển 8051 1.1 Tổng quan vi điều khiển 1.2 Kiến trúc vi điều khiển 8051 Lập trình hợp... khiển thiết bị Đóng vỏ vi điều khiển 8051 10 Lập trình hợp ngữ điều khiển thiết bị Kiến trúc vi điều khiển 8051 11 Lập trình hợp ngữ điều khiển thiết bị Các ghi 8051 § Các ghi dùng để lưu tạm thời

Ngày đăng: 21/04/2016, 18:13

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

Tài liệu liên quan