ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN NGÔN NGỮ LẬP TRÌNH ASSEMBLY

12 489 1
ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN  NGÔN NGỮ LẬP TRÌNH ASSEMBLY

Đ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

Cơng Nghệ thơng tin có khả xóa bỏ hàng rào ngăn cách người học người dạy tồn giới Sức mạnh mơn học thay đổi hội tiếp cận tri thức Các phương pháp dạy học sáng tạo giúp học sinh xác định kinh nghiệm lớp học có nhiều kỳ vọng Ngồi kỹ họ cần phải thành thạo quan hệ hợp tác, giao tiếp quản lý thông tin tất kỹ kỷ 21 hội tiếp cận với công cụ phục vụ học tập giúp dễ dàng đạt kỹ Mơn học Ngơn ngữ lập trình dành cho hệ Cao đẳng đưa vào chương trình thiết kế sau: PHẦN ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN NGƠN NGỮ LẬP TRÌNH ASSEMBLY Tên học phần: NGƠN NGỮ LẬP TRÌNH ASSEMBLY Số đơn vị học trình: (45 tiết) Trình độ: Sinh viên năm thứ hệ cao đẳng, ngành Tin học Phân bổ thời gian: - Lý thuyết: 30 tiết - Thực hành: 15 tiết Điều kiện tiên quyết: Tin học đại cương, Kiến trúc máy tính Mơ tả vắn tắt nội dung học phần: Chương 1: Trang bị cho sinh viên có kiến thức về: - Cú pháp hợp ngữ - Một vài lệnh Chương 2: Trang bị cho sinh viên có kiến thức về: - Cầu tạo tổng quan vi điều khiển 8051 - Các ghi chức đặc biệt, hoạt động ngắt hoạt động định thời Chương 3: Trang bị cho sinh viên có kiến thức về: - Các kiểu định địa Chương 4: Trang bị cho sinh viên có kiến thức về: - Tập lệnh lập trình hợp ngữ Nhiệm vụ sinh viên: - Dự lớp: Lên lớp nghe giảng thảo luận - Bài tập & thực hành: Hoàn thành tập thực hành giao - Thi, kiểm tra: Đạt kết kỳ thi điều kiện thi cuối kỳ Tài liệu học tập: [1] Giáo trình “Ngơn ngữ lập trình Assembly” trường Đại học Điện lực Sách tham khảo: [1] Quách Tuấn Ngọc, Đỗ Tiến Dũng, Nguyễn Quang Khải, lập trình hợp ngữ, NXB Giáo Dục, 1998 [2] Tống Văn On, Hoàng Đức Hải, Họ vi điều khiển 8051 NXB Lao Động, 2001 [3] MCS® 51 Microcontroller Family User’S Manual, Intel,1994 10.Tiêu chuẩn đánh giá sinh viên: - Thi cuối kỳ 11.Thang điểm: thang điểm 10 12.Mục tiêu học phần: Trang bị cho sinh viên có kiến thức vấn đề: - Cấu trúc chương trình hợp ngữ - Cầu tạo vi điều khiển 8051 - Khái niêm ghi, kiểu định địa - Tập lệnh lập trình hợp ngữ cho 8051 - Viết hồn thiện chương trình hợp ngữ 13 Nội dung mơn học NỘI DUNG CHƯƠNG GIỚI THIỆU TỔNG QUÁT QUAN 1.1 Giới thiệu lập trình hợp ngữ Assembly THỜI GIAN Tổng LT TH 6 1.2 Trình dịch hợp ngữ 1.3 Khn dạng chương trình hợp ngữ 1.4 Một lệnh CHƯƠNG VI ĐIỀU KHIỂN 8051 12 KT 11 2.1 Cấu tạo phần cứng 2.2 Tổ chức nhớ ghi chức đặc biệt 2.3 Hoạt động định thời 3 2.4 Hoạt động ngắt CHƯƠNG CÁC KIỂU ĐỊNH ĐỊA CHỈ 3 21 12 4.1 Lệnh số học 4.2 Lệnh logic 4.3 Lệnh di chuyển liệu 4.4 Lệnh xử lý bít 4.5 Lệnh rẽ nhánh 15 3.1 Định địa ghi 3.2 Định địa trực tiếp 3.3 Định địa gián tiếp 3.4 Định địa tức thời 3.5 Định địa tương đối CHƯƠNG TẬP LỆNH TỔNG SỐ 45 27 PHẦN VIẾT KẾ HOACH MỘT BÀI DẠY MẪU GIÁO ÁN SỐ Ngày thực : 10 Số tiết : 01 Tổng số tiết giảng: 27 : 28 Tháng 10 Năm 2006 Tên học : Lệnh rẽ nhánh Mục đích : Trang bị cho sinh viên kiến thức lệnh rẽ nhánh Yêu cầu dụng : - Sinh viên phải nắm cú pháp, hoạt động, cách sử lệnh rẽ nhánh ận dụng vào tốn lập trình cụ thể I-ỔN ĐỊNH LỚP (1 phút) Số học sinh vắng: Tên: …………………………………………………………………………………… Nội dung nhắc nhở: II-KIỂM TRA BÀI CŨ: Thời gian phút, dự kiến học sinh kiểm tra: Họ tên Điểm Nội dung kiểm tra: Nhắc lại cũ III-GIẢNG BÀI MỚI Đồ dung dạy học: Phấn, bảng, giáo án, giáo trình, máy chiếu, máy tính Nội dung, phương pháp: TT Nội dung giảng dạy CHƯƠNG 4: TẬP LỆNH 4.5 Lệnh rẽ nhánh 4.5.1 Lệnh nhảy a Lệnh SJMP Cú pháp SJMP Label Chức Nhảy ngắn Thời gian (Phút) Phương pháp thực Diễn giảng phát vấn Chú ý Lệnh SJMP sử dụng kiểu định địa tương đối Ví dụ b Lệnh LTMP Cú pháp LJMP Diễn giảng phát vấn Diễn giảng phát vấn Diễn giảng phát vấn 20 Diễn giảng phát vấn Label Chức Nhảy dài Chú ý Lệnh SJMP sử dụng kiểu định địa dài Ví dụ 4.5.2 Lệnh nhảy có điều kiện a JNB Cú pháp Chức Nhảy bít khơng Chú ý Lệnh JMP sử dụng kiểu định địa tương đối Ví dụ b DJNZ Cú pháp DJNZ byte, Label Chức Nhảy bít không Chú ý Lệnh DJNZ sử dụng kiểu định địa tương đối Ví dụ c Ví dụ tổng hợp Viết chương trình tạo xung 1kHz chân p1.2 sử dụng timer IV-TỔNG KẾT BÀI: Thời gian phút Nhắc lại cú pháp, hoạt động lệnh rẽ nhánh V-CÂU HỎI VÀ BÀI TẬP: Thời gian phút Đọc hiểu, giáo trình tài liệu có liên quan đến học Viết chương trình tạo sóng vng 400 Hz chân P1.2 100Hz chân P0.3 sử dụng định thời Đọc trước tài liệu …… VI-RÚT KINH NGHIỆM (Về nội dung, phương pháp, thời gian thực giảng) BÀI GIẢNG CHƯƠNG 4: TẬP LỆNH 4.1 Lệnh số học 4.2 Lệnh logic 4.3 Lệnh di chuyển liệu 4.4 Lệnh xử lý bít 4.5 Lệnh rẽ nhánh Nhắc lại cũ: Trong trước, học Các lệnh xử lý bít 8051 SETB, CLR,… vời lệnh xử lý bit làm cho việc đặt chế độ hoạt động điều khiển thành phần chíp Timer, Port, thơng qua ghi chức đặc biệt có định địa bit trở nên thuận tiện khơng gây ảnh hưởng đến bít khác Ví dụ: Thanh ghi TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Để xóa cở tràn khơng cho phép timer hoạt động ta sử dụng lệnh di chuyển liệu MOV TCON, #00000000B Tuy nhiên không xác định trước giá trị bit ghi TCON lệnh di chuyển liệu làm ảnh hưởng đến bit Nếu dùng lệnh xử lý bit như: CLR TR1 CLR TF1 Sẽ tối ưu Hôm tiếp tục nghiên cứu tập lệnh 8051, lệnh rẽ nhánh Vào 4.5 Lệnh rẽ nhánh Lệnh rẽ nhánh, thực hiệnh việc điều khiển luồng chương trình theo định hướng lập trình Lệnh rẽ nhánh tập lệnh 8051 chia thành nhóm sau: - Lệnh nhảy - Lệnh nhảy có điều kiện - Lệnh gọi thủ tục trở từ thủ tục 4.5.1 Lệnh nhảy Bao gồm lệnh sau: SJMP, LJMP, ẠMP a Lệnh SJMP Cú pháp SJMP Label Trong đó: - SJMP mã gợi nhớ viết tắt Short Jump - Label nhãn đặt trước lệnh dự định nhảy tới Chức Nhảy ngắn, điểu khiển chương trình rẽ nhánh khơng điều kiện đến địa thông qua nhãn Chú ý Lệnh SJMP sử dụng kiểu định địa tương đối, tầm nhẩy giới hạn -128 byte đến 127 byte Ví dụ LOOP MOV TH1,#12H MOV TL1,#23H SETB P1.0 …… SJMP LOOP b Lệnh LJMP Cú pháp LJMP Label Trong đó: - LJMP mã gợi nhớ viết tắt Long Jump - Label nhãn đặt trước lệnh dự định nhảy tới Chức Nhảy dài, điểu khiển chương trình rẽ nhánh không điều kiện đến địa thông qua nhãn Chú ý Lệnh SJMP sử dụng kiểu định địa dài, tầm nhẩy giới hạn tồn khơng gian nhớ chương trình 64 Kbyte Ví dụ LOOP MOV TH1,#12H MOV TL1,#23H SETB P1.0 …… LJMP LOOP 4.5.2 Lệnh nhảy có điều kiện Bao gồm lệnh sau: JNB, DJNZ, JC, JNC, JB, JBC, CJNE, JZ a JNB Cú pháp JNB bit, Label Trong đó: - JNB mã gợi nhớ - Label nhãn đặt trước lệnh dự định nhảy tới - bit bit ghi vùng nhớ định địa bít Chức Nhảy bít khơng Chú ý Lệnh JNB sử dụng kiểu định địa tương đối, tầm nhẩy giới hạn -128 byte đến 127 byte Ví dụ MOV TH1,#23H MOV TL1,#2AH SETB TR1 WAIT: JNB TF1,WAIT b DJNZ Cú pháp DJNZ byte, Label Trong đó: - DJNZ mã gợi nhớ - Label nhãn đặt trước lệnh dự định nhảy tới - byte ghi định địa trực tiếp Chức Nhảy byte không Chú ý Lệnh DJNZ sử dụng kiểu định địa tương đối, tầm nhẩy giới hạn -128 byte đến 127 byte Ví dụ LOOP CPL P1.2 MOV SOLAN_LAP,#12H SETB P1.0 …… DJNZ SOLAN_LAP,LOOP c Ví dụ tổng hợp Viết chương trình tạo xung vng 1kHz chân p1.2 sử dụng timer Phân tích toán: Các thành phần liên quan - Timer1 - Port Các ghi liên quan - Thanh ghi cổng p1 ghi địa bít, ta quan tâm đến bít p1.2 - Thanh ghi TMOD GATE C/T M1 M0 GATE C/T M1 M0 Đây ghi không định địa bit, phạm vi tập, ta quan tâm đến bít số nhằm xác định chế độ định thời cho timer1, ta chọn chế độ định thời (16 bit) ta có M0 =1, M1=0, bít khác chọn Vậy ta có giá trị cần nạp vào ghi TMOD 10H - Thanh ghi TCON Thanh ghi TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Đây ghi định địa bit, ta cần sử dụng bít TF1 kiểm tra tràn ghi đinh thời, TR1 điều khiển timer1 chay/dừng - Thanh ghi định thời T1, xác định sau: Ta tạo xung 1kHz, ta có chu kỳ xung T= 1/f = 0.001 S = 1000 µS, thời gian xung cao 500 µS thời gian xung thấp 500 µS Chọn tần số thạnh anh la 12MHz ta có số cần nạp vào T1 -500 đổi Hexa FE0CH (nạp FE vào TH1, 0C vào TL1) Viết chương trình ORG 00H LJMP START ORG 03H ; INT0 RETY ORG 0BH ; T0 RETY ORG 13H ; INT1 RETY ORG 1BH ; T1 RETY ORG 23H ; SERIAL PORT RETY ORG 100H START: MOV TMOD,#10H SETB P1.2 LOOP : MOV TH1,#FEH MOV TL1,#0CH SETB TR1 WAIT : JNB TF1,WAIT CLR TR1 CLR TF1 CPL P1.2 SJMP LOOP END Tổng kết Bài hôm em cần nắm nội dung sau: Lệnh nhảy bao gồm lệnh,… Trong lệnh… Lệnh nhảy có điều kiện,… Bài tập nhà: Đọc thêm tài liệu liên quan đến mơn học Viết chương trình tạo sóng vuông 400 Hz chân P1.2 100 Hz chân P0.3 sử dụng định thời Đọc trước …… PHẦN VIẾT MỘT BÀI DẠY KIỂM TRA 15 PHÚT Tìm số m lớn thoả mãn bất đẳng thức: m2+m+1< 2006 Phân tích tốn - Đây tốn có sử dụng lặp mà số lần lặp trước, chon câu lệnh lặp While Do thực - Biểu thức điều kiện m2+m+1< 2006 - Công việc: Thay đổi giá trị m sau vịng lặp theo cơng thức m:=m+1, giá trị biểu thức Điều kiện có xu hướng thay đổi thay đổi giá trị m Viết chương trình Program Tim_m; Var m : integer; Begin m:=1; While (m*m+m+1

Ngày đăng: 31/12/2015, 13:14

Từ khóa liên quan

Mục lục

  • I-ỔN ĐỊNH LỚP (1 phút)

  • Số học sinh vắng:...................Tên:.........................................................................

  • Nội dung nhắc nhở:.................................................................................................

  • ................................................................................................................................

  • ................................................................................................................................

    • III-GIẢNG BÀI MỚI

    • BÀI GIẢNG

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

  • Đang cập nhật ...

Tài liệu liên quan