1. Trang chủ
  2. » Giáo án - Bài giảng

tài liệu vi sử lý bài 2 lập trình ngắt

32 63 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 1,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

tài liệu vi sử lý bài 2 lập trình ngắt..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Trang 1

Giảng viên: Phạm Văn Chiến

Bộ môn: Điện tử máy tính

Khoa: Điện tử

Điện thoại: 0915 666 066

Email: vanchiendhcn@gmail.com

Thực hành kỹ thuật vi xử lý

Trang 2

Nội dung:

Bài thực hành 01: Lập trình điều khiển vào/ra

Bài thực hành 02: Lập trình ứng dụng sử dụng ngắt ngoài

Bài thực hành 03: Lập trình các ứng dụng sử dụng TimerBài thực hành 04: Lập trình ứng dụng SD cổng nối tiếp

Trang 3

Bài thực hành 02:

Lập trình ứng dụng sử dụng ngắt ngoài

Trang 4

Nội dung bài học:

Trang 5

1 Sơ đồ mạch điện

- Sơ đồ nguyên lý phần vào ra:

Mô đun CPU, chân ngắt INT0/P3.2, INT1/P3.3

Trang 6

- Sơ đồ nguyên lý điều khiển led

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

Trang 7

- Sơ đồ nguyên lý các tín hiệu tạo ngắt:

Mô đunphím nhấn,

sử dụng

để kết nối với chân ngắt INT0 hoạc INT1

1 Sơ đồ mạch điện

Trang 8

2 Các thanh ghi điều khiển ngắt

- Nguồn ngắt

AT89S52 có 6 nguồn ngắt:

+ Ngắt ngoài đến từ chân #INT0.

+ Ngắt ngoài đến từ chân #INT1.

+ Ngắt do bộ timer 0.

+ Ngắt do bộ timer 1.

+ Ngắt do bộ timer 2.

+ Ngắt do Port nối tiếp.

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

8

Trang 9

2 Các thanh ghi điều khiển ngắt

Thanh ghi cho phép ngắt IE (Interrupt Enable)

Ví dụ: để cho phép ngắt INT0 cần thiết lập EA=1 và

EX0=1, vậy IE=0b10000001 (0x81)

Trang 10

2 Các thanh ghi điều khiển ngắt

- Lựa chọn sườn ngắt ngoài:

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

10

Ví dụ: bit IT0 = 1, Ngắt INT0 sẽ

xảy ra ngắt khi tín hiệu trên chân

INT0 chuyển từ mức 1 sang mức

0

Bit IT1 = 0, ngắt INT1 sẽ xảy ra

ngắt khi chân INT1 ở mức 0

Trang 11

2 Các thanh ghi điều khiển ngắt

- Thanh ghi lựa chọn ưu tiên ngắt IP:

Ví dụ: Thiết lập ngắt INT0 ở mức ưu tiên cao, các ngắt còn lại ở mức ưu tiên thấp.

PX0=1; các bit còn lại thiết lập ở mức 0.

IP=0b00000001; // 0x01

Trang 12

2 Các thanh ghi điều khiển ngắt

- Khi viết chương trình con phục vụ ngắt cần chú ý thiết lập số

hiệu ngắt để trình dịch nhận biết được ngắt.

Trang 13

3 Lập trình ứng dụng ngắt

- Khung chương trình sử dụng ngắt

Số hiệu ngắt Tên người dùng tự đặt

Trang 14

3 Lập trình ứng dụng ngắt

- Các bước lập trình với ngắt

Bước 1 Viết khung chương trình, định nghĩa các chân

Bước 2 Viết khung chương trình ngắt

Bước 3 Thiết lập thanh ghi ngắt

Bước 4 Viết chương trình chính

Bước 5 Viết chương trình con phục vụ ngắt

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

14

Trang 15

Ví dụ 1 Vẽ sơ đồ mạch điện như hình dưới và lập trình

theo yêu cầu:

- Led D1 được điều khiển nháy liên tục

- Khi nhấn nút ngắt nối với INT0, led D1 ngừng nháy, led D2 sáng nhấp nháy 10 lần, sau đó D1 tiếp tục nháy

Trang 16

3 Lập trình ứng dụng ngắt

Bước 1 Viết khung chương trình, định nghĩa vào/ra

