intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:6

242
lượt xem
29
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: 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

THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC<br /> TỰ ĐỘNG BÁO GIỜ HỌC ỨNG DỤNG VI ĐIỀU KHIỂN PIC<br /> NGUYỄN TÚ HÀ<br /> Trường Đại học Sư phạm - Đại học Huế<br /> 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<br /> gian thực (RTC- RealTime Clock) tự động báo giờ vào và ra tiết học sử dụng<br /> vi điều khiển PIC. Mạch hiển thị giờ, phút, giây, thứ, ngày, tháng, năm và<br /> nhiệt độ bằng Led 7 đoạn. Dữ liệu thời gian được đọc từ IC thời gian thực<br /> DS12C887; dữ liệu nhiệt độ được đọc từ IC cảm biến nhiệt độ LM35. Quá<br /> 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<br /> khiển PIC16F877A.<br /> Từ khóa: Vi điều khiển PIC, đồng hồ thời gian thực.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> 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<br /> 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,<br /> 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ự.<br /> 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á<br /> 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<br /> không thể thiếu được trong các thiết bị phục vụ con người chúng ta.<br /> 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<br /> đ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<br /> đầ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<br /> đề 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<br /> 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.<br /> 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<br /> 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ờ để<br /> 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<br /> đặ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ử<br /> 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ế,<br /> 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<br /> 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<br /> xác, ổn định trong việc báo giờ học và tiện lợi khi sử dụng.<br /> 2. GIỚI THIỆU VI ĐIỀU KHIỂN PIC<br /> PIC là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology.<br /> PIC bắt nguồn là chữ viết tắt của "Programmable Intelligent Computer".<br /> 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<br /> 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<br /> Tạp chí Khoa học và Giáo dục, Trường Đại học Sư phạm Huế<br /> ISSN 1859-1612, Số 03(31)/2013: tr. 35-40<br /> <br /> 36<br /> <br /> NGUYỄN TÚ HÀ<br /> <br /> đ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<br /> 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<br /> đ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ổ<br /> 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<br /> thống: họ vi điều khiển 8051.<br /> 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ư<br /> 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<br /> 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<br /> 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.<br /> <br /> Hình 1. Sơ đồ chân của vi điều khiển PIC16F874A/16F877A<br /> <br /> 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<br /> 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,<br /> 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<br /> sleep (chế độ hoạt động tiết kiệm điện). Microchip cung cấp môi trường lập trình<br /> 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<br /> xây dựng các trình dịch C, Basic, Pascal cho PIC [1].<br /> Để 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à<br /> 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<br /> điều khiển PIC.<br /> 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<br /> 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<br /> 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ì<br /> lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ<br /> 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]<br /> <br /> THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC TỰ ĐỘNG BÁO GIỜ HỌC...<br /> <br /> 37<br /> <br /> 3. THIẾT KẾ MẠCH ĐỒNG HỒ THỜI GIAN THỰC RTC<br /> Đâ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<br /> có các chức năng sau:<br /> - Hiển thị giờ, phút, giây; thứ, ngày, tháng, năm; nhiệt độ;<br /> - Điều chỉnh được giờ, phút, giây, thứ, ngày, tháng, năm;<br /> - Hẹn giờ để báo chuông giờ vào/ra tiết học theo yêu cầu.<br /> * Sơ đồ khối của mạch RTC:<br /> <br /> Hình 2. Sơ đồ khối mạch RTC<br /> <br /> 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.<br /> Đồ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<br /> hoặc hẹn giờ.<br /> 3.1. Khối hiệu chỉnh nút bấm - Khối đo nhiệt độ<br /> 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<br /> tăng, nút giảm. (Hình 3)<br /> 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ệ<br /> tuyến tính với nhiệt độ theo thang độ Celsius [2]. Nhiệt độ được xác định bằng cách đo<br /> hiệu điện thế ngõ ra của LM35. (Hình 4)<br /> <br /> Hình 3. Sơ đồ kết nối nút bấm<br /> <br /> Hình 4. Sơ đồ kết nối LM35<br /> <br /> 38<br /> <br /> NGUYỄN TÚ HÀ<br /> <br /> 3.2. Khối hiển thị<br /> 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,<br /> 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<br /> 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 để<br /> điều khiển sáng LED. (Hình 5)<br /> <br /> Hình 5. Sơ đồ nguyên lý mạch hiển thị LED 7 đoạn.<br /> <br /> 3.3. Khối thời gian thực<br /> 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<br /> 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]<br /> - 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<br /> động đúng đến năm 2100;<br /> - 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;<br /> - 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<br /> 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<br /> 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.<br /> DS12C887 gồm 24 chân và có thể được chia làm 3 nhóm như sau:<br /> - Nhóm chân DATA: bao gồm các chân AD7:AD0. Đây là các chân mà DS12C887<br /> dùng để đưa dữ liệu ra hay nhận dữ liệu vào;<br /> - 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<br /> 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<br /> Intel (MOT=1) hay Motorola (MOT= 0);<br /> - 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<br /> động của các ngắt trong DS12C887) và chân SQW (chân tạo sóng vuông ngõ ra).<br /> 3.4. Khối báo giờ<br /> 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<br /> 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à<br /> 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 để<br /> báo giờ.<br /> <br /> THIẾT KẾ VÀ THI CÔNG ĐỒNG HỒ THỜI GIAN THỰC TỰ ĐỘNG BÁO GIỜ HỌC...<br /> <br /> 39<br /> <br /> 3.5. Khối điều khiển<br /> 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<br /> tiếp với các khối khác. (Hình 6)<br /> <br /> Hình 6. Sơ đồ nguyên lý mạch điều khiển.<br /> <br /> 4. XÂY DỰNG CHƯƠNG TRÌNH CHO PIC<br /> 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<br /> 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<br /> được thực hiện như sau:<br /> <br /> Hình 7. Lưu đồ chương trình chính.<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
6=>0