1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn) thiết kế hệ thống hẹn giờ tắt mở thiết bị điện

50 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 1,98 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA VẬT LÝ  PHAN MINH GIÁC lu THIẾT KẾ HỆ THỐNG HẸN GIỜ TẮT MỞ an va n THIẾT BỊ ĐIỆN p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va Đà Nẵng, 2018 ac th si ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA VẬT LÝ  -F PHAN MINH GIÁC lu THIẾT KẾ HỆ THỐNG HẸN GIỜ TẮT MỞ an va n THIẾT BỊ ĐIỆN p ie gh tn to d oa nl w lu u nf va an Chuyên ngành: Vật lý học ll Khóa học: 2014 - 2018 oi m z at nh z Người hướng dẫn: Th.S Lê Xứng m co l gm @ an Lu n va Đà Nẵng, 2018 ac th si LỜI CẢM ƠN L ời em xin gửi lời cảm ơn chân thành đến nhà trường tạo điều kiện cho sinh viên chúng em có môi trường học tập tốt Cảm ơn thầy cô khoa Vật lý – Trường Đại học Sư phạm – Đại học Đà Nẵng truyền đạt kiến thức cho sinh viên chúng em lòng nhiệt huyết với học trị, với cơng việc suốt năm qua Em xin gửi lời cảm ơn sâu sắc đến thầy Lê Xứng – khoa Điện Tử Viễn Thông – Đại học Bách khoa Đà Nẵng trực tiếp hướng dẫn, định hướng chuyên môn, quan tâm giúp đỡ tận tình tạo điều kiện thuận lợi q trình em thực khóa luận tốt nghiệp lu Và hết, em xin bày tỏ lòng kính trọng biết ơn sâu sắc đến gia an va đình tạo điều kiện tốt để em hồn thành tốt cơng việc n q trình thực khóa luận Em xin chân thành cảm ơn quý thầy cô gh tn to khoa Vật lý tận tình giảng dạy, trang bị cho em kiến thức quý báu p ie năm học vừa qua Mặc dù em cố gắng để hoàn thành đề tài khóa luận nl w chắn khơng thể tránh khỏi thiếu sót Rất mong nhận đóng góp d oa ý kiến q thầy bạn an lu Em xin chân thành cảm ơn! ll u nf va Sinh viên thực m oi Phan Minh Giác z at nh z m co l gm @ an Lu n va ac th I si MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT iv DANH MỤC BẢNG BIỂU v DANH MỤC HÌNH VẼ vi MỞ ĐẦU .1 Lý chọn đề tài Mục tiêu nghiên cứu .1 Nhiệm vụ nghiên cứu lu an Đối tượng phạm vi nghiên cứu n va Phương pháp nghiên cứu tn to CHƯƠNG GIỚI THIỆU VỀ THIẾT BỊ ĐIỀU KHIỂN VÀ NHỮNG LINH KIỆN gh SỬ DỤNG TRONG THIẾT KẾ p ie 1.1 Giới thiệu thiết bị điều khiển w 1.2 Nguyên lý hoạt động oa nl 1.3 Khảo sát vi điều khiển 8051 (AT89C52) d 1.4 Cấu trúc phần cứng AT89C52 .7 an lu 1.4.1 Khối xử lý trung tâm CPU va 1.4.2 Khối điều khiển quản lý Bus ll u nf 1.4.3 Các đếm/ định thời .7 oi m 1.4.4 Giao tiếp nối tiếp .8 z at nh 1.4.5 Bộ nhớ chương trình 1.4.6 Bộ nhớ liệu z 1.5 Khảo sát chân chức chân AT89C52 @ gm 1.5.1 Port .10 l 1.5.2 Port .10 m co 1.5.3 Port .10 an Lu 1.5.4 Port .10 1.5.5 Chân cho phép nhớ chương trình .11 n va 1.5.6 Chân cho phép chốt địa ALE 11 ac th II si 1.5.7 Chân truy xuất .11 1.5.8 Chân RESET (RST) 11 1.5.9 Các chân XTAL1 XTAL2 12 1.6 Sơ lược linh kiện điện tử sử dụng thiết kế .12 1.6.1 Thạch anh 12MHz 12 1.6.2 Tụ gốm tụ hóa .12 1.6.3 Điện trở 13 1.6.4 LED đơn 14 1.6.5 LED đoạn 14 1.6.6 Relay 15 1.6.7 Bóng đèn điện 15 lu an CHƯƠNG THIẾT KẾ MẠCH ĐIỀU KHIỂN .17 n va 2.1 Sơ đồ khối toàn mạch 17 2.2.1 Khối điều khiển trung tâm .19 gh tn to 2.2 Chức khối 19 p ie 2.2.2 Khối hiển thị 19 2.2.3 Khối phím nhấn .20 nl w 2.2.4 Khối công suất 20 d oa 2.2.5 Khối nguồn 21 an lu 2.3 Cấu tạo mạch 22 va 2.3.1 Mạch điều khiển trung tâm .22 u nf 2.3.2 Mạch hiển thị 24 ll 2.3.3 Mạch phím nhấn .25 m oi 2.3.4 Mạch công suất .26 z at nh 2.4 Sơ đồ nguyên lý toàn mạch 28 z CHƯƠNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 29 gm @ 3.1 Thiết kế phần mềm .29 l 3.2 Lưu đồ thuật toán 31 m co 3.3 Code chương trình 32 KẾT LUẬN .40 an Lu TÀI LIỆU THAM KHẢO 41 n va Ý KIẾN CỦA NGƯỜI HƯỚNG DẪN ac th III si DANH MỤC KÝ HIỆU VÀ CỤM TỪ VIẾT TẮT CPU Central Processing Unit ALU Arithmetic Logical Unit PSW Program Status Word PC Program Counter ROM Read Only Memory RAM Random Acces Memory Program Store Enable OE Outbook Enable ALE Adress Latch Enable lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th IV si DANH MỤC BẢNG BIỂU Bảng 1.1 So sánh chip họ MCS-51 .5 Bảng 1.2 Các ghi chức đặc biệt .8 Bảng 2.1 Danh sách linh kiện khối công suất 26 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th V si DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ khối chip 8051 Hình 1.2 Sơ đồ chân 89C52 Hình 1.3 AT89C52 ghép với mạch TTL bên 12 Hình 1.4 Hình ảnh kí hiệu thạch anh 12 Hình 1.5 Hình ảnh kí hiệu tụ điện 13 Hình 1.6 Hình ảnh kí hiệu điện trở .13 Hình 1.7 Hình ảnh kí hiệu LED đơn .14 Hình 1.8 Hình ảnh LED đoạn Cathode chung 14 Hình 1.9 Hình ảnh kí hiệu Relay 15 lu an Hình 1.10 Bóng đèn LED bulb 16 n va Hình 2.1 Sơ đồ khối tồn mạch 17 tn to Hình 2.2 Mạch in thiết kế 18 gh Hình 2.3 Khối điều khiển trung tâm 19 p ie Hình 2.4 Khối điều khiển hiển thị 19 w Hình 2.5 Khối phím nhấn 20 oa nl Hình 2.6 Khối công suất 21 d Hình 2.7 Khối nguồn 21 an lu Hình 2.8 Sơ đồ nguyên lý mạch điều khiển trung tâm 22 va Hình 2.9 Sơ đồ nguyên lý mạch Reset .23 ll u nf Hình 2.10 Sơ đồ nguyên lý mạch tạo dao động .24 oi m Hình 2.11 Sơ đồ nguyên lý mạch hiển thị LED đoạn 25 z at nh Hình 2.12 Sơ đồ nguyên lý mạch phím nhấn 26 Hình 2.13 Sơ đồ ngun lý mạch cơng suất 27 z Hình 2.14 Sơ đồ nguyên lý toàn mạch .28 m co l gm @ an Lu n va ac th VI si MỞ ĐẦU Lý chọn đề tài Trong năm gần đây, với tiến khoa học kỹ thuật đặc biệt kỹ thuật điện tử, công nghệ điện tử ngày phát triển mạnh mẽ Trong có đóng góp lớn kỹ thuật vi điều khiển Các vi điều khiển ứng dụng rộng rãi thâm nhập ngày nhiều lĩnh vực kỹ thuật, đời sống xã hội đem lại nhiều tiện nghi cho người thời đại cơng nghiệp hóa, đại hóa Sau bốn năm học tập nghiên cứu trường Đại học Sư phạm – Đại học Đà lu Nẵng, sinh viên học chuyên ngành điện tử, em muốn khai thác an tìm hiểu ứng dụng vi điều khiển lĩnh vực điều khiển tự động hóa, va n đồng thời em muốn củng cố lại kiến thức học suốt thời gian qua tn to thông qua mơ hình thực tế Và quan em muốn trau dồi thêm gh kiến thức chun ngành để thuận lợi cho cơng việc sau p ie Xuất phát từ lý trên, em chọn đề tài: “THIẾT KẾ HỆ THỐNG HẸN w GIỜ TẮT MỞ THIẾT BỊ ĐIỆN” làm đề tài khóa luận tốt nghiệp oa nl Mục tiêu nghiên cứu d Thiết kế chế tạo mạch hẹn tắt mở thiết bị điện lu an Việc thực đề tài giúp em củng cố lại kiến thức học tiếp thu thêm u nf va nhiều kiến thức từ giảng viên hướng dẫn Đó khoảng thời gian em thực tế hóa kiến thức học mơ hình cụ thể hiểu rõ cách ll oi m viết chương trình cho vi điều khiển z at nh Do kiến thức hạn hẹp nên em nghiên cứu ứng dụng nhỏ Nếu có thời gian nhiều nghiên cứu sâu hơn, mơ hình ứng z dụng rộng rãi hầu hết lĩnh vực sống @ gm Nhiệm vụ nghiên cứu m co l Để đạt mục tiêu đề ra, cần thực yêu cầu sau: an Lu n va ac th si Nghiên cứu sở lý thuyết để thiết kế hệ thống điều khiển hẹn tắt - mở thiết bị điện hồn chỉnh - Tìm hiểu thêm ứng dụng khác vi điều khiển, LED,… để mạch đa dạng Đối tượng phạm vi nghiên cứu ❖ Đối tượng nghiên cứu Vi điều khiển AT89C52: dòng vi điều khiển tương đối mạnh với - nhiều tính năng, hoạt động ổn định mà giá thành lại tương đối rẻ thông dụng thị trường Do dễ dàng mở rộng thiết kế ứng dụng khác - Các tài liệu linh kiện điện tử - Các tài liệu hướng dẫn lập trình ngơn ngữ lập trình C lu ❖ Phạm vi nghiên cứu an n va Đề tài sử dụng vi điều khiển AT89C52 để lập trình, vi mạch đệm IC ULN2803, IC chốt liệu 74HC574, LED đoạn để hiển thị thời gian hẹn gh tn to Phương pháp nghiên cứu ❖ ie Phương pháp lý thuyết p - Nghiên cứu tài liệu nguyên lý hoạt động thiết bị linh kiện điện tử nl w - Đi sâu tìm hiểu nội dung khóa luận thơng qua sách báo, phương tiện thông d oa tin đại chúng tài liệu tham khảo liên quan an lu - Nghiên cứu cách trình bày khóa luận tốt nghiệp ❖ Phương pháp thực nghiệm va u nf - Nghiên cứu thiết kế, chế tạo hệ thống hẹn tắt mở thiết bị điện ll - Thực mạch logic viết chương trình C điều khiển hệ thống chương oi m trình mạch thiết kế z at nh z m co l gm @ an Lu n va ac th si 2.4 Sơ đồ nguyên lý toàn mạch lu an n va p ie gh tn to d oa nl w an lu ll u nf va Hình 2.14 Sơ đồ ngun lý tồn mạch oi m z at nh z m co l gm @ an Lu n va ac th 28 si CHƯƠNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 3.1 Thiết kế phần mềm Mỗi phần cứng định phải có chương trình phù hợp kèm theo, trước viết chương trình địi hỏi người viết phải nắm bắt cấu tạo phần cứng yêu cầu mà mạch cần thực Chương trình tập hợp lệnh tổ chức theo trình tự hợp lí để giải yêu cầu người lập trình Chương trình cho Vi Điều Khiển 8051 viết Assembly, C++, Basic,… Tuy nhiên ngơn ngữ lập trình C đa số người dùng vi điều khiển sử dụng để lập trình C ngơn ngữ lập trình bậc cao phát triển ban đầu Dennis M.Ritchie lu để phát triển hệ thống lập trình UNIX Bell Labs C phát triển ban đầu an C tạo với mục tiêu làm cho thuận tiện để viết chương n va máy tính DEC PDP-11 năm 1972 to tn trình lớn với số lỗi mẫu hình lập trình thủ tục mà lại không đặt gánh nặng ie gh lên vai người viết trình dịch C, người bề bộn với đặc tả phức tạp p ngơn ngữ Cuối C có thêm chức sau: Một ngôn ngữ cốt lõi đơn giản, với chức quan trọng chẳng hạn nl w • Tập trung mẫu hình lập trình thủ tục, với phương tiện lập trình theo d • oa hàm hay việc xử lý tập tin cung cấp thư viện thủ tục va an Một hệ thống kiểu đơn giản nhằm loại bỏ nhiều phép tốn khơng có ý nghĩa m Dùng ngôn ngữ tiền xử lý, tức câu lệnh tiền xử lý C, cho nhiệm oi • ll thực dụng u nf • lu kiểu cấu trúc z at nh vụ định nghĩa macro hàm chứa nhiều tập tin mã nguồn (bằng cách dùng câu lệnh tiền xử lý dạng #include chẳng hạn) z Mức thấp ngôn ngữ cho phép dùng tới nhớ máy tính qua việc sử @ • l gm dụng kiểu liệu pointer Số lượng từ khóa nhỏ gọn • Các tham số đưa vào hàm giá trị, không địa • Hàm trỏ cho phép hình thành tảng ban đầu cho tính m co • an Lu đóng tính đa hình n va ac th 29 si Hỗ trợ ghi hay kiểu liệu kết hợp người dùng từ khóa định • nghĩa struct cho phép liệu liên hệ tập hợp lại điều chỉnh toàn Một số chức khác mà C khơng có (hay cịn thiếu) tìm thấy ngơn ngữ khác bao gồm: lu an • An tồn kiểu • Tự động thu dọn rác • Các lớp hay đối tượng với ứng xử chúng (xem thêm OOP) • Các hàm lồng • Lập trình tiêu hay lập trình phổ dụng • Q tải q tải tốn tử • Các hỗ trợ cho đa luồng, đa nhiệm mạng n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th 30 si Lưu đồ thuật toán 3.2 Start Khởi động timer Thiết lập thời gian hiển thị ban đầu 120s Ngắt mạch cơng suất Tăng vị trí hiển thị lên Hiển thị giá trị lên Led Quét phím: P1.5 → phím P1.6 → phím P1.7 → phím Y N Chuyển Led hiển thị thời gian lu an n va Mạch cơng suất đóng phím nhấn N Chọn Led thời gian? Giảm thời gian 1s p ie gh tn to Ngắt mạch công suất Cài đặt thời gian 120s lại Y N Chuyển chọn Led giờ, phút, giây Nhấp nháy Led d Nhấn phím N Y oa Y nl w Y Thời gian = 0? u nf va an lu Chọn Led ? N m Y oi @ N gm Giảm lên (nếu chọn giờ) Giảm phút lên (nếu chọn phút) Giảm giây lên (nếu chọn giây) l Y Nhấp nháy Led giây m co Nhấn phím Đóng mạch cơng suất z N N Chọn Led phút? Nhấp nháy Led phút z at nh Nhấn phím Tăng lên (nếu chọn giờ) Tăng phút lên (nếu chọn phút) Tăng giây lên (nếu chọn giây) ll Y Y N an Lu n va ac th 31 si Code chương trình 3.3 #include #define time_quetled #define time_sang 500 #define time_tat 100 #define lan_kiem_phim 80 #define bit_set(a,b) ((a)|=(1356400) second=0;} Counter_led++; if(Counter_led>=time_quetled) {chuyenled=1;Counter_led=0;} counter_xoa_lanset++; if(counter_xoa_lanset>=1000) {counter_xoa_lanset=0; lanset=0;} counter_nhapnhay++; lu an if(counter_nhapnhaytime_sang+time_tat) counter_nhapnhay=0; gh tn to } p ie #include oa nl w void main(void) d { lu TMOD = 0x01; ll u nf va an P0=0x00;P1=0xFF;P2=0x01;P3=0x00; oi z at nh TL0 = 0x7D; m TH0 = 0xF9; z TR0 = 1; gm @ IE=0x82; m co l mode=1; an Lu hienthi=0; n va chuyenled=0; ac th 33 si so_phim=0; lanset=0; tong_second=120; tong_second_old=120; tinhthoigian(); tachso(gio,phut,giay); P2_0=0; hoanthanh=0; lu an while (1) va n { p ie gh tn to if (chuyenled==1) { w oa nl vitrimang=vitrimang+1; if (vitrimang>=7) vitrimang=1; d xuatled7(vitrimang,maso[mangso[vitrimang]]); ll quetphim(); u nf va an lu chuyenled=0; oi m if (mode==0) z at nh { z gm @ if (hienthi==1) m co l { tong_second=tong_second-1; an Lu if(tong_second==0) n va ac th 34 si {hoanthanh=1; mangso[6]=10;mangso[5]=10; mangso[4]=10;mangso[3]=10; mangso[2]=10;mangso[1]=10; tong_second++; } else { tinhthoigian(); tachso(gio,phut,giay); P2_0=0; lu an } n va } w } p ie gh tn to hienthi=0; {if(ledsang==0) oa nl if(mode==1) else // tao nhap nhay led gio d tachso(gio,phut,giay);} {mangso[5]=11;mangso[6]=11;} an lu if(mode==2) {if(ledsang==0) {if(ledsang==0) else z at nh tachso(gio,phut,giay); {mangso[2]=11;mangso[1]=11;} oi m if(mode==3) else // tao nhap nhay led phut ll u nf va tachso(gio,phut,giay);} {mangso[4]=11;mangso[3]=11;} tong_second_old=tong_second; z @ } // tao nhap nhay led giay l gm } m co if((hoanthanh)&&(so_phim==1)){hoanthanh=0;tong_second=tong_second an Lu _old; lanset=0; so_phim=0; counter_xoa_lanset=0;} n va ac th 35 si if(so_phim==1) { mode=mode+1; if(mode>3)mode=0; lanset=0; so_phim=0; counter_xoa_lanset=0;} if(so_phim==2) { if (mode==1) { if (gio0) giay=giay-1;} ll m oi tachso(gio,phut,giay); z at nh tinh_tong_second(); z so_phim=0; gm @ counter_xoa_lanset=0; lanset=0; m co l counter_nhapnhay=0; an Lu } n va } ac th 36 si } void tinh_tong_second() { tong_second=gio; tong_second=tong_second*60; tong_second=tong_second+phut; tong_second=tong_second*60; tong_second=tong_second+giay; } void tinhthoigian() { lu an long tg1; va tg1=tong_second; n gh tn to gio=tg1/3600; p ie phut=(tg1%3600)/60; oa nl } w giay=(tg1%3600)%60; d void quetphim() an ((P1_6)==0) {lanset=lanset+1;counter_xoa_lanset=0; u nf va if lu { if(lanset>lan_kiem_phim) { so_phim=2;lanset=0;}} else ll ((P1_7)==0) {lanset=lanset+1;counter_xoa_lanset=0; oi m if if ((P1_5)==0) z at nh if(lanset>lan_kiem_phim) { so_phim=3;lanset=0;}} else {lanset=lanset+1;counter_xoa_lanset=0; z if(lanset>lan_kiem_phim) { soph=1;lanset=0;}} else {so_phim=soph; @ gm lanset=0;soph=0;} l } m co void delay(unsigned int time) an Lu {int i; for (i=1;i

Ngày đăng: 17/07/2023, 09:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w