VI ĐIỀU KHIỂN AT89C51

77 1 0
VI ĐIỀU KHIỂN AT89C51

Đ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

MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined LỜI NÓI ĐẦU CHƯƠNG I: GIỚI THIỆU VI ĐIỀU KHIỂN AT89C51: I Giới thiệu: Error! Bookmark not defined Đặc trưng: .3 Chức chân: .4 Bộ nhớ: Timer: Serial port: .7 Ngắt (interrupt): II Tổ chức nhớ: Ran đa dụng: 10 Địa trực tiếp: 12 Địa gián tiếp: Error! Bookmark not defined Địa tức thời: 12 Địa tương đối: 1Error! Bookmark not defined Địa tuyệt đối: 13 Địa dài .13 Địa tham chiếu: .13 III Các nhóm lệnh: .14 Nhóm lệnh xử lý số học: .14 Nhóm lệnh luận lý: 15 Nhóm lệnh chuyển liệu: 15 Nhóm lệnh chuyển điều khiển: .16 CHƯƠNG II: CẢM BIẾN NHIỆT ĐỘ: 18 I Khái niệm nhiệt độ thang đo nhiệt độ: 18 II.Các loại cảm biến nhiệt độ ưu khuyết điểm chúng: .19 Đặc tính cảm biến nhiệt thermocouple: 19 1.1 Nguyên lý .19 1.2 Cách đo hiệu điện .20 1.3 Các loại thermocouples : 21 1.4 Tầm đo Thermocouples : .22 1.5 Bảng tham chiếu thermocouples: 22 1.6 Cách sử dụng: 23 Đặc tính nhiệt điện trở RTD: 24 Đặc tính thermistor: 24 IC cảm biến nhiệt: 24 4.1 Một số tính chất LM35: .25 4.2 Thiết kế cụ thể mạch cảm biến LM35: 26 4.3 Thiết kế mạch khuếch đại theo lý thuyết: 26 Uưu khuyết điểm loại cảm biến: 28 5.1 Thermocouple: .28 5.2 RTD: 28 5.3 Thermistor: .29 5.4 IC cảm biến: 29 CHƯƠNG III: CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN LÒ NHIỆT : .30 I Điều khiển ON-OFF: 30 Mô tả hoạt động: 30 Hiệu chỉnh: 30 II Điều khiển tỉ lệ (P) : .31 III Điều khiển tích phân (I) : 32 IV Điều khiển tích phân – tỉ lệ (PI) : 32 V Điều khiển vi phân (D) : 33 VI Điều khiển vi phân – tỉ lệ (PD): 34 VII.Điều khiể vi phân – tích phân – tỉ lệ (PID): 35 Điều khiển PID liên tục: .35 1.1 Hàm điều khiển: .35 1.2 Thời trể: 37 Điều khiển PID rời rạc: 37 2.1 Khái niệm: 37 2.2 Sự hiệu chỉnh thực tế điều khiển: .37 2.3 Sự hiệu chỉnh PID đối tượng lò nhiệt: .38 CHƯƠNG IV: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH 44 I Sơ đồ khối: .44 Mạch nguồn: 44 1.1 Nguồn 5V: .44 1.2 Nguồn 12V: 44 Vi điều khiển AT89C51: .45 Mạch ADC: 46 3.1 Xung clock cho ADC: 46 3.2 ADC0809: 48 Mạch LED hiển thị: 52 Mạch khuếch đại analog: 54 Mạch động lực: .55 II Sơ đồ nguyên lý: .56 CHƯƠNG V: LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH: 57 I Lưu đồ giải thuật: 57 Lưu đồ giait thuật tổng quát: 57 Lưu đồ giải thuật quét led: 58 Lưu đồ giait thuật ADC: .58 Lưu đồ giải thuật PID: 60 Lưu đồ tính giá trị M0, M1, M2: 60 II Chương trình: 63 KẾT QUẢ THI CÔNG VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI: .73 TÀI LIỆU THAM KHẢO 73 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa LỜI CẢM ƠN: Trước vào luận văn em xin cảm ơn thầy cô môn Điều Khiển Tự Động truyền đạt cho em kiến thức suốt thời gian qua Em xin cảm ơn thầy Dương Hoài Nghĩa thầy mơn tận tình giúp đỡ em suốt thời gian làm luận văn qua Và em xin cảm ơn cha mẹ, bạn bè giúp đỡ em hoàn thành tốt luận văn Em xin chân thành cảm ơn! Sinh viên thực Phan Ngọc Quốc SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa LỜI NĨI ĐẦU Kỹ thuật vi điều khiển ngày phổ biến, ứng dụng nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, hỗ trợ nhiều lĩnh vực khác So với kỹ thuật số vi điều khiển gọn nhiều tích hợp lại lập trình để điều khiển Với tính ưu việt vi điều khiển mà phạm vi luận văn em dung vi điều khiển để đo hiển thị nhiệt độ Đây ứng dụng nhỏ, thông dụng vi điều khiển nhiều ứng dụng chúng Những hiểu biết học cộng thêm tài liệu tham khảo, hồn thành luận văn náy khơng tránh khỏi nhiều thiếu xót mong thầy xem them cho em Để hoàn thành luận văn em nhận bảo tận tình thầy hướng dẫn giúp đỡ nhiệt tình bạn bè Sinh viên thực hiện: Phan Ngọc Quốc SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa CHƯƠNG I : GIỚI THIỆU VI ĐIỀU KHIỂN AT89C51 I.Giới thiệu : Giới thiệu khái quát họ IC MCS-51™MCS-51 họ IC vi điều khiển Intel phát triển sản xuất Một số nhà sản xuất phép cung cấp IC tương thích với sản phẩm MCS-51 Intel Siemens, Advanced Micro Devices, Fujitsu, Philips, Atmel… Các IC họ MCS-51 có đặc trưng chung sau: - port I/O bit - Giao tiếp nối tiếp - 64K khơng gian nhớ chương trình mở rộng - 64K không gian nhớ liệu mở rộng - Một xử lý luận lý (thao tác bit đơn) - 210 bit địa hóa - Bộ nhân/chia s Ngoài ra, tùy theo số hiệu sản xuất mà chúng có khác biệt nhớ định thời/bộ đếm bảng so sánh đây: TÊN LINH KIỆN 8051 8031 8751 8951 8052 8032 8752 8952 BỘ NHỚ CHƯƠNG TRÌNH TRÊN CHIP KB MROM KB KB EPROM KB flash ROM KB MROM KB KB EPROM KB flash ROM BỘ NHỚ DỮ LIỆU TRÊN CHIP(BYTES) 128 128 128 128 256 256 256 256 TIMER 2 2 3 3 AT89C51 Microcomputer bit, loại CMOS, có tốc độ cao cơng suất thấp với nhớ Flash lập trình Nó sản xuất với cơng nghệ nhớ không bay mật độ cao hãng Atmel, tương thích với chuẩn cơng nghiệp 80C51 80C52 chân lệnh Vì lý đó, kể từ sau ta dùng thuật ngữ “80C51” (hoặc "8051") Đặc trưng + Tương thích với sản phẩm MCS-51 + 4KByte nhớ Flash lập trình lại với 1000 chu kỳ đọc/xố + Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz + Khố nhớ chương trình ba cấp SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa + 128 x bit RAM nội + 32 đường xuất-nhập lập trình (tương ứng port) + Hai timer/counter 16 bit + Một port nối tiếp song cơng lập trình + Mạch đồng hồ dao động chip Cấu hình chân AT89C51 sau: Chức chân Gồm 40 chân : +Port : Có chân từ P0.0 đến P0.7 Có chức : Data / Địa : có sẵn điện trở kéo lên bên Data / Địa Multiplex theo thời gian : chu kì đầu Port địa , nửa chu kì sau Data I /O : khơng có sẵn điện trở kéo lên bên , sử dung chức phải kéo điện trở bên +Port : châ n P1.0 - P1.7 Có chức : I / O : có sẵn điện trở kéo lên bên +Port : chân P2.0 – P2.7 Có chức : I / O : có sẵn điện trở kéo lên bên Địa : có chức địa byte cao +Port : chân P3.0 – P3.7 Có chức : I / O : có sẵn điện trở kéo lên bên Chức riêng cho chân : P3.0 SVTH: Phan Ngọc Quốc RxD Ngõ thu nối tiếp MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 TxD INT INT T0 T1 WR RD Ngõ phát nối tiếp Ngõ Interrupt Ngõ Interrupt Ngõ vào Timer Ngõ vào Timer Tín hiệu điều khiển ghi Tín hiệu điều khiển đọc ALE (Adress Latch Enable ) : tín hiệu chốt địa + PSEN (Program Store Enable ) : tín hiệu cho phép nhớ chương trình + EA (External Access ) : tín hiệu điều khiển truy xuất +RST : chân Reset , tích cực mức cao +XTAL1 , XTAL2 : chân gắn thạnh anh +VCC : chân nguồn +VSS : chân mass Bộ nhớ RAM nội Có 128 byte RAM nội đánh địa từ 00H : 7FH chia làm vùng : Vùng bank ghi : Gồm 32 byte +Bank : 00h : 07H +Bank : 08H : 0FH +Bank : 10H : 17H +Bank : 18H : 1FH Trong bank ghi xếp theo thứ tự từ R0 đến R7 Bank bank Vùng RAM định vị Bit: Gồm 128 byte đánh địa từ 20H : 2FH Ngồi khả định vị theo byte cịn có khả định vị theo bit Vùng RAM đa dụng : Gồm 80 byte từ 30H : 7FH Vùng nhớ từ 80H : FFH vùng chứa ghi chức gồm : Thanh ghi A (Accomulator ) Đó nhớ ACC ( hay ô nhớ E0H) Thanh ghi B : gọi ô nhớ B hay ô nhớ F0H Thanh ghi PSW ( Program Status Word – ghi trạng thái chương trình ): hay cịn gọi nhớ D0H hay ô nhớ PSW CY AC F0 RS1 RS2 OV - P - Bit CY : cờ nhớ C phép toán số học - Bit AC ( Auxilary Carry ) : cờ nhớ phụ - Bit F0 : cờ nhớ dành cho người sử sụng - Bit RS1 , RS0 ( Register Bank ) : dùng để chọn bank ghi hoạt động SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa RS1 0 1 RS0 1 Bank - Bit OV (Over Flag ) : cờ tràn , set lên phép toán bị tràn ( vượt tầm giá trị số có dấu tứ –127 – +128 ) -Bit Parity : cờ Parity Thanh ghi SP ( Stack Pointer ) có nhiệm vụ trỏ ngăn xếp dùng để xác định vùng địa ngăn xếp Mặc nhiên SP = 07H Nguyên tắc hoạt động stack : Cất liệu vào Stack : PUSH địa ô nhớ Lấy data từ Stack : POP địa ô nhớ Thanh ghi DPTR ( Data Pointe ) : ghi 16 bit dùng làm tro liệu Được tạo từ nhớ bit DPH DPL Thanh ghi Port : có ghi Port đại diện cho Port P0 , P1 , P2 , P3 Thanh ghi Timer : Thanh ghi TH0 , TL0 Timer Thanh ghi TH1 , TL1 Timer Thanh ghi TMOD : Timer Mode Thanh ghi TCON : Timer Connntroller Thanh ghi Serial Thanh ghi SBUF : Serial Buffer Thanh ghi SCON : Serial Contrller Thanh ghi Interrupt Thanh ghi IE : Interrupt Enable Thanh ghi IP : Interrupt Priority Thanh ghi PCON (Power Contrl ) : khơng có khả định vị bit SMOD - - - GF1 GF2 PD IDL Khi SMOD = tốc độ truyền nối tiếp tăng gấp đôi GF1 , GF2 : cờ dành cho người sử dụng Khi PD = 89C51 vào trạng thái Power Down (Standby ) , có tín hiệu Reset IDL =1 , 89C51 vào trạng thái IDLE chì có tín hiệu Reset hay Interrupt * Bộ nhớ ngồi2 89C51 có khả quản lí tối đa 64K RAM 64K ROM Timer : Họ 8051 có Timer 16 bit : Timer Timer SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa Timer sử dụng ghi TH0 TL0 làm đếm Timer sử dụng ghi TH1 TL1 làm đếm Để sử dụng Timer trước hết cần xác lập ghi TMOD ( khơng có khả định vị bit ) GATE C/ T M1 M0 GATE C/ T Timer +M1 , M0 : dùng để chọn chế độ hoạt động M1 M0 Timer M1 M0 Mode 0 0 1 1 +Gate : Gate = ( chế độ làm việc bình thường ) Khi Gate = đếm hoạt động tín hiệu vào ngõ INT x = Thanh ghi TCON ( Timer Controller ) : có khả định vị bit TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 +TFx (Timer Flag ) : cờ tràn Ngay dếm tràn TFx = Cờ xố phần mềm +TRx ( Timer Run ) : TRx = : đếm hoạt động TRx = đếm ngưng hoạt động Các chế độ hoạt động : +Mode : chế độ hoạt động 16 bit , Timer sử dụng bit thấp ghi TL , bit cao ghi TH +Mode : chế độ hoạt động 16 bit +Mode : chế độ hoạt động bit với khả tự động nạp lại Timer sử dụng ghi TL làm đếm , tràn giá trị ghi TH đ-ợc nạp lại cho ghi TL +Mode : chế độ tách Timer Timer tách làm đếm Có đếm gồm : TL0 : có cờ tràn TF0 TH0 : có cờ tràn TF1 Timer : khơng có cờ tràn Serial port Có ghi SBUF địa : dành cho phát , dành cho thu Để khởi động thu phát nối tiếp , trước hết cần xác lập ghi SCON ( khơng có khả định vị bit ) SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp SM0 SM1 GVHD: PGS.TS Dương Hoài Nghĩa SM2 REN TB8 RB8 TI RI +SM0 , SM1 : xác định chế độ hoạt động SM1 0 1 SM0 1 Mode +SM2 : dùng để xác lập chế độ truyền thông đa xử lí +REN (Receive Enable ) : tín hiệu cho phép thu REN = : cho phép thu REN = : không cho phép thu +TB8 ( Transmit Bit ) : bit phát thứ , sử dụng chế độ bit +RB8 ( Receive Bit ) : bit thu thứ , sử dụng chế độ bit +TI ( Transmit Interrupt ) : cờ ngắt phát , set lên phát xong byte , xoá phần mềm +RI ( Receive Interrupt ) : cờ ngắt thu , set lên thu xong byte , xoá phần mềm Các chế độ hoạt động : - Mode : chế độ ghi dịch bit Trong chế độ , Data dịch vào thông qua chân RxD , chân TxD đảm nhận việc phát xung clock cho việc dịch - Mode : chế độ UART bit , tốc độ baudrate thay đổi Data thu phát theo khung 10 bit : Start bit mức bit Data theo thứ tự từ D0 đến D7 Stop bit mức Tốc độ truyền Baudrate = Tần số tràn cùa Timer / 32 (nếu SMODE = 0) Baudrate = Tần số tràn Timer / 16 (nếu SMODE = 1) - Mode : UART bit , tốc độ baud cố định Một khung liệu gồm 11 bit : Start bit mức bit Data ( từ D0 đến D7) bit thứ lấy từ TB8 phát RB8 thu Stop bit - Mode : UART bit , tốc độ Baud thay đổi Là kết hợp mode Mode Ngắt (Interrupt) Có ngắt : ngắt ngồi ngắt Timer SVTH: Phan Ngọc Quốc MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa Tính xung PID N N En=0 Y Y Y En1=0 Y En1=0 N Y En2=0 En2=0 En2=0 En2=0 Tính giá trị Un Y En255 Un=255 N En2=En1 En1=En Ret SVTH: Phan Ngọc Quốc 61 MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hồi Nghĩa Tính M0, M1, M2 M0=A0*En M1=A1*En1 M2=A2*En2 END Xung điểu khiển: U 255 Un T(s) T TON SVTH: Phan Ngọc Quốc T(s) 62 MSSV: 710089 Luận văn tốt nghiệp GVHD: PGS.TS Dương Hoài Nghĩa Điều rộng xung N Ngắt timer1 Y Tăng U N U

Ngày đăng: 30/10/2022, 18:46

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

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

Tài liệu liên quan