1. Trang chủ
  2. » Thể loại khác

Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)

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

Tiêu đề Mô Phỏng Mạch Tự Động Bật Tắt Đèn Theo Thời Gian
Tác giả Nguyễn Thị Mai-B18DCCN391, Đỗ Thị Thúy-B18DCCN652
Người hướng dẫn Nguyễn Quý Sỹ
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Kĩ Thuật Vi Xử Lý
Thể loại Bài Tập Lớn
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 1,77 MB

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

Nội dung

MỤC LỤC LỜI MỞ ĐẦU ..........................................................................................................................3 Phần 1: Mục tiêu.......................................................................................................................4 Phần 2: Vi điều khiển AT89C52 ...............................................................................................4 2.1. Giới thiệu vi điều khiển AT89C52 ...............................................................................4 2.2. Cấu tạo của vi điều khiển AT89C52.............................................................................6 2.2.1. Các cổng vào ra.....................................................................................................7 2.2.2. Tổ chức bộ nhớ .....................................................................................................9 2.3. Hệ thống ngắt của AT89C52......................................................................................12 2.4. Các chế độ định địa chỉ..............................................................................................15 2.4.1. Địa chỉ tức thời....................................................................................................15 2.4.2. Địa chỉ theo thanh ghi .........................................................................................15 2.4.3. Địa chỉ trực tiếp...................................................................................................16 2.4.4. Địa chỉ gián tiếp thanh ghi...................................................................................16 2.4.5. Địa chỉ theo chỉ số...............................................................................................16 2.5. Tập lệnh của AT89C52 ..............................................................................................16 2.5.1. Các lệnh toán học ................................................................................................17 2.5.2. Các lệnh điều khiển chương trình ........................................................................18 2.5.3. Các lệnh vận chuyển dữ liệu................................................................................19 2.5.4. Các lệnh logic .....................................................................................................20 2.5.5. Các lệnh thao tác bit............................................................................................22 Phần 3: Thiết kế hệ thống phần cứng ......................................................................................232 3.1. Mạch hệ thống ...........................................................................................................23 3.2. Các link kiện sử dụng ................................................................................................24 3.2.1. Vi điều khiển AT89C52 ......................................................................................24 3.2.2. Màn hình LCD Lm016l......................................................................................24 3.2.3. Các thiết bị khác....................................................................................................25 Phần 4: Thuật toán điều khiển.................................................................................................26 ...............................................................................................................................................263 LỜI MỞ ĐẦU Ngày nay, với sự ra đời của các bộ vi xử lý nói chung và vi điều khiển nói riêng đã có những ứng dụng rộng rãi và thâm nhập ngày càng nhiều trong lĩnh vực đời sống và xã hội. Hầu hết, các thiết bị kỹ thuật từ phức tạp cho đến đơn giản như thiết bị điều khiển tự động, thiết bị văn phòng, cho đến các thiết bị trong gia đình đều có dùng các bộ vi điều khiển. Xuất phát từ thực tế đó, môn học Kỹ thuật vi xử lý là môn học không thể thiếu đối với bất kỳ sinh viên trường kỹ thuật nào, nhất là sinh viên các khoa Công nghệ thông tin, Điện tử viễn thông,...Không chỉ cung cấp cho sinh viên kiến thức về vi điều khiển để xây dựng nên những hệ thống thiết bị kỹ thuật hiện đại, mà nó còn là môn học căn bản để chúng ta hiểu rõ bản chất của việc xử lý các số liệu tính toán đang tồn tại từng giờ. Đem đến cái nhìn sâu sắc hiểu biết sâu rộng về thế giới tin học, góp phần tạo nên sự say mê sáng tạo cho mỗi sinh viên yêu thích bộ môn khoa học kỹ thuật này. Với tính ưu việt của vi điều khiển, thì trong phạm vi đồ án nhỏ này, chúng em đã chọn đề tài “Mô phỏng mạch tự động bật tắt đèn theo thời gian”, sử dụng vi điều khiển họ 8051, và cụ thể là chip Intel AT89C52. Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm những ứng dụng của vi điều khiển trong thực tiễn, đề rồi từ đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến. Phần 1: Mục tiêu Mô phỏng được mạch tự động bật tắt đèn theo thời gian: tại một khung giờ nào đó khi trời tối đèn sẽ được tự động bật và sẽ tự động tắt tại một khung giờ mà trời bắt đầu sáng không cần dùng đèn.

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN MÔN KĨ THUẬT VI XỬ LÝ

Đề tài:

MÔ PHỎNG MẠCH TỰ ĐỘNG BẬT TẮT ĐÈN

THEO THỜI GIAN

Giảng viên hướng dẫn: NGUYỄN QUÝ SỸ Sinh viên: Nguyễn Thị Mai-B18DCCN391

Đỗ Thị Thúy-B18DCCN652

Tổ thực hiện: TỔ 17 Nhóm lớp : 11

Hà Nội, ngày 01 tháng 12 năm 2020

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 3

Phần 1: Mục tiêu 4

Phần 2: Vi điều khiển AT89C52 4

2.1 Giới thiệu vi điều khiển AT89C52 4

2.2 Cấu tạo của vi điều khiển AT89C52 6

2.2.1 Các cổng vào ra 7

2.2.2 Tổ chức bộ nhớ 9

2.3 Hệ thống ngắt của AT89C52 12

2.4 Các chế độ định địa chỉ 15

2.4.1 Địa chỉ tức thời 15

2.4.2 Địa chỉ theo thanh ghi 15

2.4.3 Địa chỉ trực tiếp 16

2.4.4 Địa chỉ gián tiếp thanh ghi 16

2.4.5 Địa chỉ theo chỉ số 16

2.5 Tập lệnh của AT89C52 16

2.5.1 Các lệnh toán học 17

2.5.2 Các lệnh điều khiển chương trình 18

2.5.3 Các lệnh vận chuyển dữ liệu 19

2.5.4 Các lệnh logic 20

2.5.5 Các lệnh thao tác bit 22

Phần 3: Thiết kế hệ thống phần cứng 23

Trang 4

3.1 Mạch hệ thống 23

3.2 Các link kiện sử dụng 24

3.2.1 Vi điều khiển AT89C52 24

3.2.2 Màn hình LCD Lm016l 24

3.2.3 Các thiết bị khác 25

Phần 4: Thuật toán điều khiển 26

26

Trang 5

LỜI MỞ ĐẦU

Ngày nay, với sự ra đời của các bộ vi xử lý nói chung và vi điều khiển nói riêng đã có những ứng dụng rộng rãi và thâm nhập ngày càng nhiều trong lĩnh vực đời sống và xã hội Hầu hết, các thiết bị kỹ thuật từ phức tạp cho đến đơn giản như thiết bị điều khiển tự động, thiết bị văn phòng, cho đến các thiết

bị trong gia đình đều có dùng các bộ vi điều khiển

Xuất phát từ thực tế đó, môn học Kỹ thuật vi xử lý là môn học không thể thiếu đối với bất kỳ sinh viên trường kỹ thuật nào, nhất là sinh viên các khoa Công nghệ thông tin, Điện tử viễn thông, Không chỉ cung cấp cho sinh viên kiến thức về vi điều khiển để xây dựng nên những hệ thống thiết bị kỹ thuật hiện đại, mà nó còn là môn học căn bản để chúng ta hiểu rõ bản chất của việc xử lý các số liệu tính toán đang tồn tại từng giờ Đem đến cái nhìn sâu sắc hiểu biết sâu rộng về thế giới tin học, góp phần tạo nên sự say mê sáng tạo cho mỗi sinh viên yêu thích bộ môn khoa học kỹ thuật này

Với tính ưu việt của vi điều khiển, thì trong phạm vi đồ án nhỏ này,

chúng em đã chọn đề tài “Mô phỏng mạch tự động bật tắt đèn theo thời

gian”, sử dụng vi điều khiển họ 8051, và cụ thể là chip Intel AT89C52

Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử

nghiệm những ứng dụng của vi điều khiển trong thực tiễn, đề rồi từ đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến

Trang 6

Phần 1: Mục tiêu

Mô phỏng được mạch tự động bật tắt đèn theo thời gian: tại một khung giờ nào đó khi trời tối đèn sẽ được tự động bật và sẽ tự động tắt tại một khung giờ mà trời bắt đầu sáng không cần dùng đèn

Phần 2: Vi điều khiển AT89C52

Hình 2-1 AT89C52 Hình 2-2 AT89C52

