Thiết kế mạng thu thập dữ liệu dùng vi điều khiển 8051
Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 1 Bộ LAO Động thơng binh và x hội Trờng đại học s phạm kỹ thuật nam định Khoa: điện - điện tử đồ án môn học kỹ thuật vi điều khiển ứng dụng vi điều khiển họ 8051 Sinh viên thực hiện: ĐiNH NGọC CƯờNG Giáo viên hớng dẫn: TRầN VĂN HạNH Lớp: ĐL điện - điện tử k3 Nam Định - năm 2010 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 2 Phần I. Giới thiệu về đề ti LờI NóI ĐầU Trong nhiều lĩnh vực sản xuất công nghiệp hiện nay, nhất là ngành công Nghiệp luyện kim, chề biến thực phẫm vấn đề đo và khống chế nhiệt độ đặc biệt đợc chú trọng đến vì nó là một yếu tố quyết định chất lợng sản phẫm. Nắm đợc tầm quan trọng của vấn đề trên nhóm thực hiện tiến hành nghiên cứu và thiết kế một hệ thống đo nhiệt độ kết hợp với phơng thức truyền thông , với mong muốn là giải quyết những yêu cầu trên. Những kiến thức năng lực đạt đợc trong quá trình học tập ở trờng sẽ đợc đánh giá qua đợt bảo vệ đồ án môn học. Vì vậy chúng em cố gắng tận dụng tất cả những kiến thức đã học ở trờng cùng với sự tìm tồi nghiên cứu, để có thể hoàn thành tốt luận văn này. Những sản phẫm những kết quả đạt đợc ngày hôm nay tuy không có gì lớn lao. Nhng đó là những thành quả của năm học tập. Là thành công đầu tiên của chúng em trớc khi ra trờng. Mặt dù chúng em rất cố gắng để hoàn thành tập luận văn này đúng thời hạn, nên không tránh khỏi những thiếu sót mong quí thầy cô thông cảm. Chúng em mong đợc đón nhận những ý kiến đóng góp. Cuối cùng xin chân thành cảm ơn quí thầy cô và các bạn sinh viên. Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 3 Phần II: nội dung Chơng 1:DẫN NHậP 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 hóa. Với những kỹ thuật tiên tiến nh vi xử lí, vi mạch số đựơc ứng dụng vào lỉnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc độ xử lí chậm chạp ít chính xác đợc thay thế bằng các hệ thống điều khiển tự động với các lệnh chơng trình đã đợc thiết lập trớc. Trong quá trình sản xuất ở các nhà máy, xí nghiệp hiện nay, việc đo nhiệt độ tự động là một yêu cầu hết sức cần thiết và quan trọng. Vì nếu nắm bắt đợc nhiệt độ làm việc của các hệ thống. Dây chuyền sản xuất giúp ta biết đợc tình trạng làm việc của các yêu cầu. Và có những xử lý kịp thời tránh đợc những h hỏng và sự cố có thể xảy ra. Để đáp ứng đợc yêu cầu đo nhiệt độ tự động, thì có nhiều phơng pháp để thực hiện, nghiên cửu khảo sát vi điều khiển 8051 nhóm thực hiện nhận thấy rằng: ứng dụng vi điều khiển 8051 vào việc đo và khống chế nhiệt độ tự động là phơng pháp tối u nhất. Đồng đợc sự đồng ý của khoa Điện Trờng Đại Học S Phạm Kỹ Thuật. Nhóm chúng em tiến hành thực hiện đề tài thiết kế mạng thu thập dữ liệu dùng vi điều khiển 8051. II.GIớI HạN Đề TI : Với thời gian có hạn cũng nh trình độ có hạn chúng em đã cố gắng hoàn thành tập đồ án này nhng chỉ giải quyết đợc một số vấn đề sau: - Thiết kế mạch đo nhiệt độ trong phòng - Thiết kế 1 hệ thống thu thập nhiệt độ phòng gồm 1 vi điều khiển master và 1 vi điều khiển slave. - Viết chơng trình cho vi điều khiển 8051 để đáp ứng các yêu cầu trên III. MụC ĐíCH NGHIÊN CứU Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 4 Mục đích trớc hết khi thực hiện đề tài này là để hoàn tất chơng trình môn học để đủ điều kiện ra trờng. Cụ thể khi nghiên cứu thực hiện đề tài là chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển nhằm tạo ra những sản phẩm, những thiết bị tiên tiến hơn, và đạt hiệu quả sản xuất cao hơn. Mặt khác tập đồ án này cũng có thể làm tài liệu tham khảo cho những sinh viên khóa sau. Giúp họ hiểu rõ hơn về những ứng dụng của vi điều khiển . Ngòai ra quá trình nghiên cứu thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức đã đợc học ở trờng, đồng thời phát huy tính sáng tạo, khả năng giải quyết một vấn đề theo yêu cầu đặt ra. Và đây cũng là dịp để chúng em tự khẳng định mình trớc khi ra trờng để tham gia vào các hoạt động sản xuất của xã hội. 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, lu 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ếh bị điện và đ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 TV, 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 Bộ VI ĐIềU KHIểN : Bộ vi điều khiển thực ra, là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung. Bộ vi điều khiển đợc phát triển từ bộ vi xử lí, từ những năm 70 do sự pháttriể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 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 5 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ộ chuển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in,hố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í. Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics). 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. 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 8bit 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. Và sau đó hàng loạt các vi điều khiển cùng loại với 8051 ra đời và hình thành họ vi điều khiển MCS-51 . Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty hàng dẫn hàng đầu thế giới chế tạo. Đứng đầu là công ty INTEL và rấtnhiều công ty khác nh : AMD, SIEMENS, PHILIPS, DALLAS, OKI 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 Motola -Họ st62 của công ty sgs-thomson -Họ h8 của công ty Hitachi -Họ pic của công ty Micro chip III.KHảO SáT Bộ VI ĐIềU KHIểN 8051 V 8031 1. Các thông số cơ bản IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau : Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 6 - 4kbyte ROM (đợc lập trình bởi nhà sản xuất chỉ có ở 8051) - 128 búyt RAM - 4port I10 8bit - Hai bộ định thời 16bit - 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 - một bộ xử lí luận lí (thao tác trên các bit đơn) - 210 bit đợc địa chỉ hóa - bộ nhân / chia 40s 2.CấU TRúC BÊN TRONG CủA 8051 / 8031 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 7 Hình 2.1 Cấu trúc bên trong của 8051/8031 Nhiệm vụ các khối - CPU: thực hiện các phép toán số học và lô gíc, đa ra các chỉ thị lệnh - Bộ tạo dao động: tạo ra tín hiệu xung nhịp cho CPU , tạo xung nhịp cho timer/couter - BUS điều khiển: tập chung tín hiệuđiều khiểnhoạt động của vi điều khiển - PSEN: ( Program store enable) dùng để truy suất bộ nhớ ngoài ( bộ nhớ trong của 8051: ROM 4 kbyte, RAM 128 byte) Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 8 + Khi PSEN= 0: cho phép truy suất bộ nhớ ngoài + Khi PSEN= 1: cho phép truy suất bộ nhớ trong - EA: dùng để truy suất bộ nhớ dữ liệu hoặc bộ nhớ chơng trình ngoài - RST: reset - ALE: (Adress Latch Enable) dùng để tách tín hiệu địa chỉvà tín hiệu ở cổng P0 - Khối vào ra song song: dùng để truy suất dữ liệu 8 bit - Khối vào ra nối tiếp: dùng để truy suất dữ liệu nối tiếp theo tiêu chuẩn RS232 - Khối sử lý ngắt: tiếp nhận ngắt và thực hiện chơng trình phục vụ ngắt - Timer/ couter: tạo khoảng thời gian hoặc đếm các sự kiện - ROM on chip: (4 kbyte) lu giữ chơng trình - RAM on chíp: (128 byte) lu giữ chơng trình tạm thời 3.Sơ Đồ CHÂN VI ĐIềU KHIểN Hình 2.2 Sơ đồ chân của IC 89C51 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P0.0 Vcc 1 2 3 5 6 4 7 8 9 11 12 10 13 14 15 17 18 16 19 20 40 39 38 36 35 37 34 33 32 30 29 31 28 27 26 24 23 25 22 21 8051 (89C51) P0.1 P0.2 P0.4 P0.5 P0.3 PSEN P0.6 P2.5 P2.3 P2.1 (A9) P2.7 P2.4(A12) P2.6 P2.0 (AB) P2.2 (RXD) (TXD) (NT0) (NT1) (T0) (T1) (WR) (RD) XTAL XTAL1 GND P0.6 EA/CP ALE/PRO Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 9 Chức năng các chân Chân 32 ặ 39 thuộc cổng P0 thực hiện truy suất dữ liệu hoặc làm chân địa chỉ trong trờng hợp có thiết kế mở rộngbộ nhớ Chân 1 ặ 8 thuộc cổng P1 chỉ dùng để truy suất dữ liệu Chân 21ặ 28 thuộc cổng P2có chức năng cơ bản dùng để vào ra dữ liệu trong trờng hợp có thiết kế mở rộng bộ nhớ thì nó đợc dùng làm chân địa chỉ cho các bít cao của địa chỉ 16 bit Chân 10 ặ 17 thuộc cổng P3 ở trạng thái bình thơng ta có thể dùng để vào ra dữ liệu, ngoài ra cổng P3 còn lu giữ các chức năng đặc biệt P 3.I Tên Chức năng P 3.0 R XD Nhập dữ liệu trong trờng hợp truyền nối tiếp P 3.1 T XD Phát dữ liệu trong trờng hợp truyền song song P 3.2 INT 0 Đầu vào ngắt 0 P 3.3 INT 1 Đầu vào ngắt 1 P 3.4 T 0 Đầu vào cho bộ timer/couter 0 P 3.5 T 1 Đầu vào cho bộ timer/couter 1 P 3.6 WR Đờng điều khiển ghi bộ nhớ ngoài P 3.7 RD Đờng điều khiển đọc bộ nhớ ngoài Chân 18, 19: Đầu vào của bộ dao động Chân 20: chân Mass Chân 40: chân dơng nguồn 4.Tổ chức bộ nhớ Các vi điều khiển thuộc ho 8051 đều tổ chức thành 2 không gian chơng trình và dữ liệu. Kiến trúc vi xử lý 8 bit của 8051 này cho phép truy nhập và tính toán nhanh hơn đối với không gian dữ liệu nhờ việc phân không gian bộ nhớ Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Sinh viên: ĐINH NGọC CƯờNG Lớp: ĐL - ĐĐT3 10 chơng trình và dữ liệu nh trên. Tuy nhiên bộ nhớ ngoài đợc truy nhập bởi hệ thống 16 bit địa chỉ vẫn có thể thực hiện nhờ thanh ghi con trỏ Bộ nhớ chơng trình ( ROM, EFROM) là bộ nhớ chỉ đọc, có thể mở rộng tối đa 64kbyte. Với họ vi điều khiển 89xx, bộ nhớ chơng trình đợc tích hợp sẵn trong chip có kich thớc nhỏ nhất là 4Kbyte. Với các vi điều khiển không tích hợp sẵn bộ nhớ chơng trình trên chip, buộc phải thiết kế bộ nhớ chơng trình bên ngoài. Ví dụ sử dụng EFROM: 2746(64Kbyte) khi đó chân PSEN phải đặt ở mức cao (5V). Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chơng trinh. Họ vi điều khiển8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128 Byte và có thể mở rộng dữ liệu ngoài lên tới 64Kbyte. Với những vi điều khiển không tích hợp Rom trên chip thì vẫn có RAM treenc chip là 128 byte. Khi sử dụng RAM ngoài Cpu đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và WR. Khi sử dụng cả bộ nhớ chơng trình và bộ nhớ dữ liệu bên ngoài thì buộc phảo kết hợp chân RD và PSEN bởi cổng logic AND đế phân biệt tín hiệu truy xuất dữ liệu trên ROM hay trên RAM 4.1 Bộ nhớ chơng trình Hình 2.3 Cấu trúc bộ nhớ chơng trình [...]... học: Vi xử lý GVHD: TRầN VĂN HạNH II Truyền thông nối tiếp dị bộ v đóng khung dữ liệu Dữ liệu đi vào ở đầu thu của đờng dữ liệu trong truyền dữ liệu nói tiếp toàn là các số 0 và 1, nó thật là khó làm cho dữ liệu ấy có nghĩa là nếu bên phát và bên thu không cùng thống nhất về một tệp các luật, một thủ tục, về cách dữ liệu đợc đóng gói, bao nhiêu bít tạo nên một ký tự và khi nào dữ liệu bắt đầu và kết... quá trình biên dịch Với vi điều khiển 8051 có chơng trình hợp dịch trong môI trờng DOS và Windown Hiện nay có rất nhiều trình hợp dịch cho họ vi điều khiển 8051 nh Pinace, Read 51, Keil C Cấu trúc cơ bản của chơng trình vi t cho vi điều khiển 8051 có 2 loại là: - Chơng trình có phục vụ ngắt - Chơng trình không phục vụ ngắt 4.5.1 Dạng chơng trình không phục vụ ngắt và khai báo dữ liệu - Đây là dạng chơng... sẽ dùng đến các chân RD và WR khi truy cập đến bộ nhớ Sinh vi n: ĐINH NGọC CƯờNG 11 Lớp: ĐL - ĐĐT3 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH dữ liệu ngoài Dới đây là cấu trúc bộ nhớ dữ liệu trong chip, đợc chia làm 3 khối là 128 byte thấp, 128 byte cao và 128 byte đặc biệt Hình 2.6 Cấu trúc bộ nhớ dữ liệu trên chip Hình dới đây mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều khiển 8051. .. reti ; kết thúc chơng trình phục vụ ngắt timer 2 serial: ;chơng trình phục vụ ngắt cổng nối tiếp reti ; kết thúc chơng trình phục vụ ngắt cổng nối tiếp end ; kết thúc chơng trình CHƯƠNG III truyền thông nối tiếp của vi điều khiển 8051 Các máy tính truyền dữ liệu theo hai cách: Song song và nối tiếp Trong truyền dữ liệu song song thờng cần 8 hoặc nhiều đờng dây dẫn để truyền dữ liệu đến một thiết bị... định nghĩa ) Sinh vi n: ĐINH NGọC CƯờNG 13 Lớp: ĐL - ĐĐT3 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH Hình 2.8 128 byte cao của bộ nhớ dữ liệu 4.3 Các chế độ định địa chỉ 4.3.1 Chế độ định địa chỉ tức thời Chế độ định địa chỉ tức thời thơng dùng để nạp dữ liệu cho thanh ghi, dữ liệu là một hăng số cụ thể, dữ liệu đợc gọi qua tên nhãn ỷtong chế đọ định địa chỉ tức thời thì đằng trớc dữ liệu có ký hiệu... thi bởi một thiết bị có tên gọi là Modem là chữ vi t tắt của Modulator/ demodulator (điều chế/ giải điều chế) Khi cự ly truyền ngắn thì tín hiệu số có thể đợc truyền nh nói ở trên, một dây dẫn đơn giản và không cần điều chế Đây là cách các bàn PC và IBM truyền dữ liệu đến bo mạch mẹ Tuy nhiên, để truyền dữ liệu đi xa dùng các đờng truyền chẳng hạn nh đờng thoại thì vi c truyền thông dữ liệu nối tiếp... học: Vi xử lý GVHD: TRầN VĂN HạNH Hình 2.4 Địa chỉ ngắt trên bộ nhớ chơng trình Sau khi khởi động CPU bắt đầu thực hiện chơng trình ở vị trí 0000h Mõi khi có ngắt xảy ra con trỏ của CPU sẽ nhảy đến đúng địa chỉ ngắt tơng ứng và thực thi chơng trình tại đó 4.2 Bộ nhớ dữ liệu Hình 2.5 Cấu trúc bộ nhớ dữ liệu Hình trên mô tả cẩu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài của họ vi điều khiển 8051. .. truyền thông dữ liệu nối tiếp Những IC này phục vụ nh các bộ thu - phát dị bộ tổng hợp VART (Universal Asynchronous Receiver Transmitter) và các bộ thu phát đồng -dị bộ tổng hợp UBART (Universal Asynchronous Receiver Transmitter) Đơn công Bộ phát Bộ thu Bán đơn công Bộ phát Bộ thu Bộ thu Bộ phát Bộ phát Bộ thu Bộ thu Bộ phát Song công Hình 3.2 Truyền dữ liệu đơn công, bán công và song công Sinh vi n: ĐINH... các máy in thì thông tin đơn giản đợc lấy từ đờng bus dữ liệu 8 bít và đợc gửi đi tới bus dữ liệu 8 bít của máy in Điều này có thể làm vi c chỉ khi đờng cáp bus không quá dài vì các đờng cáp dài làm suy giảm thậm chí làm méo tín hiệu Ngoài ra, đờng dữ liệu 8 bít giá thờng đắt Vì những lý do này, vi c truyền thông nối tiếp đợc dùng để truyền dữ liệu giữa hai hệ thống ở cách xa nhau hàng trăm đến hàng... một đờng dữ liệu đơn Điều này cũng có nghĩa là ở đầu thu cũng phải có một thanh ghi vào - nối tiếp - ra - song song để nhận dữ liệu nối tiếp và sau đó gói chúng thành từng byte một Tất nhiên, nếu dữ liệu đợc truyền qua đờng thoại thì nó phải đợc chuyển đổi từ các số 0 và 1 sang Sinh vi n: ĐINH NGọC CƯờNG 30 Lớp: ĐL - ĐĐT3 Đồ án môn học: Vi xử lý GVHD: TRầN VĂN HạNH âm thanh ở dạng sóng hình sin Vi c chuyển . ROM on chip và ROM RAM ngoài Vd: MOVC A,@A+DPTR (8051 lấy nội dung thanh ghi A + nội dung của DPTR làm đị chỉ của ROM on chip sau đó sao dữ liệu ở địa. MUL AB Thc hiện nhân nội dung thanh ghi A với nội dung thanh ghi B Kết quả: Byte thấp lu trên thanh ghi