Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
2,64 MB
Nội dung
Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính LỜI NÓI ĐẦU Ngày máy tính ứng dụng nhiều việc điều khiển thiết bị máy móc khí ngày có nhiều máy móc thông nhờ có óc vi tính Nắm tầm quan trọng em chon đề tài giao tiếp vi điều khiển 8051 với máy tính PC để điều khiển đống mở cửa tự động Vận dụng kiến thực học trường, với tìm tòi nghiên cứu em hoàn thành tốt đồ án Tuy nhiên, pham vi đồ án mục tiêu mô hình hóa nên tính thực tế chưa cao, nhiều điểm chưa tối ưu cần cải thiện nâng cấp thêm Em kính mong nhận đóng góp dẫn thây cô giáo bạn để mong đồ án em hoàn thành Em xin chân thành cảm ơn! Đà Nẵng, ngày 19 tháng năm 2015 Sinh viên thực Phạm Đình Xuân SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Chương 1: GIỚI THIỆU ĐỀ TÀI Cửa tự động ngày ứng dụng nhiều tòa nhà đại, cửa hàng, nhà thông minh…Với đồ àn vi điều khiển em ứng dụng vi điều khiển 8051 học vào điểu khiển cửa tự động vào nhanh chậm cách cửa, kết hợp với kiểm soát từ máy tính SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Chương 2: THIẾT KẾ MẠCH 1.1 Sơ đồ khối Hình 1.1: Sơ đồ hệ thống - Chức khối a) Mạch nguồn: Cung cấp biến dòng điện xoay chiều thành chiều cung cấp 12v cho động 5v cho vi điều khiển, cảm biến quang, LCD, Max232 b) Mạch vi điều khiển: Là mạch điều khiển trung tâm lập trình điểu khiển động cơ, giao tiếp máy tính, nhận tín hiệu từ cảm biến công tắc hành trình, truyện liệu hiển thị lên LCD c) Mạch Max232: Là cầu chuyển đổi chuẩn UART (trên 8051), mức tương ứng điện áp cao (5V, TTL) RS232 mức tương ứng với điện áp thấp (điện áp âm, -12V) Cần chuyển đổi tín hiệu hai chuẩn d) Máy tính PC: Tạo giao diện giao tiếp với vi điều khiển nhận tín hiệu có người đợi cửa, thông báo loa để trực tiếp đóng mở cửa giao diện máy tính, chọn chế độ tự động hay tay cho cửa Ngôn ngữ để viết cho giao diện C# SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Cảm biến quang: Phát có người trước cửa, có sẻ đưa tín hiệu mức âm cho vi điều khiển biết f) Công tắc hành trình: Báo cửa đóng, công tắc đóng sẻ đưa mức âm cho vi điều khiển biết g) Mạch công suất: Mạch điều khiển động 12v, nhận tín hiệu PWM đảo chiều từ vi điều khiển h) Động DC 12v có chức đóng mở cửa vào i) LCD 16x2: Chức hiển thi liệu từ vi điều khiển, hiển thị thông tin cho người đứng trước cửa biết Tính toán thiết kế mạch - Mạch nguyên lý: e) 1.2 Hình 2.1: Mạch - Mạch LCD: SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Hình 2.2: Mạch LCD Biến trở 10k để điều chỉnh độ tương phản cho LCD Các Header để việc kết nối với mạch thông qua bus dễ dàng - Mạch Max232: Hình 2.3: Mạch Max232 Mạch kết nối cổng COM máy tính PC với chân RXD TXD vi điều khiển * Giải thích hoạt động tính toán mạch: SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV a) Cửa tự động, điều khiển máy tính Nguyên lý chung mạch : Mạch có chức giao tiếp với máy tính ( giao tiếp nối tiếp qua cổng com ic Max232 ) để điều khiển cách cửa trược tiếp máy tính Mạch nhận tính hiệu từ cảm biến ( lúc có người ) đưa vào vi điêu khiển hay lên máy tính Mạch hiển thị thông tin cho người vào cổng biết lên LCD Mạch điều khiển động mở đóng cửa có yêu cầu b) Giãi thích khối mạch : - Mạch nguồn: Hình 2.4: Mạch nguồn Chức linh kiện mạch : 1) Cầu điot : Hình 2.5: Cầu diode + Chức : chỉnh lưu dòng xoay chiều đầu vào (2,3 ) thành dòng chiều đầu (1,4 ) cầu chỉnh lưu toàn sóng + Điều kiện làm việc : cung cấp nguồn điên xoay chiều có giá trị thích hợp vào chân nối tải vào nối mass SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính + Nguyên lý làm viêc : cấp điên áp xoay chiều vào chân 2,3 (giả sử dương âm ) dòng điện từ qua diot phân cực thuận qua tải qua d đến lại âm nguồn dòng điên đảo chiều dòng từ ->1 ->4 ->2 dòng xoay chiêu chỉnh lưu thành chiều + Đo kiểm tra cầu điôt : kiểm tra chân trước lắp vào mạch Dùng đông hồ số để kiểm tra : chỉnh thang đo trở đặt que đỏ vào que vào thấy đồng nhảy giá trị 0.và đảo ngược lại nhảy giá trị lơn đo ta thấy điot tốt sau lắp vào mạch : Khi mắc vào mạch ta tiến hành găm nguồn kiểm tra : Đùng đồng hồ đo điên áp ngỏ vào : chỉnh thang đo thang đo áp xoay chiều đặt que vào chân điên áp ngỏ vào ta đọc giá trị 9,22 v Sau chỉnh qua thang đo chiều để đo điên áp ngỏ : đặt que đỏ vào que đen vào mass Ta đo giá trị 10,96v Nhận xét : theo tính toán đặt điên áp đầu vào 9,22 qua cầu điot sụp áp 1.4V Tuy nhiên t mắc thêm tụ C4 để lọc đầu vào cho IC 7805 nên điên áp đo kéo lên lần Vậy điên áp theo tính toán : (9,22 -1,4 ) = 11,059 V Ta đo 10,96 nên sai số : (11,059-10,96) / 11,059 *100 = 1% Sai số rât nhỏ phần mạch hoạt động tốt : 2) Các tụ : C4 ,C36 ,C35 : +Chức : tụ C4 lọc nguồn đầu vào cho 7805 Tụ tụ hóa có điên dung đủ lớn để lọc phẳng điên áp đầu ,và điên áp chịu đựng lớn 12V Chọn tụ loại 2200uF điên áp chịu 50V Tụ C36 : tụ hóa dùng để lọc nguồn đầu cho 7805 Tụ C35 : tụ gốm để lọc sóng có tần số cao ,dễ gây nhiểu đầu ) IC ổn áp LM7805 : SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Hình 2.6: LM7805 + Hình dang : Hình 2.7: Hình dạng LM7805 + Điều kiện làm việc : Cấp nguồn đầu vào cho chân điện áp từ 8v – 40v chân nối mass vào chân đầu nối với tải + Nguyên lý làm việc : Ic ổn áp thiết kế để ta cho điên áp từ 840v cho đầu 5v ổn đinh 4) Trở led : Hình 2.8: Led báo nguồn SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Chức : báo hiệu có điện áp đặt đầu : + Điều kiện hoạt động : cấp nguồn vào Vcc nối mass cho mạch + Nguyên lý làm viêc : Trở để phân áp đặt lên led báo Khi có nguồn 5v có dòng đổ qua led sang - Mạch công suất điều khiển động cơ: Hình 2.9: Mạch công suất điều khiển động cớ DC Chức linh kiện mạch: 1) Điện trở R64, R63: +Chức năng: Là điện trở kéo có chức tín mức cao từ vi điều khiển nhỏ 5v sẻ gây nhiễu nên mắc thêm trở để keo lên mức cao +Giá trị: 1k-10k giá trị hay sử dụng 2) Điện trở R58, R57: +Chức năng: Là điện trở hạn dòng có chức hạn dòng cho led +Điều kiện làm việc: Mắc nối tiếp với lịnh kiện cần hàn dòng + Giá trị tính toán: R====320 +Chọn điện trở khoảng 330ohm 3) Opto: + Chức năng: Cách ly quang mạch công suất 12v với mạch vi điều khiển 5v + Ký hiệu: SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Hình 2.10: Ký hiệu Opto + Điều kiện làm việc: Hình 2.11: Cách nối Opto hoạt động 4) Điện trở R50, R51: +Chức năng: Là điện trở hạn dòng cung cấp tín hiệu cho transistor D468 mosfet IRF540 +Điều kiện làm việc: Mắc nối tiếp với vị trí mạch điện cần hạn dòng 5) Điện trở kéo R59, R62: Chức năng: Kéo chân điều khiển BJT D468 Mosfet IRF540 xuống mức âm đưa chúng vào vùng ngưng dẫn Điều kiện làm việc: Được đầu với cực âm, đầu lại mắc với chân cần kéo xuống mức âm tín hiệu Giá trị: Thường khoảng 1k-10k 6) BJT D468 - Điều kiện làm việc: Làm việc chế độ bảo hòa, có tải role 12v2v, Vcc=12v2v, GND=0v0.05v +Cung cấp điều kiện: Hình 2.12: Cách nối kích role bjt D468 Nguồn 12v gắn với role BJT 7) Role: +Chức đảo chiều động nhờ tiếp điểm +Điều kiện làm việc: SVTH: Phạm Đình Xuân Trang 10 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính SETB TR1 ; -viet chu an len dong dau tien lcd -CALL SET_LCD MOV A,#80H CALL LENH_LCD MOV DPTR,#DA CALL CHUOI_LCD ; cac bien de chon che -MOV R5,#11H ;bang tay MOV R4,#33H ;DANG DONG CUA MOV R6,#0H ;GIA TRI PWM ; vong lap vo tan here -HERE: ; thiet lap timer0 de co chu ky pwm 20ms MOV TL0,#0FEH ;can 18433 xung voi chu ky may 1.085us MOV TH0,#0B7H SETB TR0 ; -tao xung muc am voi rong nho dan dk dong co-MOV A,#200 SUBB A,R6 DL1: MOV R7,#45 DL2: DJNZ R7,DL2 DJNZ A,DL1 SETB P3.7 ; - AGAIN: SVTH: Phạm Đình Xuân Trang 21 Đồ án Vi điều khiển & GNNV JNB TF0,AGAIN CLR TR0 CLR TF0 CLR P3.7 Cửa tự động, điều khiển máy tính ;doi ket thuc chu ky 20ms CJNE R6,#150,NHAYKR6 LJMP LAMV NHAYKR6: INC R6 INC R6 ;tang r6 de giam rong xung am ; LAMV: MOV IE,#0 CJNE R5,#11H,TUDONG CJNE R4,#33H,THOAT_N dang mo cua khoi thong bao) JB P3.2,HT_DA ;nhay tu dong neu khac 11h ;nhay den THOAT_N neu khac(tuc bang 44 ;xem có nguoi không,ko có thoát ; -MOV R0,#1H ;BIEN SO SANH HIEN THI CHU XUAN ; -truyen len may tinh bao co nguoi -MOV A,#0 CALL TRANS ; -hien chu xin vui long doi len lcd MOV A,#0C0H CALL LENH_LCD MOV DPTR,#P_WAIT CALL CHUOI_LCD SVTH: Phạm Đình Xuân Trang 22 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính ; -JNB ĐÓNG LẠI P1.0,THOAT_N ;nêu đóng cua roi thi thoat,KO PHẢI thi MƠ RA RỒI ; che lam viec tu dong TUDONG: JB P3.2,THOAT_N ;xem có nguoi không,ko có thoát ; -bao cho may tinh biet cua dang duoc mo -MOV A,#1 CALL TRANS ; mo cua -CLR P3.7 CLR P3.6 ; -hien chu xin chao len lcd -MOV A,#0C0H CALL LENH_LCD MOV DPTR,#WELCOME CALL CHUOI_LCD ; -delay mot khoang thoi gian de dong lai MOV R1,#0FFH LAP1: MOV R2,#0FFH LAP2: MOV R3,#14H LAP3: DJNZ R3,LAP3 DJNZ R2,LAP2 DJNZ R1,LAP1 ; -hien chu pham dinh xuan len lcd MOV A,#0C0H SVTH: Phạm Đình Xuân Trang 23 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính CALL LENH_LCD MOV DPTR,#XUAN CALL CHUOI_LCD SETB P3.6 ;DONG CUA ; -bao len may tinh da dong cua -MOV A,#2 CALL TRANS ; -MOV R6,#0H ;THIET LAP LAI TOC DO NHANH SJMP THOAT_N HT_DA: CJNE R0,#1H,THOAT_N ;nhay THOAT_N neu khac ; -r0 de viet chu pham dinh xuan len lcd lan-MOV A,#0C0H CALL LENH_LCD MOV DPTR,#XUAN CALL CHUOI_LCD MOV R0,#2H THOAT_N: MOV IE,#10010000B LJMP HERE ; truyen data len pc -TRANS: MOV SBUF,A HeT: JNB TI,HeT CLR TI SVTH: Phạm Đình Xuân ;DOI CHO CO TI DUOC BAT LEN Trang 24 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính RET ;**********HAM CON LDC************** ; -HAM CAI DAT LCD SET_LCD: MOV A,#03H ;DUA CON TRO VE VI TRI DAU DONG CALL LENH_LCD MOV A,#38H ;HAI DONG VA MA TRAN 5X7 CALL LENH_LCD MOV A,#0CH ;BAT HIEN THI, TAT CON TRO CALL LENH_LCD MOV A,#06H ;DICH CON TRO SANG PHAI CALL LENH_LCD RET ; HAM CON GHI LENH LCD LENH_LCD: CLR RS CLR RW ;CHON THANG GHI LENH CUA LCD MOV DATALCD,A SETB E CALL DELAY_LCD CLR E RET ; HAM XOA LCD -XOA_LCD: MOV A,#01H CALL LENH_LCD SVTH: Phạm Đình Xuân Trang 25 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính RET ; HAM GHI KY TU LEN LCD -KYTU_LCD: SETB RS CLR RW MOV DATALCD,A SETB E CALL DELAY_LCD CLR E RET ; -DELAY CHO LCD DELAY_LCD: MOV R3,#255 D_LCD1: NOP NOP NOP NOP DJNZ R3,D_LCD1 RET ; CHUOI LCD -CHUOI_LCD: CLR A MOVC A,@A+DPTR JZ EX_CHUOI CALL KYTU_LCD SVTH: Phạm Đình Xuân Trang 26 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính CALL DELAY_LCD INC DPTR SJMP CHUOI_LCD EX_CHUOI: RET ; -NHAN DATA SERIAL: JB TI,T_SERI ;NHAY NEU NGAT LA DO TRUYEN MOV A,SBUF CJNE A,#'K',XEMX MOV R5,#11H ;chon co dk bang tay LJMP T_SERI XEMX:CJNE A,#'X',XEMZ MOV R5,#22H ;tu dong LJMP T_SERI XEMZ: CJNE A,#'Z',XEMW CLR P3.6 CLR P3.7 MOV A,#0C0H CALL LENH_LCD MOV DPTR,#WELCOME CALL CHUOI_LCD MOV R4,#44H ;DANG MO CUA MOV R6,#0H LJMP T_SERI XEMW: CJNE A,#'W',T_SERI MOV A,#0C0H SVTH: Phạm Đình Xuân Trang 27 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính CALL LENH_LCD MOV DPTR,#XUAN CALL CHUOI_LCD SETB P3.6 MOV R4,#33H ;DANG DONG CUA MOV R6,#0H T_SERI: CLR CLR TI RI RETI ; PHAM DINH XUAN CHUOI HIEN THI DA: DB 'DA VI_DIEU_KHIEN',0 WELCOME: DB ' WELCOME ',0 P_WAIT: DB ' PLEASE WAIT ',0 DB ' PHAM DINH XUAN ',0 XUAN: ;************************************** END 3.3 Giao diện điều khiển máy tính SVTH: Phạm Đình Xuân Trang 28 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Chương trình ngôn ngữ C# cho máy tính: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using AForge.Video; using AForge.Video.DirectShow; SVTH: Phạm Đình Xuân Trang 29 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính using System.IO.Ports; using WMPLib; namespace CameraDetector { public partial class MyForm : Form { FilterInfoCollection videoDevices; VideoCaptureDevice videoSource; public MyForm() { InitializeComponent(); } private void MyForm_Load(object sender, EventArgs e) { //danh sach cong com string[] ComList = SerialPort.GetPortNames(); int[] ComNumberList = new int[ComList.Length]; for (int i = 0; i < ComList.Length; i++) { ComNumberList[i] = int.Parse(ComList[i].Substring(3)); } //sap xep cong com Array.Sort(ComNumberList); foreach (int ComNumber in ComNumberList) { cbxComList.Items.Add("COM" + ComNumber.ToString()); } // cua camera // get the collection of video input devices videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); // list these devices in the combobox foreach (FilterInfo device in videoDevices) { comboBoxDevices.Items.Add(device.Name); } videoSource = new VideoCaptureDevice(); comboBoxDevices.SelectedIndex = 0; // default selected item will be the first device } private void buttonStart_Click(object sender, EventArgs e) { if (videoSource.IsRunning) SVTH: Phạm Đình Xuân Trang 30 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính { videoSource.Stop(); pictureBoxOutput.Image = null; pictureBoxOutput.Invalidate(); } else { videoSource = new VideoCaptureDevice(videoDevices[comboBoxDevices.SelectedIndex].MonikerString); videoSource.NewFrame += videoSource_NewFrame; videoSource.Start(); } } void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) { pictureBoxOutput.Image = (Bitmap)eventArgs.Frame.Clone(); } private void MyForm_FormClosing(object sender, FormClosingEventArgs e) { //neu video mo thi ta if (videoSource.IsRunning) { videoSource.Stop(); } //neu cong com ket noi thi ngat ket noi if (serialPort.IsOpen) { serialPort.Close(); } } private void btnConnect_Click(object sender, EventArgs e) { if (serialPort.IsOpen) { serialPort.Close(); btnConnect.Text = "Kết nối"; cbxComList.Enabled = true; } else { if (cbxComList.Text != "") { serialPort.PortName = cbxComList.Text; try { SVTH: Phạm Đình Xuân Trang 31 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính serialPort.Open(); btnConnect.Text = "Ngắt kết nối"; cbxComList.Enabled = false; } catch { MessageBox.Show("Không thể mở cổng " + serialPort.PortName, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Vui lòng chọn cổng COM", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void btnBrowse_Click(object sender, EventArgs e) { if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { // Tạo playlist IWMPPlaylist newPlaylist = wmpPlayer.newPlaylist("", ""); foreach (string fileName in ofd.FileNames) { // Tạo Media IWMPMedia song = wmpPlayer.newMedia(fileName); // Thêm media vào Playlist newPlaylist.appendItem(song); } // Gán newPlaylist cho playlist điều khiển WMP wmpPlayer.currentPlaylist = newPlaylist; // Giống nhấn nút Play wmpPlayer.Ctlcontrols.play(); } } Action receiverAction; private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { receiverAction = receiver; try SVTH: Phạm Đình Xuân Trang 32 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính { this.BeginInvoke(receiverAction, serialPort.ReadExisting()); } catch { } } private void receiver(string input) { char[] chrs = input.ToCharArray(); foreach (char chr in chrs) { int cmd = (int)chr; // - Play/Pause // - Stop switch (cmd) { case 0: // Play if (bt_chedo.Text == "Bật Tự động") { wmpPlayer.Ctlcontrols.play(); } else { serialPort.Write("X"); //khi ấn nút xin chào gửi xuống vdk chữ x } break; case 1: // Stop ovalShape1.BorderColor = Color.Yellow; break; case 2: // Previous ovalShape1.BorderColor = Color.Green; break; } } } private void bt_dongmo_Click(object sender, EventArgs e) { if (bt_dongmo.Text =="Mở cửa") { serialPort.Write("Z"); //khi ấn nút xin chào gửi xuống vdk chữ z bt_dongmo.Text = "Đóng cửa"; ovalShape1.BorderColor = Color.Yellow; } else { SVTH: Phạm Đình Xuân Trang 33 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính serialPort.Write("W"); //khi ấn nút xin chào gửi xuống vdk chữ w bt_dongmo.Text = "Mở cửa"; ovalShape1.BorderColor = Color.Green; } wmpPlayer.Ctlcontrols.pause(); } private void bt_chedo_Click(object sender, EventArgs e) { if (bt_chedo.Text == "Bật Tự động") { serialPort.Write("X"); //khi ấn nút xin chào gửi xuống vdk chữ x bt_chedo.Text = "Tắt Tự động"; } else { serialPort.Write("K"); //K LÀ CHẾ ĐỘ BẰNG TAY CÓ TIẾNG CHUÔNG bt_chedo.Text = "Bật Tự động"; } wmpPlayer.Ctlcontrols.pause(); } } } SVTH: Phạm Đình Xuân Trang 34 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính TÀI LIỆU THAM KHẢO [1] Nguyễn Tăng Cường, Phan Quốc Thắng- Cấu trúc lập trình họ vi diều khiển 8051- Nhà xuất khoa học kỷ thuật Hà Nội – 2004 [2] youtube: https://www.youtube.com/watch?v=O6mdBB8tr5w https://www.youtube.com/watch?v=sh_2Yuu3dKs https://www.youtube.com/watch?v=PBWumUgWrNE SVTH: Phạm Đình Xuân Trang 35 [...]... Đình Xuân Trang 11 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 2.15: Mạch vi điều khiển + Mạch tạo dao động cho vi điều khiển: SVTH: Phạm Đình Xuân Trang 12 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 2.16: Mạch tạo dao động Thạch anh được dùng là 11.0592Mhz để truyền thông tốt với cổng COM của máy tính PC + Mạch reset: Đưa vi điều khiển về lại trạng... đợi lệnh mở cửa từ máy tính, hay có cảm biến thì mở cửa ở chế độ tự động + Gọi hàm con truyện A=1 lên máy tính khi mở cửa và đóng cửa A=2 khi ở chế độ tự động - Thuật toán hàm con cho LCD: Hình 3.4: Hàm con KYTU _LCD Hình 3.3: Hàm con LENH _LCD Hình 3.2: hàm con SET _LCD SVTH: Phạm Đình Xuân Trang 16 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 3.6: hàm con CHUOI _LCD Hình 3.5:... khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 3.7: hàm con TRANS Hình 3.7: hàm con nhận dữ liệu từ máy tính SVTH: Phạm Đình Xuân Trang 19 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính +Hàm con nhận dữ liệu từ máy tính: Khi có ký tự từ máy tính xuống lập tức có ngắt nối tiếp, chương trình sẻ nhảy vào hàm SERIAL và thực hiện theo các lệnh giái tri được đưa từ máy tính xuông... GNNV Cửa tự động, điều khiển bằng máy tính RET ; HAM GHI 1 KY TU LEN LCD -KYTU _LCD: SETB RS CLR RW MOV DATALCD,A SETB E CALL DELAY _LCD CLR E RET ; -DELAY CHO LCD DELAY _LCD: MOV R3,#255 D _LCD1 : NOP NOP NOP NOP DJNZ R3,D _LCD1 RET ; CHUOI LCD -CHUOI _LCD: CLR A MOVC A,@A+DPTR JZ EX_CHUOI CALL KYTU _LCD SVTH: Phạm Đình Xuân Trang 26 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng. .. Timer1, điều xung PWM với Timer0 + Gọi hàm con tài đặt thiết lập LCD để đưa tín hiệu lên LCD + Điều xung PWM trên chân P3.7 với timer0 SVTH: Phạm Đình Xuân Trang 15 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính + Thực hiện xem chương trình đang trong chế độ hoạt động nào, tự động hay bằng tay sẻ nhảy tới đó thực hiện + Nhận tín hiệu từ cảm biến gọi hàm con truyền A=0 lên máy tính và.. .Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 2.13: Cách nối role với tải động cơ + Chế độ đóng cắt tiếp điểm khi có tín hiệu điện 12v vào chân 1,2 của cuộn dây + Tải cho role động cơ DC 12v2v 8) Mosfet IRF540: +Là linh kiện để đóng tắt động cơ, điều xung PWM - Làm việc ở chế độ dẫn bảo hòa Có tải là động cơ DC 12v2v Hình 2.14: Mosfet IRF540 kích mở động cơ - Mạch vi điều khiển: ... con DELAY _LCD Hình 3.7: hàm con XOA _LCD - Giải thích chức năng hàm con của LCD: SVTH: Phạm Đình Xuân Trang 17 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính + Hàm SET _LCD: hàm cài đặt LCD khi mới chạy chương trình để đưa lệnh 03H: Đưa con trỏ về đầu dòng 38H: LCD với 2 dòng và matran 5x7 0CH: Bật hiển thị, tắt con tro 06H: Dịch con tro sang phải + Hàm LENH _LCD: Truyền lệnh LCD Ban đầu... Chân P2.2: Chân E LCD Chân P1.0: Được nối với công tắc hành trình đưa về mức âm khi cửa được đóng lại Chương 3: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH 3.1: Lưu đồ thuật toán: - Lưu đồ chương trình chính: SVTH: Phạm Đình Xuân Trang 14 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính Hình 3.1: Lưu đồ chương trình chính - Giải thích chức năng chính của lưu đồ chương trình chính: + Thiết lập giao... Mạch reset + Các chân được nối với Max232 để giao tiếp với máy tính là chân RXD ( P3.0) và TXD ( P3.1) SVTH: Phạm Đình Xuân Trang 13 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển bằng máy tính + Chân nối với cảm biến quang: Chân P3.4, khi có tín hiệu chân sẻ xuống mức âm + Các header9 đưa ra để kết nối với LCD và công tắc hành trình Port0: DataLCD Chân P2.0: Chân RS LCD Chân P2.1: Chân RW LCD Chân... DELAY _LCD đợi cho việc truyền hoàn thành + Hàm con DELAY _LCD: Tạo một khoảng thời gian trể lớn hơn 1.6ms để LCD nhận dữ liệu hay lệnh hoàn thành + Hàm con CHUOI _LCD: Chức năng hiển thị một chuổi ký tự lên LCD, sử dụng chế độ định địa chỉ gián tiếp + Hàm con XOA _LCD: hàm xóa cá ký tự đang hiển thị lên LCD bằng lệnh 01H - Hàm con truyền thông nối tiếp: SVTH: Phạm Đình Xuân Trang 18 Đồ án Vi điều khiển ... vi điều khiển 8051 học vào điểu khiển cửa tự động vào nhanh chậm cách cửa, kết hợp với kiểm soát từ máy tính SVTH: Phạm Đình Xuân Trang Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính. .. động - Mạch vi điều khiển: SVTH: Phạm Đình Xuân Trang 11 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Hình 2.15: Mạch vi điều khiển + Mạch tạo dao động cho vi điều khiển: SVTH: Phạm... 18 Đồ án Vi điều khiển & GNNV Cửa tự động, điều khiển máy tính Hình 3.7: hàm TRANS Hình 3.7: hàm nhận liệu từ máy tính SVTH: Phạm Đình Xuân Trang 19 Đồ án Vi điều khiển & GNNV Cửa tự động, điều