Nhập môn Lập trình Vi điều khiển

15 291 0
Nhập môn Lập trình Vi điều khiển

Đ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

Nhập mơn Lập trình Vi điều khiển Nhập mơn Lập trình Vi điều khiển Bởi: Nguyễn Phương Quang Giáo trình trọng đến phần thực hành lập trình vi điều khiển nên khơng có phần lý thuyết vi điều khiển mà thay vào nhập mơn lập trình vi điều khiển Trong phần này, giáo trình trình bày vấn đề lý thuyết hệ 80x86, vừa đủ cho người học giải tập chương trình Sau vững phần bản, người học nâng cao hiểu biết vi điều khiển thông qua tập nâng cao Tổ chức hệ vi điều khiển : 1.1 Giới thiệu hệ vi điều khiển dùng phần mềm mô phỏng: Như giới thiệu phần trước hệ vi xử lý dùng chương trình mơ hệ vi điều khiển thực tế nói chung bao gồm ba phần : vi xử lý (CPU); nhớ thiết bị xuất nhập (I/O) Cụ thể trình bày hình 2-1 Bộ mô bao gồm khối xử lý trung tâm (CPU), 256 byte nhớ truy xuất ngẫu nhiên (RAM) 16 cổng vào sử dụng port (từ port đến port 5)? 1/15 Nhập mơn Lập trình Vi điều khiển Hình 2-1: Hệ thống vi điều khiển dùng phần mềm Chương trình mơ lập trình để chạy nhiều chương trình khác Trong thực tế, nhớ RAM thay ROM Ở có hàng trăm thí dụ hệ thống : điều khiển đèn giao thơng, trò chơi giải trí đơn giản, điều khiển ti vi từ xa, định thời gian cho lò viba, hệ thống điều khiển động xe hơi, điều khiển lò gia nhiệt, hệ thống điều khiển môi trường Tất tuỳ thuộc vào uyển chuyển giáo viên giảng dạy 1/ Khối xử lý trung tâm: Khối xử lý trung tâm " não" máy vi tính Tất tính tốn, định việc dịch chuyển liệu thực thi CPU dùng vị trí lưu trữ tạm thời gọi ghi, ghi nhớ liệu có dung lượng thấp liệu điện mạch khơng có back up ( mạch làm nhiệm vụ liên tục cấp điện cho CPU ) Nó chứa khối số học logic (viết tắt ALU) khối thực việc xử lý Dữ liệu lấy từ ghi, xử lý kết sau xử lý xong đưa trở lại ghi Lệnh Move (MOV) sử dụng để dịch chuyển liệu vùng nhớ RAM ghi Ở ta có nhiều lệnh, lệnh có chức riêng Tập hợp lệnh gọi tập lệnh 2/ Các ghi đa năng: 2/15 Nhập mơn Lập trình Vi điều khiển CPU có bốn ghi mục đích chung gọi AL, BL, CL DL Những ghi chứa bít hay byte Các ghi quản lý số không dấu vùng từ đến 255 có dấu vùng từ - 128 đến + 127 : ghi sử dụng vùng nhớ lưu trữ tạm thời Các ghi sử dụng ưu tiên vùng nhớ RAM cần khoảng thời gian tương đối dài để chuyển liệu RAM CPU Nhìn chung máy vi tính có tốc độ xử lý nhanh ghi hay nhớ có dung lượng lớn CPU Các ghi gọi tên AL, BL, CL DL phiên 16 bit CPU có nhiều ghi gọi AH, BH, CH DH Chữ "L" có nghĩa thấp (Low) chữ "H" có nghĩa cao (High) Ở đây, chữ cuối L H ghi bít thấp bít cao ghi 16 bit 3/ Các ghi chuyên dùng : Các ghi chuyên dùng hệ vi điều khiển dùng phần mềm mô IP, SR SP a) Con trỏ lệnh IP Thanh ghi chứa địa lệnh hành Khi việc thực thi hoàn thành, IP giảm xuống tới lệnh Khi nhớ RAM hiển thị, trỏ lệnh làm rõ màu đỏ chữ vàng b) Thanh ghi trạng thái SR Thanh ghi chứa cờ để báo cáo trạng thái CPU Cờ zero "Z" thiết lập việc tính tốn có kết Cờ dấu "S" thiết lập việc tính tốn có kết âm Cờ tràn "O"được thiết lập kết ghi lớn 255 (tràn số) Ngắt "I" thiết lập lệnh ngắt cho phép c) Con trỏ ngăn xếp SP Ngăn xếp vùng tổ chức nhớ sử dụng qui tắc vào sau trước (LIFO: Last In First Out) Con trỏ ngăn xếp tới ô nhớ ngăn xếp chồng Ngăn xếp mô bắt đầu địa BF Ngăn xếp tăng theo hướng địa 0, liệu cất vào ngăn xếp lưu giữ cho lần sử dụng sau Dữ liệu lấy khỏi ngăn xếp cần đến Con trỏ ngăn xếp quản lý nơi ngăn xếp cất lấy liệu Khi hiển thị RAM, trỏ ngăn xếp tô sáng màu xanh chữ vàng 4/ Bộ nhớ RAM : Bộ mơ có 256 byte RAM, có địa từ đến 255 ( số thập phân) hay từ 00 đến FF (số Hex) Ðịa RAM thường đặt dấu ngoặc vng ví dụ 3/15 Nhập mơn Lập trình Vi điều khiển [7C] 7C số Hex [7C] đọc liệu cất ô nhớ 7C Trong thực tế, là? ROM nói chung chương trình lưu trữ 5/ Các BUS (Busline: luồng liên lạc): Các BUS tập hợp dây dẫn sử dụng để mang tín hiệu trao đổi thông tin thiết bị hệ vi xử lý Chúng thường in đường song song board mạch điện Khe cắm ổ cắm cho phép card kết nối với hệ thống thơng qua BUS Ðiển hình máy tính bit có ghi với độ rộng bit đường BUS liệu Một máy tính 16 bit có ghi 16 bit, BUS liệu có 16 đường v v.Có thể dùng hình tượng xa lộ để minh họa BUS ( Hình 2-2): xa lộ có nhiều địa điểm A, B, C, D Nếu dùng dây điện để nối (nối cứng) ta phải tốn nhiều đường dây để liên kết địa điểm lại với xa lộ lái xe dù không thông thạo vùng dọc xa lộ tìm đến địa điểm cần đến Rõ ràng với BUS ta liên kết nhiều thiết bị hệ vi xử lý lại với (mỗi thiết bị xem địa điểm xa lộ xe mang thơng tin trao đổi thiết bị hệ thống) 4/15 Nhập mơn Lập trình Vi điều khiển Hình 2-2 : Minh họa BUS thơng qua hình tượng xa lộ Dựa vào tính chất thơng tin tải Bus, người ta phân làm ba loại chính: a) Bus liệu : sử dụng để mang liệu CPU, RAM port nhập / xuất (I/O) Bộ mơ có bus liệu bit b) Bus địa chỉ: sử dụng để xác định địa nhớ RAM hay port I/O sử dụng Bộ mô có bit địa c) Bus điều khiển: xác định RAM hay khối I/O truy xuất Nó xác định việc đọc hay viết liệu Dữ liệu viết vào hay xuất CPU đến RAM hay cổng I/ O bus điều khiển 6/ Các yếu tố phụ trợ khác: a) Ðồng hồ hệ thống (clock): đường mang xung có tần số ổn định để phận hệ vi xử lý làm việc đồng với nhau, lệnh vi xử lý thực thi dựa vào chu kỳ xung Do tốc độ hệ vi xử lý bị ảnh hưởng nhiều tần số xung clock Tốc độ xung clock đạt đến vài tỉ chu kỳ giây (vào năm 2002) Bộ mô phần mềm điều chỉnh tần số xung clock nên tốc độ thực thi lệnh điều chỉnh khoảng rộng trơn mà không cần chọn thay đổi thạch anh dao động b) Ngắt cứng: hệ thống cần có đường ngắt giúp CPU đáp ứng yêu cầu phần cứng máy in chạy hết giấy, nhấn nhả phím, rê chuột CPU xử lý chương trình phục vụ ngắt để trả lời lệnh ngắt Khi hoàn thành chương trình ngắt, tiếp tục thao tác làm trước nhu cầu ngắt xuất Phần 5/15 Nhập mơn Lập trình Vi điều khiển mềm mơ có sẵn đường ngắt định thời tạo xung ngắt tạo xung ngắt có tần số điều chỉnh (xem ví dụ 11 phần bản) 1?2 Nguyên lý làm việc hệ vi điều khiển phần mềm: Hoạt động bên vi điều khiển phức tạp, điều khiển hoạt động thành phần hệ thống Nhưng thật vi điều khiển lập lập lại chu kỳ đón thực thi lệnh (còn gọi chu kỳ tìm nạp + giải mã + thi hành lệnh) thực theo bước sau : * Tìm nạp lệnh từ nhớ vào ghi lệnh IR Trong chương trình CPU tìm nạp lệnh theo địa mà IP tới: đón hay tìm nạp lệnh * Ðịnh loại lệnh vừa tìm nạp, lệnh dùng liệu nhớ CPU tìm đến nạp vào ghi bên CPU: giải mã lệnh * Thi hành lệnh vừa giải mã xong lưu kết nơi thích hợp: thi hành lệnh Sau thực xong bước CPU lại tìm đến lệnh chương trình để thực lặp lại bước Có thể minh họa hình 2-3 Hình 2-3 : CPU liên tục tìm nạp thi hành lệnh 6/15 Nhập mơn Lập trình Vi điều khiển Như chương trình CPU phức tạp thực hoạt động: tìm lệnh, thi hành, tìm lệnh, thi hành.và mà tiếp diễn CPU thực thi tồn chương trình Cụ thể ta quan sát ví dụ sau chương trình mơ Mở tập động bước phần tập đĩa CD này, bạn gặp giao diện tập sau: 7/15 Nhập môn Lập trình Vi điều khiển Trên hình hiển thị chương trình điều khiển động bước quay theo chiều cố định Nhấp chuột vào Step , vi điều khiển thực lệnh MOV AL,1 Màn hình sau diễn tả tác động lệnh lên vi điều khiển sau: 8/15 Nhập mơn Lập trình Vi điều khiển 9/15 Nhập mơn Lập trình Vi điều khiển Ta thấy số hexa nạp vào ghi AL, ghi IP (con trỏ lệnh) địa lệnh mà vi điều khiển thực (OUT 05) nằm ô nhớ 03 Các ghi khác không tham gia vào lệnh nên khơng có thay đổi Tiếp tục nhấp Step , ta thấy: Lệnh OUT 05 xuất liệu chứa ghi AL (là 01) sang port 05 điều khiển động bước cho phép nhóm cuộn dây nhóm có điện (có thể xem chi tiết động bước phần giới thiệu đĩa CD này) Con trỏ lệnh IP tự động tăng thêm đơn vị (do lệnh OUT 05 chiếm đến byte nhớ RAM) địa 10/15 Nhập mơn Lập trình Vi điều khiển lệnh mà vi điều khiển thực (MOV AL,2) nằm ô nhớ 05 Cũng giống ghi khác không tham gia nên không thay đổi tác động lệnh Tiếp tục nhấp vào Step , ta nhận thấy: Tương tự trên, số hexa nạp vào ghi AL trỏ IP tăng lên 08 lệnh OUT 05 nằm địa 08 RAM Tiếp tục nhấp Step , ta thấy: Tương tự, ta thấy tác động lệnh OUT 05 làm động bước quay góc 10o Tiếp tục nhấp Step tiếp tục lệnh cuối JMP start 11/15 Nhập mơn Lập trình Vi điều khiển 12/15 Nhập mơn Lập trình Vi điều khiển Nếu từ đầu đến vi điều khiển thực lệnh từ xuống đến vi điều khiển thực bước nhảy Nó nhảy đến nơi có chứa nhãn start, chương trình nhãn start đầu chương trình nên giá trị trỏ lệnh IP 00 Nhấp Step 13/15 Nhập mơn Lập trình Vi điều khiển Nếu bạn nhấp Run hay F9 chương trình mơ liện tục lặp lại bước vừa nêu Qua ví dụ đơn giản vừa nêu trên, ta thấy bình thường vi điều khiển thực lệnh từ điểm xuất phát định người lập trình gặp lệnh nhảy, gọi chương trình (nhấp vào để xem minh hoạ : chương trình cấp; chương trình đa cấp), gọi chương trình ngắt tính tạm thời bị gián đoạn Từ ta nhận thấy, với yêu cầu đặt cho hệ thống vi xử lý có nhiều chương trình thoả mãn yêu cầu trên, chương trình dài chương trình lại ngắn, điều tuỳ thuộc vào nhiều yếu tố khả người lập trình, cấu trúc phần cứng hệ thống Trình tự lập trình vi điều khiển 14/15 Nhập mơn Lập trình Vi điều khiển Chương trình vi điều khiển tập hợp lệnh xắp xếp theo trình tự định, lệnh lấy tập lệnh vi điều khiển (Microcontroller) sử dụng hệ thống Bộ vi điều khiển thực lệnh nàỵ để đạt số kết qủa mà chương trình đặt Do vậy, lập trình tuỳ vào yêu cầu tốn thiết kế, người lập trình viết chương trình chạy vi điều khiển sử dụng đưa hệ thống vào làm việc theo yêu cầu toán đặt Ðể thiết kế chương trình cách xác, ta cần thực bước sau: 2.1 Phân tích yêu cầu đề 2.2 Xây dựng lưu đồ giải thuật 2.3 Thiết kế chương trình 2.4 Viết chương trình 2.5 Biên dịch chương trình 2.6 Thưc gỡ rối chương trình 2.7 Nạp chương trình vào phần cứng kiểm tra kết Thực quy trình giúp giảm thiểu thời gian kiểm tra phát kịp thời thiếu sót thực 15/15 ... tục lệnh cuối JMP start 11/15 Nhập mơn Lập trình Vi điều khiển 12/15 Nhập mơn Lập trình Vi điều khiển Nếu từ đầu đến vi điều khiển thực lệnh từ xuống đến vi điều khiển thực bước nhảy Nó nhảy đến... thống Trình tự lập trình vi điều khiển 14/15 Nhập mơn Lập trình Vi điều khiển Chương trình vi điều khiển tập hợp lệnh xắp xếp theo trình tự định, lệnh lấy tập lệnh vi điều khiển (Microcontroller)... điều chỉnh (xem ví dụ 11 phần bản) 1?2 Nguyên lý làm vi c hệ vi điều khiển phần mềm: Hoạt động bên vi điều khiển phức tạp, điều khiển hoạt động thành phần hệ thống Nhưng thật vi điều khiển lập

Ngày đăng: 10/11/2017, 11:21

Từ khóa liên quan

Mục lục

  • Nhập môn Lập trình Vi điều khiển

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

Tài liệu liên quan