2.1 Giới thiệu vi điều khiển AT89C52

 AT89C52 thuộc họ vi điều khiển Intel 8051 Vi điều khiển 8051 lần đầu tiên được Intel giới thiệu vào năm 1981 Đây là bộ vi điều khiển 8 bít với 128 byte RAM và 4KB ROM, một cổng nối tiếp và 4 cổng 8 bít trên một vi mạch đơn lẻ Dòng vi điều khiển này trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác được chế tạo vi điều khiển tương thích với 8051

 AT89C52 là vi điều khiển 8 bit được chế tạo bằng công nghệ CMOS 8-bit công suất thấp, hiệu suất cao với 8KB bộ nhớ chỉ đọc có thể lập trình và xóa được (PEROM) Thiết bị được sản xuất bằng công nghệ bộ nhớ không biến đổi mật độ cao của Atmel và tương thích với

Trang 7

tập lệnh và sơ đồ chân 80C51 và 80C52 tiêu chuẩn công nghiệp Flash trên chip cho phép bộ nhớ chương trình được lập trình lại trong hệ thống hoặc bằng bộ lập trình bộ nhớ thông thường Bằng cách kết hợp một CPU 8 bit đa năng với Flash trên chip nguyên khối, Atmel AT89C52 là một máy tính siêu nhỏ mạnh mẽ cung cấp một giải pháp linh hoạt và hiệu quả về chi phí cho nhiều điều khiển nhúng các ứng dụng

 Các đặc trưng của AT89C52:

• Tương thích với họ vi điều khiển MCS-51(8051) của Intel

• 8KB bộ nhớ flash có thể lập trình lại trong hệ thống

• Độ bền: 1.000 chu kỳ ghi / xóa

• Hoạt động hoàn toàn tĩnh: 0 Hz đến 24 MHz

• Kênh nối tiếp có thể lập trình

• Chế độ chờ và tắt nguồn công suất thấp

Trang 8

2.2 Cấu tạo của vi điều khiển AT89C52

Hình 2-2-1 Sơ đồ khối tổng quát của vi điều khiển họ 8051

Khối chức năng đặc trưng cho họ vi điều khiển 8051 đó là: ROM và RAM, các cổng vào/ra, bộ định thời và kênh thông tin nối tiếp

Hình 2-2-2 Sơ đồ khối của AT89C52 Hình 2-2-3 Sơ đồ chân AT89C52

Trang 9

2.2.1 Các cổng vào ra

Thuộc họ vi điều khiển 8051, AT89C52 cũng có 4 cổng vào/ra 8 bit có thể thiết lập như cổng vào hoặc ra Như vậy có tất cả 32 chân I/O cho phép vi điều khiển có thể kết nối với các thiết bị ngoại vi

 Port 0: gồm các chân 32 – 39(P0.0 đến P0.7) có chức năng:

+ Chức năng I/O (xuất/nhập): dùng cho các thiết kế nhỏ Tuy nhiên, khi dùng chức năng này thì Port 0 phải dùng thêm các điện trở kéo lên (pull-up), giá trị của điện trở phụ thuộc vào thành phần kết nối với Port

+ Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó

+ Chức năng địa chỉ / dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏi phải sử dụng bộ nhớ ngoài thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ (8 bit thấp) Ngoài ra khi lập trình, Port 0 còn dùng để nhận mã khi lập trình và xuất mã khi kiểm tra (quá trình kiểm tra đòi hỏi phải có điện trở kéo lên)

 Port 1: gồm các chân 1 – 8 (P1.0 đến P1.8) chỉ có một chức năng là I/O, P1.0 và P1.1 được sử dụng cho bộ định thời thứ 3: P1.0 đếm đầu vào cho Timer/Counter 2; P1.1 kích hoạt nạp/chụp lại Timer/Counter 2 Tại Port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉ thấp trong quá trình lập trình hay kiểm tra Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1 trước đó

 Port 2: gồm các chân 21 – 28 (P2.0 đến P2.7), có chức năng:

+ Chức năng I/O (xuất / nhập)

+ Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ 16 bit Khi đó, Port 2 không được dùng cho mục đích I/O

+ Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó

 Port 3 (chân 10 – 17) là port có chức năng:

+ Chức năng I/O Khi dùng làm ngõ vào, Port 3 phải được set mức logic 1 trước đó + Chức năng khác:

Trang 10

Bảng 2-2-1-1 Bảng chức năng các chân của PORT 3

 Các chân điều khiển:

8052 thi hành chương trình trong ROM nội, PSEN sẽ ở mức logic 1

+ ALE/ PROG (Address Latch Enable / Program): ALE/ PROG (chân 30) cho phép tách các đường địa chỉ và dữ liệu tại Port 0 khi truy xuất bộ nhớ ngoài Ngoài ra, chân này còn được dùng làm ngõ vào xung lập trình cho ROM nội ( /PROG )

