Điều khiển nhiệt độ lò điện

Ngày nay, với sự phát triển của khoa học kỹ thuật, trong cuộc sống hằng ngày việc đo và đặt nhiệt độ theo mong muốn trong một không gian giới hạn nào đó như: trong nhà máy, xí nghiệp, trong bệnh viện, trong công ty, nhà ở, là rất cần thiết theo nhu cầu của con người. Điều đó chứng tỏ con người ngày càng muốn giao tiếp nhiều hơn với môi trường. Vì vậy, với những kiến thức đã học của ngành điện tử em xin chọn đề tài: “Điều khiển nhiệt độ lò điện”. Với mục đích giữ nhiệt độ lò theo ý muốn. Bên cạnh đó tìm hiểu về kỹ thuật tương tự, kỹ thuật số và vi xử lý. Do kiến thức còn hạn hẹp nên trong quá trình thực hiên đề tài không thể tránh những sai sót rất mong quý thầy cô bỏ qua và có hướng giúp đỡ để em có hướng đi cao hơn sau này trong lĩnh vực nghiên cứu khoa học. Em xin chân thành cám ơn: Cô Đào Thị Thu Thủy đã tận tình hướng dẫn em trong suốt quá trình thực hiện đề tài này. Quý Thầy Cô trong Khoa Công Nghệ Điện Tử đã giúp cho em có nhiều kiến thức để thực hiện đề tài. GVHD: Đào Thị Thu Thủy MỤC LỤC Nội dung Trang LỜI NÓI ĐẦU---------------------------------------------------------------------------- 1 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ----------------------------------- 2 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ------------------------------------- 3 MỤC LỤC -------------------------------------------------------------------------------- 4 CHƯƠNG 1: LÝ THUYẾT ----------------------------------------------------------- 6 1. IC cảm biến nhiệt độ ---------------------------------------------------------------- 6 1.1. LM335, LM334 --------------------------------------------------------------- 6 1.2. Đặc tính của một số IC cảm biến nhiệt thông dụng ---------------------- 7 2. Bộ biến đổi ADC ---------------------------------------------------------------------- 7 2.1. Sơ đồ chân ADC0804 ----------------- --------------------------------------- 8 2.2. Chức năng các chân ADC0804 --------------------------------------------- 8 3. Tìm hiểu về P89V51RB2 ----------------------------------------------------------- 11 3.1. Sơ đồ khối P89V51RB2 ------------------------------------------------------ 11 3.2. Sơ đồ chân và chức năng các chân P89V51RB2 -------------------------- 12 3.2.1. Các Port --------------------------------------- -------------------------- 12 3.2.2. Các chân tín hiệu điều khiển---------------- -------------------------- 14 3.3. Tổ chức bộ nhớ ---------------------------------------------------------------- 15 3.3.1. Bộ nhớ trong ------------------------------------------------------------- 15 3.3.1.1. Bộ nhớ ROM ------------------------------------------------------ 16 3.3.1.2. Bộ nhớ RAM ----------------------------------------------------- 16 3.3.1.3. Các thang ghi chức năng đặc biệt ------------------------------ 17 3.3.2. Bộ nhớ ngoài------------------------------------------------------------- 20 3.4. Hoạt động Reset --------------------------------------------------------------- 22 3.5. Các tập lệnh -------------------------------------------------------------------- 23 3.6. Hoạt động của các port nối tiếp --------------------------------------------- 25 3.6.1. Thanh ghi đệm port nối tiếp (SBUF) --------------------------------- 25 3.6.2. Thanh ghi điều khiển Port nối tiếp SCON -------------------------- 25 3.6.3. Khởi động và truy xuất các thanh ghi Port nối tiếp ---------------- 27 CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG ----------------------------------------- 29 1. Tìm hiểu về đề tài -------------------------------------------------------------------- 29 1.1. Nhiệm vụ đặt ra ---------------------------------------------------------------- 29 1.2. Hướng giải quyết ------------------------------------------------------------- 29 2. Thiết kế phần cứng và nguyên lý hoạt động của các khối - ------------------ 29 2.1. Khối cảm biến nhiệt và khối ADC ------------------------------------------ 29 2.2. Khối xử lý và nút nhấn ------------------------------------------------------- 31 2.3. Khối điều khiển quạt, đèn --------------------------------------------------- 32 2.4. Khối hiển thị ------------------------------------------------------------------- 33 2.5. Khối nguồn --------------------------------------------------------------------- 33 2.6. Sơ đồ nguyên lý điều khiển nhiệt độ lò điện ------------------------------ 34 2.7. Sơ đồ mạch in điều khiển nhiệt độ lò điện -------------------------------- 34 3. Phần mềm và giải thuật ------------------------------------------------------------- 35 3.1. Phần mềm ---------------------------------------------------------------------- 35 3.2. Lưu đồ giải thuật- ------------------------------------------------------------- 35 CHƯƠNG 3: ĐÁNH GIÁ – KẾT LUẬN ------------------------------------------- 37 1. Kết quả thực hiện -------------------------------------------------------------------- 37 2. Khuyết điểm -------------------------------------------------------------------------- 37 3. Hướng khắc phục và phát triển --------------------------------------------------- 37 PHỤC LỤC ------------------------------------------------------------------------------- 39 TÀI LIỆU THAM KHẢO ------------------------------------------------------------- 46

