M. HỆ THỐNG ĐIỀU KHIỂN PORT I/O (ĐIỀU KHIỂN XUẤT/NHẬP QUA CÁC THIẾT BỊ NGOẠI VI). Bài 2: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED (LED được nối với DATAOUT A, SWITCH được nối với DATAIN, CS573A được nối với SELCHIP 0, CS245 được nối với SELCHIP 1). Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 235 Biên soạn: Phạm Quang Trí • Bài 7: Hãy viết chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các nút nhấn KEY0 – KEY7 và hiển thị tên của các nút nhấn này lên LED 7 đoạn (LED0 được nối với DATAOUT A, PUSH KEY được nối với DATAIN, CS573A được nối với SELCHIP 6, CS245 được nối với SELCHIP 3). • Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. M. HỆ THỐNG ĐIỀU KHIỂN PORT I/O (ĐIỀU KHIỂN XUẤT/NHẬP QUA CÁC THIẾT BỊ NGOẠI VI). Bài 3: Chương trình điều khiển Port I/O, làm cho 8 LED đếm lên nhị phân 8 bit (LED được nối với PortA, CS8255 được nối với SELCHIP 0). Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 236 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 1 nối J70 (SELECT CHIP) ở khối vi điều khiển với J88 (CS8255) ở khối mở rộng port I/O (chú ý là tùy thuộc vào tầm địa chỉ yêu cầu mà ta nối dây bus 1 vào đúng bit tương ứng của J70). • Dùng dây bus 8 nối J79 (PORT A) ở khối mở rộng port I/O với J11 (BAR LED 1) ở khối dãy LED. • Dùng dây hai bus 3 nối J107 (POWER) ở khối mở rộng port I/O và J103 (POWER) ở khối dãy LED với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS PORT A DATA IN PORT CPORT B DATA OUT DATA OUT CS8255 POWER CS245 CS573A CS573B 1 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. 1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 4) M. HỆ THỐNG ĐIỀU KHIỂN PORT I/O (ĐIỀU KHIỂN XUẤT/NHẬP QUA CÁC THIẾT BỊ NGOẠI VI). Bài 4: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED. Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 237 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 1 nối J70 (SELECT CHIP) ở khối vi điều khiển với J88 (CS8255) ở khối mở rộng port I/O (chú ý là tùy thuộc vào tầm địa chỉ yêu cầu mà ta nối dây bus 1 vào đúng bit tương ứng của J70). • Dùng dây bus 8 nối J79 (PORT A) ở khối mở rộng port I/O với J11 (BAR LED 1) ở khối dãy LED. • Dùng dây bus 8 nối J84 (PORT B) ở khối mở rộng port I/O với J34 (MOMENTARY SW) ở khối công tắc. • Dùng dây ba bus 3 nối J107 (POWER) ở khối mở rộng port I/O, J106 (POWER) ở khối công tắc và J103 (POWER) ở khối dãy LED với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS PORT A DATA IN PORT CPORT B DATA OUT DATA OUT CS8255 POWER CS245 CS573A CS573B 1 POWERSWITCH 8 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. 1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: • Bài 1: Hãy viết chương trình điều khiển Port I/O, làm cho 8 LED sáng đuổi liên tục (LED được nối với PortB, CS8255 được nối với SELCHIP 5). • Bài 2: Hãy viết chương trình điều khiển Port I/O, làm cho 16 LED sáng đuổi liên tục (LED được nối với PortA và PortB, CS8255 được nối với SELCHIP 4). • Bài 3: Hãy viết chương trình điều khiển Port I/O, làm cho LED 7 đoạn hiển thị đếm HEX từ F xuống A liên tục (LED0 được nối với PortA, CS8255 được nối với SELCHIP 6). • Bài 4: Hãy viết chương trình điều khiển Port I/O, làm cho hai LED 7 đoạn hiển thị đếm HEX từ 00 lên FF liên tục (LED0 được nối với PortA, LED1 được nối với PortB, CS8255 được nối với SELCHIP 7). • Bài 5: Hãy viết chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED (LED được nối với PortA, SWITCH được nối với PortB, CS8255 được nối với SELCHIP 4). • Bài 6: Hãy viết chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các nút nhấn KEY0 – KEY7 và hiển thị trạng thái hiện tại (LED sáng = nút nhấn, LED tắt = nút nhả) của các nút nhấn này lên LED (LED được nối với PortA, PUSH KEY được nối với PortB, CS8255 được nối với SELCHIP 5). • Bài 7: Hãy viết chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các nút nhấn KEY0 – KEY7 và hiển thị tên của các nút nhấn này lên LED 7 đoạn (LED0 được nối với PortA, PUSH KEY được nối với PortB, CS8255 được nối với SELCHIP 6). • Bài 8: Hãy viết chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các nút nhấn KEY0 – KEY7 và hiển thị tên của các nút nhấn này lên LED ma trận (COL-RED được nối với PortA, ROW được nối với PortB, PUSH KEY được nối với PortC, CS8255 được nối với SELCHIP 6). M. HỆ THỐNG ĐIỀU KHIỂN PORT I/O (ĐIỀU KHIỂN XUẤT/NHẬP QUA CÁC THIẾT BỊ NGOẠI VI). Bài 4: Chương trình điều khiển Port I/O, liên tục đọc các giá trị từ các công tắc gạt SW0 – SW7 và hiển thị mức logic hiện tại (LED sáng = mức cao, LED tắt = mức thấp) của các công tắc này lên LED. Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 238 Biên soạn: Phạm Quang Trí • Bài 9: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình. TRUNG TÂM THÍ NGHIỆM THỰC HÀNH ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP T T À À I I L L I I Ệ Ệ U U H H Ư Ư Ớ Ớ N N G G D D Ẫ Ẫ N N T T H H Í Í N N G G H H I I Ệ Ệ M M - - T T H H Ự Ự C C H H À À N N H H N. HỆ THỐNG ĐIỀU KHIỂN ADC. Giáo trình thực hành vi xử lý. 240 Biên soạn: Phạm Quang Trí A. MỤC ĐÍCH: • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi điều khiển. • Khảo sát nguyên lý hoạt động của vi mạch ADC 0809. • Thực hiện việc biến đổi từ tín hiệu tương tự (Analog) sang tín hiệu số (Digital). B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS-51. • Tham khảo trước và nắm được hoạt động của vi mạch ADC 0809. N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 241 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Tắt nguồn cấp cho mô hình thí nghiệm. • Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J49 (DIGITAL OUT) ở khối ADC. • Dùng bốn dây bus 8 nối J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) và J8 (7SEG4 IN) ở khối LED 7 đoạn với J4 (7SEG IN MUL) ở khối LED 7 đoạn (ta nối chung các bus này lại với nhau thông qua khối mở rộng). • Dùng dây bus 8 nối J90 (DATA OUT) ở khối mở rộng port I/O với J4 (7SEG IN MUL) ở khối LED 7 đoạn. • Dùng dây bus 8 nối J85 (DATA OUT) ở khối mở rộng port I/O với J2 (SEL LED IN) ở khối LED 7 đoạn. • Dùng dây bus 1 nối J77 (V1) ở khối tạo áp với J48 (ANALOG IN) ở khối ADC (chú ý là ta chỉ nối bit 0 (IN0) của J48 và J77 lại với nhau). • Dùng dây bus 1 nối J93 (CS573B) ở khối mở rộng port I/O với J70 (SELECT CHIP) ở khối vi điều khiển (chú ý là ta chỉ nối bit 0 (0000H – 1FFFH) của J70 và J93 lại với nhau). • Dùng dây bus 1 nối J92 (CS573A) ở khối mở rộng port I/O với J70 (SELECT CHIP) ở khối vi điều khiển (chú ý là ta chỉ nối bit 1 (2000H – 3FFFH) của J70 và J92 lại với nhau). • Dùng dây bus 1 nối J60 (CS0809) ở khối ADC với J70 (SELECT CHIP) ở khối vi điều khiển (chú ý là ta chỉ nối bit 2 (4000H – 5FFFH) của J70 và J60 lại với nhau). • Dùng bốn dây bus 3 nối D35 (POWER) ở khối tạo áp, D34 (POWER) ở khối ADC, J107 (POWER) ở khối mở rộng port I/O và J110 (POWER) ở khối LED 7 đoạn với nguồn +5V ở khối nguồn. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS 3 8 PORT A DATA IN PORT CPORT B DATA OUT DATA OUT CS8255 POWER CS245 CS573A CS573B ANALOG IN CS0809 DIGITAL OUT POWER TAÏO AÙP V1 POWERV2V3V4 3 1 1 1 1 8 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. 1.3 Lưu chương trình và biên dịch chương trình. 1.4 Kiểm tra lỗi và hiệu chỉnh lỗi nếu có. 1.5 Gắn chip vi điều khiển thí nghiệm vào socket tương ứng trên khối nạp chip và bật nguồn cho khối nạp chip hoạt động. N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 1: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên hai LED 7 đoạn (LED1 và LED0; dưới dạng số HEX từ 00H -> FFH). Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 242 Biên soạn: Phạm Quang Trí 1.6 Nạp chương trình vào vi điều khiển. 1.7 Sử dụng vi điều khiển vừa nạp gắn vào socket tương ứng trên khối vi điều khiển. 1.8 Bật nguồn cho mô hình thí nghiệm. Quan sát kết quả hoạt động, nếu kết quả hoạt động không đúng yêu cầu của đề bài thì phải quay lại kiểm tra việc kết nối mạch, hiệu chỉnh chương trình và làm lại các bước từ bước 3 đến bước 9. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 4) N. HỆ THỐNG ĐIỀU KHIỂN ADC. Bài 2: Chương trình điều khiển biến đổi A/D thông qua ADC0809 và hiển thị giá trị của kênh ngõ vào (kênh IN0) lên ba LED 7 đoạn (LED2, LED1 và LED0; dưới dạng số DEC từ 0 -> 255). Sử dụng cơ chế bộ nhớ ngoài. Giáo trình thực hành vi xử lý. 243 Biên soạn: Phạm Quang Trí 1 Trình tự tiến hành thí nghiệm: 1.1 Kết nối thiết bị thí nghiệm. • Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1. 1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển. 1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên. 2 Bài tập: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 4) . hoạt động của vi mạch ADC 080 9. • Thực hiện vi c biến đổi từ tín hiệu tương tự (Analog) sang tín hiệu số (Digital). B. YÊU CẦU: • Nắm vững tập lệnh của vi điều khiển MCS- 51. • Tham khảo. • Thực hành lập trình ứng dụng trên máy tính, biên dịch chương trình, nạp vào vi điều khiển và sử dụng mô hình thí nghiệm để kiểm chứng. • Điều khiển thiết bị ngoại vi bằng các port của vi. CHIP) ở khối vi điều khiển với J 88 (CS8255) ở khối mở rộng port I/O (chú ý là tùy thuộc vào tầm địa chỉ yêu cầu mà ta nối dây bus 1 vào đúng bit tương ứng của J70). • Dùng dây bus 8 nối J79 (PORT