thiết kế đồng hồ thời gian hiển thị lcd

21 1K 2
thiết kế đồng hồ thời gian hiển thị lcd

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA : ĐIỆN TỬ ĐỒ ÁN MÔN HỌC ĐỀ TÀI: THIẾT KẾ ĐỒNG HỒ THỜI GIAN HIỂN THỊ LCD . File đính kèm 005.rar GVHD: Nguyễn Anh Dũng SVTH: Nguyễn Xuân Tư Lê Thị Nhung Đồ án môn VĐK Lớp ĐT2-K9 1 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử MỤC LỤC Phần 1: Giới thiệu về vi điều khiển AT89S52…………………………………… 4 Phần 2: Thiết kế mạch…………………………………………………………… 6 I.Thiết kế phần cứng……………………………………………………………… 6 II.Thiết kế phần mềm……………………………………………………………….8 Code của chương trình………………………………………………………… 9 Phần 3: Ứng dụng của mạch…………………………………………………… 21 Đồ án môn VĐK Lớp ĐT2-K9 2 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử LỜI NÓI ĐẦU Kỹ thuật vi điều khiển hiện nay rất phát triển, nó được ứng dụng vào rất nhiều lĩnh vực sản xuất công nghiệp, tự động hóa, trong đời sống và còn nhiều lĩnh vực khác nữa. So với kỹ thuật số thì kỹ thuật vi điểu khiển nhỏ gọn hơn rất nhiều do nó được tích hợp lại và có khả năng lập trình được để điều khiển. Nên rất tiện dụng và cơ động. Với tính ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, em chỉ dùng vdk thiết kế đông hồ thời gian hiển thị lên LCD. Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm những ứng dụng của vdk trong thực tiễn để rồi từ đó tìm tòi, phát triển nhiều ứng dụng khác trong đời sống hằng ngày cần đến. Việc thực hiện xong đồ án môn học bằng các kiến thức đã học, một số sách tham khảo và một số nguồn tài liệu khác nên không tránh khỏi những thiếu sót. Vì vậy nhóm rất mong được sự góp ý của thầy cô và các bạn. Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực hiện: Nguyễn Xuân Tư Lê Thị Nhung Đồ án môn VĐK Lớp ĐT2-K9 3 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử Phần 1: Giới thiệu về vi điều khiển AT89S52 AT89S52 là chíp được sản xuất bởi hãng Atmel kiểu DIP 40 chân. Sau đây là sơ đồ chân của chíp: AT89S52 gồm 4 port ,từ chân 32 đến chân 39 là port 0, từ chân 1 đến chân 8 là port 1, từ chân 21 đến chân 28 là port 2, và từ chân 10 đến chân 17 là port 3. Ngoài ra chíp còn 1 số chân khác như: PSEN,ALE,EA,RST,XTAL1,XTAL2,Vcc,GND. AT89S52 có 8 kbyte Flash ROM trên chip, khi chân EA được đặt ở mức logic cao vi điều khiển sẽ thực hiện chương trình trong bộ nhớ này bắt đầu từ địa chỉ 0000H. Khi EA được đặt ở mức logic thấp bộ vi điều khiển sẽ thực hiện chương trình ở bộ nhớ ngoài EPROM. AT89S52 có 256 byte RAM nội và được chia làm 4 bank. Đồ án môn VĐK Lớp ĐT2-K9 4 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử Sau đây là sơ đồ cấu trúc bên trong của vi điều khiển 8051(8052): Các hoạt động của AT89S52: *Hoạt động định thời/đếm: AT89S52 có 3 bộ định thời/đếm là timer0,timer1,timer2. Các thanh ghi của timer0 và timer1 gồm có: Thanh ghi chế độ định thời TMOD dùng để đặt chế độ làm việc cho timer0 và timer1. Thanh ghi điều khiển timer TCON chứa các bit trạng thái và bit điều khiển cho timer0 và timer1. Thanh ghi chứa giá trị cửa các bộ định thời. Riêng timer2 thì có thanh ghi riêng là T2CON và T2MOD. Timer2 ít dùng nên ở đây chỉ giới thiệu qua. *Hoạt động port nối tiếp : AT89S52 có 1 cổng nối tiếp trên chip có thể hoạt động ở nhiều chế độ khác nhauvoiws các tốc độ khác nhau. Chức năng chính của cổng nối tiếp là thực hiện chuyển đổi song song sang nối tiếp dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhận để có thể giao tiếp với máy tính. Các thanh ghi của cổng nối tiếp là SBUF và SCON là 2 thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến cổng nối tiếp Đồ án môn VĐK Lớp ĐT2-K9 5 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử *Hoạt động của ngắt : Trong thực tế người ta muốn tận dụng khả năng của CPU để làm thêm nhiều công việc khác nữa, chỉ khi nào có cần trao đổi dữ liệu mới cần yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dữ liệu. Vì vậy 1 hệ thống sử dụng ngắt có thể đáp ứng nhanh các yêu cầu trao đổi dữ liệu trong khi vẫn có thể làm được các công việc khác. Tổ chức ngắt ở AT89S52 bao gồm: - Ngắt ngoài đến từ chân INT0. - Ngắt ngoài đến từ chân INT1. - Ngắt do bộ timer0. - Ngắt do bộ timer1. - Ngắt do bộ timer2. - Ngắt do port nối tiếp. Sáu nguồn ngắt này được xóa khi reset và được đặt riêng bằng phần meemfboiwr các bit trong thanh ghi cho phép ngắt IE và thanh ghi ưu tiên ngắt IP. Phần 2: Thiết kế mạch I.Thiết kế phần cứng: Sơ đồ nguyên lý: Đồ án môn VĐK Lớp ĐT2-K9 6 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử Trong mạch sử dụng 1 chip AT89S52, 1 màn hình LCD, 4 nút nhấn tự phục hồi, 6 điện trở, 2 diod, 1 pin dự phòng, 6 điện trở, 3 tụ điện, và 1 thạch anh 12MHz. Các nút nấn SW1,SW2,SW3 được nối vào các chân 10, 11,12 của chíp để điều chỉnh tăng giảm. Sau đây là sơ đồ mạch in của mạch: Đồ án môn VĐK Lớp ĐT2-K9 7 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử II.Thiết kế phần mềm: Lưu đồ thuật toán: không có có có có không có không Đồ án môn VĐK Lớp ĐT2-K9 8 Chương trình chính Phím tăng có nhấn? Phím giảm có nhấn? Giảm thông số đi một đi vị Gọi chương trình hiển thị Tăng thông số lên một đơn vị Phím mode có nhấn không? Nhấn lần thứ nhất Chỉnh ngày/tháng/ năm Nhấn lần thứ hai Chỉnh giờ phút Nhấn lần thứ ba Chỉnh thứ Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử Code của chương trình: #include <reg52.h> #include <intrins.h> #include<stdio.h> #include<string.h> typedef unsigned char bit_8; sbit rs=P3^5; // register select is port 3.5 sbit rw=P3^4; // read/write is port 3.4 sbit en=P3^3; // chan EN cua LCD noi voi P3^3 sbit d7=P1^7; // co ban P0^7 sbit nutchinh=P3^2; // khai bao nut chinh gio sbit nutchinhtang=P3^1; // khai bao nut chon tang sbit nutchinhgiam=P3^0; bit_8 code *days[]={"Cnhat","T.hai","T.ba ","T.tu ","T.nam","T.sau","T.bay"}; // day mang ngay bit_8 code *val[]={"0","1","2","3","4","5","6","7","8","9","10","11","12"}; // day mang so bit flag; int t; bit_8 month=12,date=13,hh,lmin,hmin,hsec,lsec,day=0,lyear=9,hyear=0,date_count; //khai bao cac bien void ini(void); void command(bit_8); void data_in(bit_8*); void busy(void); void tre1s(void); void month_select(bit_8); void date_in(bit_8); void set_clock(); void delay(void); #define DISABLE_INT IE=0x0; //cam toan bo #define ENABLE_INT IE=0x81;//chon ngat ngoaitimer 0 void main() { bit_8 temp; ENABLE_INT ini(); command(0x01); data_in("DO MON VDK"); for(t=0;t<=4;t++) {delay();} command(0xc0); data_in("NHOM SVTH:"); for(t=0;t<=4;t++) {delay();} command(0x01); data_in("NGUYEN XUAN TU"); for(t=0;t<=4;t++) Đồ án môn VĐK Lớp ĐT2-K9 9 Trường Đại Học Công Nghiệp Hà Nội Khoa Điện tử {delay(); } command(0xc0); data_in("LE THI NHUNG"); for(t=0;t<=4;t++) {delay(); } command(0x01); nutchinh=1; //doc trang thai nut nhan nutchinhtang=1; nutchinhgiam=1; month_select(month); while(1) { month_select(month); // chon ngay ,thang while(date<=date_count) { command(0x88); date_in(date); command(0x8a); data_in("/"); if(month<=9) data_in(val[0]); data_in(val[month]); command(0x8d); data_in("/"); data_in(val[hyear]); data_in(val[lyear]); for(hh=1;hh<=24;hh++) { command(0x80); data_in(days[day]); command(0xc3); if(hh<=12) { if(hh<=9) data_in(val[0]); data_in(val[hh]); } else { temp=hh-12; if(temp<=9) data_in(val[0]); data_in(val[temp]); } if(hh<12) { command(0xcc); data_in("am"); } else { Đồ án môn VĐK Lớp ĐT2-K9 10 [...]... dụng của mạch Mạch được ứng dụng nhiều trong thực tế vì mạch đơn giản dễ làm Song bên cạnh đó còn có nhiều nhược điểm như code viết dài độ chính xác không cao so với dùng bộ thời gian thực real time Hướng phát triển của đề tài: kết hợp vối bộ cảm biến nhiệt độ và cảm biến độ ẩm để tạo ra LỊCH VẠN NIÊN Đồ án môn VĐK 21 Lớp ĐT2-K9 . NỘI KHOA : ĐIỆN TỬ ĐỒ ÁN MÔN HỌC ĐỀ TÀI: THIẾT KẾ ĐỒNG HỒ THỜI GIAN HIỂN THỊ LCD . File đính kèm 005.rar GVHD: Nguyễn Anh Dũng SVTH: Nguyễn Xuân Tư Lê Thị Nhung Đồ án môn VĐK Lớp ĐT2-K9 1 Trường. ưu việt của vi điều khiển thì trong phạm vi đồ án nhỏ này, em chỉ dùng vdk thiết kế đông hồ thời gian hiển thị lên LCD. Mục đích của đề tài hướng đến: tạo ra bước đầu cho sinh viên thử nghiệm. LỤC Phần 1: Giới thiệu về vi điều khiển AT89S52…………………………………… 4 Phần 2: Thiết kế mạch…………………………………………………………… 6 I .Thiết kế phần cứng……………………………………………………………… 6 II .Thiết kế phần mềm……………………………………………………………….8

Ngày đăng: 15/04/2014, 11:58

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan