Trong thực tế các ứng dụng của vi điều khiển rất đa dạng và phong phú. Từ những ứng dụng đơn giản chỉ có vài thiết bị ngoại vi cho đến những hệ thống điều khiển phức tạp. Trong thực tế các ứng dụng của vi điều khiển rất đa dạng và phong phú. Từ những ứng dụng đơn giản chỉ có vài thiết bị ngoại vi cho đến những hệ thống điều khiển phức tạp. luận văn tốt nghiệp thạc sĩ
Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX LỜI MỞ ĐẦU Ngày nhân loại trải qua phát triển mặt Trong điện tử tự - động hóa đóng vai trị khơng nhỏ Điện tử góp phần vào q trình tự động hóa thứ giúp ngƣời đại hóa sống Vận dụng kiến thức học đƣợc trình học tập trƣờng em thực đồ án tốt nghiệp Đồ án chủ yếu đƣợc áp dụng chủ yếu dựa vào vi điều khiển Mà thực tế IC8051, nhằm mục đích giúp em hiểu tƣờng tận vi điều khiển, cách đọc, biết nhận biết chân IC mà em đƣợc học từ giảng viên trƣờng, tìm hiểu nghiên cứu qua sách nhƣ cách thức vận dụng thực tế Trong thực tế ứng dụng vi điều khiển đa dạng phong phú Từ ứng dụng đơn giản có vài thiết bị ngoại vi hệ thống điều khiển phức tạp Tuy nhiên phạm vi trình độ em cịn hạn chế, nên việc nhiên cứu tìm hiểu vi điều khiển cịn nhiều điều chƣa biết Trong viết em, em xin giới thiệu ứng dụng họ IC8051 để thị đếm thời gian thực sử dụng DS1307 quét hiển thị LED matrix Tuy nhiên trình viết trình độ hiểu biết em cịn nhiều hạn chế, nên cịn xảy nhiều sai sót mong thầy bạn góp ý bổ sung để em đƣợc hiểu biết trình học tập Em xin chân thành cảm ơn! Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX LỜI CẢM ƠN Em xin chân thành cám ơn thầy Ths.Nguyễn Trọng Thắng tận tình hƣớng dẫn tạo điều kiện thuận lợi cho em hồn thành tốt đề tài Em xin chân thành cám ơn thầy khoa điện tử bạn sinh viên lớp đóng góp ý kiến kinh nghiệm trình thực đề tài Sinh viên thực Phạm Minh Tuấn Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX CHƢƠNG HỆ THỐNG THỜI GIAN THỰC 1.1 Hệ thống thời gian thực 1.1.1 Giới thiệu hệ thống thời gian thực Trong năm gần đây, hệ thống điều khiển theo thời gian thực lĩnh vực thu hút nhiều ý giới khoa học nghiên cứu khoa học máy tính Trong đó, vấn đề điều hành thời gian thực vấn đề lập lịch đặc biệt quan trọng Một số ứng dụng quan trọng hệ thống thời gian thực (RTC) đƣợc ứng dụng rộng rãi dây chuyền sản xuất tự động, rô bốt, điều khiển không lƣu, điều khiển Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX thí nghiệm tự động, truyền thơng, điều khiển quân sự… Thế hệ ứng dụng hệ thống điều khiển rơ bốt có hoạt động giống ngƣời, hệ thống kiểm sốt thơng minh nhà máy công nghiệp, điều khiển trạm khơng gian, thăm dị đáy đại dƣơng… 1.1.2 Khái niệm hệ thống thời gian thực: Một số hệ thống thời gian thực (RTS – Realtime Systems) đƣợc hiểu nhƣ mơ hình xử lý mà tính đắn hệ thống không phụ thuộc vào kết tính tốn logic mà cịn phụ thuộc vào thời gian mà kết phát sinh Hệ thống thời gian thực đƣợc thiết kế nhằm cho phép trả lời (Response) lại yếu tố kích thích phát sinh từ thiết bị phần cứng ràng buộc thời gian xác định Ở ta hiểu RTS cách hiểu tiến trình, cơng việc thời gian thực Nhìn chung, RTS có số công việc đƣợc gọi công việc thời gian thực, cơng việc có mức độ khẩn cấp riêng phải hồn tất, ví dụ tiến trình cố gắng điều khiển giám sát kiện xảy giới thực Bởi kiện xuất giới thực nên tiến trình giám sát kiện phải xử lý theo kịp với thay đổi kiện Sự thay đổi kiện giới thực xảy nhanh, tiến trình giám sát kiện phải thực việc xử lý khoảng thời gian ràng buộc gọi deadline, khoảng thời gian ràng buộc đƣợc xác định thời gian bắt đầu thời gian hồn tất cơng việc Trong thực tế, yếu tố kích thích xảy thời gian ngắn vào khoảng vài mili giây, thời gian mà hệ thống trả lời lại yếu tố kích thích tốt vào khoảng dƣới giây, thƣơng vào khoảng vài chục mili giây, khoảng thời gian bao gồm thời gian tiếp nhận kich thích, xử lý thơng tin trả lời lại kích thích Một số yếu tố khác cần quan tâm RTS công việc thời gian thực có tuần hồn hay Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX khơng? Cơng việc tuần hồn thi ràng buộc thời gian ấn định theo chu kỳ xác định Công việc khơng tuần hồn xảy với ràng buộc thời gian vào lúc bắt đầu lúc kết thúc công việc, ràng buộc đƣợc xác định vào lúc bắt đầu cơng việc Các biến cố kích hoạt cơng việc khơng tuần hồn thƣờng dựa kỹ thật xử lý ngắt hệ thống phần cứng Về mặt cấu tạo, RTS thƣờng đƣợc cấu thành từ thành tố sau: - Đồng hồ thời gian thực: Cung cấp thông tin thời gian thực - Bộ điều khiển ngắt: Quản lý biến cố không theo chu kỳ - Bộ định biểu: Quản lý trình thực - Bộ quản lý tài nguyên: Cung cấp tài nguyên máy tính - Bộ điều khiển thực hiện: Khởi động tiến trình Các yếu tố đƣợc phân định thành phần cứng hay mềm tùy thuộc vào hệ thống ý nghĩa sử dụng Thông thƣờng, RTS đƣợc kết hợp vào phần cứng có khả tốt so với hệ thống phần mềm có chức tƣơng ứng tránh đƣợc chi phí đắt cho việc tối ƣu hóa phần mềm Ngày nay, chi phí phần cứng ngày rẻ , chọn lựa ƣu tiên phần cứng xu hƣớng chung 1.1.3 Các loại hệ thống thời gian thực: Các RTS thƣờng đƣợc phân thành hai loại sau Soft reatime system Hard realtime system: Đối với Soft realtime system, thời gian trả lời hệ thống cho yếu tố kích thích quan trọng, nhiên trƣờng hợp ràng buộc bị vi phạm, tức thời gian trả lời hệ thống vƣợt giới hạn trễ cho phép, hệ thống cho phép tiếp tục hoạt động bình thƣờng, khơng quan tâm đến tác hại vi phạm gây ( thƣờng tác hại không đáng kể ) Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX Ngƣợc lại với Soft realtime system Hard realtime system, trƣờng hợp ngƣời ta quan tâm khắc khe đến hậu vi phạm giới hạn thời gian phép hậu tồi tệ, thiệt hại vật chất, gây ảnh hƣởng xấu đến với đời sống ngƣời Một số ví dụ cho loại hệ thống điều khiển không lƣu, phân phối đƣờng bay, thời gian cất cánh, hạ cánh khơng hợp lý, khơng lúc gây tai nạn máy bay mà hậu khó lƣờng trƣớc đƣợc Trong thực tế có nhiều loại RTS bao gồm hai loại soft hard Trong hai loại này, máy tính thƣờng can thiệp trực tiếp gián tiếp đến thiết bị vật lý để kiểm soát nhƣ điều khiển hoạt động thiết bị Đứng góc độ này, ngƣời ta thƣờng chia RTS làm hai loại sau: (1) Embedded system: Bộ vi xử lý điều khiển phần tồn thiết bị, đƣợc sản xuất trọn gói từ yếu tố cứng đến yêu tố mềm từ nhà máy, ngƣời sử dụng chi tiết sử dụng thông qua nút điều khiển, bảng số Với hệ thống này, ta không thấy đƣợc thiết bị nhƣ máy tính bình thƣờng nhƣ bàn phím, hình… mà thay vào nút điều khiển, bảng số, đèn tín hiệu hay hình chuyên dụng đặc trƣng cho hệ thống Máy giặt ví dụ Ngƣời sử dụng việc bấm nút chọn chƣơng trình giặt, xem kết qua hệ thống đèn báo hiệu… Bộ vi xử lý Embedded system đƣợc lập trình trƣớc gắn chặt vào từ sản xuất lập trình lại Những chƣơng trình chạy độc lập, khơng có giao tiếp với hệ điều hành ( HĐH ) nhƣ không cho phép ngƣời sử dụng can thiệp vào (2) Loại hai bao gồm hệ thống có can thiệp máy tính thơng thƣờng Thơng qua máy tính ta hồn tồn kiểm soát nhƣ điều khiển hoạt động thiết bị phần cứng hệ thống Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX Những chƣơng trình điều khiển có nhiều loại, phục vụ cho nhiều mục đích khác nau đƣợc viết lại cho phù hợp với yêu cầu thực tế Hiển nhiên loại hệ thống hoạt động đƣợc phải cần HĐH điều khiển máy tính HĐH phải có khả nhận biết đƣợc thiết bị phần cứng, có khả hồn tất công việc giới hạn thời gian nghiêm ngặt HĐH phải HĐH hỗ trợ xử lú thời gian thực – Realtime operating system ( RTOS ) 1.1.4 Hệ điều hành cho hệ thống thời gian thực Trong lĩnh vực cơng nghệ thơng tin, ngƣời ta nói hệ thống thông tin thời gian thực hệ thống điều khiển vật thể vật lý với tốc độ phù hợp với tiến triển tiến trình chủ Một ví dụ dễ hiểu (hệ thống thơng tin điều khiển hình hiển thị xác tàu điện ngầm đến gare định) Hệ thống thông tin thời gian thực khác với hệ thống thông tin khác gị bó thời gian, đó, việc tn thủ nguyên tắc quan trọng nhƣ độ xác kết quả, nói cách khác, hệ thống khơng đơn giản đƣa kết xác mà cịn phải thực xử lý thời gian ngắn Hệ thống thông tin thời gian thực ngày đƣợc ứng dụng nhiều lĩnh vực nhƣ: ngành công nghiệp sản xuất, kiểm sốt tiến trình (trong nhà máy, hay viện hạt nhân, hệ thống hàng không, thông qua hệ thống dẫn đƣờng tích hợp máy bay vệ tinh) Sự phát triển hệ thống thông tin thời gian thực yêu cầu phần tử hệ thống phải thời gian thực, hệ thống đƣợc thiết kế theo cách nhƣ đƣợc gọi hệ điều hành thời gian thực Để đảm bảo tuân thủ giới hạn thời gian, hệ thống cần phải: Có dịch vụ khác thuật tốn xử lý khoảng thời gian hạn chế Một hệ điều hành thời gian thực phải đƣợc thiết Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX kế cho dịch vụ truy cập vào phần cứng với khoảng thời gian ngắn Có kết hợp thích hợp để đảm bảo cho xử lý thành phần không vƣợt thời gian cho phép Một số ví dụ cho hệ điều hành thời gian thực: Adeos ART Linux ChorusOS eCos ELinOS FreeRTOS iRmx ITRON Linux LynxOS MicroC/OS-II Nucleus OS-9 OSE OSEK/VDX pSOS PikeOS QNX RedHawk RSX-11 VxWorks Windows CE Xenomai Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX CHƢƠNG GIỚI THIỆU CÁC LINH KIỆN DÙNG TRONG HỆ THỐNG 2.1 VI ĐIỀU KHIỂN 2.1.1Giới thiệu họ vi điều khiển Bộ điều khiển đơn chip 8051 đƣợc công ty INTEL chế tạo vào năm 1980 sản phẩm vi điều khiển MCS-51 Ngày nay, họ MCS51 có 250 biến thể khác đƣợc hầu hết công ty bán dẫn hàng đầu giới chế tạo, với số lƣợng tiêu thụ tỷ năm Họ MCS-51 có khả ứng dụng rộng rãi, chũng có mặt nhiều sản phẩm dân dụng nhƣ máy giặt, máy điều hòa nhiệt độ, lị vi sóng, nồi cơm điện…, thiết bị điện tử y tế viễn thong, thiết bị đo lƣờng điều khiển sử dụng công nghiệp,v.v… Dƣới cấu trúc vi điều khiển MCS-51: Hình 2.1: Cấu trúc MCS-51 Mỗi vi mạch MCS-51 bao gồm xử lý trung tâm ( CPU ), nhớ đọc ( ROM), nhớ đọc ghi ( RAM ), cổng vào song song bit (I/O Port ), cổng vào nối tiếp ( Serial Port ), điếm định thời ( Timer ), khối điểu khiển ngắt ( Interrupt control), khối điều khiển bus ( Bus Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX control) mạch tạo xung nhịp (Oscillator) Giao tiếp CPU khối bên MCS-51 đƣợc thực qua bus nội gồm bus dƣ liệu bit, bus địa tín hiệu điều khiển khác Cấu trúc cho phép coi MCS-51 nhƣ máy tính đơn chip bit 2.1.2 Sơ đồ chức chân Sơ đồ chân vỏ vi mạch MCS-51 nhƣ hình đƣới Hình 2.2: sơ đồ chân họ MCS-51 10 Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX in_up=0; in_down=0; matrix_clear(); matrix_goto_xy(7,5); N_1=dat/10;// Lay phan nguyen N_2=dat%10;// Lay phan du N_3=month/10;// Lay phan nguyen N_4=month%10;// Lay phan du N_5=year/10;// Lay phan nguyen N_6=year%10;// Lay phan du display(N_1+48); display(N_2+48); display('-'); display(N_3+48); display(N_4+48); matrix_goto_xy(15,7);// Hien thi nam xuong hang duoi display(2+48);// 20XX display(0+48); display(N_5+48); display(N_6+48); for(n_c=0;n_c31) write_DS1307(0x05,Convert_Binary(month));// Thang nam(1 >12) write_DS1307(0x06,Convert_Binary(year));// Nam // -in_mode=0;// Chuyen sang cai dat gio - phut - giay again=0; matrix_clear(); matrix_goto_xy(7,5); N_1=hour/10;// Lay phan nguyen N_2=hour%10;// Lay phan du N_3=minute/10;// Lay phan nguyen N_4=minute%10;// Lay phan du display(N_1+48); 63 Thiết kế, xây dựng hệ thống hiển thị thời gian thực LEDMATRIX display(N_2+48); display(':'); display(N_3+48); display(N_4+48); for(n_c=0;n_c