Ngày nay với sự phát triển của công nghiệp vi điện tử, kỹ thuật số các hệ thống điều khiển dần dần được tự động hóa. Với kỹ thuật tiên tiến vi xử lý, vi mạch số….được ứng dụng vào lĩnh vực điều khiển tự động với chương trình thiết lập trước thay thế cho các hệ thống điều khiển cơ khí thô sơ, tốc độ xử lý chậm, ít chính xác. Hiện nay, hầu hết các quy trình sản xuất hàng tiêu dùng quy trình sấy đóng vai trò quan trọng quyết định đến chất lượng sản phẩm. Do đó, việc đo được nhiệt độ, độ ẩm và khống chế các yếu tố này theo đúng yêu cầu mong muốn là điều hết sức quan trọng và cần thiết. Để kiểm soát được nhiệt độ, độ ẩm trong buồng sấy, dùng vi điều khiển 8051 để tự động hoá quá trình là phương pháp tiện lợi, giá thành thích hợp cho những ứng dụng rộng rãi. Được sự đồng ý của Khoa Điện Trường Đại học Bách khoa Đà Nẵng, em tiến hành thực hiện đề tài “Dùng vi điều khiển để đo nhiệt độ, độ ẩm và khống chế độ ẩm trong phòng kớn”.
Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Chương I: GIỚI THIỆU I. Đặt vấn đề: Ngày nay với sự phỏt triển của cụng nghiệp vi điện tử, kỹ thuật số các hệ thống điều khiển dần dần được tự động hoỏ. Với kỹ thuật tiờn tiến vi xử lý, vi mạch số….được ứng dụng vào lĩnh vực điều khiển tự động với chương trỡnh thiết lập trước thay thế cho các hệ thống điều khiển cơ khí thô sơ, tốc độ xử lý chậm, ít chính xác. Hiện nay, hầu hết cỏc quy trỡnh sản xuất hàng tiờu dựng quỏ trỡnh sấy đóng vai trũ quan trọng quyết định đến chất lượng sản phẩm. Do đó, việc đo được nhiệt độ, độ ẩm và khống chế các yếu tố này theo đúng yêu cầu mong muốn là điều hết sức quan trọng và cần thiết. Để kiểm soát được nhiệt độ, độ ẩm trong buồng sấy, dùng vi điều khiển 8051 để tự động hoá quá trỡnh là phương pháp tiện lợi, giỏ thành thớch hợp cho những ứng dụng rộng rói. Được sự đồng ý của Khoa Điện - Trường Đại học Bách khoa Đà Nẵng, em tiến hành thực hiện đề tài “Dùng vi điều khiển để đo nhiệt độ, độ ẩm và khống chế độ ẩm trong phũng kớn”. II. Giới hạn đề tài: - Đo nhiệt độ và độ ẩm phũng kớn, khống chế độ ẩm trong phũng theo một giỏ trị đặt trước. - Tính toán hệ số khối lượng hơi nước trong không khí trong phạm vi hoạt động của thiết bị đo theo tiêu chuẩn của hơi nước bóo hoà theo nhiệt độ và hiển thị thông số này khi giá trị độ ẩm được thiết lập. III. Mục đích nghiên cứu: Đề tài này nhằm các mục đích: - Dùng kỹ thuật vi điều khiển để áp dụng vào các quy trỡnh sản xuất sản phẩm cần đến công đoạn đo nhiệt độ, độ ẩm. - Giúp người sử dụng có thể kiểm soát, điều khiển được độ ẩm của một không gian kín thích hợp. - Hổ trợ người vận hành có thể tính được nhanh chóng khối lượng hơi nước trong phạm vi thể tích không khí đang quang sát . GVHD: ThS. Lâm Tăng Đức Trang:- 1 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Chương 2 GIớI THIệU CHUNG Về Bộ VI ĐIềU KHIểN I.GIớI THIệU: Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống. Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó. Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của ti vi, máy giặt, đầu đọc laser, điện thọai, lò vi-ba… Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động. Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng. II.LịCH Sử PHáT TRIểN CủA CáC Bộ VI ĐIềU KHIểN: Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 của thế kỷ XX, do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide-Semiconductor), mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao. Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do công ty texas Instruments vừa là nơi phát minh vừa là nhà sản xuất. Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận phụ trợ khác cần thiết như: bộ nhớ dữ liệu, bộ nhớ chương trình, bộ chuyển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, khối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí. Đến năm 1976 Công ty INTEL (Interlligen-Electronics) mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048, là chip đầu tiên của họ vi điều khiển MCS 48. Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên một chip. Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8 bit tương tự như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48). Đến năm 1980 Công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip với tên gọi 8051. Bộ vi điều khiển đầu tiên của Tập đoàn SIEMENS cung cấp chip SAB 8051, một cải tiến của 8051 có 6 Port xuất/nhập 8 bit, đặc biệt có một bộ biến đổi AD 8 bit với 8 kênh ngõ vào. Ngoài ra còn có các công ty khác cũng có những họ vi điều khiển riêng như: Họ 68HCOS của công ty Motorola Họ ST62 của công ty SGS-THOMSON Họ H8 của công ty Hitachi Họ pic cuả công ty Microchip GVHD: ThS. Lâm Tăng Đức Trang:- 2 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện III.KHảO SáT Bộ VI ĐIềU KHIểN 8051 Và 8031 : IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau : - 4KB ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051) - 128 byte RAM - 4port I/0 8 bit - Hai bộ định thời 16 bit - Mạch giao tiếp nối tiếp - 64KB không gian bộ nhớ chương trình mở rộng - 64 KB không gian bộ nhớ dữ liệu mở rộng - Bộ xử lý Bit (thao tác trên các bit riêng lẻ) - 210 bit được địa chỉ hóa - Nhân/chia 4µs, 1./ Cấu trỳc bờn trong của 8051 / 8031: GVHD: ThS. Lâm Tăng Đức Trang:- 3 - SVTH: Võ Ngọc Tuyến OTHER REGISTER 128 byte RAM 128 byte RAM 8032\8052 ROM 0K: 8031\8032 4K:8951 8K:8052 INTERRUPT CONTROL INT1\ INT0\ SERIAL PORT TEMER0 TEMER1 TEMER2 8032\8052 CPU OSCILATOR BUS CONTROL I/O PORT SERIAL PORT EA\ RST ALE\ PSEN\ P 0 P 1 P 2 P 3 Address\Data TXD RXD TEMER2 8032\8052 TEMER1 TEMER1 Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Hình 2.1 : Sơ Đồ Khối 8051 / 8031 Phần chính của vi điều khiển 8051 / 8031 là bộ xử lí trung tâm (CPU: central processing unit ) bao gồm : - Thanh ghi tích lũy A - Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia - Đơn vị logic học (ALU : Arithmetic Logical Unit ) - Từ trạng thái chương trình (PSW : Prorgam Status Word) - Bốn băng thanh ghi - Con trỏ ngăn xếp - Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic. Đơn vị xử lí trung tâm nhận trực tiếp xung từ bộ giao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngoài. Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài , sự tràn bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp. Hai bộ định thời 16 bit hoạt động như một bộ đếm. Các cổng (port0, port1, port2, port3 ). Sử dụng vào mục đích điều khiển. ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn bên ngoài. Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qua cổng nối tiếp có thể đặt trong vảy rộng và được ấn định bằng một bộ định thời. Trong vi điều khiển 8051 / 8031 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh ghi : Bộ nhớ gồm có bộ nhớ Ram và bộ nhớ Rom (chỉ có ở 8031) dùng để lưu trữ dữ liệu và mã lệnh. Các thanh ghi sử dụng để lưu trữ thông tin trong quá trình xử lí. Khi CPU làm việc nó làm thay đổi nội dung của các thanh ghi. 2./ Chức năng các chân vi điều khiển : a.port0 : là port có 2 chức năng (các chân từ 32 đến 39) trên 8051 trong các thiết kế cỡ nhỏ dùng làm điện tụ xuất/nhập. Đối với các thiết kế cỡ lớn (với bộ nhớ mở rộng) port0 trở thành bus địa chỉ và bus dữ liệu đa hợp. b.port1 : port1 là một port I/O (các chân 1 đến 8) trên 8051. Các chân được ký hiệu P1.0, P1.1,…., P1.7 có thể dùng cho các thiết bị ngoài nếu cần. Port1 không có chức năng khác, vì vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị ngoài. GVHD: ThS. Lâm Tăng Đức Trang:- 4 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện c.port2 : port2 là một port công dụng kép (các chân 21 đến 28) trên 8051 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng. d.Port3 : port3 là một port công dụng kép (các chân 10 đến 17). Các chân port3 có nhiều chức năng riêng (mỗi chân có chức năng riêng liên quan đến các đặc trưng cụ thể của 8051). Bit Tên Địa chỉ bit Chức năng chuyển đổi P3.0 RxD B0H Nhận dữ liệu của port nối tiếp P3.1 TxD B1H Phát dữ liệu của port nối tiếp P3.2 INTO B2H Ngắt 0 bên ngoài P3.3 INT1 B3H Ngắt 1 bên ngoài P3.4 T0 B4H Ngõ vào của timer/counter0 P3.5 T1 B5H Ngõ vào của timer/counter 1 P3.6 WR B6H Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD B7H Xung đọc bộ nhớ dữ liệu ngoài Bảng 2.1 : Chức năng của các chân trên port3 e. PSEN (Program Store Enable ): 8051/8031 có 4 tín hiệu điều khiển bus PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE (Output Enable) của một EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở trong thời gian tìm - nạp lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8051 để giải mã lệnh. Khi thi hành chương trình trong ROM nội (8051) PSEN sẽ ở mức thụ động (logic1). f. ALE (Address Latch Enable ) : 8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE để giải đa hợp (Demultiplexing) bú dữ liệu và bus địa chỉ. Khi Port0 sử dụng đa hợp phân ALE xuất đến hiện chốt địa chỉ vào 1 thanh ghi ngoài hay nửa đầu chu kỳ bộ nhớ (Memory cycle) sau đó các thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó, các chân port 0 dùng để xuất/nhập dữ liệu trong nửa sau chu kỳ của bộ nhớ. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng là nguồn xung nhịp cho các hệ thống. Nếu xung trên 8051 là 12MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh MOVX, một xung ALE sẽ GVHD: ThS. Lâm Tăng Đức Trang:- 5 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện bị mất. Chân ALE cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8051. g. EA (External Access) : Tín hiệu vào EA(chân 31) có thể thường được nối với 5V (logic 1) hoặc với GND (logic 0). Nếu ở logic 1, 8051 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở logic 0, bộ nhớ bên trong chương trình 8051 sẽ bị cấm và chương trình thi hành từ EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 8051. h. RST (Reset) : Ngõ vào RST (chân 9) là ngõ reset của 8051. Khi tín hiệu này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi trong 8051 được tải những giá trị thích hợp để khởi động hệ thống. i. Các chân XTAL1 và XTA2 : Như trong hình vẽ, 8051 có một bộ dao động trên chip. Nó thường được nối với thạch anh giữa hai chân 18 và 19. Các tụ ổn định cũng cần thiết như đã vẽ. Tần số thạch anh thông thường là 12MHz. j.Các chân nguồn : 8051 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss (GND) được nối vào chân 20. 30pF 30pF GVHD: ThS. Lâm Tăng Đức Trang:- 6 - SVTH: Võ Ngọc Tuyến 40 32 AD7 33 AD6 34 AD5 35 AD4 36 AD3 37 AD2 38 AD1 39 AD0 8 7 6 5 4 3 2 1 28 A15 27 A14 26 A13 25 A12 24 A11 23 A10 22 A9 21 A8 Vcc XTAL.1 XTAL.2 PSEN\ ALE EA\ RST P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 18 19 12 MHz P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 17 16 15 14 13 12 11 10 RD WR T1 T0 INT1 INT0 TXD RXD 8951 29 30 31 9 Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Hình 2.2: Sơ đồ chân 8051 3. Tổ chức bộ nhớ : 8051 / 8031 có cấu trúc theo bộ nhớ harvard :có những vùng cho bộ nhớ riêng biệt cho chương trình dữ liệu.Cả chương trình và dữ liệu có thể ở bên trong 8051,dù vậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến 64Kbyte bộ nhớ chương trình và 64 Kbyte bộ nhớ dữ liệu. Bộ nhớ bên trong bao ROM(8051) và RAM trên chip,RAM trên chip bao gồm nhiều phần:các dãy thanh ghi(00H-1FH),phần lưu trữ địa chỉ hoá từng bit(20H-2FH),phần lưu trữ đa dụng(30H-7FH) và các thanh ghi chức năng đặt biệt(80H-FFH). FFFF FFFF Bộ nhớ Bộ nhớ FF chương dữ liệu trình được được chọn chọn qua PSEN qua WR và RD 00 0000 0000 Bộ nhớ trên chip Bộ nhớ ngoài(external memory) Hình 2.3 : Tóm tắt các vùng bộ nhớ của 8051/8031 a. RAM đa dụng: Moùi ủũa chổ trong vuứng RAM ủa duùng ủeàu coự theồ ủửụùc truy xuaỏt tửù do duứng caựch ủaựnh ủũa chổ trửùc tieỏp hoaởc giaựn tieỏp. Vớ duù, ủeồ ủoùc noọi dung ụỷ ủũa chổ 5FH cuỷa RAM noọi vaứo thanh ghi tớch luừy leọnh sau seừ ủửụùc duứng : MOV A, 5FH Lệnh này di chuyển một byte dữ liệu bằng cách đánh địa chỉ trực tiếp để xác định “địa chỉ nguồn”(5FH). Đích nhận dữ liệu được ngầm định trông mã lệnh là thanh ghi tích luỹ A. GVHD: ThS. Lâm Tăng Đức Trang:- 7 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện RAM bên trong cũng có thể được truy xuất bằng cách đánh địa chỉ gián tiếp qua RO hay R1. Ví dụ,hai lệnh sau thi hành cùng nhiệm vụ như lệnh trên : MOV R0, #5FH MOV A, @R0 Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0 và lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi tích luỹ. địa chỉ byte địa chỉ bit 7F 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 08 07 00 RAM đa dụng 7F 7E 7D 7C 7B 7A 79 78 77 76 75 74 73 72 71 70 6F 6E 6D 6C 6B 6A 69 68 67 66 65 64 63 62 61 60 5F 5E 5D 5C 5B 5A 59 58 57 56 55 54 53 52 51 50 4F 4E 4D 4C 4B 4A 49 48 47 46 45 44 43 42 41 40 3F 3E 3D 3C 3B 3A 39 38 37 36 35 34 33 32 31 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 BANK 3 BANK 2 BANK 1 Dãy thanh ghi mặc định R0-R7 Bảng tóm tắt bản đồ vùng nhớ trên chip data 8051 GVHD: ThS. Lâm Tăng Đức Trang:- 8 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện địa chỉ byte địa chỉ bit FF F0 E0 D0 B8 B0 A8 A0 99 98 90 8D 8C 8B 8A 89 F7 F6 F5 F4 F3 F2 F1 F0 B E7 E6 E5 E4 E3 E2 E1 E0 ACC D7 D6 D5 D4 D3 D2 D1 D0 PSW - - - BC BB BA B9 B8 IP B7 B6 B5 B4 B3 B2 B1 B0 P3 AF - - AC AB AA A9 A8 IE A7 A6 A5 A4 A3 A2 A1 A0 P2 Không định địa chỉ bit 9F 9E 9D 9C 9B 9A 99 98 SCON 97 96 95 94 93 92 91 90 P1 Không định địa chỉ bit Không định địa chỉ bit Không định địa chỉ bit Không định địa chỉ bit Không định địa chỉ bit 88 87 83 82 81 8F 8E 8D 8C 8B 8A 89 88 TCON Không định địa chỉ bit PCON DPH DPL SP Không định địa chỉ bit Không định địa chỉ bit Không định địa chỉ bit GVHD: ThS. Lâm Tăng Đức Trang:- 9 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện 80 87 86 85 84 83 82 81 80 PO Tóm tắc bộ nhớ dữ liệu trên chip b.RAM địa chỉ hoá từng bit: 8051 / 8031 chứa 210 vị trí bit được địa chỉ hoá,trong đó 128 bit là ở các byte 20H đến 2FH,và phần còn lại trong các thanh ghi chức năng đặc biệt.ý tưởng truy xuất từng bit từng bit riêng rẽ bằng phần mềm là một đặt tính của vi điều khiển nói chung. Các bit có thể được đặt, xoá, AND, OR bằng một lệnh đơn.Đa số các bộ vi xử lí đòi hỏi một chuổi lệnh đọc sửa ghi để nhận được cùng kết quả. Hơn nữa,các port I/O cũng được địa chỉ từng bit làm đơn giản phần mềm xuất nhập từng bit. 128 bit ở các byte 20H đến 2FH có thể được truy xuất như các byte hay các bit phụ thuộc vào lệnh được dùng, ví dụ để đặt bit 67H, ta dùng lệnh sau: SETB 67H Chú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở “địa chỉ byte 2CH” lệnh trên sẽ không tác động đến các bit khác của địa chỉ này. c.Các dãy thanh ghi: 32 byte thấp của bộ nhớ nội là các dãy thah ghi. Bộ nhớ lệnh của 8051/8031hổ trợ 8 thanh ghi (R0 đến R7) và theo mặc định(sau khi reset hệ thống) và các thanh ghi này ở các địa chỉ 00H-07H. Lệnh sau đây sẽ đọc nội dung ở đia chỉ 05H vào thanh ghi tích luỹ. MOV A,R5 ẹaõy laứ leọnh moọt byte duứng ủũa chổ thanh ghi. Taỏt nhieõn, thao taực tửụng tửù coự theồ ủửụùc thi haứnh baống leọnh 2 byte duứng ủũa chổ trửùc tieỏp naốm trong byte thửự hai: MOV A,05H Caực leọnh duứng caực thanh ghi R0 ủeỏn R7 thỡ seừ ngaộn vaứ nhanh hụn caực leọnh duứng ủũa chổ trửùc tieỏp. Caực giaự trũ dửừ lieọu ủửụùc duứng thửụứng xuyeõn neõn duứng moọt trong caực thanh ghi naứy. Bank thanh ghi tớch cửùc coự theồ chuyeồn ủoồi baống caựch thay ủoồi caực bit choùn bank thanh ghi trong tửứ traùng thaựi chửụng trỡnh (PSW). Giaỷ sửỷ raống bank thanh ghi 3 ủửụùc tớch cửùc, leọnh sau seừ ghi noọi dung cuỷa thanh ghi tớch luừy vaứo ủũa chổ 18H: MOV R0,A Y tưởng dùng các dãy thanh ghi cho phép “chuỷên hướng” chương trình nhanh và hiệu quả( từng phần riêng rẽ của phần mềm sẽ có một hanh ghi riêng rẽ không phụ thuộc vào các phần khác. 4./ Các thanh ghi chức năng đặc biệt: GVHD: ThS. Lâm Tăng Đức Trang:- 10 - SVTH: Võ Ngọc Tuyến [...]... của chế độ 00 :chế độ 0 : timer 13 bit 01: chế độ 1 :timer 16 bit 10: chế độ 2 :tự động nạp lại 8255A bit 3 GATE 0 11: chế độ 3 :tỏch timer 2 C/T 0 Bit mở cổng 1 M1 0 Bit chọn counter/timer 0 M0 0 Bit 1 của chế độ Bit 0 của chế độ GVHD: ThS Lâm Tăng Đức Trang:- 20 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Bảng 2.5: Túm tắt thanh ghi TMOD 7.3 Thanh ghi ủiều khieồn... Thanh ghi chế độ timer (TMOD) Thanh ghi TMOD chửựa hai nhoựm 4 bit duứng ủeồ ủaởt cheỏ ủoọ laứm vieọc cho timer 0 vaứ timer 1 Bit Tẽn Timer Mõ taỷ 7 GATE 1 Bit (Mụỷ) coồng, khi lẽn 1 timer chổ cháy khi INT1 ụỷ mửực cao.Bit 6 C/T 1 Bit chọn chế độ counter/timer 1 bộ đếm sự kiện 0 bộ định khoảng thời gian 5 M1 1 Bit 1 của chế độ (mode) 4 M0 1 Bit 0 của chế độ 00 :chế độ 0 : timer 13 bit 01: chế độ 1 :timer... xác định trong các lệnh nên khơng cần các bit địa chỉ Trong các lệnh GVHD: ThS Lâm Tăng Đức Trang:- 32 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện này các thanh ghi tích luỹ được xác định là A, con trỏ dữ liệu là DPTR, thanh ghi đếm chương trình là PC, cờ nhớ là C , cặp thanh ghi tích luỹ B là AB b/Địa chỉ trực tiếp: Trong chế độ này,các thanh ghi bên trong 8051/8031... xung nhũp bẽn trong timer 0 vaứ ủửụùc gói laứ “T0” Vaứ P3.5 hay “T1” laứ ngoừ vaứo táo xung nhũp cho timer 1 GVHD: ThS Lâm Tăng Đức Trang:- 23 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện 7.6 Baột ủầu d ứng vaứ ủiều khieồn caực timer Phửụng phaựp mụựi ủụn giaỷn nhaỏt ủeồ baột ủầu (cho cháy) vaứ d ứng caực timer laứ duứng caực bit ủiều khieồn cháy :TRx trong TCON,... nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Các thanh ghi nội của 8051/8031 được truy xuất ngầm định bởi lệnh Ví dụ lệnh “INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1 Tác động này được ngầm định trong mã lệnh Các thanh ghi trong 8051/8031 được định dạng như một phần của RAM trên chip Vì vậy một thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ khơng có lợi khi đặt chúng vào trong. .. SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Địa chỉ tuyệt đối chỉ dùng trong các lệnh ACALL và AJMP Các lệnh 2 byte này dùng để rẽ nhánh vào một trang 2 Kbyte cuả bộ nhớ chương trình bằng cách cấp 11 bit địa chỉ thấp (A0-A10) để xác định địa chỉ bit trong mã.Còn 5 bit cao của địa chỉ đích(A11-A15) chính là 5 bit cao hiện hành trong thanh ghi đếm chương trình Vì vậy... với các ngõ ra được nối với ngõ vào chọn chip CS của IC nhớ (như hình) cho bộ nhớ có nhiều EPROM 2764(8K) và RAM 6264 (8K) Do đường cho phép riêng rẽ (PSEN cho bộ nhớ chương trình, RD và WR cho bộ nhớ dữ liệu), 8051 có thể quản lý bộ nhớ đến 64K với EPROM và 64 K cho RAM GVHD: ThS Lâm Tăng Đức Trang:- 17 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Hình 2.8:Giãi mã... án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện Các chi tiết thiết lập lệnh: Rn :Thanh ghi R0 đến R7 của dãy thanh ghi được chọn Data : 8 bit địa chỉ vùng dữ liệu bên trong Nó có thể là vùng RAM dữ liệu trong (0-127) hoặc các thanh ghi chức năng đặc biệt @Ri : 8 bit vùng RAM dữ liệu trong (0-125) được đánh giá địa chỉ gián tiếp qua thanh ghi R0 hoặc R1 #data : Hằng 8 bit chức trong câu lệnh... 1 byte vào thanh ghi A ADD A,@Ri (1,1): Cộng gián tiếp nội dung RAM chứa tại địa chỉ được khai báo trong Ri vào thanh ghi A ADD A,#data (2,1):Cộng dữ liệu tức thời vào A ADD A,Rn (1,1): Cộng thanh ghi và cờ nhớ vào A ADD A,data (2,1): Cộng trực tiếp byte dữ liệu và cờ nhớ vào A ADDC A,@Ri (1,1): Cộng gián tiếp nội dung RAM và cờ nhớ vào A ADDC A,#data (2,1): Cộng dữ liệu tức thời và cờ nhớ vào A SUBB... (CY) có cơng dụng kép Thơng thường nó được dùng cho các lệnh số học: có sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số mượn phép trừ Ví dụ, nếu thanh chứa A có nội dung là FFH, thì lệnh sau: ADD A,#1 Sẽ trả về thanh ghi tích luỹ kết quả 00H và set cờ nhớ trong PSW GVHD: ThS Lâm Tăng Đức Trang:- 11 - SVTH: Võ Ngọc Tuyến Đồ án tốt nghiệp: Đo và khống chế độ ẩm phòng kín Khoa: Điện . nhớ phụ Cờ 0 Chọn dãy thanh ghi (bit 1) Chọn dãy thanh ghi (bit 0). 00=bank 0;địa chỉ 00H-07H 01=bank 1:địa chỉ 08H-0FH 10=bank 2:địa chỉ 10H-17H 11=bank 3:địa chỉ 18H-1FH Cờ tràn Dự trữ Cờ. : - 4KB ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051) - 128 byte RAM - 4port I/0 8 bit - Hai bộ định thời 16 bit - Mạch giao tiếp nối tiếp - 64KB không gian bộ nhớ chương trình mở rộng -. 09 08 07 06 05 04 03 02 01 00 BANK 3 BANK 2 BANK 1 Dãy thanh ghi mặc định R0-R7 Bảng tóm tắt bản đồ vùng nhớ trên chip data 8051 GVHD: ThS. Lâm Tăng Đức Trang :- 8 - SVTH: Võ Ngọc Tuyến Đồ án