Thiết kế hệ thống điều khiển số nhiệt độ

62 131 0
Thiết kế hệ thống điều khiển số nhiệt độ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG…………… Luận văn Thiết kế hệ thống điều khiển số nhiệt độ Footer Page of 126 Header Page of 126 LỜI MỞ ĐẦU Hiện nay, ngành kỹ thuật điện tử công nghệ thông tin tiến không ngừng Chúng ngày phát triển đƣợc ứng dụng tất mặt đời sống Các thiết bị điện tử dùng Vi Điều Khiển đƣợc sử dụng rộng rãi khắp ứng dụng tự động Nó giúp công việc nhƣ giải trí Các Vi Điều Khiển ngày đại, tốc độ xử lý nhanh hơn, ứng dụng rộng Một ứng dụng quan trọng Vi Điển Khiển dựng đo lƣờng điều khiển Nhờ loại cảm biến, ứng dụng đo lƣờng Vi Điều Khiển không giới hạn đại lƣợng điện mà mở rộng tín hiệu điện Sử dụng Vi Điều Khiển thu thập đại lƣợng cần đo dễ dàng hơn, cụ thể xử lý đại lƣợng đƣa đƣợc kết nhƣ mong muốn Với tầm quan trọng đo lƣờng Vi Điều Khiển nên em nhận đề tài làm đồ án tốt nghiệp để nghiên cứu hiểu biết thêm Vi Điều Khiển ứng dụng hay sống thƣờng ngày Trong trình làm đồ án tốt nghiệp, hạn chế thời gian, tài liệu trình độ có hạn nên không tránh khỏi có thiếu sót Em mong đƣợc góp ý kiến thầy cô bạn để đồ án tốt nghiệp em đƣợc hoàn thiện Em xin gửi lời cảm ơn chân thành đến thầy cô Điện tự động công nghiệp, đặc biệt thầy Nguyễn Trọng Thắng giúp đỡ em hoàn thành tốt đồ án Footer Page of 126 Header Page of 126 CHƢƠNG TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 TỔNG QUAN VỀ HỌ IC8051 Có vi điều khiển bit Đó 6811 Motorola, 8051 Intel, z8 Xilog Pic 16 Microchip Technology Mỗi kiểu loại có tập lệnh ghi riêng nhất, chúng không tƣơng thích lẫn Cũng có vi điều khiển 16 bit 32 bit đƣợc sản xuất hãng sản xuất chíp khác Với tất vi điều khiển khác tiêu chuẩn để lựa chọn vi điều khiển là: *) Đáp ứng đƣợc nhu cầu tính toán toán cách hiệu mặt giá thành đầy đủ chức nhìn thấy đƣợc Trong phân tích nhu cầu dự án dựa vi điều khiển phải biết vi điều khiển bit, 16 bit hay 32 bit đáp ứng tôt nhu cầu toán cách hiệu Nhứng tiêu chuẩn là: - Tốc độ: tốc độ lớn mà vi điều khiển hỗ trợ lạ - Kiểu đóng vỏ: Đóng vỏ kiểu DIP 40 chân hay QFP Đây yêu cầu quan trọng yêu cầu không gian, kiểu láp ráp tạo mẫu thử cho sản phẩm cuối - Công suất tiêu thụ: Điều đặc biệt khắt khe sản phẩm dùng pin, ắc quy - Dung lƣợng nhớ Rom Ram chíp - Số chân vào định thời chíp - Khả dễ dàng nâng cấp cho hiệu suất cao giảm công suất tiêu thụ - Giá thành cho đơn vị: Điều quan trọng định giá thành sản phẩm mà vi điều khiển đƣợc sử dụng *) Coppy sẵn công cụ phát triển phần mềm nhƣ trình biên dịch, trình hợp ngữ gỡ rối Footer Page of 126 Header Page of 126 *) Nguồn vi điều khiển có sẵn nhiều tin cậy Khả sẵn sàng đáp ứng số lƣợng tƣơng lai Hiện vi điều khiển bit họ 8051 có số lƣợng lớn nhà cung cấp đa dạng nhƣ Intel, Atmel, Philip… 1.1.1 Bộ vi điều khiển 8051 Vào năm 1981 hãng Intel giới thiệu số vi điều khiển đƣợc gọi 8051 Bộ vi điều khiển có 128 byte RAM, 4K byte ROM chíp, hai định thời, cổng nối tiếp cổng (đều rộng bit) vào tất đƣợc đặt chíp Lúc đƣợc coi ‗hệ thống chíp‘ 8051 xử lý bit có nghĩa CPU có thẻ làm việc với bit liệu thời điểm Dữ liệu lớn bit đƣợc chia thành liệu bit xử lý 8051 có tất cổng vào I/O cổng rộng bit (hình vẽ) Mặc dù 8051 có ROM chíp cực đại 64Kbyte, nhƣng nhà sản xuất lúc xuất xƣởng với 4Kbyte Rom chíp 8051 trở nên phổ biến sau Intel cho phép nhà sản xuất khác sản xuất bán dạng biến thể 8051 mà họ thích với điều kiện họ phải để lại mã tƣơng thích với 8051 Điều dẫn đến đời nhiều phiên 8051 với tốc độ khác dung lƣợng Rom chíp khác Điều quan trọng có nhiều biến thể khác 8051 tốc độ dung lƣợng nhớ ROM chíp nhƣng tất chúng tƣơng thích với 8051 ban đầu lệnh Điều có nghĩa ta viết chƣơng trình cho phiên chạy với phiên khác mà không phân biệt từ hãng sản xuất Footer Page of 126 Header Page of 126 Bảng 1.1: Các đặc tính 8051 Đặc tính Số lƣợng ROM chíp 4Kbyte RAM 128 byte Bộ định thời Các chân vào 32 Cổng nối tiếp Nguồn ngắt Bộ vi điều khiển 8051 thành viên họ 8051, hãng Intel ký hiệu MSC51 Bảng đặc tính họ 8051 EXTERNAL INTERRUPTS INTERR UPT CONTRO L ON - CHIP RAM TIME R0 TIME R1 I/O PORTS SERIAL PORT P P P P ADDRESS/D TXD RXD COUNTER INPUTS ETC CPU OSC BUS CONTRO L ATA Hình 1.1: Bố trí bên 8051 Mô tả chân 8051 nhƣ Hình 1.2 Các thành viên họ 8051 (ví dụ 8751, 89C51, DS5000) có kiểu đóng vỏ khác nhau, chẳng hạn nhƣ hai hàng chân DIP dạng vỏ dẹp vuông QFP dạng chip chân đỡ LLC Footer Page of 126 Header Page of 126 chúng có 40 chân cho chức khác nhƣ vào I/O, đọc RW , ghi WR , địa chỉ, liệu ngắt Cần lƣu ý số hãng cung cấp phiên 8051 có 20 chân với số cổng vào cho ứng dụng yêu cầu thấp Tuy nhiên, hầu hết nhà phát triển sử dụng chíp đóng vỏ 40 chân với hai hàng chân DIP nên ta tập chung mô tả phiên P1.0 P1.1 P1.2 P1 3P1.4 P1.5 P1.6 P1.7 RST (RXD) P3.0 (TXD) P3.1 (NT0) P3.2 (NT1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GND 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 8051 (8031) 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 Vcc P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.6 (AD6) EA/CPP ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4(A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (AB) Hình 1.2: Sơ đồ chân 8051 Từ Hình 1.2 ta thấy 40 chân có 32 chân dùng cho cổng P0, P1, P2, P3 với cổng có chân Các chân lại dành cho nguồn Vcc, đất GND, chân dao động XTAL1 XTAL2, khởi động lại RST cho phép chốt địa EA , cho ngắt cất chƣơng trình PSEN Trong chân chân Vcc, GND, XTAL1, XTAL2, RST EA đƣợc họ 8031 8051 sử dụng Hay nói cách khác chúng phải đƣợc nối hệ thống làm việc mà không cần biết vi điều khiển thuộc họ 8051 hay 8031 Còn chân PSEN chân ALE đƣợc sử dụng hệ thống dựa 8031  Chân Vcc chân GND tƣơng ứng với chân số 40 chân số 20 cung cấp nguồn (+5V) nối mass Footer Page of 126 Header Page of 126  Chân XTAL1 (chân 19) XTAL2 (chân 18): 8051 có dao động chíp nhƣng yêu cầu có xung đồng hồ để chạy Bộ dao động thạch anh đƣợc nối với XTAL1 XTAL2 hai tụ điện có giá trị 30pF Một phía tụ đƣợc nối xuống đất nhƣ Hình 1.3 Cần phải lƣu ý có nhiều tốc độ khác họ 8051 Tốc độ đƣợc coi nhƣ tần số cực đại giao động đƣợc nối tới chân XTAL Ta sử dụng nguồn tần số khác dao động thạch anh chẳng hạn nhƣ dao động TTL đƣợc nối tới chân XTAL1 chân XTAL2 để hở nhƣ Hình 1.4 C2 XTAL2 XTAL2 NC EXTERRNAL OSCILLATAOR SIGNAL C1 XTAL1 30pF XTAL1 GND GND Hình 1.3: XTAL nối với 8051 Hình 1.4: XTAL nối với dao động  Chân RST: Chân số chân tái lập RESET Nó chân đầu vào có mức tích cực cao Khi cấp xung cao tới chân vi điều khiển tái lập kết thúc hoạt động Nó coi nhƣ tái bật nguồn Vcc + 10 F 8.2K Vcc 30 F 30 F 31 EA/Vpp 19 X1 11.0592 MHz 18 X2 RST 10 F 31 EA/Vpp X1 X2 RST 8.2K Hình 1.5: Mạch tái bật nguồn RESET Hình 1.6: Mạch tái bật nguồn với Debounce Footer Page of 126 Header Page of 126 Muốn mạch RESET làm việc có hiệu phải có tối thiểu chu kì máy Hay nói cách khác, xung cao phải kéo dài tối thiểu chu kì máy trƣớc xuống thấp  Chân EA (là chân IN): Truy cập nhớ ngoài, chân số 31 vỏ chíp nhƣ 8751, 89C51 DS5000 chân EA đƣợc nối với nguồn Vcc Trƣờng hợp ROM chíp nhƣ 8031 8051 mã chƣơng trình đƣợc lƣu cất nhớ ngoài, chân EA đƣợc nối đất Nhƣ chân không đƣợc để hở  Chân PSEN chân có chức cho phép lƣu chƣơng trình Ở hệ thống 8031, chƣơng trình cất nhớ ROM chân đƣợc nối tới chân OE ROM  ALE cho phép chốt địa chân có mức tích cực cao Khi nối 8031 tới nhớ cổng đƣợc cấp địa liệu Hay nói cách khác, 8031 dồn địa liệu qua cổng để tiết kiệm số chân Chân ALE đƣợc sử dụng để phân kênh địa liệu cách nối tới chân G của chíp 73LS373  Nhóm chân cổng vào I/O: bốn cổng P0, P1, P2, P3 có chân tạo thành cổng bít Tất cổng RESET đƣợc cấu hình làm cổng Để làm đầu vào cần đƣợc lập trình Các cổng bình thƣờng cổng Cổng P0 vừa làm đầu ra, vừa làm đầu vào cổng P0 từ chân 32 đến 39 phải đƣợc nối với điện trở kéo 10K bên Cổng P1 có chân, từ chân đến chân 8, sử dụng làm đầu vào Khác với cổng P0, cổng P1 không cần đến điện trở kéo bên có điện trở kéo bên Cổng P2 có chân từ chân 21đến 28, sử dụng làm đầu vào Cũng giống nhƣ cổng P1, cổng P2 không cần điện trở kéo bên có điện trở kéo Cổng P3 có chân từ chân 10 đến chân 17 Cổng sử dụng làm đầu vào Cũng nhƣ chân P1và P2, cổng P3 không cần điện trở kéo Footer Page of 126 Header Page of 126 Bảng 1.2: Chức chân cổng P3 Bít cổng P3 Chức Chân số P3.0 Nhận liệu (RXD) 10 P3.1 Phát liệu (TXD) 11 P3.2 Ngắt 0(INT0) 12 P3.3 Ngắt 1(INT1) 13 P3.4 Bộ định thời (TO) 14 P3.5 Bộ định thời 1(T1) 15 P3.6 Ghi (WR) 16 P3.7 Đọc (RD) 17 Có hai vi điều khiển thành viên khác họ 8051 8052 8031 1.1.2 Bộ vi điều khiển 8052 Bộ vi điều khiển 8052 thành viên khác họ 8051, 8052 có tất đặc tính chuẩn 8051 có thêm 128 byte RAM định thời Hay nói cách khác 8052 có 256 byte RAM định thời, có 8K byte ROM chíp thay 4K byte nhƣ 8051 Bảng 1.3: So sánh đặc tính thành viên họ 8051 Đặc tính 8051 8052 8031 ROM chíp 4K byte 8K byte OK RAM 128 byte 256 byte 128 byte Bộ định thời Chân vào - 32 32 32 Cổng nối tiếp 1 Nguồn ngắt 8 Footer Page of 126 Header Page 10 of 126 Qua bảng ta thấy 8051 tập 8052, nên chƣơng trình viết cho 8051 chạy đƣợc 8052 nhƣng điều ngƣợc lại không 1.1.3 Bộ vi điều khiển 8031 Một thành viên khác 8051 chíp 8031 Chíp ROM chíp nên để sử dụng chíp ta phải bổ sung ROM cho nó, ROM phải chứa chƣơng trình mà 8031 nạp thực So với 8051 mà chƣơng trình đƣợc chứa ROM chíp bị giới hạn 4K byte, ROM chứa chƣơng trình đƣợc gắn vào 8031 lớn đến 64K byte Khi bổ xung cổng, nhƣ lại hai cổng để thao tác Để giải vấn đề ta bổ xung cổng vào cho 8031 cách phối ghép 8031 với nhớ cổng vào chẳng hạn với chíp 8255 Ngoài có phiên khác tốc độ 8031 từ hãng sản xuất khác Bảng 1.4: Các phiên 8051 từ Atmel Số linh kiện ROM RAM Chân I/O Timer Ngắt Vcc Đóng vỏ AT89C51 4K 128 32 5V 40 AT89LV51 4K 128 32 3V 40 AT89C1051 1K 64 15 3V 20 AT89C2051 2K 128 15 3V 20 AT89C52 8K 128 32 5V 40 AT89LV52 8K 128 32 3V 40 Footer Page 10 of 126 Header Page 48 of 126 3.7 CHƢƠNG TRÌNH ĐIỀU KHIỂN #include #include #include #define W P1_1// Chan yeu cau xuat du lieu chuyen doi #define R P1_0// Chan yeu cau bat dau lay mau #define Mode P3_0// Mode #define Up P3_1// Up #define Down P3_2// Dowm #define Fan P1_2// Dowm unsigned char i=0; unsigned int time=0,dl=0; unsigned int nhiet_do_M=0,nhiet_do=0; float data_temp=0,data_in=0; bit enable_sampling=0,enable_display=0,Mode_M=0,Up_M=0,Down_M=0,enable _time=0,check_point=0; void init(void) { P3=0xFF; P1=0xFF; P0=0xFF; W=1; R=1; TMOD=0x02;// Chon timer che bit tu lap lai TH0=0xC8;// Thoi gian ngat ~100us_Clock=24MHz EA=1;// Cho phep ngat toan cuc 47 Footer Page 48 of 126 Header Page 49 of 126 ET0=1;// Dung ngat dinh thoi timer EX1=1;// Dung ngat ngoai cua timer IT1=1;// Ngat theo suon xuong TR0=1;// Khoi dong timer } void sampling() { if(enable_sampling==1)// Neu dc phep lay mau { W=0;// Xung tich cuc thap delay_ms(100); W=1;// Tra lai tich cuc cao enable_sampling=0;// Thoi lay mau_Cho lan lay mau sau } } // Ham cai dat nhiet void Setup(void) { lcd_clear();// Xoa LCD Mode_M=0;// Da thuc hien Mode lcd_putsf("SetPoint: "); lcd_put_int(nhiet_do); nhiet_do_M=nhiet_do; while(Mode_M==0) { if(Up_M==1 || Down_M==1) { if(Up_M==1 && nhiet_do_M=80) lcd_gotoxy(0,10),nhiet_do_M=25,lcd_put_int(nhiet_do_M);// Quay vong cai dat else if(Down_M==1 && nhiet_do_M>25) lcd_gotoxy(0,10),nhiet_do_M ,lcd_put_int(nhiet_do_M);// Giam nhiet else if(Down_M==1 && nhiet_do_Mnhiet_do_M) P3_7=0,Fan=1;// Neu nhiet cai dat nho hon nhiet hien tai thi tat else if(nhiet_donhiet_do_M) Fan=1,P3_7=0;// Neu nhiet cai dat nho hon nhiet hien tai thi tat else if(nhiet_do

Ngày đăng: 18/05/2017, 14:32

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan