BÀI 7.1: LẬP TRÌNH HỢP NGỮ
Số trang: 44
Loại file: doc
Dung lượng: 645.00 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Cổng P2 có 8 chân (từ 21 – 28) và có thể vừa làm đầu vào hoặc đầu ra.
Cổng P1 cũng không cần đến điện trở kéo vì nó đã có điện trở kéo bên trong. Khi
Reset cổng P1 được cấu hình làm cổng ra. Để cổng P1 làm đầu vào cần lập trình
bằng cách ghi 1 vào tất cả các bit của cổng.
Nội dung trích xuất từ tài liệu:
BÀI 7.1: LẬP TRÌNH HỢP NGỮ 1 BÀI 7. 1 LẬP TRÌNH HỢP NGỮ (TIẾP ) CỔNG VÀO/RA VÀ LẬP TRÌNH 3.1.1. Như chúng ta đã biết cả 4 cổng P0, P1, P2, P3 đều có 8 chân và tạo thành cổng 8 bit. Tất cả các cổng khi Reset đều được cấu hình làm cổng ra. Đ ể làm đầu vào thì c ần được lập trình. Giới thiệu các cổng (port) của 8051 3.1.1.1. Cổng P0 Cổng P0 có 8 chân (từ 32 – 39). Bình thường đây là c ổng ra. Đ ể có th ể v ừa làm đầu ra vừa làm đầu vào vừa làm đầu ra ta mắc thêm các điện tr ở kéo 10K bên ngoài (Hình 4.3.4a) Sở dĩ như vậy là vì cổng P0 có dạng c ực máng h ở, đây là đi ểm khác với các cổng P1, P2, P3. Vcc 10K P0.0 P0.1 Port 0 P0.2 8051 P0.3 P0.4 P0.5 P0.6 P0.7 Hình 4.3.4a. Mắc điện trở kéo cổng P0 Với cách mắc như trên thì khi Reset cổng P0 được cấu hình làm cổng ra. Ví dụ: Viết chương trình để 8051 gửi ra cổng P0 giá trị 55H (trong 5s) r ồi lại gửi ra P0 giá trị AAH (trong 5s). Giả sử chương trình tạo thời gian trễn 5s đã được viết sẵn (xem phần m ạch đếm/định thời và lập trình) có nhãn là DELAY5S. MOV A, #55H BACK: MOV P0, A ACALL DELAY5S CPL A SJMP BACK DELAY5S: ;xem phan mach dem/dinh thoi Khi P0 làm cổng vào. Khi đã có điện trở kéo n ối tới c ổng P0, đ ể t ạo thành cổng vào thì cần phải lập trình bằng cách ghi 1 tới tất cả các bit của cổng. 2 Ví dụ: Viết chương trình để vi điều khiển 8051 liên tục nhận dữ li ệu từ cổng P0 và gửi ra cổng P1. MOV A, #0FFH ;dat A=FFH MOV P0, A ;dat tat ca cac bit cua P0=1 BACK: MOV A, P0 ;chuyen du lieu tu cong vao den A MOV P1, A ;dua ra cong P1 SJMP BACK ;lap lai Cổng P1 Cổng P1 có 8 chân (từ 1 – 8) và có thể vừa làm đ ầu vào ho ặc đ ầu ra. C ổng P1 không cần đến điện trở kéo vì nó đã có đi ện tr ở kéo bên trong. Khi Reset c ổng P1 được cấu hình làm cổng ra. Để cổng P1 làm đầu vào cần lập trình bằng cách ghi 1 vào tất cả các bit của cổng. Ví dụ: Đọc dữ liệu từ cổng P1 sau đó cất vào thanh ghi R7, R6, R5. MOV A, #0FFH ;nap A=FFh MOV P1, A ;tao cong P1 lam dau vao MOV A, P1 ;nhan du lieu tu P1 MOV R7, A ;cat vao thanh ghi R7 ACALL DELAY5S ;doi mot luc MOV A, P1 ;nhan du lieu khac tu P1 MOV R6, A ;cat vao thanh ghi R6 ACALL DELAY5S ;doi mot luc MOV A, P1 ;nhan du lieu khac tu P1 MOV R5, A ;cat vao thanh ghi R5 DELAY5S: ;xem phan mach dem/dinh thoi Cổng P2 Cổng P2 có 8 chân (từ 21 – 28) và có thể vừa làm đầu vào ho ặc đầu ra. Cổng P1 cũng không cần đến điện trở kéo vì nó đã có đi ện tr ở kéo bên trong. Khi Reset cổng P1 được cấu hình làm cổng ra. Để c ổng P1 làm đầu vào c ần l ập trình bằng cách ghi 1 vào tất cả các bit của cổng. Ví dụ: Viết chương trình liên tục nhận dữ liệu từ cổng P2 và gửi đến P1. MOV A, 0FFH ;gan A gia tri FFH MOV P2, A ;tao P2 lam dau vao bang cach ;ghi 1 den cac chan cua no BACK: MOV A, P2 ;nhan du lieu tu P2 MOV P1, A ;gui den cong P1 SJMP BACK ;lap lai Ngoài chức năng làm cổng vào/ra. Tuy nhiên với 8051 thì c ổng P2 còn đ ược sử dụng cùng với cổng P0 để tạo ra địa chỉ 16 bit cho bộ nhớ ngoài. Vì 8051 có khả 3 năng truy cập đến 64KB bộ nhớ ngoài nên cần có bus địa chỉ 16 bit. P0 cung c ấp 8 bit địa chỉ thấp (A0 – A7) và P2 cung cấp 8 bit đ ịa ch ỉ cao (A8 – A15). Nh ư v ậy khi 8051 được nối tới bộ nhớ ngoài thì P2 không thể dùng cho vào/ra được. Cổng P3 Cổng P3 có 8 chân (từ 10 – 17). Cổng này cũng có thể làm đầu vào hoặc đầu ra. Cũng như P1 và P2 cổng P3 không cần điện trở kéo. Khi Reset cổng P3 làm cổng ra, tuy nhiên đây không phải là ứng dụng chủ yếu. Cổng P3 có thêm m ột s ố ch ức năng khác là cung cấp một số tín hiệu đặc biệt. Bảng sau cung c ấp m ột số chức năng đặc biệt của 8051. Bảng 4.3a: Các chức năng khác của cổng P3 Bit P3 Chức năng Chân số Nhận dữ liệu (RxD) P3.0 10 Phát dữ liệu (TxD) P3.1 11 Ngắt 0 (INT0) P3.2 12 Ngắt 1 (INT1) P3.3 13 Bộ định thời 0 (T0) P3.4 14 Bộ định thời 1 (T1) P3.5 15 P3.6 Ghi (W ...
Nội dung trích xuất từ tài liệu:
BÀI 7.1: LẬP TRÌNH HỢP NGỮ 1 BÀI 7. 1 LẬP TRÌNH HỢP NGỮ (TIẾP ) CỔNG VÀO/RA VÀ LẬP TRÌNH 3.1.1. Như chúng ta đã biết cả 4 cổng P0, P1, P2, P3 đều có 8 chân và tạo thành cổng 8 bit. Tất cả các cổng khi Reset đều được cấu hình làm cổng ra. Đ ể làm đầu vào thì c ần được lập trình. Giới thiệu các cổng (port) của 8051 3.1.1.1. Cổng P0 Cổng P0 có 8 chân (từ 32 – 39). Bình thường đây là c ổng ra. Đ ể có th ể v ừa làm đầu ra vừa làm đầu vào vừa làm đầu ra ta mắc thêm các điện tr ở kéo 10K bên ngoài (Hình 4.3.4a) Sở dĩ như vậy là vì cổng P0 có dạng c ực máng h ở, đây là đi ểm khác với các cổng P1, P2, P3. Vcc 10K P0.0 P0.1 Port 0 P0.2 8051 P0.3 P0.4 P0.5 P0.6 P0.7 Hình 4.3.4a. Mắc điện trở kéo cổng P0 Với cách mắc như trên thì khi Reset cổng P0 được cấu hình làm cổng ra. Ví dụ: Viết chương trình để 8051 gửi ra cổng P0 giá trị 55H (trong 5s) r ồi lại gửi ra P0 giá trị AAH (trong 5s). Giả sử chương trình tạo thời gian trễn 5s đã được viết sẵn (xem phần m ạch đếm/định thời và lập trình) có nhãn là DELAY5S. MOV A, #55H BACK: MOV P0, A ACALL DELAY5S CPL A SJMP BACK DELAY5S: ;xem phan mach dem/dinh thoi Khi P0 làm cổng vào. Khi đã có điện trở kéo n ối tới c ổng P0, đ ể t ạo thành cổng vào thì cần phải lập trình bằng cách ghi 1 tới tất cả các bit của cổng. 2 Ví dụ: Viết chương trình để vi điều khiển 8051 liên tục nhận dữ li ệu từ cổng P0 và gửi ra cổng P1. MOV A, #0FFH ;dat A=FFH MOV P0, A ;dat tat ca cac bit cua P0=1 BACK: MOV A, P0 ;chuyen du lieu tu cong vao den A MOV P1, A ;dua ra cong P1 SJMP BACK ;lap lai Cổng P1 Cổng P1 có 8 chân (từ 1 – 8) và có thể vừa làm đ ầu vào ho ặc đ ầu ra. C ổng P1 không cần đến điện trở kéo vì nó đã có đi ện tr ở kéo bên trong. Khi Reset c ổng P1 được cấu hình làm cổng ra. Để cổng P1 làm đầu vào cần lập trình bằng cách ghi 1 vào tất cả các bit của cổng. Ví dụ: Đọc dữ liệu từ cổng P1 sau đó cất vào thanh ghi R7, R6, R5. MOV A, #0FFH ;nap A=FFh MOV P1, A ;tao cong P1 lam dau vao MOV A, P1 ;nhan du lieu tu P1 MOV R7, A ;cat vao thanh ghi R7 ACALL DELAY5S ;doi mot luc MOV A, P1 ;nhan du lieu khac tu P1 MOV R6, A ;cat vao thanh ghi R6 ACALL DELAY5S ;doi mot luc MOV A, P1 ;nhan du lieu khac tu P1 MOV R5, A ;cat vao thanh ghi R5 DELAY5S: ;xem phan mach dem/dinh thoi Cổng P2 Cổng P2 có 8 chân (từ 21 – 28) và có thể vừa làm đầu vào ho ặc đầu ra. Cổng P1 cũng không cần đến điện trở kéo vì nó đã có đi ện tr ở kéo bên trong. Khi Reset cổng P1 được cấu hình làm cổng ra. Để c ổng P1 làm đầu vào c ần l ập trình bằng cách ghi 1 vào tất cả các bit của cổng. Ví dụ: Viết chương trình liên tục nhận dữ liệu từ cổng P2 và gửi đến P1. MOV A, 0FFH ;gan A gia tri FFH MOV P2, A ;tao P2 lam dau vao bang cach ;ghi 1 den cac chan cua no BACK: MOV A, P2 ;nhan du lieu tu P2 MOV P1, A ;gui den cong P1 SJMP BACK ;lap lai Ngoài chức năng làm cổng vào/ra. Tuy nhiên với 8051 thì c ổng P2 còn đ ược sử dụng cùng với cổng P0 để tạo ra địa chỉ 16 bit cho bộ nhớ ngoài. Vì 8051 có khả 3 năng truy cập đến 64KB bộ nhớ ngoài nên cần có bus địa chỉ 16 bit. P0 cung c ấp 8 bit địa chỉ thấp (A0 – A7) và P2 cung cấp 8 bit đ ịa ch ỉ cao (A8 – A15). Nh ư v ậy khi 8051 được nối tới bộ nhớ ngoài thì P2 không thể dùng cho vào/ra được. Cổng P3 Cổng P3 có 8 chân (từ 10 – 17). Cổng này cũng có thể làm đầu vào hoặc đầu ra. Cũng như P1 và P2 cổng P3 không cần điện trở kéo. Khi Reset cổng P3 làm cổng ra, tuy nhiên đây không phải là ứng dụng chủ yếu. Cổng P3 có thêm m ột s ố ch ức năng khác là cung cấp một số tín hiệu đặc biệt. Bảng sau cung c ấp m ột số chức năng đặc biệt của 8051. Bảng 4.3a: Các chức năng khác của cổng P3 Bit P3 Chức năng Chân số Nhận dữ liệu (RxD) P3.0 10 Phát dữ liệu (TxD) P3.1 11 Ngắt 0 (INT0) P3.2 12 Ngắt 1 (INT1) P3.3 13 Bộ định thời 0 (T0) P3.4 14 Bộ định thời 1 (T1) P3.5 15 P3.6 Ghi (W ...
Tìm kiếm theo từ khóa liên quan:
công nghệ cơ khí vi điều khiển vi xử lý vi điều khiển 8051 bài giảng cơ khí lý thuyết vi điều khiểnGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Vi xử lý
12 trang 297 0 0 -
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 279 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 183 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 154 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 140 0 0 -
Báo cáo bài tập lớn môn Kỹ thuật vi xử lý: Thiết kế mạch quang báo - ĐH Bách khoa Hà Nội
31 trang 133 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 117 0 0 -
Bài tập lớn Vi xử lý: Thiết kế môn học Đèn LED đơn ghép thành đèn quảng cáo
15 trang 116 0 0