+ EA /VPP (External Access) : EA (chân 31) dùng để cho phép thực thi chương trình từ ROM ngoài Ngoài ra, chân EA được lấy làm chân cấp nguồn 12V khi lập trình cho ROM + RST (Reset): RST (chân 9) cho phép reset AT89C52 khi ngõ vào tín hiệu đưa lên mức

1 trong ít nhất là 2 chu kỳ máy

+ XTAL1, XTAL2: Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêm thạch anh và các tụ

Trang 11

2.2.2 Tổ chức bộ nhớ

AT89C52 có bộ nhớ theo cấu trúc Harvard: không gian bộ nhớ riêng cho chương trình và dữ liệu Cả 2 bộ nhớ chương trình và dữ liệu đều đặt ở bên trong chip, tuy nhiên ta có thể mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chíp nhớ bên ngoài với dung lượng tối đa là 64KB cho bộ nhớ chương trình (hay bộ nhớ mã) và 64KB cho bộ nhớ dữ liệu

Bộ nhớ nội trong chip bao gồm ROM và RAM RAM bao gồm nhiều vùng có mục đích khác nhau: vùng RAM đa dụng, vùng RAMcó thể địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt SFR (Special Funtion Register)

a RAM nội:

Được chia thành các vùng phân biệt: vùng RAM đa dụng (địa chỉ byte từ 30h – 7Fh và có thêm vùng 80h – 0FFh ứng với 8052), vùng RAM có thể định địa chỉ bit (địa chỉ byte từ 20h – 2Fh, gồm 128 bit được định địa chỉ bit từ 00h – 7Fh) và các bank thanh ghi (00h – 1Fh)

c RAM có thể định địa chỉ bit:

Vùng địa chỉ từ 20h – 2Fh gồm 16 byte (= 128 bit) có thể thực hiện giống như vùng RAM

đa dụng (mỗi lần 8 bit) hay thực hiện truy xuất mỗi lần 1 bit bằng các lệnh xử lý bit Vùng RAM này có các địa chỉ bit bắt đầu tại giá trị 00h và kết thúc tại 7Fh Như vậy, địa chỉ bắt đầu 20h (gồm 8 bit) có địa chỉ bit từ 00h – 07h; địa chỉ kết thúc 2Fh có địa chỉ bit từ 78h – Fh

d Các bank thanh ghi:

Vùng địa chỉ từ 00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 từ 00h- 07h, bank 1 từ 08h – 0Fh, bank 2 từ 10h – 17h và bank 3 từ 18h – 1Fh Các bank thanh ghi này được đại diện bằng các thanh ghi từ R0 đến R7 Sau khi khởi động hệ thống thì bank thanh ghi được sử dụng

là bank 0

Trang 12

2.2.3 Các thanh ghi

 Thanh ghi tích luỹ (Accumulator)

Thanh ghi tích luỹ là thanh ghi sử dụng nhiều nhất trong AT89C52, được ký hiệu trong câu lệnh là A Ngoài ra, trong các lệnh xử lý bit, thanh ghi tích luỹ được ký hiệu là ACC

Thanh ghi tích luỹ có thể truy xuất trực tiếp thông qua địa chỉ E0h (byte) hay truy xuất từng bit thông qua địa chỉ bit từ E0h đến E7h

 Thanh ghi từ trạng thái chương trình (PSW - Program Status Word)

Thanh ghi từ trạng thái chương trình PSW nằm tại địa chỉ D0h và có các địa chỉ bit từ D0h – D7h, bao gồm 7 bit (1 bit không sử dụng)

 Thanh ghi con trỏ stack (SP – Stack Pointer)

Con trỏ stack SP nằm tại địa chỉ 81h và không cho phép định địa chỉ bit SP dùng để chỉ đến đỉnh của stack Stack là một dạng bộ nhớ lưu trữ dạng LIFO (Last In First Out) thường dùng lưu trữ địa chỉ trả về khi gọi một chương trình con

 Con trỏ dữ liệu DPTR (Data Pointer)

Con trỏ dữ liệu DPTR là thanh ghi 16 bit bao gồm 2 thanh ghi 8 bit: DPH (High) nằm tại địa chỉ 83h và DPL (Low) nằm tại địa chỉ 82h Các thanh ghi này không cho phép định địa chỉ bit DPTR được dùng khi truy xuất đến bộ nhớ có địa chỉ 16 bit

 Các thanh ghi port

Các thanh ghi P0 tại địa chỉ 80h, P1 tại địa chỉ 90h, P2, tại địa chỉ A0h, P3 tại địa chỉ B0h

