Thiết kế hệ thống chuông báo lớp học
Trang 1ĐỀ TÀI: Thiết kế hệ thống chuông báo lớp học
Giáo viên hướng dẫn : NGUYỄN VĂN HUY
Nhóm thực hiện :
1 Chu Anh Nguyễn
2 Trần Đức Hoàng
3 Nguyễn Thị Nhung
MÔN : HỆ THỐNG NHÚNG
Trang 2 LCD 16x2
Vi điều khiển 89C51
DS1307 (RTC)
Sounder
Thạch anh 12MHz, 32.768MHz
Rơle
Trang 3Hình ảnh linh kiện sử
dụng trong bài thiết
kế
LCD 16x2 và giao
tiếp với vi điều khiển
Trang 4DS 1307
Real Time Clock
Và các thanh ghi đặc
biệt
Trang 5Sơ đồ khối
của mạch
1 Khối RTC
2 Khối hiển thị
3.Khối điều chỉnh
4 Khối xử lý
5 Khối âm thanh
6 Khối nguồn
Trang 6Đôi nét về các linh
kiện được sử dụng
RTC_real time clock
IC DS1307
+ Hình ảnh
+ Thanh ghi quan trọng
+ Giao tiếp với VĐK
Trang 7Sơ đồ ghép nối với vi điều
khiển 89c51
Trang 8Khối âm thanh
- Có nhiều phương án
để điều khiển cơ cấu
chấp hành ,ở đây
chúng ta sử dụng
Transistor A1015 để
điều khiển relay
12V/10A Điện trở R
=10K để phân cực và
hạn dòng cho Transistor
- Diode 2N4148 dùng
để bảo vệ Transistor khi
trong mạch xuất hiện áp
ngược từ cuộn dây sinh
ra Relay dùng để điều
khiển chuông điện
+5VDC
R1(2) R1
10
SPEAKER
RL1
12V
LS1
SPEAKER
+220V
Q1
BC547
+12V
D1
DIODE
Trang 9Khối hiển thị
Hiển thị time 1 ngày
của RTC lên LCD
+ 3 chân điều khiển
(RS,RW,E )
+ Đường dữ liệu D0
đến D7
+ Chân điều khiển
độ sáng tối của LCD
chân VEE ta sử dụng
1 biến trở để điều
chỉnh thích hợp
+5VDC
KHOI HIEN THI
Trang 10Phím bấm
(BUTTON)
Khối này sử dụng 1 trở
treo RESPACK_7
TIME_KEY để kiểm tra
tác động tới ngắt điều
chỉnh time hiển thị trên
LCD
DEC_KEY điều chỉnh
giảm
INC_KEY điều chỉnh tăng
(trong code đã giải thích
rõ – các bạn tham khảo
them trong chương trình
con – rtc_set() thư viện
rtc.c)
Trang 11Lưu đồ thuật toán
điều khiển main();
Ban đầu ta khởi tạo môi
trường để làm việc với
LCD, VĐK, RTC
Hiển thị time hiện tại trên
LCD, có thể cài đặt lại
time chính xác bằng cách
nhấn nút bấm TIME_KEY,
INC_KEY, DEC_KEY
Điều kiện (aon=1) để luôn
kiểm tra giờ hẹn với time
hiện tại
Đúng nó sẽ đổ chuông báo
(5s- có thể thay đổi )
Trang 12ENABLE_INT//cho phep ngat
wrt_cmd(0x1);//xoa man hinh LCD
wrt_cmd(0x1);
start_rtc();//dieu kien START cho RTC
send_adr(0xd0);//dia chi ghi cho RTC
send_adr(0x00);//gui dia chi bat dau
start_rtc();
send_adr(0xd1);//gui dia chi doc RTC
recv_data();//nhan du lieu tu vi dieu khien
while(1)
{
start_rtc();
send_adr(0xd0);
send_adr(0x00);
start_rtc();
send_adr(0xd1);
recv_data();
disp_rtc();
if(_testbit_(flag)) //kiem tra co ngat {
DISABLE_INT //cam ngat rtc_set(); //goi chuong trinh set cho rtc ENABLE_INT //cho phep ngat
flag=0; //xoa co ngat }
aon=1;//dieu kien de luon so sanh time hen voi time hien tai if(aon)
check_alarm(); // kiem tra if(aoff) //bao chuong
ring_alarm();
Trang 13THE END !
NHẬN XÉT VÀ ĐÁNH GIÁ