- Định nghĩa Led D1 nối với P1.0, led D2 nối với P1.1

- Khai báo biến j,i để tạo trễ và vòng lặp nháy led 10 lần

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

16

Trang 17

3 Lập trình ứng dụng ngắt

Bước 2 Viết chương trình con phục vụ ngắt

- Số hiệu ngắt của ngắt INT0 là: 0

- Thiết lập tên ngắt là: NgatINT0

Bước 3 Thiết lập ngắt

- IE = 0x81; // sử dụng ngắt INT0 (EA và EX0 bằng 1)

- Chọn ngắt bằng

Trang 18

3 Lập trình ứng dụng ngắt

Bước 4 Viết chương trình chính

- Lập trình điều khiển led D1 sáng nhấp nháy liên tục

- Sử dụng lệnh: for(j=0;j<30000;j++); để tạo trễ

Bước 5 Viết chương trình còn phục vụ ngắt

- Sử dụng vong lặp for với số lần lặp là 20 để điều khiển led D2 sang nháy 10 lần

Trang 19

3 Lập trình ứng dụng ngắt

Chương trình đầy đủ:

Sinh viên viết chương trình qua các bước hướng dẫn trước khi xem chương trình đầy đủ này.

Trang 21

Ví dụ 2 Vẽ sơ đồ mạch điện như hình dưới và lập trình

theo yêu cầu:

- Led D1 được điều khiển nháy liên tục

- Khi nhấn nút ngắt nối với INT1, led D1 ngừng nháy, led D2 sáng nhấp nháy 20 lần, sau đó D1 tiếp tục nháy

Trang 22

Ví dụ 2 Vẽ sơ đồ mạch điện như hình dưới và lập trình

theo yêu cầu:

Hướng dẫn thực hiện:

- Sinh viên thực hiện các bước tương tự ví dụ 1

- Một số điểm khác so với ngắt INT0 ở ví dụ 1:

+ Thiết lập thanh ghi IE: EX0=1 và EA=1+ Bit chọn nguyên nhân ngắt: IT1

+ Số hiệu ngắt INT1 là: 2+ Tên gợi nhớ ngắt: NgatINT1

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

22

Trang 23

Ví dụ 3 Vẽ sơ đồ mạch điện như hình dưới và lập trình theo

yêu cầu:

- Led D1 được điều khiển nháy liên tục.

- Khi nhấn nút KEY1, led D1 ngừng nháy, led D2 sáng nhấp

Trang 24

- Hướng dẫn lập trình:

Bước 1 Viết khung chương trình, định nghĩa chân

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

24

Bước 2 Viết chương trình con phục vụ ngắt

Trang 25

Bước 3 Viết khung chương trình, định nghĩa chân

Bước 4 Viết chương trình con phục vụ ngắt

- IE: Thiết lập EX0, EX1, EA

- Thiết lập IT0, IT1

- IP: Thiết lập bit PX1, xóa bít PX0

Trang 26

Bước 5 Viết chương trình chính

- Viết chương trình chính: Điều khiển led D1 sáng nháy

liên tục

- Chương trình con PV ngắt INT0: Điều khiển led2 sáng

nháy 10 lần sử dụng vòng lặp for với biến j.

- Chương trình con PV ngắt INT1: Điều khiển led3 sáng

nháy 15 lần sử dụng vòng lặp for với biến t.

Trình bày: Phạm Văn Chiến, vanchiendhcn@gmail.com, Khoa Điện tử

ĐHCNHN

26

Trang 27

Chương trình đầy đủ:

Trang 29

Mô phỏng:

Trường hợp 1: Khi đang thực hiện ngắt INT0(nháy led D2)

mà tác động nút nhấn KEY2(ngắt INT1) thì xảy ra hiện

tượng gì?

Trường hợp 2: Khi đang thực hiện ngắt INT1(nháy led D3)

mà tác động nút nhấn KEY1(ngắt INT0) thì xảy ra hiện

tượng gì?

Trang 30

Ví dụ 4 Vẽ sơ đồ mạch điện như hình dưới và lập trình theo

Trang 32

Bước 5 Viết chương trình con phục vụ ngắt

- Tăng giá trị biến sản phẩm lên 1 mỗi lần ngắt.

Ngày đăng: 24/05/2020, 23:35

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w