pdf45 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3330 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Điều khiển nhiệt độ lò điện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
uyển về dòng điện hoặc điện áp qua một thiết bị được gọi là các bộ biến đổi. Các bộ biến đổi cũng có thể coi như là các bộ cảm biến. Mặc dù chỉ có các bộ cảm biến nhiệt, tốc độ, áp suất, ánh sáng và nhiều đại lượng tự nhiên khác nhưng chúng đều cho ra các tín hiệu dạng dòng điện hoặc điện áp ở dạng liên tục. Do vậy, ta cần một bộ chuyển đổi tương tự số sao cho bộ vi điều khiển có thể đọc được chúng. Có hai loại được sử dụng rộng rãi nhất là ADC0809 và ADC0804. 2.1. Sơ đồ chân ADC0804: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 8 Chíp ADC0804 là bộ chuyển đổi tương tự số trong họ các loạt ADC800 từ hãng National Semiconductor. Nó cũng được nhiều hãng khác sản xuất, nó làm việc với +5V và có độ phân giải 8 bit. Ngoài độ phân giải thì thời gian chuyển đổi cũng là một yếu tố quan trọng khác khi đánh giá một bộ ADC. Thời gian chuyển đổi được định nghĩa như là thời gian mà bộ ADC cần để chuyển một đầu vào tương tự thành một số nhị phân. Trong ADC0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ được cấp tới chân CLK R và CLK IN nhưng không thể nhanh hơn 110 sμ . Các chân của ADC0804 được mô tả như sau: Hình 1.3: Sơ đồ chân ADC0804 2.2. Chức năng các chân ADC0804: ™ Chân CS (chân số 1) – chọn chíp: Là một đầu vào tích cực mức thấp được sử dụng để kích hoạt chíp ADC0804. Để truy cập ADC0804 thì chân này phải ở mức thấp. ™ Chân RD (chân số 2): Đây là một tín hiệu đầu vào được tích cực mức thấp. Các bộ ADC chuyển đổi đầu vào tương tự thành số nhị phân tương đương với nó và giữ nó trong một thanh ghi trong. RD được sử dụng để nhận dữ liệu được chuyển đổi ở đầu ra của ADC0804. Khi 0CS = nếu một xung cao – xuống – thấp được áp đến chân RD thì đầu ra số 8 bit được hiển diện ở các chân dữ liệu D0 – D7. Chân RD cũng được coi như cho phép đầu ra. ™ Chân ghi WR (chân số 3. Thực ra tên chính xác là “Bắt đầu chuyển đổi”): Đây là chân đầu vào tích cực mức thấp được dùng để báo cho ADC0804 bắt đầu quá trình chuyển đổi. Nếu CS = 0 khi WR tạo ra xung cao – xuống – thấp thì bộ ADC0804 bắt đầu chuyển đổi giá trị đầu vào tương tự Vin về số nhị phấn 8 bit. Lượng Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 9 thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào tần số đưa đến chân CLK IN và CLK R. Khi việc chuyển đổi dữ liệu được hoàn tất thì chân INTR được ép xuống thấp bởi ADC0804. ™ Chân CLK IN (chân số 4) và CLK R (chân số 19): Chân CLK IN là một chân đầu vào được nối tới một nguồn đồng hồ ngoài khi đồng hồ ngoài được sử dụng để tạo ra thời gian. Tuy nhiên ADC0804 cũng có một máy tạo xung đồng hồ. Để sử dụng máy tạo xung đồng hồ trong của ADC0804 thì các chân CLK IN và CLK R được nối tới một tụ điện và một điện trở (hình 1.4). Trong trường hợp này tần số đồng hồ được xác định bằng biểu thức: 1 1,1 f RC = Hình 1.4: Kiểm tra ADC0804 ở chế độ chạy tự do Giá trị tiêu biểu của các đại lượng trên là R = 10k Ω và C = 150pF và tần số nhận được là f = 606kHz và thời gian chuyển đổi sẽ mất là 110 sμ . ™ Chân ngắt INTR (chân số 5): Đây là chân đầu ra tích cực mức thấp. Bình thường nó ở trạng thái cao và khi việc chuyển đổi hoàn tất thì nó xuống thấp để báo cho CPU biết là dữ liệu được chuyển đổi sẵn sàng để lấy đi. Sau khi INTR xuống thấp, ta đặt CS = 0 và gửi một xung cao xuống – thấp tới chân RD lấy dữ liệu ra của ADC0804. ™ Chân Vin (+) và Vin (-): Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 10 Đây là các đầu vào tương tự vi sai mà Vin = Vin(+) – Vin(-). Thông thường Vin(-) được nối xuống đất và Vin (+) được dùng như đầu vào tương tự chuyển đổi về dạng số. ™ Chân VCC (chân số 20): Đây là chân nguồn nối +5V, nó cũng được dùng như điện áp tham chiếu khi đầu vào /2REFV (chân số 9) để hở. ™ Chân /2REFV (chân số 9): Là một điện áp đầu vào được dùng cho điện áp tham chiếu. Nếu chân này hở (không được nối) thì điện áp đầu vào tương tự cho ADC0804 nằm trong dãy 0 5V→ (giống như chân VCC). Tuy nhiên, có nhiều ứng dụng mà đầu vào tương tự áp đến Vin cần phải khác ngoài dãy 0 → 5V. Chân /2REFV được dùng để thực thi các điện áp đầu vào khác ngoài dãy 0 →5V. Ví dụ: Nếu dãy đầu vào tương tự cần phải là 0 →4V thì /2REFV được nối với +2V. Hình 1.5 : Biểu diễn dãy điện áp Vin đối với các đầu vào /2REFV khác nhau. ™ Các chân dữ liệu D0 – D7 (Từ chân 11 đến chân 18): Các chân dữ liệu D0 – D7 (D7 là các bit cao nhất MSB và D0 là bit thấp LSB) là các chân đầu ra dữ liệu số. Đây là những chân được đệm ba trạng thái và dữ liệu được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân RD bị đưa xuống thấp. Để tính điện áp đầu ra ta có thể sử dụng công thức sau: Với Dout là đầu ra dữ liệu số (dạng thập phân). Vin là điện áp đầu vào tương tự và độ phân dãy là sự thay đổi nhỏ nhất được tính như là (2x /2REFV ) chia cho 256 đối với ADC 8 bit. ™ Chân GND (chân số 10): Đây là những chân đầu vào cấp đất chung cho cả tín hiệu số và tương tự. Đất tương tự được nối tới đất của chân Vin tương tự, còn đất số được nối tới đất của chân VCC. Lý do mà ta phải có hai đất là để cách ly tín hiệu tương tự Vin từ các điện áp ký Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 11 sinh tạo ra việc chuyển mạch số được chính xác. Trong phần trình bày thì các chân được nối chung với một đất. Tuy nhiên, trong thực tế thu đo dữ liệu các chân đất này được nối tách biệt. Từ những điều trên ta kết luận rằng các bước cần phải thực hiện khi chuyển đổi dữ liệu bởi ADC0804 là: 9 Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để bắt đầu chuyển đổi. 9 Duy trì hiển thị chân INTR . Nếu INTR xuống thấp thì việc chuyển đổi được hoàn tất và ta có thể sang bước kế tiếp. Nếu INTR cao tiếp tục thăm dò cho đến khi nó xuống thấp. 9 Sau khi chân INTR xuống thấp, ta bật CS = 0 và gửi một xung cao xuống thấp đến chân RD để lấy dữ liệu ra khỏi chip ADC0804. Phân chia thời gian cho quá trình này được trình bày như hình 1.6. Hình 1.6: Phân chia thời gian đọc và ghi của ADC0804 3. Tìm hiểu về P89V51RB2: Là bộ vi điều khiển của Philips Corporation. Đây là một phiên bản cải tiến sử dụng CPU là bộ vi điều khiển 80C51 với nhiều tính năng vượt trội: Dung lượng ROM/RAM trên chip rất lớn, 3 Timer 16 bit + 1 Watch-dog Timer, 2 thanh ghi DPTR, 8 nguồn ngắt, PWM (Pulse Width Modulator), SPI (Serial Peripheral Interface) và đặc biệt là bộ nhớ chương trình trên chip có tính năng ISP (In-System Programming) và IAP (In-Application Programming),… 3.1. Sơ đồ khối: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 12 3.2. Sơ đồ chân và chức năng các chân P89V51RB2: P89V51RB2 có 40 chân trong đó 32 chân có công dụng xuất/nhập. Trong 32 chân đó có 24 chân có tác dụng kép (Nghĩa là 1 chân có 2 chức năng), mỗi một đường có thể hoạt động xuất/nhập, hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp. Hình 1.8: Sơ đồ chân P89V51RB2 3.2.1. Các Port: Hình 1.7: Sơ đồ khối của 89V51RB2 Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 13 ™ Port 0: - Port 0 (P0.0 – P0.7) có số chân từ 32 – 39. - Port 0 có chức năng xuất nhập dữ liệu (P0.0 – P0.7) trong các thiết kế cỡ nhỏ không sử dụng bộ nhớ ngoài. - Port 0 có chức năng là bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) trong các thiết kế cỡ lớn có sử dụng bộ nhớ ngoài. ™ Port 1: - Port 1 (P1.0 – P1.7) có số chân từ 1 – 8. - Port 1 là port xuất nhập dữ liệu (P1.0 – P1.7) khi sử dụng hoặc không sử dụng bộ nhớ ngoài. ™ Port 2: - Port 2 (P2.0 – P2.7) có số chân từ 21 – 28. - Port 2 có chức năng là port xuất nhập dữ liệu (P2.0 – P2.7) khi không sử dụng bộ nhớ ngoài. - Port 2 có chức năng là bus địa chỉ byte cao (A8 - A15) khi sử dụng bộ nhớ ngoài. ™ Port 3: - Port 3 (P3.0 – P3.7) có số chân từ 10 – 17. - Port 3 có chức năng xuất nhập dữ liệu (P3.0 – P3.7) khi không sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt. - Port 3 có chức năng là các tín hiệu điều khiển khi sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt. - Chức năng của các chân port 3: Bit Tên Địa chỉ bit Chức năng P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp. P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp. P3.2 INT0\ B2H Ngõ vào ngắt ngoài 0. P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 14 P3.4 T0 B4H Ngõ vào của bộ định thời/ đếm 0. P3.5 T1 B5H Ngõ vào của bộ định thời/ đếm 1. P3.6 WR\ B6H Điều khiển ghi vào RAM ngoài. P3.7 RD\ B7H Điều khiển đọc từ RAM ngoài. Bảng 1.9: Bảng tóm tắt chức năng các chân của Port 3 3.2.2. Các chân tín hiệu điều khiển: ™ Chân PSEN\: - PSEN (Program Store Enable): Cho phép bộ nhớ chương trình, chân số 29. - Chân PSEN\: Có chức năng là tín hiệu cho phép truy xuất (đọc) bộ nhớ chương trình (ROM) ngoài hoặc là tín hiệu truy xuất, tích cực mức thấp. - PSEN ở mức thấp trong thời gian CPU tìm - nạp lệnh từ ROM ngoài. Khi CPU sử dụng ROM trong, PSEN sẽ ở mức cao. - Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nối với chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài. ™ Chân ALE: - ALE (Address Latch Enable): Cho phép chốt địa chỉ, chân số 30. - Chân ALE có chức năng là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7). Ngoài ra chân ALE còn là tín hiệu xuất, tích cực mức cao. - Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE được dùng làm ngõ vào xung lập trình (PGM\). ™ Chân EA\: - EA ( External Access): Truy xuất ngoài, chân số 31. - Tín hiệu vào EA\ thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 89V51RB2 thi hành chương trình từ ROM nội. Nếu ở mức 0, 89V51RB2 thi hành chương trình từ ROM ngoài. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 15 - Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình (Vpp = 12V – 12,5V cho 89V51RB2). ™ Chân Reset: - RST (Reset): Thiết lập lại, chân số 9. - Khi ngõ vào RST đưa lên cao ít nhất 2 chu kỳ máy, 89V51RB2 thiết lập lại trạng thái ban đầu. Khi ngõ vào RST ở mức thấp IC hoạt động bình thuờng. ™ Chân XTAL1, XTAL2: - XTAL (Crystal): Tinh thể thạch anh, chân số 18 – 19. - XTAL1: Ngõ vào mạch tạo xung clock trong chip. - XTAL2: Ngõ ra mạch tạo xung clock trong chip. - Bộ dao động được tích hợp bên trong 89V51RB2, khi sử dụng 89V51RB2 người thiết kế chỉ cần nối thêm thạch anh (Tần số thạch anh thường sử dụng là 12MHZ) và tụ. ™ Chân VCC, GND: - VCC, GND: Nguồn cung cấp điện, chân số 40 và 20. - VCC = +5V ± 10% và GND = 0V. 3.3. Tổ chức bộ nhớ: SFR 80H 7FH 00H Bộ nhớ chương trình (mã) FFFH 000H Bộ nhớ trong chip PSEN\ ª WR\ RD\ ª ª Bộ nhớ chương trình (mã) FFFFH 0000H Bộ nhớ dữ liệu Bộ nhớ ngoài chip Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 16 Hình 1.10: Tóm tắt các vùng nhớ của 89V51RB2 3.3.1. Bộ nhớ trong: Bộ nhớ trong 89V51RB2 bao gồm ROM và RAM. RAM trong 89V51RB2 bao gồm nhiều thành phần: RAM đa chức năng, RAM định địa chỉ bit và các dãy thanh ghi. 3.3.1.1. Bộ nhớ ROM (Bộ nhớ chương trình): Bộ nhớ chương trình dùng để lưu trữ chương trình điều khiển cho chip hoạt động. 3.3.1.2. Bộ nhớ RAM (Bộ nhớ dữ liệu): Bộ nhớ dữ liệu dùng để lưu trữ các dữ liệu và tham số. ™ RAM đa chức năng: - Trên hình vẽ cho thấy 80 byte RAM đa chức năng chiếm địa chỉ từ 30H đến 7FH. - Mọi địa chỉ trong vùng RAM đa chức năng đều có thể truy xuất tự do dùng kiểu định địa chỉ trực tiếp hoặc gián tiếp. ™ RAM định địa chỉ bit: - RAM định địa chỉ bit gồm 128 bit được định địa chỉ chứa các byte có địa chỉ từ 20H đến 2FH. - RAM định địa chỉ bit có 3 kiểu truy xuất dữ liệu: trực tiếp, gián tiếp hoặc theo từng bit. ™ Các dãy thanh ghi: - 32 vị trí thấp của bộ nhớ nội chứa các dãy thanh ghi. Các lệnh của 89V51RB2 hỗ trợ 8 thanh ghi từ R0 – R7 thuộc dãy 0 và theo mặc định sau khi Reset hệ thống các thanh ghi này ở các địa chỉ từ 00H đến 07H. - Các lệnh dùng các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức năng tương ứng dùng kiểu địa chỉ trực tiếp. Các dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 17 - Do có 4 dãy thanh ghi nên tại một thời điểm chỉ có một dãy thanh ghi tích cực. Dãy thanh ghi tích cực có thể được thay đổi bằng cách thay đổi bit chọn dãy trong từ trạng thái chương trình PSW. 3.3.1.3. Các thang ghi chức năng đặc biệt: - Các thanh ghi nội của hầu hết các bộ vi xử lý đều được truy xuất rõ ràng bởi một tập lệnh. - Các thanh ghi nội của 89V51RB2 được cấu hình thành một phần của RAM trên chip, vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp). Cũng như các thanh ghi từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt (SFR: Special Function Register) chiếm phần trên của RAM nội từ địa chỉ 80H đến FFH. - Ngoại trừ thanh ghi A có thể được truy xuất rõ ràng còn lại hầu hết các thanh ghi chức năng đặc biệt được truy xuất bằng kiểu định địa chỉ trực tiếp. ™ Thanh ghi từ PSW (Program Status Word): Bit Ký hiệu Địa chỉ Mô tả bit PSW.7 CY D7H Cờ nhớ PSW.6 AC D6H Cờ nhớ phụ PSW.5 F0 D5H Cờ 0 PSW.4 RS1 D4H Chọn dãy thanh ghi (bit 1) PSW.3 RS0 D3H Chọn dãy thanh ghi (bit 0): 00 = dãy 0: địa chỉ từ 00H đến 07H 01 = dãy 1: địa chỉ từ 08H đến 0FH 10 = dãy 2: địa chỉ từ 10H đến 17H 11 = dãy 2: địa chỉ từ 18H đến 1FH PSW.2 OV D2H Cờ tràn Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 18 PSW.1 - D1H Dự trữ PSW.0 P D0H Cờ kiểm tra chẵn lẻ Bảng1.11: Thanh ghi PSW ™ Thanh ghi A: - Thanh ghi A là thanh ghi tích lũy có công dụng chứa dữ liệu của các phép toán mà vi điều khiển xử lý. Ví dụ lệnh MUL AB sẽ nhân những giá trị không dấu 8 bit có trong hai thanh ghi A và B, rồi trả về kết quả 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ lấy A chia B, kết quả số nguyên đặt vào A, số dư đặt vào B. - Thanh ghi A có địa chỉ byte là E0H và địa chỉ bit từ E0H – E7H. ™ Thanh ghi B: - Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi A cho các phép toán nhân chia. - Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mục đích. Nó là những bit định vị thông qua những địa chỉ từ F0H – F7H. ™ Thanh ghi SP: - Con trỏ ngăn xếp (SP: Stack Pointer) là một thanh ghi 8 bit ở địa chỉ byte là 81H, dùng để lưu trữ tạm thời các dữ liệu. Đây là thanh ghi không định địa chỉ bit. Thanh ghi này chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp. Các lệnh trên ngăn xếp bao gồm lệnh cất dữ liệu vào ngăn xếp (PUSH) và lệnh lấy dữ liệu ra khỏi ngăn xếp (POP). Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP. Đối với chip 8051 thì vùng nhớ được dùng để làm ngăn xếp được lưu giữ trong RAM nội. - Để sử dụng ngăn xếp thì ta phải khởi động thanh ghi SP (nghĩa là nạp giá trị cho thanh ghi SP) → vùng nhớ của ngăn xếp có địa chỉ bắt đầu là (SP) +1 và địa chỉ kết thúc là 7FH. - Sau khi reset IC, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được cất vào ô nhớ ngăn xếp có địa chỉ 08H. Nếu phần mềm ứng dụng không khởi Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 19 động SP một giá trị mới thì dãy thanh ghi 1, có thể cả 2 và 3 sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp. Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con (ACALL, LCALL) và các lệnh trở về (RET, RETI) để lưu trữ giá trị của bộ đếm chương trình khi bắt đầu thực hiện chương trình con và lấy lại khi kết thúc chương trình con. ™ Thanh ghi DPTR: - Con trỏ dữ liệu (DPTR: Data Pointer Register) là thanh ghi 16 bit chứa địa chỉ của ô nhớ cần truy xuất thuộc ROM trong hoặc ngoài và RAM ngoài. - Thanh ghi DPTR có địa chỉ byte là 82H (DPL: byte thấp) và 83H (DPH: byte cao). Thanh ghi này không định địa chỉ bit. ™ Thanh ghi port xuất nhập: Các Port của P89V51RB2 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port 2 ở địa chỉ A0H, Port 3 ở địa chỉ B0H. Tất cả các Port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp. ™ Thanh ghi port nối tiếp: P89V51RB2 chứa một port nối tiếp cho việc trao đổi thông tin với các thiết bị nối tiếp như máy tính hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi đệm dữ liệu nối tiếp (SBUF: Serial Buffer) ở địa chỉ 99H sẽ giữ cả dữ liệu truyền và dữ liệu nhận. Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Ngoài ra còn có thanh ghi điều khiển port nối tiếp (SCON: Serial Control) có địa chỉ byte 98H dùng để báo trạng thái và điều khiển quá trình hoạt động của port nối tiếp. ™ Thanh ghi định thời: 89V51RB2 có chứa hai bộ định thời/bộ đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động Timer được SET bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển Timer (TCON) ở địa chỉ 88H. Chỉ có TCON được địa chỉ hoá từng bit. ™ Thanh ghi ngắt: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 20 - Thanh ghi IE (Interrupt Enable: Cho phép ngắt) có địa chỉ byte A8H và địa chỉ bit A8H – AFH có công dụng cho phép hoặc không cho phép các ngắt hoạt động (có thể từng ngắt riêng rẽ hoặc tất cả các ngắt). - Thanh ghi IP (Interrup Priority: Ưu tiên ngắt) có địa chỉ byte B8H và địa chỉ bit B8H – BCH có công dụng thiết lập mức ưu tiên cho các ngắt (ưu tiên thấp hoặc ưu tiên cao). ™ Thanh ghi điều khiển nguồn: Thanh ghi PCON (Power Control: Điều khiển nguồn) không có bit định vị. Nó ở địa chỉ 87H chứa nhiều bit điều khiển. Thanh ghi PCON được tóm tắt như sau: • Bit 7 (SMOD) → cho phép tăng gấp đôi tốc độ truyền dữ liệu nối tiếp (tốc độ baud) khi SMOD = 1. • Bit 6, 5, 4 → không có địa chỉ. • Bit 3, 2 (GF1, GF0) → cho phép người lập trình dùng với mục đích riêng. • Bit 1 (PD) → dùng để quy định chế độ nguồn giảm. • Bit 0 (IDL) → dùng để quy định chế độ nghỉ. Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các IC họ MCS – 51 nhưng chỉ được thi hành trong sự biên dịch của CMOD. 3.3.2. Bộ nhớ ngoài: - 89V51RB2 có khả năng mở rộng không gian bộ nhớ chương trình lên đến 64KB và không gian bộ nhớ dữ liệu lên đến 64KB. - Khi dùng bộ nhớ ngoài, Port 0 không còn chức năng I/O nữa mà đó là bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7). Port 2 là bus địa chỉ byte cao (A8 - A15). Port 3 là các tín hiệu điều khiển (WR\, RD\). ™ Kết nối và truy xuất bộ nhớ dữ liệu ngoài: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 21 Hình 1.12: Sơ đồ kết nối và truy xuất bộ nhớ dữ liệu ngoài Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ghi được cho phép bởi các tín hiệu RD\ và WR\ ở các chân P3.7 và P3.6. Lệnh dùng để truy xuất bộ nhớ dữ liệu ngoài là MOVX, sử dụng con trỏ dữ liệu 16 bit DPTR hoặc R0, R1 làm thanh ghi chứa địa chỉ. ™ Giải mã địa chỉ: Nếu trường hợp ROM và RAM được kết hợp từ nhiều bộ nhớ có dung lượng nhỏ hoặc cả hai giao tiếp với chip 89V51 thì cần phải giải mã địa chỉ. Việc giải mã này cần cho hầu hết các bộ vi xử lý. Ví dụ nếu các ROM và RAM có dung lượng 8KB được sử dụng thì tầm địa chỉ mà chip 89V51 quản lý (0000H – FFFFH) cần phải được giải mã thành từng đoạn 8KB để chip có thể chọn từng IC nhớ trên các giới hạn 8KB tương ứng: IC1: 0000H – 1FFFH, IC2: 2000H – 3FFFH,… IC chuyên dùng cho việc tạo tín hiệu giải mã là 74HC138, các ngõ ra của IC này lần lượt nối với các ngõ vào chọn chip CS\ tương ứng của các IC nhớ để cho các IC nhớ hoạt động (tại một thời điểm chỉ có một IC nhớ được phép hoạt động). Cần lưu ý là do các đường cho phép IC nhớ hoạt động riêng lẻ cho từng loại (PSEN\ cho bộ D0 – D7 A0 – A7 CS\ A8– A15 OE\ RAM 64KB WR\ D Q G 74373 AD0 – AD7 EA\ ALE A8 – A15 RD\ 8951 WR\ Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 22 R2 8K2 VCC RESET 0 R1 100 C3 10uF nhớ chương trình, RD\ và WR\ cho bộ nhớ dữ liệu) nên 89V51 có thể quản lý không gian nhớ lên đến 64KB cho ROM và 64KB cho RAM. ™ Các không gian nhớ chương trình và dữ liệu gối nhau: Vì bộ nhớ chương trình là bộ nhớ chỉ đọc, một tình huống khó xử được phát sinh trong quá trình phát triển phần mềm cho 8951. Làm thế nào phần mềm được viết cho một hệ thống đích để gỡ rối nếu phần mềm chỉ có thể được thực thi từ không gian bộ nhớ chương trình chỉ đọc. Giải pháp tổng quát là cho các bộ nhớ chương trình và dữ liệu ngoài gối lên nhau. Vì PSEN\ được dùng để đọc chương trình và RD\ được dùng để đọc bộ nhớ dữ liệu, một RAM có thể chiếm không gian nhớ chương trình và dữ liệu bằng cách nối chân OE\ tới ngõ ra cổng AND có các ngõ vào là PSEN\ và RD\. 3.4. Hoạt động Reset: Hình 1.13: Hoạt động Reset 89V51RB2 có ngõ vào Reset tác động ở mức cao trong khoảng thời gian 2 chu kỳ xung máy, sau đó xuống mức thấp để 89V51RB2 bắt đầu làm việc. RST có thể kích bằng tay bởi một nút nhấn thường hở hoặc RST khi cấp nguồn. Trạng thái của các thanh ghi sau khi Reset hệ thống: ƒ Bộ đếm chương trình (PC) 0000H ƒ Thanh ghi A 00H ƒ Thanh ghi B 00H ƒ Thanh ghi PSW 00H ƒ Thanh ghi SP 07H ƒ Thanh ghi DPTR 0000H Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 23 ƒ Port 0 – Port3 FFH ƒ Thanh ghi IP xxx00000B ƒ Thanh ghi IE 0xx00000B ƒ Các thanh ghi định thời 00H ƒ Thanh ghi SCON 00H ƒ Thanh ghi SBUF 00H ƒ Thanh ghi PCON (HMOS) 0xxxxxxxB ƒ Thanh ghi PCON (CMOS) 0xxx0000B 3.5. Các tập lệnh: ™ Các lệnh số hoc: ADD A, SUBB A, INC DEC MUL AB : (A) ← LOW [(A) x (B)]; có ảnh hưởng cờ OV : (B) ← HIGH [(A) x (B)]; cờ Carry được xoá DIV AB : (A) ← Integer result of [(A) / (B)]; cờ OV : (B) ← Remainder of [(A) / (B)]; cờ Carry xoá. ™ Các lệnh logic: Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những toán hạng thực thi một chu kì máy, ngoài A mất 2 chu kì máy. Những hoạt động logic có thể được thực hiện trên bất kì byte nào trong vị trí nhớ dữ liệu nội mà không thông qua thanh ghi A. Các hoạt động logic được tóm tắt như sau: ANL , ORL , XRL , RL A : Quay thanh ghi A qua trái 1 bit Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 24 RLC A : Quay vòng thanh ghi A qua trái 1 bit có cờ Carry RR A : Quay thanh A ghi sang phải 1 bit ™ Các lệnh rẽ nhánh: JC Rel : Nhảy đến “Rel” nếu cờ carry C = 1. JNC Rel : Nhảy đến “Rel” nếu cờ Carry C = 0 JB bit, rel : Nhảy đến “Rel” nếu (bit) = 1 JNB bit, rel : Nhảy đến “rel” nếu (bit) = 0 JBC bit, rel : Nhảy đến “rel” nếu (bit) = 1 và xoá bit. ACALL addr 11 : Lệnh gọi tuyệt đối trong Page 2K LCAL Addr 16 : Lệnh gọi dài chương trình con trong 64 K RET : Kết thúc chương trình con trở về chương trình chính. RETI : Kết thúc thủ tục phục vụ ngắt quay về chương trình chính AJMP addr11 : Nhảy tuyệt đối không điều kiện trong 2 K LJMP addr16 : Nhảy dài không điều kiện trong 64 K SJMP rel : Nhảy ngắn không điều kiện trong (-128 ÷ 127) byte. CJNE A, direct, rel : so sánh và nhảy đến A nếu A ≠ direct DJNE Rn, rel : Giảm Rn và nhảy nếu Rn ≠ 0 DJNZ direct, rel : Giảm và nhảy nếu direct ≠ 0 ™ Các lệnh dịch chuyển dữ liệu: Các lệnh dịch chuyển dữ liệu trong những vùng nhớ nội thực thi 1 hoặc 2 chu kỳ máy. Mẫu lệnh MOV , cho phép di chuyển dữ liệu bất kỳ 2 vùng nhớ nào của RAM nội hoặc các vùng nhớ của các thanh ghi chức năng đặc biệt mà không thông qua thanh ghi A. Vùng Stack của 8051 chỉ chứa 128 byte RAM nội, nếu con trỏ Stack SP được tăng quá địa chỉ 7FH thì các byte được PUSH vào sẽ mất đi vào các byte POP ra thì không biết rõ. Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp. Địa chỉ gián tiếp có thể dùng địa chỉ 1 byte (@ Ri) hoặc địa chỉ 2 byte (@ DPTR). Tất cả các lệnh dịch chuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2 chu kỳ máy và dùng thanh ghi A làm toán hạng DESTINATION. Việc đọc và ghi RAM ngoài (RD và WR) chỉ tích cực trong suốt quá trình thực thi của lệnh MOVX, còn bình thường RD và WR không tích cực (mức 1). ™ Các lệnh luận lý: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 25 CLR C : Xoá cờ Carry xuống 0. Có ảnh hưởng cờ Carry. CLR BIT : Xoá bit xuống 0. Không ảnh hưởng cờ Carry. SET C : Set cờ Carry lên 1. Có ảnh hưởng cờ Carry. SET BIT : Set bit lên 1. Không ảnh hưởng cờ Carry. CPL C : Đảo bit cờ Carry. Có ảnh hưởng cờ Carry. CPL BIT : Đảo bit. Không ảnh hưởng cờ Carry. ANL C, BIT : Có ảnh hưởng cờ Carry. ANL C, BIT : Không ảnh hưởng cờ Carry. ORL C, BIT : Tác động cờ Carry. ORL C, : Tác động cờ Carry. MOV C, BIT : Cờ Carry bị tác động. MOV BIT, C : Không ảnh hưởng cờ Carry. 3.6. Hoạt động của các port nối tiếp: Port nối tiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào bộ đệm mà nó cho phép 1 ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ hai được nhận vào. Nếu CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhận vào hoàn toàn thì dữ liệu không bị mất. 3.6.1. Thanh ghi đệm port nối tiếp (SBUF): Thanh ghi SBUF (Serial Buffer Register): Được dùng để lưu giữ dữ liệu cần phát đi và dữ liệu đã nhận được. Việc ghi dữ liệu lên thanh ghi SBUF sẽ nạp dữ liệu để phát đi và việc đọc dữ liệu từ thanh ghi SBUF sẽ truy xuất dữ liệu đã thu được. Thanh ghi SBUF bao gồm 2 thanh ghi: - Thanh ghi phát (Bộ đệm phát): Dùng để lưu giữ dữ liệu cần phát đi. - Thanh ghi thu (Bộ đệm thu): Dùng để lưu giữ dữ liệu đã được nhận. 3.6.2. Thanh ghi điều khiển Port nối tiếp SCON: Mode hoạt động của Port nối tiếp được set bởi việc ghi lên thanh ghi mode của Port nối tiếp SCON ở địa chỉ 99H. Bảng tóm tắt thanh ghi điều khiển Port nối tiếp SCON như sau: Bit Ký hiệu Địa chỉ Mô tả hoạt động SCON.7 SM0 9FH Bit 0 của mode Port nối tiếp Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 26 Hình 1.14: Chức năng thanh ghi SCON SM0 SM1 MODE MÔ TẢ TỐC ĐỘ BAUD 0 0 0 Thanh ghi dịch Cố định (tần số dao động/12) 0 1 1 UART 8 bit Thay đổi (thiết lập bởi bộ định thời) 1 0 2 UART 9 bit Cố định (tần số dao động /12 hoặc /64) 1 1 3 UART 9 bit Thay đổi (thiết lập bởi bộ định thời) Hình 1.15: Các chế độ hoạt động của Port nối tiếp Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ. VD: Để khởi tạo Port nối tiếp chế độ 1 (SM0/SM1 = 0/1), cho phép thu (REN = 1), và set cờ ngắt của việc phát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau : MOV SCON, #01010010H. Port nối tiếp của 89V51RB2 có 4 mode hoạt động tùy thuộc theo trạng thái của SM0/SM1. Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được bố trí bởi bit Start hoặc bit Stop. 3.6.3. Khởi động và truy xuất các thanh ghi Port nối tiếp: SCON.6 SM1 9EH Bit 1 của mode Port nối tiếp SCON.5 SM2 9DH Bit 2 của mode Port nối tiếp. cho phép sự truyền của bộ xử lý đa kênh ở mode 2 và 3; RI sẽ không tích cực nếu bit thứ 9 đã thu vào là 0. SCON.4 REN 9CH REN = 1 sẽ cho phép thu ký tự SCON.3 TB8 9BH Phát bit 8. Bit 9 phát trong mode 2 và 3, được set và xóa bởi phần mềm SCON.2 RB8 9AH Thu bit 8. Bit thứ 9 nhận được SCON.1 TI 99H Cờ ngắt phát. Cờ này được set ngay khi kết thúc việc phát một ký tự; được xóa bởi phần mềm SCON.0 RI 98H Cờ ngắt thu. Cờ này được set ngay khi kết thúc việc thu một ký tự; được xóa bởi phần mềm Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 27 ™ Bit cho phép thu dữ liệu (REN: Receive Enable): Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để cho phép sự thu các ký tự. Điều này thường được dùng làm ở đầu chương trình khi các Port nối tiếp và các timer được khởi động. Ta có thể tác động bằng lệnh: SETB REN hoặc: MOV SCON, # xxx1xxxxB ™ Dùng Timer tạo tốc độ Baud cho Port nối tiếp: Muốn tạo ra tốc độ Baud, ta khởi tạo TMOD ở chế độ tự nạp lại 8 bit (mode 2 của timer) và đặt trước giá trị nạp lại đúng vào byte cao của thanh ghi timer 1 (TH1) để tạo ra tốc độ tràn chính xác. Có những tốc độ Baud rất chậm ta dùng chế độ 16 bit là chế độ 1 của timer, nhưng ta phải khởi tạo lại sau mỗi lần tràn cho TL1/TH1. Hoạt động khác được đếm giờ bởi việc dùng timer 1 ngoài là T1 (P3.5). Công thức chung để xác định tốc độ Baud trong mode 1 và mode 3 là: Ví dụ một hoạt động 1200 Baud đòi hỏi một tốc độ tràn là 1200/32 = 38,4 KHz. Nếu thạch anh 12MHz lái dao động trên Chip, thì timer 1 được đếm giờ ở tốc độ của tần số 1 MHz. Bởi vì timer phải tràn ở tốc độ tần số 38,4 KHz và Timer đếm giờ ở tốc độ của tần số 1 MHz, nên một sự tràn được yêu cầu với 1000/38,4 = 26,04 clock (làm tròn 26). Bởi vì các timer đếm lên và tràn khi có sự chuyển đổi từ FFH Æ 00H của bộ đếm, nên 26 là giá trị cần nạp cho TH1 (giá trị đúng là -26). Ta dùng lệnh: MOV TH1, #26 Ví dụ sau khi khởi động Port nối tiếp hoạt động giống như một UART 8 bit ở tốc độ 2400 Baud, dùng timer 1 để cung cấp tốc độ Baud: MOV SCON, #01010010B ; Port nối tiêp mode 1 MOV TMOD, #20 ; Timer 1 mode 2 MOV TH1, #-13 ; Nạp vào bộ đếm tốc độ 2400Baud SETB TR1 ;Start timer 1 BAUD RATE = TIMER 1 OVERFLOW RATE ÷ 32 Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 28 Trong SCON có SM0/SM1 để vào mode UART 8 bit, REN = 1 cho phép Port nối tiếp thu các ký tự và TI = 1 cho phép phát ký tự đầu tiên bởi việc cho biết thanh ghi đếm rỗng. TMOD có M1/M0 = 1/0 để đặt timer 1 vào mode tự động nạp lại 8 bit. Việc set bit TR1 để mở máy chạy timer. Tốc độ Baud 2400 sẽ cho ta tốc độ tràn timer 1 là 2400/32 = 76,8 KHz (ứng với thạch anh 12 MHz) sẽ cho số xung clock sau mỗi sự tràn là 1000/76,8 = 13,02 (lấy tròn là 13). Vậy -13 là giá trị cần nạp vào TH1 để có tốc độ Baud là 2400 Baud. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 29 CHƯƠNG 2: THIẾT KẾ VÀ THI CÔNG 1. Tìm hiểu về đề tài: 1.1. Nhiệm vụ đặt ra: - Điều khiển quạt DC và lò điện (được thay thế bằng đèn AC). Nếu nhiệt độ đặt lớn hơn nhiệt độ đo (lò điện) thì mở lò và tắt quạt. Ngược lại, nếu nhiệt độ đặt nhỏ hơn nhiệt độ đo thì vi điều khiển kích Relay tắt lò và mở quạt làm mát. Hình 2.1: Sơ đồ khối - Hiển thị lần lượt nhiệt độ đặt và nhiệt độ đo trên led 7 đoạn. Hiển thị led đèn AC, led quạt DC và quá trình hoạt động của quạt DC, đèn AC. - Các cơ cấu thi hành phải hoạt động ổn định khi nhiệt độ lò dao động quanh nhiệt độ chuẩn (nhiệt độ đặt). 1.2. Hướng giải quyết: - Dùng đèn AC thay thế cho lò điện. Hiển thị nhiệt độ bằng led 7 đoạn và các đèn báo tương ứng cho quạt, đèn. - Dùng 3 nút nhấn để nhập nhiệt độ chuẩn (nhiệt độ đặt) và bắt đầu xử lý. - Dùng ngôn ngữ lập trình Assembler để lập trình. 2. Thiết kế phần cứng và nguyên lý hoạt động của các khối: 2.1. Khối cảm biến nhiệt và khối ADC: Thông qua cảm biến nhiệt LM335 đọc nhiệt độ từ môi trường đưa ra tín hiệu điện áp. Dùng 3 IC OP07 để khuếch đại và trừ điện áp. Sau đó đưa tín hiệu điện áp vào bộ chuyển đổi ADC (chân số 6) của ADC0804. Khối xử lý trung tâm Khối nút nhấn Khối hiển thị nhiệt độ Điều khiển quạt DC Điều khiển đèn AC Cảm biến nhiệt độ Bộ chuyển đổi ADC Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 30 0 P2.6 - + U2 OP07 2 3 6 4 8 7 1 R9 10K 0 VCC C2 10U P2.0 R13 39K R12 10K - VCC P2.5 0 R11 2K2 0 0 0 D6 LM335 1 3 2 C1 30p P2.3 R3 10K R10 39K - + U3 OP07 2 3 6 4 8 7 1 0 VCC - VCC R1 47K P2.2 VCC - VCC 0 C4 10U P1.5 R2 10K R7 20K 0 P2.4 P2.1 P1.4 C5 10U 0 P1.6 VCC U4 ADC0804 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 5 1 2 3 +IN -I N A G N D V R E F /2 G N D DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CLKR VCC/VREF CLKIN INTR C S RD WR - + U1 OP07 2 3 6 4 8 7 1 VCC P2.7 R8 20K ™ Sơ đồ nguyên lý: Hình 2.2: Khối cảm biến và ADC0804. ™ Nguyên lý hoạt động: - Tần số xung Clock ở chân CLK IN và CLK R: 3 12 1 1 644.7 1.1 1.1 47 10 30 10 f KHz RC − = = = × × × × - Điện áp tham chiếu: / 2 10 2.5 10 10REF CC KV V V K K = × = + →Đầu vào tương tự cần từ 0 5V→ - LM335 là cảm biến nhiệt độ có thể hoạt động đến 0150 C . Tương ứng với nhiệt độ 00 K thì LM335 cho ra điện áp 0V. Cứ tăng 01 C thì điện áp ra tăng 10mV. Tín hiệu điện áp từ LM335 đưa qua bộ khuếch đại đệm đảo U3 (Opamp OP07) đưa vào mạch trừ U2 để trừ đi 2,73V từ U1. Sau khi qua mạch trừ thì đưa vào ADC0804 để chuyển đổi sang số. Dùng mạch trừ đo LM335 khi ở 0oC điện áp ra là 2,73V. Vì vậy, để dễ dàng cho việc xử lý chương trình với 0oC thì áp ra nên là 0V thì phải trừ đi 2,73V. ADC có nhiệm vụ đổi tín hiệu tương tự này ra số nhị phân để vi xử lý đọc được. ADC hoạt động được nhờ vào hai bộ dao động (một cho bộ chuyển đổi và một cho bộ đọc ghi ). Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 31 J3 CON4 Q1 Q2 Q3 Q4 SW3 GIAM VCC R3 4K7 R9 220 DK QUAT VCC R8 220 R1 4K7 1 23456789 J1 D A T A LE D 7D O A N 1 2 3 4 5 6 7 8 VCC 0 WR/ VCC R4 4K7 Y1 CRYSTAL SW1 RESET 0 R2 4K7 C2 33p U1 P89V51RB2 9 18 19 20 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 G N D PSEN ALE/PROG EA/VPP V C C P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 R5 4K7 0 0 SW4 ENTER VCC INTR/ SW2 TANG 0 D2 LED J2 D A T A A D C 08 04 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 VCC D1 LED C1 33p 0 VCC RD/ DK DEN 2.2. Khối xử lý và nút nhấn: ™ Sơ đồ nguyên lý: Hình 2.3: Khối xử lý và nút nhấn. - Port 2 được nối với ADC0804 để nhận dữ liệu dưới dạng nhị phân. - Port 0 dùng để truyền dữ liệu cho khối hiển thị. - Các bit P3.0, P3.1 và P3.2 được nối với 3 nút nhấn SW2, SW3 và SW4. - Kết nối 2 led đơn (1 led hiển thị cho quạt và 1 led hiển thị cho đèn với P3.3, P3.4). Kết nối chân điều khiển quạt là P3.6 và cho đèn là P3.5. - Giá trị đọc về từ ADC phải được chuyển sang số BCD để dễ lập trình. Giá trị này sẽ được so sánh với các thang nhiệt độ từ 0oC đến 100 oC để hiển thị ra 4 led 7 đọan (2 led hiển thị nhiệt độ, 2 led hiển thị chữ “oC”). ™ Nguyên lý hoạt động: - Bộ cảm biến nhiệt LM335 sẽ thay đổi trở kháng theo nhiệt độ, sự thay đổi này được chuyển thành điện áp để có thể được sử dụng cho ADC0804 có độ phân giải 8 bit và LM335 tạo điện áp 10mV cho mỗi sự thay đổi 1 oC (Khi ta hiệu chỉnh tương Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 32 P3.3 0 VCC P3.4 R1 22K LS1 RELAY SPDT 3 5 4 1 2 P3.5 R5 220 R4 22K J4 DEN AC 12 VCC R2 10K R3 10K VCC P3.6 J3 NGUON AC 220V 1 2 D2 DIODE D1 DIODE 0 J2 QUAT DC 12 LS2 RELAY SPDT 3 5 4 1 2 0 R6 220 D3 LED D4 LED Q2 C1815 J1 NGUON DC 12V 1 2 3 Q1 C1815 thích oC và oK). Vi xử lý sẽ lưu giữ giá trị đọc về từ ADC của khối cảm biến nhiệt và chuyển đổi ADC. - Ba nút nhấn (SW2, SW3, SW4) dùng để tăng, giảm và nhập nhiệt độ chuẩn. Khi bật nguồn khối hiển thị sẽ hiển thị 025 C (mặc định). Nếu nhấn SW2 nhiệt độ chuẩn sẽ tăng từng độ, nhấn SW3 sẽ giảm nhiệt độ chuẩn và nếu nhấn SW3 sẽ nhập nhiệt độ chuẩn và bắt đầu xử lý quạt, đèn. - Khi nhiệt độ đặt cao hơn nhiệt độ lò thì bit điều khiển đèn ( P3.5) được tích cực mức cao, đồng thời bit P3.4 tích cực mức thấp làm led đơn đèn tương ứng sáng. - Khi nhiệt độ đặt thấp hơn nhiệt độ lò thì bit điều khiển quạt ( P3.6) được tích cực mức cao, đồng thời bit P3.3 tích cực mức thấp làm led đơn quạt tương ứng sáng. 2.3. Khối điều khiển quạt, đèn: ™ Sơ đồ nguyên lý: Hình 2.4: Khối điều khiển quạt, đèn. ™ Nguyên lý hoạt động: - Nếu nhiệt độ đặt (nhiệt độ chuẩn) lớn hơn hoặc bằng nhiệt độ lò thì bit P3.5 tích cực mức cao (SETB P3.5), kích C1815 dẫn. Lúc này C1815 đóng vai trò là một khóa K. Khi C1815 dẫn sẽ tạo ra một điện áp tại chân số 2 của Relay 2 làm cho Relay 2 hoạt động. Khi đó chân số 3 được nối với chân số 4 làm cho đèn AC sáng. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 33 F B F C P1.0 C VCC G D Q3 PNP BCE U12 LED? 7 6 4 2 1 9 10 5 38 A B C D E F G D P C A C A DP D EE A P1.1 R5 2K2 FC BD 0 R4 2K2 Q4 PNP BCE DP U10 LED? 7 6 4 2 1 9 10 5 38 A B C D E F G D P C A C A A F U9 LED? 7 6 4 2 1 9 10 5 38 A B C D E F G D P C A C A G P1.3 +5V G P1.2 VCC E VCC GADP Q2 PNP BCE Q1 PNP BCE F R3 2K2 R2 2K2 DP J3 NGUON 1 2 3 A D DGB VCC A B B E E J1 P O R T 0 1 2 3 4 5 6 7 8 C C DP U11 LED? 7 6 4 2 1 9 10 5 38 A B C D E F G D P C A C A C4 100u D2 LED U3 7905 2 3 1 VIN VOUT G N D 0 -5V 1 2 3 C7 1u 0 0 0 0 +5V 1 2 3 0 0 C1 2200u 0 U1 7805 1 3 2 VIN VOUT G N D J1 AC 220V 1 2 R2 R C3 100u R1 R 0 0 C2 2200u 0 C6 1u D3 LED 0 +12V 1 2 3 0 C5 1u 0 U2 7812 1 3 2 VIN VOUT G N D 0 T1 TRANSFORMER CT 1 5 6 4 8 0 + - ~ ~ D1 DIODE BRIDGE_1423 Đồng thời bit P3.4 tích cực mức thấp làm cho led đèn sáng. Trong khi đó, quạt DC và led quạt đều không hoạt động - Nếu nhiệt độ đặt (nhiệt độ chuẩn) nhỏ hơn nhiệt độ lò thì bit P3.6 tích cực mức cao (SETB P3.6), kích C1815 dẫn. Lúc này C1815 đóng vai trò là một khóa K. Khi C1815 dẫn sẽ tạo ra một điện áp tại chân số 2 của Relay 1 làm cho Relay 1 hoạt động. Khi đó chân số 3 được nối với chân số 4 làm cho quạt DC hoạt động. Đồng thời bit P3.3 tích cực mức thấp làm cho led quạt sáng. Trong khi đó, led đèn và đèn AC đều không hoạt động. - Nếu SW4 được nhấn thì quạt DC, đèn AC, led quạt và led đèn được xử lý liên tục như nguyên lý trên. Khi nhấn SW1 thì khối điều khiển quạt, đèn đều không hoạt động. 2.4. Khối hiển thị: Hình 2.5: Sơ đồ khối hiển thị 2.5. Khối nguồn: dùng các IC nguồn 7805, 7905 và 7812 để ổn áp nguồn 5V, - 5V và +12V Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 34 A B D2 LED V C C A U5 AT89C51 91819 20 2930 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 R S T X T A L2 X T A L1 GND P S E N A LE /P R O G E A /V P P VCC P1 .0 P1 .1 P1 .2 P1 .3 P1 .4 P1 .5 P1 .6 P1 .7 P 2. 0/ A 8 P 2. 1/ A 9 P 2. 2/ A 10 P 2. 3/ A 11 P 2. 4/ A 12 P 2. 5/ A 13 P 2. 6/ A 14 P 2. 7/ A 15 P 3. 0/ R X D P 3. 1/ T X D P 3. 2/ IN T 0 P 3. 3/ IN T 1 P 3. 4/ T 0 P 3. 5/ T 1 P 3. 6/ W R P 3. 7/ R D P 0. 0/ A D 0 P 0. 1/ A D 1 P 0. 2/ A D 2 P 0. 3/ A D 3 P 0. 4/ A D 4 P 0. 5/ A D 5 P 0. 6/ A D 6 P 0. 7/ A D 7 R43 R 0 - + U3 OP07 2 3 6 4 8 7 1 E R34 2K2 VCC E B 0 D B VCC R38 R 0 VCC E D6LM335 1 3 2 D D D1 DIODE U1 LED? 7 6 4 2 1 9 10 5 3 8 A B C D E F G DP CA CA Q1 C1815 F R35 220 0 R2 10K 0 A B VCC C R33 2K2 VCC 0 Q3 J4 DEN AC 12 R2 4K7 R4 4K7 0 R3 4K7 D SW2 TANG VCC G R2 10K 0 C5 10U 0 G Q1 - VCC SW4 ENTER DP Q4 LS2 RELAY SPDT 3 5 4 1 2 VCC DP R44 330 Q2 VCC C R13 39K- + U2 OP07 2 3 6 4 8 7 1 G DP C4 10U R39 R VCC R36 220 A E F SW1 RESET C1 30p R7 20K SW3 GIAM B R3 10K 0 R12 10K 0 F R37 R D3 LED 0 0 VCC C J1 NGUON DC 12V 1 2 3 0 F R41 R R42 R J2 QUAT DC 12 VCC R3 10K R9 10K 0 VCC C2 33p 0 R31 2K2 C U2 LED? 7 6 4 2 1 9 10 5 3 8 A B C D E F G DP CA CA VCC R147K J3 NGUON AC 220V 1 2 Y1 CRYSTAL U4 LED? 7 6 4 2 1 9 10 5 3 8 A B C D E F G DP CA CA F D 0 G C2 10U - VCC R4 22K DP R4 4K7 LS1 RELAY SPDT 3 5 4 1 2 - VCC C D2 DIODE VCC R30 2K2 R8 20K U4 ADC0804 6 7 8 9 10 1112131415161718 19 204 5 1 2 3 +I N -IN AGND VREF/2 GND D B 7 D B 6 D B 5 D B 4 D B 3 D B 2 D B 1 D B 0 C LK R V C C /V R E F C LK IN INTR CS RD WR A DP G 0 - + U1 OP07 2 3 6 4 8 7 1 E R11 2K2 R1 22K C1 33p U3 LED? 7 6 4 2 1 9 10 5 3 8 A B C D E F G DP CA CA R10 39K VCC VCC Q2 C1815 0 R40 R Hình 2.6: Sơ đồ khối nguồn 2.6. Sơ đồ nguyên lý điều khiển nhiệt độ lò điện: Hình 2.7: Sơ đồ nguyên lý toàn mạch 2.7. Sơ đồ mạch in điều khiển nhiệt độ lò điện: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 35 Hình 2.8: Sơ đồ mạch in toàn mạch. 3. Phần mềm và giải thuật: 3.1. Phần mềm: Sử dụng ngôn ngữ lập trình Assembler để viết chương trình điều khiển (Xem phần phục lục). 3.2. Lưu đồ giải thuật: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 36 TĐặt = TĐặt+1 Hiển thị TĐặt Bắt đầu Hiển thị 250C (TĐặt = 250C) P3.2 = 0 ? (Tăng TĐặt) P3.1 = 0 ? (Giảm TĐặt) P3.0 = 0 ? (Kết thúc nhập TĐặt) TĐặt = TĐặt - 1 Hiển thị TĐặt TĐặt ≥ TLò Đọc nhiệt độ từ lò điện (TLò điện) Kết thúc Hiển thị nhiệt đô lò điện (TLò) Bật lò (Đèn AC) và tắt quạt Tắt lò và mở quạt làm mát Y N Y N N Y NY Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 37 Hình 2.9: Lưu đồ giải thuật CHƯƠNG 3: ĐÁNH GIÁ – KẾT LUẬN 1. Kết quả thực hiện: - Hệ thống điều khiển tương đối ổn định, đáp ứng được yêu cầu của đề tài. - Giám sát được quá trình hoạt động của lò qua khối hiển thị led 7 đoạn, đèn AC, quạt DC, led đèn… - Cảm biến đọc nhiệt độ tương đối chính xác. - Phần mềm chương trình tương đối ngắn gọn, đơn giản, dễ hiểu. Hình ảnh mô hình hoàn tất: Hình 3.1: Hình ảnh mô hình lò điện khi TĐẶT < TLÒ. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 38 Hình 3.2: Hình ảnh mô hình lò điện khi TĐẶT ≥ TLÒ. 2. Khuyết điểm: - Đọc nhiệt độ từ môi trường vào chưa tuyệt đối chính xác. - Do quá trình xử lý quạt DC, đèn AC hoạt động liên tục làm cho BJT, Relay được kích liên tục → nếu mạch công suất lớn dễ hỏng BJT, Relay. - Kích thước mô hình tương đối lớn. 3. Hướng khắc phục và phát triển: - Dùng cảm biến nhiệt độ khác, có độ ổn định hơn và đọc nhiệt độ chính xác hơn. - Đưa ra các giải thuật khác để lập trình hệ thống tối ưu hơn. - Với mạch ta có thể kết nối khác hơn, tiện lợi hơn như thay quạt và đèn bằng một thiết bị làm mát và làm nóng khác. Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 39 - Nếu sử dụng lò điện thực tế, mạch công suất lớn thì ta có thể thay thế C1815, Relay bằng các linh kiện điện tử khác để mạch hoạt động tối ưu hơn. - Có thể giao tiếp với máy tính để điều khiển nhiệt độ lò. PHỤC LỤC Phần mềm viết bằng ngôn ngữ Assembler: ;****************DIEU KHIEN NHIET DO LO DIEN*************** $MOD51 ORG 00H DATA_ADC DATA P2 DATA_LED DATA P0 LED0 BIT P1.0 LED1 BIT P1.1 LED2 BIT P1.2 LED3 BIT P1.3 LEDQUAT BIT P3.3 LEDDEN BIT P3.4 DEN BIT P3.5 QUAT BIT P3.6 WRITE BIT P1.4 INTR BIT P1.5 READ BIT P1.6 SW1 BIT P3.0 SW2 BIT P3.1 SW3 BIT P3.2 ;************************************************************ MAIN: MOV SP,#5FH MOV 51H,#25H MOV TMOD,#01H SETB TF0 MOV R7,#2 CLR QUAT CLR DEN LAP0: LCALL HIENTHI DJNZ R7,LAP0 JNB SW1,XULY LAP1: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 40 JB SW2,LAP2 JNB SW2,TANG TANG: MOV A,51H ADD A,#1H DA A MOV 51H,A CJNE A,#99H,LAP0 MOV A,#00H LAP2: JB SW3,LAP0 JNB SW3,GIAM GIAM: MOV A,51H ADD A,#99H DA A MOV 51H,A CJNE A,#00H,LAP0 MOV A,#99H LJMP LAP0 ;****************************CHUONG TRINH ADC ************** DULIEUTU_ADC: MOV DATA_ADC,#0FFH CLR WRITE LCALL DELAY1 SETB WRITE CLR READ MOV 50H,DATA_ADC ACALL ADC_BCD SETB READ RET ;********************************************************** ADC_BCD: MOV A,50H MOV B,#100 DIV AB MOV 30H,A MOV A,B MOV B,#10 DIV AB Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 41 MOV 31H,A ;HANG CHUC NHIET DO TU ADC MOV 32H,B ;HANG DON VI NHIET DO TU ADC MOV A,31H SWAP A ADD A,32H MOV 50H,A RET ;************************************************************ XULY: MOV TMOD,#10H SETB TF1 MOV R7,#2 MOV DATA_LED,#0FFH AAA: MOV DPTR,#GIATRISOSANH LCALL HIENTHI1 DJNZ R7,AAA LCALL DULIEUTU_ADC LCALL XULY1 LCALL XULY2 LJMP AAA ;********************** XU LY DEN ************************** XULY1: PUSH ACC MOV A,51H CJNE A,50H,XET JMP TROVE XET: JNC OPEN SETB LEDDEN CLR DEN JMP TROVE OPEN: CLR LEDDEN SETB DEN TROVE: POP ACC RET ;********************** XU LY QUAT *********************** XULY2: Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 42 PUSH ACC MOV A,51H CJNE A,50H,XET1 JMP TROVE1 XET1: JC OPEN1 SETB LEDQUAT CLR QUAT JMP TROVE1 OPEN1: CLR LEDQUAT SETB QUAT TROVE1: POP ACC RET ;**************HIEN THI NHIET DO LO DIEN ********************* HIENTHI1: MOV DPTR,#DULIEULED MOV A,30H MOV A,31H MOVC A,@A+DPTR MOV DATA_LED,A CLR LED3 LCALL DELAY1 SETB LED3 MOV A,32H MOVC A,@A+DPTR MOV DATA_LED,A CLR LED2 LCALL DELAY1 SETB LED2 MOV DATA_LED,#9CH CLR LED1 LCALL DELAY1 SETB LED1 MOV DATA_LED,#0C6H CLR LED0 LCALL DELAY1 SETB LED0 MOV DATA_LED,#0FFH Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 43 RET ;*********** HIEN THI NHIET DO DAT ********************* HIENTHI: MOV DPTR,#DULIEULED MOV A,51H ANL A,#0FH MOVC A,@A+DPTR MOV DATA_LED,A CLR LED2 LCALL DELAY SETB LED2 MOV A,51H SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV DATA_LED,A CLR LED3 LCALL DELAY SETB LED3 MOV DATA_LED,#9CH CLR LED1 LCALL DELAY SETB LED1 MOV DATA_LED,#0C6H CLR LED0 LCALL DELAY SETB LED0 MOV DATA_LED,#0FFH RET ;********************** DELAY LED *************************** DELAY: PUSH 00 PUSH 01 MOV R0,#1 LOOP2: MOV R1,#90 DJNZ R1,$ DJNZ R0,LOOP2 POP 01 POP 00 Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 44 RET ;****************** DELAY ADC ******************************* DELAY1: PUSH 00 PUSH 01 MOV R0,#2 LOOP: MOV R1,#250 DJNZ R1,$ DJNZ R0,LOOP POP 01 POP 00 RET ;******************************************************* DULIEULED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;****************************************************** GIATRISOSANH: DB 00H,01H,02H,03H,04H,05H,06H,07H,08H DB 09H,10H,11H,12H,13H,14H,15H,16H,17H DB 18H,19H,20H,21H,22H,23H,24H,25H,26H DB 27H,28H,29H,30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H,40H,41H,42H,43H,44H DB 45H,46H,47H,48H,49H,50H,51H,52H,53H DB 54H,55H,56H,57H,58H,59H,60H,61H,62H DB 63H,64H,65H,66H,67H,68H,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H,80H DB 81H,82H,83H,84H,85H,86H,87H,88H,89H DB 90H,91H,92H,93H,94H,95H,96H,97H,98H,99H END Trường ĐH Công Nghiệp TP. HCM Đồ án 1: Điều khiển nhiệt độ lò điện GVHD: Đào Thị Thu Thủy Trang 45 TÀI LIỆU THAM KHẢO 1. Phạm Quang Trí – Giáo trình vi xử lý – Trường ĐH Công Nghiệp TP. HCM. 2. Tống Văn On, Hoàng Đức Hải – Họ vi điều khiển 8051 – NXB Lao Động Và Xã Hội Hà Nội – 2001. 3. Dương Minh Trí – Cảm biến và ứng dụng – NXB Khoa Học Và Kỹ Thuật - 2000 4. Phan Quốc Phô, Nguyễn Đức Hải – Giáo trình cảm biến – NXB Khoa Học Và Kỹ Thuật Hà Nội – 2000. 5. Các Wedsite: www.alldatasheets.com www.diendandientu.com

Các file đính kèm theo tài liệu này:

  • pdfĐiều khiển nhiệt độ lò điện.pdf