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
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,.
6 trang |
Chia sẻ: linhmy2pp | Ngày: 22/03/2022 | Lượt xem: 280 | Lượt tải: 0
Bạn đang xem 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ải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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
Các file đính kèm theo tài liệu này:
- thiet_ke_va_thi_cong_dong_ho_thoi_gian_thuc_tu_dong_bao_gio.pdf