là các thanh ghi chốt cho 4 port xuất / nhập (Port 0, 1, 2, 3) Tất cả các thanh ghi này đều cho

Trang 13

phép định địa chỉ bit trong đó địa chỉ bit của P0 từ 80h – 87h, P1 từ 90h – 97h, P2 từ A0h – A7h, P3 từ B0h – B7h Các địa chỉ bit này có thể thay thế bằng toán tử địa chỉ

Thanh ghi port nối tiếp (SBUF - Serial Data Buffer)

Thanh ghi port nối tiếp tại địa chỉ 99h thực chất bao gồm 2 thanh ghi: thanh ghi nhận và thanh ghi truyền Nếu dữ liệu đưa tới SBUF thì đó là thanh ghi truyền, nếu dữ liệu đươc đọc

từ SBUF thì đó là thanh ghi nhận Các thanh ghi này không cho phép định địa chỉ bit

 Các thanh ghi định thời (Timer Register)

Các cặp thanh ghi (TH0, TL0), (TH1, TL1) và (TH2, TL2) là các thanh ghi dùng cho các

bộ định thời 0, 1 và 2 trong đó bộ định thời 2 chỉ có trong 8032/8052

Ngoài ra, đối với họ 8032/8052 còn có thêm cặp thanh ghi (RCAP2L, RCAP2H) sử

dụng cho bộ định thời 2 (sẽ thảo luận trong phần hoạt động định thời)

 Các thanh ghi điều khiển:

+ Thanh ghi IP tại địa chỉ B8h cho phép chọn mức ưu tiên ngắt khi có 2 ngắt xảy ra đông thời

IP cho phép định địa chỉ bit từ B8h – BFh

+ Thanh ghi IE tại địa chỉ A8h cho phép hay cấm các ngắt IE có địa chỉ bit từ A8h – AFh + Thanh ghi TMOD tại địa chỉ 89h dùng để chọn chế độ hoạt động cho các bộ định thời (0, 1)

và không cho phép định địa chỉ bit

+ Thanh ghi TCON tại địa chỉ 88h điều khiển hoạt động của bộ định thời và ngắt TCON có địa chỉ bit từ 88h – 8Fh

+ Thanh ghi T2CON tại địa chỉ C8h điều khiển hoạt động của bộ định thời 2 T2CON có địa chỉ bit từ C8h – CFh

+ Thanh ghi SCON tại địa chỉ 98h điều khiển hoạt động của port nối tiếp SCON có địa chỉ bit

từ 98h – 9Fh

 Thanh ghi điều khiển nguồn PCON

Thanh ghi PCON tại địa chỉ 87h không cho phép định địa chỉ bit bao gồm các bit như sau:

SMOD1 (Serial Mode 1): = 1 cho phép tăng gấp đôi tốc độ port nối tiếp trong chế độ 1, 2 và 3

Trang 14

SMOD0 (Serial Mode 0 = 0): cho phép chọn bit SM0 hay FE trong thanh ghi SCON (Serial Mode 0 = 1 chọn bit FE)

POF (Power-off Flag): dùng để nhận dạng loại reset POF = 1 khi mở nguồn

Do đó, để xác định loại reset, cần phải xoá bit POF trước đó

GF1, GF0 (General purpose Flag): các bit cờ dành cho người sử dụng

PD (Power Down): được xoá bằng phần cứng khi hoạt động reset xảy ra

Có 6 nguyên nhân tạo ra ngắt đối với 8052: hai ngắt do bên ngoài, ba ngắt do bộ định thời

và một ngắt do port nối tiếp Khi ta thiết lập trạng thái ban đầu cho hệ thống, tất cả các ngắt điều bị vô hiệu hóa và sau đó chúng được cho phép riêng rẻ bằng phần mềm Khi xảy ra hai hay nhiều ngắt đồng thời hoặc xảy ra một ngắt trong khi một ngắt đang phụ vụ, ta có hai sơ đồ

xử lý ngắt: sơ đồ chuổi vòng và sơ đồ hai mức ưu tiên

2.3.1 Cho phép và không cho phép ngắt

Mỗi một nguyên nhân ngắt được cho phép hoặc không cho phép riêng lẻ thông qua thanh ghi chức năng đặc biệt định địa chỉ bit, thanh ghi cho phép ngắt IE (interrupt enable) có địa chỉ byte là 0A8H Mỗi một bit của thanh ghi này cho phép hoặc không cho phép từng nguyên nhân ngắt riêng rẻ, thanh ghi IE đồng thời có một bit toàn cục (global) cho phép hoặc không cho phép tất cả các ngắt

