Thiết kế và thi công đồng hồ thời gian thực tự động báo giờ học ứng dụng vi điều khiển Pic
Kỹ thuật vi điều khiển hiện nay phát triển rất mạnh mẽ, nó được ứng dụng vào rất nhiều
lĩnh vực từ trong đời sống sinh hoạt hàng ngày (mạch quang báo, mạch chống trộm,
khóa số, tủ lạnh, ti vi) cho tới các lĩnh vực trong công nghiệp cũng như trong quân sự.
Do có nhiều ưu điểm như nhỏ gọn, khả năng lập trình để điều khiển theo ý muốn, giá
thành thấp, có khả năng xử lí được nhiều công việc nên vi điều khiển trở thành linh kiện
không thể thiếu được trong các thiết bị phục vụ con người chúng ta.
Họ vi điểu khiển PIC là một trong những họ vi điều khiển mới sau này, có rất nhiều ưu
điểm vượt trội so với các họ vi điều khiển trước đó. Hiện nay, các trường kỹ thuật đã bắt
đầu đưa họ vi điều khiển PIC vào giảng dạy và thực hành cũng như ứng dụng trong các
đề tài khoa học (đặc biệt trong các cuộc thi ROBOCON sử dụng rất nhiều). Vì vậy, việc
nghiên cứu và ứng dụng họ vi điều khiển PIC là vấn đề cấp thiết cần được quan tâm.
Hiện nay đã có một số trường học sử dụng mạch tự động báo giờ học. Việc sử dụng
mạch này giúp cho các trường học tiết kiệm được công cử người trực theo dõi giờ để
bấm chuông báo giờ vào, ra tiết học. Tuy nhiên vẫn còn rất nhiều trường vẫn chưa lắp
đặt mạch báo giờ tự động này và các mạch tự động báo giờ thực tế hiện nay chủ yếu sử
dụng các linh kiện, vi điều khiển đơn giản nên gây khó khăn cho việc mở rộng thiết kế,
thi công. Từ nhu cầu thực tế đó, cần đến mạch đồng hồ thời gian thực và tự động báo
giờ học sử dụng vi điều khiển PIC với ưu điểm tiết kiệm kinh phí, nâng cao độ chính
xác, ổn định trong việc báo giờ học và tiện lợi khi sử dụng.
Tóm tắt nội dung tài liệu: Thiết kế và thi công đồng hồ thời gian thực tự động báo giờ học ứng dụng vi điều khiển Pic
Tạp chí Khoa học và Giáo dục, Trường Đại học Sư phạm Huế ISSN 1859-1612, Số 03(31)/2013: tr. 35-40 THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC TỰ ĐỘNG BÁO GIỜ HỌC ỨNG DỤNG VI ĐIỀU KHIỂN PIC NGUYỄN TÚ HÀ Trường Đại học Sư phạm - Đại học Huế Tóm tắt: Bài báo trình bày quá trình thiết kế và thi công mạch đồng hồ thời gian thực (RTC- RealTime Clock) tự động báo giờ vào và ra tiết học sử dụng vi điều khiển PIC. Mạch hiển thị giờ, phút, giây, thứ, ngày, tháng, năm và nhiệt độ bằng Led 7 đoạn. Dữ liệu thời gian được đọc từ IC thời gian thực DS12C887; dữ liệu nhiệt độ được đọc từ IC cảm biến nhiệt độ LM35. Quá trình đọc dữ liệu và hiển thị thời gian nhiệt độ được điều khiển bởi vi điều khiển PIC16F877A. Từ khóa: Vi điều khiển PIC, đồng hồ thời gian thực. 1. ĐẶT VẤN ĐỀ Kỹ thuật vi điều khiển hiện nay phát triển rất mạnh mẽ, nó được ứng dụng vào rất nhiều lĩnh vực từ trong đời sống sinh hoạt hàng ngày (mạch quang báo, mạch chống trộm, khóa số, tủ lạnh, ti vi) cho tới các lĩnh vực trong công nghiệp cũng như trong quân sự. Do có nhiều ưu điểm như nhỏ gọn, khả năng lập trình để điều khiển theo ý muốn, giá thành thấp, có khả năng xử lí được nhiều công việc nên vi điều khiển trở thành linh kiện không thể thiếu được trong các thiết bị phục vụ con người chúng ta. Họ vi điểu khiển PIC là một trong những họ vi điều khiển mới sau này, có rất nhiều ưu điểm vượt trội so với các họ vi điều khiển trước đó. Hiện nay, các trường kỹ thuật đã bắt đầu đưa họ vi điều khiển PIC vào giảng dạy và thực hành cũng như ứng dụng trong các đề tài khoa học (đặc biệt trong các cuộc thi ROBOCON sử dụng rất nhiều). Vì vậy, việc nghiên cứu và ứng dụng họ vi điều khiển PIC là vấn đề cấp thiết cần được quan tâm. Hiện nay đã có một số trường học sử dụng mạch tự động báo giờ học. Việc sử dụng mạch này giúp cho các trường học tiết kiệm được công cử người trực theo dõi giờ để bấm chuông báo giờ vào, ra tiết học. Tuy nhiên vẫn còn rất nhiều trường vẫn chưa lắp đặt mạch báo giờ tự động này và các mạch tự động báo giờ thực tế hiện nay chủ yếu sử dụng các linh kiện, vi điều khiển đơn giản nên gây khó khăn cho việc mở rộng thiết kế, thi công. Từ nhu cầu thực tế đó, cần đến mạch đồng hồ thời gian thực và tự động báo giờ học sử dụng vi điều khiển PIC với ưu điểm tiết kiệm kinh phí, nâng cao độ chính xác, ổn định trong việc báo giờ học và tiện lợi khi sử dụng. 2. GIỚI THIỆU VI ĐIỀU KHIỂN PIC PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer". Họ vi điều khiển này được sử dụng rộng rãi vì có các ưu điểm:[1]Dễ dàng tìm mua tại thị trường Việt Nam với giá thành không quá đắt; có đầy đủ các tính năng của một vi NGUYỄN TÚ HÀ 36 điều khiển khi hoạt động độc lập; sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giản đến phức tạp; các tính năng đa dạng của vi điều khiển PIC, và các tính năng này không ngừng được phát triển; PIC là một sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mang tính truyền thống: họ vi điều khiển 8051. Ngoài ra số lượng người sử dụng họ vi điều khiển PIC hiện nay tại Việt Nam cũng như trên thế giới rất rộng rãi. Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn. Hình 1. Sơ đồ chân của vi điều khiển PIC16F874A/16F877A PIC sử dụng tập lệnh RISC. Tập lệnh bao gồm các lệnh tính toán trên các thanh ghi, với các hằng số, hoặc các vị trí bộ nhớ, cũng như có các lệnh điều kiện, lệnh nhảy/gọi hàm, và các lệnh để quay trở về, nó cũng có các tính năng phần cứng khác như ngắt hoặc sleep (chế độ hoạt động tiết kiệm điện). Microchip cung cấp môi trường lập trình MPLAB, nó bao gồm phần mềm mô phỏng và trình dịch ASM. Một số công ty khác xây dựng các trình dịch C, Basic, Pascal cho PIC [1]. Để nạp chương trình cho PIC, ta có thể sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip hoặc các mạch nạp khác được thiết kế dành cho từng loại vi điều khiển PIC. Trong bài báo này, chúng tôi lựa chọn sử dụng PIC16F877A. Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte. Số PORT I/O là 5 với 33 pin I/O. [2] THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC TỰ ĐỘNG BÁO GIỜ HỌC... 37 3. THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN THỰC RTC Đây là ứng dụng sử dụng vi điều khiển PIC để thiết kế một đồng hồ điện tử treo tường có các chức năng sau: - Hiển thị giờ, phút, giây; thứ, ngày, tháng, năm; nhiệt độ; - Điều chỉnh được giờ, phút, giây, thứ, ngày, tháng, năm; - Hẹn giờ để báo chuông giờ vào/ra tiết học theo yêu cầu. * Sơ đồ khối của mạch RTC: Hình 2. Sơ đồ khối mạch RTC Khối điều khiển sẽ đọc dữ liệu thời gian và nhiệt độ; sau đó sẽ hiển thị lên Led 7 đoạn. Đồng thời, mạch điều khiển luôn kiểm tra tín hiệu từ nút bấm để điều chỉnh thời gian hoặc hẹn giờ. 3.1. Khối hiệu chỉnh nút bấm - Khối đo nhiệt độ Mạch sử dụng 4 nút bấm để điều chỉnh đồng hồ gồm: nút chỉnh giờ, nút hẹn giờ, nút tăng, nút giảm. (Hình 3) LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius [2]. Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35. (Hình 4) Hình 3. Sơ đồ kết nối nút bấm Hình 4. Sơ đồ kết nối LM35 NGUYỄN TÚ HÀ 38 3.2. Khối hiển thị Mạch sử dụng 16 LED 7 đoạn để hiển thị thời gian giờ, phút, giây, thứ, ngày, tháng, năm và nhiệt độ. Để điều khiển các LED 7 đoạn, chúng tôi kết nối PORT D với các chân DATA của LED 7 đoạn và sử dụng IC giải mã 74LS154 kết hợp với Transistor để điều khiển sáng LED. (Hình 5) Hình 5. Sơ đồ nguyên lý mạch hiển thị LED 7 đoạn. 3.3. Khối thời gian thực Dữ liệu thời gian sẽ được cập nhật từ IC thời gian thực DS12C887. Đây là IC thời gian thực được sản xuất bởi hãng Dallas với một vài đặc tính cơ bản sau: [2] - Chứa các giá trị thời gian giây, phút, giờ, thứ, ngày, tháng, năm với thời gian hoạt động đúng đến năm 2100; - Bộ đếm hoạt động với thời gian 10 năm nếu không có nguồn điện ngoài cung cấp; - Các hệ thống bên trong bao gồm hệ thống thời gian thực, nguồn nội bằng Lithium và bộ tạo dao động với bộ chia tần số đính kèm cho phép lập trình được. Ngoài ra còn hỗ trợ các ngắt phục vụ cho quá trình xử lí thông tin của hệ thống bên ngoài. DS12C887 gồm 24 chân và có thể được chia làm 3 nhóm như sau: - Nhóm chân DATA: bao gồm các chân AD7:AD0. Đây là các chân mà DS12C887 dùng để đưa dữ liệu ra hay nhận dữ liệu vào; - Nhóm chân điều khiển giao tiếp BUS: bao gồm các chân MOT, AS, DS, R/W với các chức năng phụ thuộc vào việc lựa chọn chế độ giao tiếp BUS theo chuẩn của Intel (MOT=1) hay Motorola (MOT= 0); - Nhóm chân chức năng: bao gồm các chân RESET (dùng để reset IC), IRQ (chân tác động của các ngắt trong DS12C887) và chân SQW (chân tạo sóng vuông ngõ ra). 3.4. Khối báo giờ Khối báo giờ sẽ thực hiện chức năng đổ chuông để báo giờ vào và ra tiết học. Dựa vào thời gian quy định tiết học của trường, vi điều khiển PIC sẽ so sánh thời gian thực và thời gian vào và ra tiết học. Nếu thời gian giống nhau thì sẽ điều khiển đổ chuông để báo giờ. THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC TỰ ĐỘNG BÁO GIỜ HỌC... 39 3.5. Khối điều khiển Khối điều khiển là mạch gồm vi điều khiển PIC 16F877A và các cổng kết nối để giao tiếp với các khối khác. (Hình 6) Hình 6. Sơ đồ nguyên lý mạch điều khiển. 4. XÂY DỰNG CHƯƠNG TRÌNH CHO PIC Dựa vào thiết kế phần cứng, nguyên lý làm việc của mạch, chúng tôi sử dụng phần mềm CCS viết chương trình nạp cho PIC để điều khiển mạch [3]. Lưu đồ chương trình chính được thực hiện như sau: Hình 7. Lưu đồ chương trình chính. NGUYỄN TÚ HÀ 40 5. KẾT QUẢ Sau quá trình thiết kế và thi công mạch, chúng tôi đã hoàn thành đồng hồ thời gian thực có chức năng tự động báo giờ học như hình 8. Đồng hồ có thể hiển thị chính xác thời gian và nhiệt độ, ngoài ra còn có chức năng tự động báo giờ học mỗi khi vào/ra tiết học. Hình 8. Đồng hồ thời gian thực tự động báo giờ học. 6. KẾT LUẬN Mạch đồng hồ thời gian thực và tự động báo giờ học sử dụng vi điều khiển PIC và IC chuyên dụng DS12C887 cho ta độ chính xác tuyệt đối về thời gian thực, hoạt động ổn định, linh hoạt. Mạch có thể áp dụng rộng rãi cho các trường học hay các cơ quan tổ chức có nhu cầu tự động báo giờ. Để sản phẩm này thêm phong phú và tăng hiệu quả sử dụng thì cần phải phát triển thêm các chức năng: hiển thị được ngày, tháng, năm âm lịch; sử dụng LED ma trận để hiển thị đẹp hơn; thay đổi phương pháp điều khiển từ xa bằng Remote,.... TÀI LIỆU THAM KHẢO [1] Website Diễn đàn điện tử (2012). Cơ bản về vi điều khiển và PIC, truy cập ngày 20/08/2012, link: [2] Website Tra cứu Datasheet (2012). Datasheet PIC16F877A-DS12C887-LM35- 74LS154, truy cập ngày 25/09/2012, link: [3] Ngô Diên Tập (2006). Vi điều khiển với lập trình C, NXB Khoa học kỹ thuật. Title: DESIGNING AND IMPLEMENTING THE REAL TIME CLOCK CIRCUIT THAT AUTOMATICALLY ALARMS THE SCHOOL TIME USING THE PIC MICROCONTROLLER Abstract: In this paper, we show the process of design and implementation of the real time clock circuit that automatically alarms the beginning and the end of the school time using the PIC microcontroller. This circuit displays hour, minute second, day of week, day, month, year and temperature using LED 7- segment. The data of time is received from realtime DS12C887 IC, and the data of temperature is received from the thermal sensor LM35 IC. The process of data analysis and display are controlled by the PIC16F877A microcontroller. Keywords: PIC Microcontroller, RTC- RealTime Clock. ThS. NGUYỄN TÚ HÀ Khoa Vật lý, Trường Đại học Sư phạm - Đại học Huế, Email: nguyentuha82@gmail.com
File đính kèm:
- thiet_ke_va_thi_cong_dong_ho_thoi_gian_thuc_tu_dong_bao_gio.pdf