Tài liệu Hướng dẫn thí nghiệm Vi xử lý gồm 12 chương với nội dung: tổng quan về bộ thí nghiệm, thí nghiệm với nút nhấn và led đơn, thí nghiệm với timer, thí nghiệm hiển thị dùng led 7 đoạn,...Mời các em cùng tham khảo!
TÀI LIỆU THÍ NGHIỆM VI XỬ LÝ HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ CHƯƠNG TỔNG QUAN VỀ BỘ THÍ NGHIỆM 1.1 TỔ CHỨC TÀI LIỆU HƯỚNG DẪN Kit thí nghiệm vi xử lý thí nghiệm thiết kế dựa họ vi điều khiển MCS-51 Tài liệu hướng dẫn thí nghiệm giúp người sử dụng tiếp cận với kiến thức vi điều khiển 8051 nhanh chóng Tài liệu thí nghiệm bao gồm tài liệu hướng dẫn sử dụng kit thí nghiệm, thí nghiệm, số mã nguồn để tham khảo Tài liệu hướng dẫn giới thiệu thành phần kit thí nghiệm, tổ chức thành phần sau: Lý thuyết bản: phần tóm tắt sơ lược kiến thức lý thuyết có liên quan đến thí nghiệm Thiết kế phần cứng: nội dung phần giúp người sử dụng nắm chi tiết sơ đồ cách thức thiết kế phần cứng kit thí nghiệm Người sử dụng cần hiểu rõ nội dung đề cập phần Các thiết kế phần cứng hồn tồn ứng dụng thực tế Phần mềm giao tiếp: phần giúp người sử dụng nắm kỹ thuật để xây dựng phần mềm đáp ứng yêu cầu thí nghiệm Các nội dung đề cập phần hữu dụng thực tế Mỗi thí nghiệm tổ chức thành phần sau: Mục tiêu: giúp người học nắm mục tiêu cụ thể thí nghiệm Yêu cầu: phần đưa yêu cầu cụ thể thí nghiệm Hướng dẫn: phần nêu số hướng dẫn để SV lập trình dễ dàng Kiểm tra: giúp người sử dụng đáng giá mức độ đạt mục tiêu thí nghiệm, đồng thời gợi ý số hiệu chỉnh nhằm làm phong phú nội dung thí nghiệm http://doe.dee.hcmut.edu.vn 2/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Chú ý: Người học cần xem trước nội dung thí nghiệm chuẩn bị sẵn chương trình nhà để tận dụng tốt thời gian thí nghiệm Nếu phát có sai sót hay thắc mắc, người học báo trực tiếp Giảng Viên hướng dẫn email địa buiquocbao@hcmut.edu.vn 1.2 TỔNG QUAN KIT THÍ NGHIỆM Kit thí nghiệm có hình dạng khối Hình Connector cho cảm biến nhiệt độ ADC DAC Header mở rộng LED đoạn LED ma trận Nút nhấn Reset PSEN DipSwich cấu hình LED đơn LCD Nút nhấn đơn Khối giao tiếp máy tính Bàn phím ma trận Hình Tổng quan kit thí nghiệm vi xử lý 3/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Chú ý kit có nút nhấn RESET để reset lại chương trình PSEN dùng để đưa chip vi điều khiển chế độ lập trình, nhiên chương trình thí nghiệm ta dùng chương trình monitor để thực thi chương trình RAM (xếp chồng nhớ chương trình liệu), nút nhấn PSEN khơng dùng đến 1.2.1 Các DIP-SW8 cấu hình Bộ thí nghiệm vi xử lý thiết kế để sử dụng cách linh hoạt Trên EME-MC8 có DIP-SW8 SW_CC1, SW_CC2, SW_CC3, SW_CC4 nằm xung quanh đế DIP40 gắn vi điều khiển cho phép cấu hình thí nghiệm Hình Các dip switch cấu hình Một phía DIP-SW nối đến port (P0 đến P3) 8051 Phía lại nối đến tín hiệu có tên ghi board mạch Mục đích DIP-SW8 cấu hình cho phép ngắn mạch hở mạch tín hiệu với port 8051 Cụ thể SW đặt vị trí ON, hai tín hiệu nối Khi SW đặt vị trí OFF, hai tín hiệu hở mạch Như vậy, SW vị trí bật ON port 8051 nối với tín hiệu có tên tương ứng Ví dụ SW thứ DIP-SW8 SW_CC2 bật ON có nghĩa bit P1.0 (bit thứ Port1) nối đến tín hiệu DAC_nCS Port Chức P0 Bus liệu D0-D7 4/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Byte thấp bus địa A0-A7 P2 Byte cao bus địa A8-A15 P1.0 /CS DAC P1.1 SCK giao tiếp SPI P1.2 SDI giao tiếp SPI P1.3 /LD DAC P3.0 RXD P3.1 TXD P3.4 Tín hiệu giao tiếp 1-Wire bus Ngõ DS18S20 P3.3 Tín hiệu Enable LCD P3.2 Chọn chế độ Single-Step P3.5 Tín hiệu RS LCD P3.6 /WR P3.7 /RD Bảng Kết nối port với tín hiệu DIP-SW8 cấu hình bật ON 1.2.2 CÁC CONNECTOR MỞ RỘNG PORT Các port nối trực tiếp đến header mở rộng có sẵn board JA01 (Port0), JA02 (Port1), JA03 (Port2), JA04 (Port3) Người sử dụng dùng header cho mục đích kết nối kit với board mở rộng JA01 VCC P0.0 P0.2 P0.4 P0.6 11 13 10 12 14 P0.1 P0.3 P0.5 P0.7 CON14A Hình Connector mở rộng Port 5/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Mạch giải mã địa kit thiết kế dùng vi mạch giải mã 74x138 Sơ đồ thiết kế hình sau Hình Sơ đồ mạch giải mã địa Bản đồ nhớ xếp sau STT Bộ nhớ Ngoại vi Địa truy xuất Ghi Chứa liệu chương Bộ nhớ RAM 2000h – 3FFFh trình người sử dụng dùng với EMEMON51 (nCS1) Chốt ‘573 khối led đoạn Ra lệnh bắt đầu chuyển đổi ADC chốt kênh cần chuyển đổi Đọc bit liệu từ ADC Điều khiển chốt ‘573 chốt bit liệu khối LCD Điều khiển chốt ‘573 chốt bit liệu khối led matrix cột Điều khiển chốt ‘573 chốt bit liệu khối led matrix hàng 0000h – 1FFFh Chỉ ghi, (nCS0) 4000h – 5FFFh Chỉ ghi (nCS2) 4000h – 5FFFh Chỉ đọc (nCS2) 6000h – 7FFFh Chỉ ghi (nCS3) 8000 – 9FFFh Chỉ ghi (nCS4) A000h – BFFFh Chỉ ghi (nCS5) Bảng Bản đồ nhớ RAM ngoại vi 6/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ 1.3 SỬ DỤNG KIT THÍ NGHIỆM 1.3.1 Cấu hình kit thí nghiệm kết nối máy tính 1.3.1.1 Cài đặt DIP-SW8 jumper cấu hình: Bật ON tất SW DIP-SW8 cấu hình SW_CC1 SW_CC3 Điều cho phép 8051 hoạt động chế độ bus (bus liệu, bus địa chỉ, bus điều khiển) Trong chế độ bus, Port0 đóng vai trò 8-bit liệu đồng thời 8-bit địa thấp, Port2 đóng vai trò 8-bit địa cao tạo nên bus địa 16-bit Hình Sơ đồ kết nối khối DIP-SW8 cấu hình Bật ON SW thứ 0, 1, 6, DIP-SW8 cấu hình SW_CC4 Điều cho phép dùng bit P3.0, P3.1 làm tín hiệu giao tiếp nối tiếp với máy tính qua cổng COM (P3.0 = RXD, P3.1 = TXD), bit P3.6, P3.7 dùng tín hiệu điều khiển chế độ bus (P3.6 = nWR, P3.7 = nRD) Bảng sau vị trí mặc định switch DIP-SW8 cấu hình Trên thực tế thí nghiệm, tùy theo ngoại vi sử dụng mà người lập trình cần bật ON switch ngoại vi tương ứng Port Vị trí mặc định Chức P0 ON Bus liệu D0-D7 Byte thấp bus địa A0-A7 7/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ P2 ON Byte cao bus địa A8A15 P1.0 OFF /CS DAC P1.1 OFF SCK giao tiếp SPI P1.2 OFF SDI giao tiếp SPI P1.3 OFF /LD DAC P3.0 ON RXD P3.1 ON TXD P3.2 OFF Tín hiệu giao tiếp 1-Wire bus Ngõ DS18S20 P3.3 OFF Chọn chế độ Single-Step P3.4 ON Tín hiệu Enable LCD P3.5 ON Tín hiệu RS LCD P3.6 ON /WR P3.7 ON /RD Bảng Cài đặt DIP-SW8 cấu hình để hoạt động chế độ bus 1.3.1.2 Kết nối thí nghiệm với máy tính Có hai cách để kết nối thí nghiệm với máy tính Kết nối cổng USB kit thí nghiệm với cổng USB máy tính Kết nối cổng COM kit thí nghiệm với cổng COM máy tính với cổng USB máy tính thơng qua cáp chuyển USB sang serial Sau kết nối kit thí nghiệm với máy tính, ta giao tiếp với kit cổng COM (trong trường hợp kết nối qua cổng USB, device manager hiển thị cổng COM ảo) Trên máy tính, khởi động chương trình Hercules, chọn tab serial cài đặt thơng số sau: baud 19200, data size 8, parity None, Hand shake OFF Chương trình giúp người sử dụng giao tiếp với kit thí nghiệm thơng qua phần mềm monitor MON51 tích hợp sẵn Cấp nguồn cho thí nghiệm http://doe.dee.hcmut.edu.vn 8/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Bắt đầu tiến trình thí nghiệm 1.4 HOẠT ĐỘNG CỦA KIT THÍ NGHIỆM Sơ đồ khối CPU kit thí nghiệm hình vẽ CPU sử dụng AT89S52, vi điều khiển họ 8051 có dung lượng nhớ 8K Chương trình MON-51 nạp sẵn nhớ flash bên CPU,bắt đầu từ địa 0000H Khi reset chương trình MON-51 chạy, giao tiếp máy tính thông qua cổng nối tiếp Mã máy sau biên dịch truyền từ máy tính xuống thơng qua cổng COM giao tiếp với cổng nối tiếp 8051, chương trình MON-51 ghi vào RAM địa 2000H Sau kết thúc trình ghi chương trình vào RAM, người học lệnh cho chương trình monitor thực lệnh nhảy đến địa 2000H Vì nhớ chương trình nội AT89S52 8K, thực lệnh nhảy đến 2000H CPU bắt đầu đọc chương trình ngồi, tín hiệu PSEN tích cực Trên kit thí nghiệm, vùng nhớ liệu vùng nhớ chương trình tầm địa 2000H-3FFFH xếp chồng lên cách AND hai tín hiệu PSEN RD lại với Vì vậy, CPU thực thi chương trình ghi vào RAM trước http://doe.dee.hcmut.edu.vn 9/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ MAIN VCC VCC P0.[0 7] VCC GND P1.[0 7] nEA 31 P3.[0 7] P3.6 P3.7 VCC + 12 13 14 15 10 11 P3.2 P3.3 P3.4 P3.5 P3.0 P3.1 RESET SW101 VCC P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 C101 10u R101 10k C102 30p C103 30p EA/VP P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 ALE/P INT0 INT1 T0 T1 RXD TXD RESET X1 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 Y101 11.059MHz X2 18 X2 WR RD PSEN X1 RESET U101 19 AT89C52 Dung de ZIF 39 38 37 36 35 34 33 32 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 30 ALE 21 22 23 24 25 26 27 28 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 16 17 29 P3.6 P3.7 D.0 D.1 D.2 D.3 D.4 D.5 D.6 D.7 11 A.[0 15] U102 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A.0 A.1 A.2 A.3 A.4 A.5 A.6 A.7 10 25 24 21 23 A.12 A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.8 A.9 A.10 A.11 A.0 LE OE 74HC573 A.13 A.14 A.15 VCC 22 27 20 nCS.1 26 D.[0 7] U103 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 D0 D1 D2 D3 D4 D5 D6 D7 NC1 11 12 13 15 16 17 18 19 D.0 D.1 D.2 D.7 D.6 D.5 D.4 D.3 OE WE CS1 CS2 6264 P2.[0 7] RAM: 0x2000 - 0x3FFF nWR nPSEN U106A nRD nRD 19 18 17 16 15 14 13 12 U106B XTAL_OUT 74HC00 U106C RESET nRST 10 74HC00 74HC00 VCC R104 10k SW_CC1 nPSEN SW_CC3 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 VCC PROG_MEM_OVERLAP D.0 D.1 D.2 D.3 D.4 D.5 D.6 D.7 R103 10k P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A.15 A.14 A.13 A.12 A.11 A.10 A.9 A.8 DATA_PORT A.13 A.14 A.15 VCC SW102 PSEN nCS.[0 7] U104 A B C G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 15 14 13 12 11 10 nCS.0 nCS.1 nCS.2 nCS.3 nCS.4 nCS.5 nCS.6 nCS.7 74LS138 + nPSEN HIGH_ADDRESS_PORT + ON: Che Data/Address + OFF: Che I/O cho Port0 va Port2 P101 C104 10u DB9, SOCKET U105 VC2+ + C106 10u 14 C2T1OUT T2OUT 13 R1IN R2IN V+ C1+ C1T1IN T2IN R1OUT R2OUT C105 VCC 10u + JD02 C107 + 10u 11 TXD_232 10 TXD 12 RXD RXD_232 MAX232 VCC RS232 + C112 1uF C109 USB/B/Fe 100n C108 10uF + C110 10n 20 R102 FERRITE 16 15 USBDUSBD+ 19 24 J1 USB TYPE B FEMALE 27 28 C111 U107 VCCIO TXD VCC RXD RTS USBDM/DUSBDP/D+ NC RESET NC1 OSCI OSCO CTS DTR DSR DCD RI 100n 17 25 18 21 26 3V3OUT CBUS0 AGND CBUS1 GND GND GND CBUS2 TEST CBUS4 CBUS3 RB2 0R RXD RB3 0R TXD 11 VCC 10 23 LED-TX DB2 RB1 330 22 13 DB3 14 LED-RX 330 RBL2 12 FT232RL Hình Sơ đồ khối CPU-RAM-giải mã địa chỉ-giao tiếp máy tính 1.5 VIẾT CHƯƠNG TRÌNH ASSEMBLY VỚI KEIL UVISION Các hệ thống vi xử lý vi điều khiển cần có phần mềm (chương trình) để điều khiển hoạt động Chương trình giữ nhớ chương trình (program memory) MCU Ở cấp thấp nhất, chương trình hệ thống bit nhị phân thường gọi mã máy 10/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ chủ yếu START OE tổ hợp từ tín hiệu giải mã địa nCS2 Tần số chuyển đổi ADC (tín hiệu CLK) chia từ tín hiệu dao động 8051 IC đếm 74x393 Tín hiệu EOC (tích cực chuyển đổi xong nối đến header để sử dụng cần) ADC0809 chuyển đổi lên đến kênh Trong kênh nối sẵn đến biến trở để người sử dụng thử nghiệm hoạt động ADC cách nhanh chóng Để chọn kênh, đường địa thấp bus địa (A0, A1, A2) sử dụng Như vậy, người lập trình truy xuất đến địa thấp nCS2 để truy xuất đến kênh 9.3 PHẦN MỀM GIAO TIẾP Vì ADC0809 thiết kế để hoạt động với chế bus tín hiệu giải mã địa từ chân nCS2 nên người lập trình cần dùng lệnh truy xuất khơng gian nhớ liệu ngồi để truy cập ADC, cụ thể lệnh MOVX Các bước cụ thể gồm: thứ nhất, người lập trình cần yêu cầu ADC0809 thực chuyển đổi kênh cụ thể cách tích cực tín hiệu START đường địa (dùng tín hiệu ALE) Với kết nối phần cứng này, tín hiệu START tích cực đường ALE tích cực Như cần dùng lệnh ghi ngoại vi địa tương ứng MOV DPTR, #nCS2 ; kết hợp địa ADC với địa kênh MOVX @DPTR, A ; lệnh chuyển đổi kênh tương ứng Sau chờ khoảng thời gian (thường lấy khoảng 100us), chờ mức tích cực chân EOC, người lập trình cần đọc từ ADC cách tích cực chân OE Điều thực lệnh đọc ngoại vi MOVX A, @DPTR http://doe.dee.hcmut.edu.vn 66/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ CHƯƠNG 10 THÍ NGHIỆM GIAO TIẾP CẢM BIẾN NHIỆT ĐỘ 10.1 LÝ THUYẾT CƠ BẢN DS18S20 vi mạch số đo độ C 9-bit với chức cảnh báo nhiệt độ vượt ngưỡng lập trình Vi mạch thơng tin bus dây (1-Wire bus), tức cần chân port để thông tin cảm biến MCU Tầm đo vi mạch khoảng 55oC đến +125oC với độ xác tối đa 0.5oC Bên cạnh đó, DS18S20 cấp nguồn trực tiếp thơng qua đường liệu Mỗi DS18S20 có chứa mã nối tiếp 64-bit nhất, điều cho phép nhiều vi mạch hoạt động bus dây DS18S20 gồm chân: GND, DQ, VDD, DQ chân vào liệu Giao thức bus dây (1-Wire) giao thức Dallas định nghĩa Đường điều khiển cần có điện trở kéo lên tất vi mạch kết nối đến bus thông qua cổng trạng thái cực máng hở (chân DQ) Trong hệ thống bus này, MCU (master) nhận dạng định địa vi mạch bus mã địa 64-bit Vì vi mạch có mã nhận dạng 64bit nên gần không giới hạn số vi mạch kết nối bus 10.2 Sơ đồ khối DS18S20 Chức cốt lõi DS18S20 chuyển đổi trực tiếp nhiệt độ thành tín hiệu số Ngõ cảm biến nhiệt có độ phân giải 9-bit, tương ứng 0.5oC bước DS18S20 khởi động trạng thái nghỉ công suất thấp, để khởi động đo nhiệt độ chuyển đổi tương tự sang số, MCU (master) phải thực lệnh Convert T [44h] Sau chuyển đổi, kết lưu vào ghi nhiệt độ 2-byte nhớ DS18S20 trở lại trạng thái nghỉ 67/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Dữ liệu ngõ DS18S20 hiệu chỉnh theo độ C Dữ liệu nhiệt độ lưu trữ dạng số bù 16-bit (mở rộng dấu) Bit dấu (S) nhiệt độ dương (S=0) hay âm (S=1) Định dạng ghi nhiệt độ Mối quan hệ liệu số nhiệt độ Sau DS18S20 thực chuyển đổi nhiệt độ, giá trị so sánh với giá trị nhiệt độ cảnh báo lưu ghi 8-bit TH TL Tuy nhiên bit từ đến ghi nhiệt độ so sánh Nếu nhiệt độ ngưỡng, tức cao TH thấp TL, điều kiện cảnh báo xuất cờ cảnh báo đặt lên bên DS18S20 Nếu nhiệt độ trở lại bình thường điều kiện cảnh báo bị tắt lần chuyển đổi nhiệt độ Định dạng ghi TH TL Bộ nhớ DS18S20 tổ chức sau 68/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Bản đồ nhớ DS18S20 Bộ nhớ DS18S20 bao gồm nhớ RAM nhớ EEPROM để lưu trữ ghi cảnh báo TH TL Byte nhớ RAM chứa LSB MSB ghi nhiệt độ Các byte đọc Byte dùng để truy xuất ghi TH TL Byte dành riêng để sử dụng bên vi mạch Byte chứa ghi COUNT REMAIN COUNT PER oC, dùng để tính kết phân giải mở rộng (xem thêm mô tả kỹ thuật DS18S20, phần OPERATION – MEASURING TEMPERATURE) Byte byte đọc chứa CRC byte từ đến nhớ RAM Dữ liệu viết vào byte RAM sử dụng lệnh Write Scratchpad [4Eh]; liệu phát với LSB byte Bộ nhớ RAM đọc sử dụng lệnh Read Scratchpad [BEh] sau viết liệu Khi đọc nhớ RAM, liệu phát với LSB byte Để chuyển TH TL từ RAM vào nhớ EEPROM, MCU (master) phải thực thi lệnh Copy Scratchpad [48h] Hệ thống bus dây (1-Wire bus) Hệ thống sử dụng master (chủ bus) để điều khiển nhiều slave (tớ bus) DS18S20 slave Khi có slave, hệ thống gọi “single-drop”, có nhiều slave, hệ thống gọi “multi-drop” Tất liệu lệnh phát với LSB trước tiên Mỗi thiết bị giao tiếp với đường liệu thông qua cổng trạng thái cực máng hở Khả cho phép thiết bị giải phóng đường liệu thiết bị khơng phát liệu đến bus, bus có sẵn để thiết bị khác sử dụng Bus dây cần điện trở kéo lên khoảng 5k, 69/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ trạng thái nghỉ bus mức cao Nếu bus giữ mức thấp nhiều 480μs, thiết bị bus bị reset Chuỗi thao tác để truy xuất DS18S20 sau: Khởi động: bao gồm xung reset phát master, xung có mặt phát slave Định khởi động Lệnh ROM: sau master phát có mặt slave, lệnh ROM Các lệnh hoạt động mã 64-bit slave cho phép master truy xuất đến thiết bị cụ thể bus Các lệnh cho phép master xác định loại số lượng thiết bị bus Có lệnh ROM, lệnh dài 8-bit, bao gồm SEARCH ROM [F0h], READ ROM [33h], MATCH ROM [55h], SKIP ROM [CCh], ALARM SEARCH [ECh] Lệnh chức DS18S20: sau master dùng lệnh ROM để xác định slave mà cần thơng tin, master lênh chức DS18S20 Các lệnh bao gồm: CONVERT T [44h], WRITE SCRATCHPAD [4Eh], READ SCRATCHPAD [BEh], COPY SCRATCHPAD [48h], RECALL E2 [B8h], READ POWER SUPPLY [B4h] 70/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Định khe thời gian đọc/ghi 71/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Lưu đồ lệnh ROM 72/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Lưu đồ lệnh chức DS18S20 Chuỗi thao tác bắt buộc cho lần truy xuất DS18S20 10.3 THIẾT KẾ PHẦN CỨNG Tín hiệu giao tiếp 8051 DS18S20 thông qua chuẩn 1-Wire P3.4 Như vậy, người sử dụng cần bật ON switch SW-CC4 73/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ VCC VCC RE01 10k SENSOR_OUT JE01 SENSOR_CON SENSOR_OUT = P3.4 Hình 49 Sơ đồ kết nối DS18B20 10.4 PHẦN MỀM GIAO TIẾP Người lập trình cần dùng lệnh SETB, CLR để thao tác bit P3.4 theo giao thức điều khiển DS18S20 74/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ CHƯƠNG 11 THÍ NGHIỆM VỚI VI MẠCH DAC MCP4922 11.1 LÝ THUYẾT CƠ BẢN Vi mạch chuyển đổi DAC sử dụng để chuyển tín hiệu từ dạng số sang dạng tương tự DAC thường dùng để tạo ngõ giao tiếp hệ thống số với giới analog bên Vi mạch DAC MCP4922 vi mạch chuyển đổi số sang tương tự 12-bit dùng giao tiếp SPI Microchip Dưới bảng chức chân vi mạch Chân VDD ngõ vào nguồn cung cấp dương, điện áp thay đổi từ 2.7V đến 5.5V Chân nCS chân ngõ vào cho phép vi mạch Chân phải giữ mức thấp phép vi mạch làm việc SCK ngõ vào clock nối tiếp SDI chân ngõ vào liệu nối tiếp tương thích SPI Ngõ vào nLDAC mức thấp cho phép chuyển ghi chốt ngõ vào sang ghi DAC.(chốt ngõ ra) Chân nối đến GND dùng cạnh lên nCS Chân nSHDN mức thấp làm cho DAC vào trạng thái nghỉ Các ngõ DAC VOUTA VOUTB Tín hiệu ngõ thay đổi AVSS VDD, chân AVSS chân GND tín hiệu analog Các ngõ vào VREFA VREFB ngõ vào điện áp tham khảo 11.2 THIẾT KẾ PHẦN CỨNG Trên kit thí nghiệm, vi mạch MCP4922 thiết kế giao tiếp với MCU thông qua giao tiếp SPI Các tín hiệu SCK, SDI, nLDAC, DAC_nCS từ MCP4922 nối đến DIP-SW4 cấu hình trước nối vào MCU Do đó, cần bật ON switch để kết nối tín hiệu điều khiển EME-MC8 vào module MCU tương ứng 75/80 HƯỚNG ỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Như vậy, ậy, để điều khiển tín hiệu này, n người lập trình cần truy xuất đến bit port ằng lệnh thông qua ghi port P1 11.3 PHẦN MỀM GIAO TIẾP P Vì tín hiệu điều khiển MCP4922 ợc kết nối trực tiếp đến bit port nnên lệnh cho phép thao tác ghi P1 P1 Ví dụ đoạn mã sau dùng đểể dịch bit liệu từ 8051 vào MCP4922 CLR SCK ; tạo xung clock MOV SDI, I, C ; dịch cờ C SETB SCK ; vào MCP4922 Ví dụ để xuất mức điện áp 0V, 1V, 2.5V, 4V, 5V ngõ của MCP4922, MCP492 người lập trình làm sau: Vì MCP4922 DAC 12-bit với ới điện áp tham tha khảo 5V nên độ ộ phân giải ttương ứng 5V/4096 = 1.22mV/LSB Như vậy, v người lập trình tính ợc giá trị nhị phân cần xuất MCP4922 đểể tạo mức điện áp nh yêu cầu Vì độ phân giải có thểể tạo sai số ngõ ng MCP4922 nên người ời thiết kế ddùng vi mạch ạch tạo điện áp tham khảo xác MCP1541 Vi mạch n tạo ạo điện áp 4.096V xác ngõ ra, đó, MCP4922 sẽẽ có độ phân giải l 1mV/LSB Dùng chương trình dịch ịch liệu vào v phần để ghi liệu vào MCP492 MCP4922 76/80 HƯỚNG ỚNG DẪN THÍ NGHIỆM VI XỬ LÝ CHƯƠNG 12 THÍ NGHIỆM VỚI LED MA TRẬN N 12.1 LÝ THUYẾT CƠ BẢN Led ma trận dùng đểể hiển thị thơng tin đến điểm ảnh Do đó, led ma trận biểu diễn ợc chữ số, chữ cái, v hình ảnh khác Led ma trận làà ddạng đơn sắc (thường màu đỏ), đa sắc ắc Đối với dạng đa sắc, điểm ảnh chứa đến led với m màu khác (ví dụ màu đỏ vàà màu xanh cây) Sử S dụng phối hợp hai màu àu có th thể sinh thêm số màu àu trung gian Q trình th ợc thực cách thay đổi độ rộng xung điều khiển màu àu (tức (t thời gian sáng led màu) Đối ối với led ma trận, hai chân anode cathode led đ đưa thành tín hiệu điều khiển Led ma trận Led ma trận ợc hiển thị phương ph pháp quét hàng ặc cột Chu kỳ quét thường 1/8 (hoặc ặc 1/16) Điều n có nghĩa khung hình ợc hiển thị đầy đủ sau (hoặc 16) lần quét hàng (hoặc ặc cột) Khi quét led ma trận cần quan tâm đến d dòng òng trung bình dòng đỉnh qua led thơng số ày s định độ sáng led Ví dụụ với led hhàng dùng phương pháp quét cột, ột, led cần dòng d trung bình 5mA để sáng thìì dòng trung bình tối đa cột làà led x 5mA = 40mA Tuy nhiên led ch chỉỉ hiển thị 1/8 (hoặc 1/16) chu kỳ quét nên dòng đỉnh ỉnh xung quét phải đạt đạt đến 8x40mA = 360mA (hoặc 720mA) Các chân vi mạch số thường ờng khơng thể cung cấp đủ dòng d ày Do tín hi hiệu 77/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ lái led cần phải đệm với linh kiện dòng lớn transistor để đảm bảo đủ dòng cho led Để hiển thị ký tự chữ số, chương trình cần bảng font để chuyển giá trị bên MCU thành giá trị hiển thị lên led ma trận tương tự với led đoạn Bảng font ghi trực tiếp vào chương trình 12.2 THIẾT KẾ PHẦN CỨNG Led ma trận kit led có kích thước 8x8 với phương pháp qt led quét cột (vì cột đệm với dãy transistor ULN2803 có dòng tối đa lên đến 500mA) Led có hàng anode cột cathode Thiết kế sử dụng vi mạch ULN2803 cho phép kéo dòng lên đến 500mA phía cột BJT B562 phía hàng phía cột gánh dòng tối đa lên đến led đồng thời Để hiển thị điểm ảnh liệu xuất hàng phải mức khóa BJT dẫn làm cho hàng cấp nguồn VCC, liệu xuất cột mức ULN2803 hoạt động cổng đảo nên tín hiệu lái cột có điện áp mức (tức gần GND) cho phép led cột tương ứng sáng Hình 50 Sơ đồ mạch phía cột khối led ma trận Hình 51 Sơ đồ mạch phía hàng khối led ma trận 78/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Các tín hiệu liệu hàng cột thiết kế theo phương pháp bus Do đó, led ma trận điều khiển thông qua hai vi mạch chốt 74x573, chốt liệu hàng dùng để chọn cột quét Tín hiệu cho phép chốt liệu tổ hợp từ tín hiệu giải mã địa tín hiệu cho phép ghi nWR Giải mã địa thiết kế 74138 với địa cụ thể hàng cột xem đồ nhớ 12.3 PHẦN MỀM GIAO TIẾP Để hiển thị lên led ma trận, phương pháp chọn quét cột Mỗi cột hiển thị khoảng thời gian định sau chuyển sang cột Vì led ma trận có kích thước 8x8 nên xung dòng qt cột 1/8 Để đảm bảo hiển thị rõ, tồn bảng hiển thị phải qt vòng trước 40ms (25 hình/s) Như cột có thời gian hiển thị tối đa 5ms (tuy nhiên nên dùng thời gian trễ 1ms) Nếu thời gian hiển thị nhỏ tần số quét tăng, nhiên lúc dòng trung bình khơng đủ để led sáng tốt Do khơng thể giảm thời gian quét xuống nhỏ, trung bình nên chọn vào khoảng 1-3ms (giá trị cụ thể tùy thuộc vào loại led) Trước tiên, người lập trình cần chuyển đổi giá trị cần hiển thị thành dạng hiển thị lên led ma trận cách dùng phương pháp tra bảng để tra bảng font Lưu ý liệu hiển thị chuyển thành byte liệu hiển thị (vì led ma trận có cột) Để hiển thị cột, người lập trình cần xuất byte hàng (1 byte byte tra từ bảng font), cho phép cột đó, chờ khoảng thời gian chuyển sang hiển thị cột với qui trình tương tự Sau hết cột, qui trình hiển thị lặp lại từ đầu Ví dụ ta muốn hiển thị ký tự chữ A lên led ma trận Hình 52 Chữ A led ma trận 8x8 79/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Để hiển thị chữ A lên led ma trận, trước tiên cần xác định địa chốt hàng cột đồ nhớ Địa dùng để xuất liệu led Bước chuẩn bị liệu để xuất Vì phương pháp quét quét cột nên liệu xuất cột 10000000B, 01000000B, 00100000B, 00010000B, 00001000B, 00000100B, 00000010B, 00000001B (mức tích cực cột mức cao) Mỗi lần xuất cách 1ms, sau chuẩn bị liệu hàng Dữ liệu xuất hàng lấy phương pháp tra bảng Nhìn vào hình ảnh chữ A dự định hiển thị, ta xác định mã xuất hàng cột 03h, 0EDh, 0EEh, 0EEh, 0EDh, 03h, 0FFh, 0FFh (đây font chữ A) Dùng dẫn xuất DB để khai báo chuỗi liệu sau CharA: DB 03h, 0EDh, 0EEh, 0EEh, 0EDh, 03h, 0FFh, 0FFh Dẫn xuất DB khơng phải lệnh MCU Đó hướng dẫn để trình biên dịch ghi sẵn giá trị cho byte vào nhớ chương trình địa có nhãn CharA Dẫn xuất nên đặt phân đoạn liệu cuối chương trình MCU dùng chuỗi lệnh sau để thực tra bảng (look-up table) MOV A, #n MOV DPTR, #CharA MOVC A, @A+DPTR ; n = cột cần hiển thị Để đọc mã chữ A cần hiển thị cột thứ n Lúc n thay đổi từ (cho cột đầu tiên) đến (cho cột cuối cùng) Quá trình lặp liên tục http://doe.dee.hcmut.edu.vn 80/80 ...HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ CHƯƠNG TỔNG QUAN VỀ BỘ THÍ NGHIỆM 1.1 TỔ CHỨC TÀI LIỆU HƯỚNG DẪN Kit thí nghiệm vi xử lý thí nghiệm thiết kế dựa họ vi điều khiển MCS-51 Tài liệu hướng dẫn thí nghiệm. .. kit thí nghiệm vi xử lý 3/80 HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÝ Chú ý kit có nút nhấn RESET để reset lại chương trình PSEN dùng để đưa chip vi điều khiển chế độ lập trình, nhiên chương trình thí nghiệm. .. thức vi điều khiển 8051 nhanh chóng Tài liệu thí nghiệm bao gồm tài liệu hướng dẫn sử dụng kit thí nghiệm, thí nghiệm, số mã nguồn để tham khảo Tài liệu hướng dẫn giới thiệu thành phần kit thí nghiệm,