Trang 15

Bảng 2-3-1 Bảng các thanh ghi cho phép ngắt

2.3.2 Ưu tiên ngắt

Mỗi một nguyên nhân ngắt được lập trình riêng rẻ để có một trong hai mức ưu tiên thông qua chức năng thanh ghi đặc biệt được định địa chỉ bit, thanh ghi ưu tiên ngắt IP (interrupt priority), thanh ghi này có địa chỉ byte là 0B8H

Bảng 2-3-2 Bảng thanh ghi ưu tiên ngắt IP

Khi hệ thống được thiết lập lại trạng thái ban đầu, thanh ghi IP sẽ mặc định tất cả các ngắt

ở mức ưu tiên thấp Chương trình chính do được thực thi ơ mức nền và không được kết hợp với

Trang 16

một ngắt nào nên luôn luôn bị tạm dừng bởi các ngắt Nếu có hai ngắt xảy ra đồng thời thì ngắt nào có mức ưu tiên cao hơn sẽ được phục vụ trước

2.3.3 Chuỗi vòng

Nếu có hai ngắt có cùng mức ưu tiên xuất hiện đồng thời, chuỗi vòng cố định sẽ xác định ngắt nào được phục vụ trước Chuỗi vòng này sẽ là: ngắt ngoài 0, ngắt do bộ định thời 0, ngắt ngoài 1, ngắt do bộ định thời 1, ngắt do port nối tiếp, ngắt do bộ định thời

2.3.4 Xử lí ngắt

Khi có một ngắt xuất hiện và được CPU chấp nhận, chương trình chính bị ngắt Các thao tác sau đây xảy ra:

• Hoàn tất việc thực thi lệnh hiện hành

• Bộ đếm chương trình PC được cất vào stack

• Trạng thái của ngắt hiện hành được lưu giữ lại

• Các ngắt được chận lại ở mức ngắt

• Bộ đếm chương trình PC được nạp địa chỉ vector của trình phục vụ ngắt ISR

• ISR được thực thi

ISR được thực thi để đáp ứng công việc của ngắt Việc thực thi ISR kết thúc khi gặp lệnh RETI Lệnh này lấy lại giá trị cũ của bộ đếm chương trình PC từ stack và phục hồi trạng thái của ngắt cũ

Các vector ngắt: Khi một ngắt được chấp nhận, giá trị được nạp cho bộ đếm chương trình

PC được gọi là vector ngắt Vector ngắt là địa chỉ bắt đầu của trình phục vụ ngắt của nguyên nhân ngắt tương ứng

Ngày đăng: 18/04/2021, 09:25

HÌNH ẢNH LIÊN QUAN

Hình 2-2-1. Sơ đồ khối tổng quát của vi điều khiển họ 8051 - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Hình 2 2-1. Sơ đồ khối tổng quát của vi điều khiển họ 8051 (Trang 8)
Hình 2-2-2. Sơ đồ khối của AT89C52   Hình 2-2-3. Sơ đồ chân AT89C52 - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Hình 2 2-2. Sơ đồ khối của AT89C52 Hình 2-2-3. Sơ đồ chân AT89C52 (Trang 8)
Bảng 2-2-1-1. Bảng chức năng các chân của PORT 3 - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Bảng 2 2-1-1. Bảng chức năng các chân của PORT 3 (Trang 10)
Bảng 2-3-1. Bảng các thanh ghi cho phép ngắt - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Bảng 2 3-1. Bảng các thanh ghi cho phép ngắt (Trang 15)
Bảng 2-3-2. Bảng thanh ghi ưu tiên ngắt IP - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Bảng 2 3-2. Bảng thanh ghi ưu tiên ngắt IP (Trang 15)
Bảng 2-3-3. Bảng vector ngắt - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Bảng 2 3-3. Bảng vector ngắt (Trang 17)
Hình 3.1. Sơ đồ mô phỏng mạch trên proteus - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Hình 3.1. Sơ đồ mô phỏng mạch trên proteus (Trang 25)
Hình 3.2.3.1. LCD LM016l trên Proteus - Bài tập lớn Kĩ Thuật Vi Xử Lý(GV: Nguyễn Qúy Sỹ)
Hình 3.2.3.1. LCD LM016l trên Proteus (Trang 26)

TỪ KHÓA LIÊN QUAN

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

w