Đề tài Thiết kế và thi công hệ thống Điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS

Giới thiệu “Ngôi nhà thông minh” là một cụm từ không còn xa lạ đối với nền công nghệ phát triển hiện nay. Lúc đầu, ý tưởng được thực hiện nhờ vào tia hồng ngoại để điều khiển từ xa, nhưng khoảng cách bị hạn chế. Về sau, nhiều nghiên cứu nhằm cải tiến khoảng cách điều khiển mang lại nhiều thành công và có ý nghĩa thực tiễn như điều khiển thông qua đường dây điện, đường dây điện thoại Khi công nghệ wireless phát triển, người ta lại nghĩ đến điều khiển qua mạng không dây_điều khiển từ xa dùng máy tính ra đời. Không dừng lại ở đó, khi mà các mạng điện thoại đang cạnh tranh gay gắt, chiếc điện thoại trở nên vật dùng không thể thiếu của mỗi cá nhân, người ta lại nghĩ về một chiếc điện thoại tích hợp khả năng điều khiển từ xa. Đi cùng xu hướng phát triển đó, nhóm thực hiện đã chọn đề tài: “Thiết kế và thi công hệ thống điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS”. Với đề tài này, nhóm muốn sử dụng điện thoại di động điều khiển thiết bị điện dân dụng, dùng Module Sim300CZ trên nền mạng GSM để thu SMS điều khiển. Nhóm hi vọng với đề tài này sẽ làm cơ sở nghiên cứu cho các nhóm khác sau này có thể mở rộng, phát triển hơn nữa. Lời nói đầu Ngành viễn thông đang đóng vai trò rất quan trọng trong nền kinh tế của mỗi quốc gia, nó giúp con người tiến gần hơn với nền khoa học kỹ thuật đang phát triển như vũ bão của nhân loại hiện nay. Hệ thống truyền thông đã không ngừng phát triển từ cố định sang di động. Con người có thể liên lạc với nhau dù ở bất cứ nơi đâu. Dựa vào đặt tính truyền tin xa và vận dụng đặt tính này, nhóm đã chọn đề tài: “Thiết kế và thi công hệ thống điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS”, nhằm cải tiến khoảng cách điều khiển trong công nghệ ngôi nhà thông minh hiện nay. Đề tài tuy còn đơn giản, thiết bị điều khiển không nhiều, nhưng nhóm mong đây sẽ là tài liệu bổ ích cho những ai quan tâm và mong muốn phát triển theo công nghệ điều khiển này. Nhóm cũng rất mong nhận được sự đóng góp của quý thầy cô, các bạn sinh viên để cùng nhau có kiến thức sâu hơn và có kinh nghiệm tốt hơn trong việc thi công phần cứng cho một mô hình điều khiển hoàn chỉnh. MỤC LỤC PHẦN A : GIỚI THIỆU . . i Lời cảm ơn . .iii Quyết định giao đề tài . . iv Nhận xét của giáo viên hướng dẫn . . iv Nhận xét của giáo viên phản biện . . vi Lời nói đầu . vii Mục lục . . viii Liệt kê hình . .xii Liệt kê bảng . .xiv PHẦN B : NỘI DUNG . . 1 Chương 1: Dẫn nhập . . 2 1.1 Giới thiệu đề tài . 2 1.2 Ý nghĩa khoa học của đề tài . 3 1.3 Mục đích nghiên cứu . 3 Chương 2: Cơ sở lý luận . . 5 2.1 Tình hình nghiên cứu trong nước và ngoài nước . . 5 2.1.1 Ngoài nước . . 5 2.1.2 Trong nước . . 6 2.2 Ý tưởng thiết kế . 8 2.3 Đề cương nghiên cứu chi tiết . . 8 2.4 Phương pháp nghiên cứu . . 8 2.5 Phương tiện nghiên cứu . . 8 Chương 3: Lý thuyết liên quan . . 9 3.1 Tổng quan về công nghệ GSM . . 9 3.1.1 Giới thiệu về công nghệ GSM . . 9 3.1.2 Đặc điểm của công nghệ GSM . . 9 3.1.3 Cấu trúc của mạng GSM . . 10 3.1.3.1 Cấu trúc tổng quát . . 10 3.1.3.2 Các thành phần của công nghệ mạng GSM . . 10 3.1.4 Sự phát triển của công nghệ GSM ở Việt Nam . . 11 3.2 Tổng quan về SMS . 12 3.2.1 Giới thiệu về SMS . 12 3.2.2 Cấu trúc một tin nhắn SMS . 12 3.2.3 Ưu điểm của SMS . 13 3.2.4 Tin nhắn SMS chuỗi/tin nhắn SMS dài . 13 3.2.5 SMS center/SMSC . 13 3.2.6 SMS quốc tế . 14 3.2.7 SMS gateway . 14 3.3 Giới thiệu Module Sim300CZ . 15 3.3.1 Đặc điểm của Module Sim300CZ . 15 3.3.2 Khảo sát sơ đồ chân và chức năng từng chân . 17 3.3.3 Các chế độ hoạt động của Module Sim300CZ . 23 3.3.4 Tập lệnh AT của module Sim 300CZ . 23 3.3.4.1 Các thuật ngữ . 23 3.3.4.2 Cú pháp lệnh AT . 23 3.3.4.5 Đọc tin nhắn . 33 3.3.4.6 Gửi tin nhắn . 34 3.4 Giới thiệu vi điều khiển 89C52 . 35 3.4.1 Sơ đồ chân vi điều khiển 89C52 . 36 3.4.2 Tổ chức bộ nhớ trong vi điều khiển 89C52 . 38 3.4.3 Hoạt động truyền dữ liệu của vi điều khiển 89C52 . 39 3.4.3.1 Giới thiệu . 39 3.4.3.2 Thanh ghi điều khiển truyền dữ liệu nối tiếp . 41 3.4.3.3 Các kiểu truyền dữ liệu nối tiếp . 42 3.4.4 Tập lệnh của vi điều khiển 89C52 . 43 3.4.5 Nguồn cung cấp . 43 3.4.6 Mạch dao động . 44 Chương 4: Thiết kế và thi công . 45 4.1 Phương án thiết kế . 45 4.2 Sơ đồ khối . 46 4.2.1 Chức năng từng khối . 46 4.2.2 Nguyên lý hoạt động . 47 4.3 Thiết kế và thi công phần cứng . 49 4.3.1 Sơ đồ nguyên lý và tính toán . 49 4.3.1.1 Module Sim300CZ . 49 4.3.1.2 Khối giao tiếp . 50 4.3.1.3 Khối nguồn . 51 4.3.1.4 Khối vi điều khiển . 52 4.3.1.5 Khối công suất . 52 4.3.1.6 Khối hiển thị LCD . 55 4.3.2 Mạch Layout . 56 4.3.2.1 Module Sim300CZ, khối nguồn, khối giao tiếp . 56 4.3.2.2 Khối vi điều khiển . 56 4.3.2.3 Khối công suất . 56 4.3.2.4 Khối hiển thị LCD . 56 4.3.3 Mạch thực tế . 57 4.3.3.1 Module Sim300CZ, khối nguồn, khối giao tiếp . 57 4.3.3.2 Khối vi điều khiển . 57 4.3.3.3 Khối công suất . 57 4.3.3.4 Khối hiển thị LCD . 58 4.4 Thiết kế và thi công phần mềm . 59 4.4.1 Ý tưởng chương trình . 59 4.4.2 Lưu đồ chương trình chính . 59 4.4.3 Lưu đồ chương trình xử lý tin nhắn . 60 4.4.4 Lưu đồ chương trình điều khiển thiết bị . 60 4.4.5 Lưu đồ chương trình nhận dữ liệu . 61 4.4.6 Lưu đồ chương trình gửi dữ liệu . 62 4.4.7 Lưu đồ chương trình lấy địa chỉ . 62 4.4.8 Lưu đồ chương trình điều khiển thiết bị . 63 4.4.9 Lưu đồ chương trình kiểm tra thiết bị . 63 4.4.10 Lưu đồ chương trình gửi tin nhắn . 64 4.4.11 Khởi tạo cho module SIM300CZ . 64 Chương 5: Kết luận và hướng phát triển đề tài . 66 5.1 Kết quả thực hiện . . 66 5.2 Mô tả hệ thống . 66 5.3 Ưu điểm và khuyết điểm của hệ thống . . 67 5.4 Khả năng ứng dụng thực tế của đề tài . 68 5.5 Hướng phát triển . . 68 PHẦN C : PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO . . 69 Phụ lục I: Mã nguồn chương trình . 70 Phụ lục II: Hướng dẫn sử dụng sản phẩm . 81 Tài liệu tham khảo . 82 CHƯƠNG 1: DẪN NHẬP 1.1 Giới thiệu đề tài Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó đặc biệt là kỹ thuật điều khiển tự động đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông tin . Do đó, là một sinh viên chuyên ngành Điện tử - Viễn thông chúng ta phải biết nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử, tuyền thông nói riêng. Bên cạnh đó còn là sự thúc đẩy sự phát triển của nền kinh tế nước nhà. Như chúng ta đã biết, gần như các thiết bị tự động trong nhà máy, trong đời sống của các gia đình ngày nay đều hoạt động độc lập với nhau, mỗi thiết bị có một quy trình sử dụng khác nhau tuỳ thuộc vào sự thiết lập, cài đặt của người sử dụng. Chúng chưa có một sự liên kết nào với nhau về mặt dữ liệu. Nhưng đối với hệ thống điều khiển thiết bị từ xa thông qua tin nhắn SMS thì lại khác. Ở đây, các thiết bị điều khiển tự động được kết nối với nhau thành một hệ thống hoàn chỉnh qua một một thiết bị trung tâm và có thể giao tiếp với nhau về mặt dữ liệu. Điển hình của một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bị tinh vi, phức tạp như tivi, máy giặt, hệ thống báo động Nó hoạt động như một ngôi nhà thông minh. Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau về mặt dữ liệu thông qua một đầu não trung tâm. Đầu não trung tâm ở đây có thể là một máy vi tính hoàn chỉnh hoặc có thể là một bộ xử lí đã được lập trình sẵn tất cả các chương trình điều khiển. Bình thường, các thiết bị trong ngồi nhà này có thể được điều khiển từ xa thông qua các tin nhắn của chủ nhà. Chẳng hạn như việc tắt quạt, đèn điện khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà. Hay chỉ với một tin nhắn SMS, người chủ nhà có thể bật máy điều hòa để làm mát phòng trước khi về nhà trong một khoảng thời gian nhất định Ngoài ra, hệ thống còn mang tính bảo mật. Nghĩa là chỉ có chủ nhà hay người biết mật khẩu của ngôi nhà thì mới điều khiển được ngôi nhà này. Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự hợp tác, phát triển mạnh mẽ của mạng di động nên chúng em đã chọn đề tài " Thiết kế và thi công hệ thống điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS " để đáp ứng được nhu cầu ngày càng cao của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của nước nhà. 1.2 Ý nghĩa khoa học của đề tài Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra đời ngày càng nhiều về chủng loại cũng như tính năng sử dụng. Bên cạnh đó nhu cầu sử dụng các thiết bị một cách tự động ngày càng cao, con người ngày càng muốn có nhiều thiết bị giải trí cũng như các thiết bị sinh hoạt với kỹ thuật và công nghệ ngày càng cao. Có thể ở Việt nam chưa phát triển mạnh mẽ trong lĩnh vực này nhưng hiện nay ở trên thế giới, nhất là các quốc gia thuộc Châu âu hay Mĩ thì mô hình ngôi nhà tự động được điều khiển từ xa đã phát triển rất mạnh mẽ. Từ những nhu cầu thực tế đó, nhóm muốn đưa một phần những kỹ thuật hiện đại của thế giới áp dụng vào điều kiện thực tế trong nước để có thể tạo ra một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắn SMS nhằm đáp ứng nhu cầu ngày càng cao của con người. Đề tài lấy cơ sở là tin nhắn SMS để điều khiển thiết bị. Việc sử dụng tin nhắn SMS để điều khiển thiết bị có thuận lợi là tiết kiệm chi phí, mang tính cạnh tranh và cơ động cao (nghĩa là ở chỗ nào có phủ sóng mạng điện thoại di động ta cũng có thể điều khiển thiết bị được). Ngoài ra, sản phẩm của đề tài này có tính mở, có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng như trong công nghiệp. 1.3 Mục đích nghiên cứu Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống “Điều khiển tự động từ xa bằng điện thoại di động” hoàn chỉnh. Hệ thống tích hợp module nhận tin nhắn sử dụng mạng GSM, module xử lý dữ liệu, module công suất cho các thiết bị trong nhà. Qua xử lí, dữ liệu sẽ được gửi về thiết bị đầu cuối (mobile) của người điều khiển để báo cho biết trạng thái của các thiết bị được điều khiển. Hệ thống điều khiển thiết bị từ xa bằng điện thoại di động dùng tin nhắn SMS có chức năng như sau: Có thể kiểm tra trạng thái của thiết bị trước khi điều khiển.Ø Từ kết quả kiểm tra trạng thái, người dùng có thể dùng lệnh bằng tin nhắn đểØ điều khiển. Hệ thống sau khi nhận tin nhắn xuất lệnh điều khiển các thiết bị và tự động báoØ trạng thái các thiết bị sau điều khiển. Nhóm thực hiện tiến hành khảo sát Module Sim300CZ, ứng dụng để thi công mạch cụ thể điều khiển đóng mở 2 bóng đèn tượng trưng cho 2 thiết bị với đặc điểm sau: Điều khiển các thiết bị trong nhà (cụ thể là điều khiển một thiết bị công suấtØ trung bình) bằng tin nhắn SMS tại ví trí có phủ sóng của mạng điện thoại di động đang hoạt động trong nước như Viettel, Mobile Phone, Vina Phone Tự động gửi tin nhắn ngược trở lại cho người điều khiển, với nội dung tin nhắnØ chứa thông tin hoạt động của thiết bị (on/off). Hệ thống được bảo mật bằng password.Ø

pdf97 trang | Chia sẻ: lvcdongnoi | Lượt xem: 6295 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế và thi công hệ thống Điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ường hợp cần thiết. (7) AT+CSAS Lưu cấu hình cài đặt được thiết lập bởi các lệnh AT+CMGF và AT+CNMI. Đồ án tốt nghiệp trang 33 Chương 3 : Lý thuyết liên quan 3.3.4.5 Đọc tin nhắn Hình 3.8 : đọc tin nhắn từ 2 vùng nhớ 1 và 2 trên SIM Mọi thao tác liên quan đến quá trình nhận tin nhắn đều được thực hiện trên 2 ngăn 1 và 2 của bộ nhớ nằm trong SIM. (1) Đọc tin nhắn trong ngăn 1 bằng lệnh AT+CMGR=1. (2A) Nếu ngăn 1 không chứa tin nhắn, chỉ có chuỗi sau được trả về: OK (2B) Nếu ngăn 1 có chứa tin nhắn, nội dung tin nhắn sẽ được gửi trả về TE với định dạng như sau: +CMGR: "REC UNREAD","+84929047589",,"07/05/15, 09:32:05+28" NỘI DUNG OK Đồ án tốt nghiệp trang 34 Chương 3 : Lý thuyết liên quan Các tham số trong chuỗi trả về bao gồm trạng thái của tin nhắn (REC UNREAD), số điện thoại gửi tin nhắn (+84929047589) và thời gian gửi tin nhắn (07/05/15,09:32:05+28) và nội dung tin nhắn. Đây là định dạng mặc định của module SIM300 lúc khởi động. dạng mở rộng có thể được thiết lập bằng cách sử dụng lệnh AT+CSDH=1 trước khi thực hiện đọc tin nhắn. (3) Sau khi đọc, tin nhắn được xóa đi bằng lệnh AT+CMGD=1. Thao tác tương tự đối với tin nhắn chứa trong ngăn thứ 2 trong các bước 4, 5A (5B) và 6. 3.3.4.6 Gửi tin nhắn Hình 3.9: gửi tin nhắn (1) Gửi tin nhắn đến thuê bao bằng cách sử dụng lệnh AT+CMGS=”số điện thoại”. (2) Nếu lệnh (1) được thực hiện thành công, chuỗi trả về sẽ có dạng: > (kí tự “>” và 1 khoảng trắng). (3) Gửi nội dung tin nhắn và kết thúc bằng kí tự có mã ASCII 0x1A. (3A) Gửi kí tự ESC (mã ASCII là 27) nếu không muốn tiếp tục gửi tin nhắn nữa. Khi đó TE sẽ gửi trả về chuỗi OK. (4) Chuỗi trả về thông báo kết quả quá trình gửi tin nhắn. Chuỗi trả về có định dạng như sau: +CMGS: 62 Đồ án tốt nghiệp trang 35 Chương 3 : Lý thuyết liên quan OK Trong đó 62 là một số tham chiếu cho tin nhắn đã được gửi. Sau mỗi tin nhắn được gửi đi, giá trị của số tham chiếu này sẽ tăng lên 1 đơn vị. Số tham chiếu này có giả trị nằm trong khoảng từ 0 đến 255. Thời gian gửi một tin nhắn vào khoảng 3-4 giây (kiểm tra với mạng Mobi phone). (4A) Nếu tình trạng sóng không cho phép thực hiện việc gửi tin nhắn (thử bằng cách tháo antenna), hoặc chức năng RF của modem không được cho phép hoạt động (do sử dụng các lệnh AT+CFUN=0 hoặc AT+CFUN=4), hoặc số tin nhắn trong hàng đợi phía tổng đài vượt qua giới hạn cho phép, hoặc bộ nhớ chứa tin nhắn của MT nhận được tin nhắn bị tràn, MT sẽ gửi thông báo lỗi trở về và có định dạng như sau: +CMS ERROR: 193 +CMS ERROR: 515 Chức năng truyền nhận tin nhắn và chức năng thoại được tách biệt. Khi đang thông thoại vẫn có thể truyền nhận được tin nhắn. Khi truyền nhận tin nhắn vẫn có thể tiến hành thiết lập và kết thúc cuộc gọi. 3.4 Giới thiệu vi điều khiển 89C52 Vi điều khiển 89C52 là một vi điều khiển dùng CMOS có công suất thấp, hiệu suất cao với 8Kbyte bộ nhớ Flash. Thẻ bộ nhớ flash bên trong chip cho phép các chương trình được tái lập trình trong hệ thống, hoặc bằng một lập trình bộ nhớ quy ước không đổi. Bằng việc kết hợp linh hoạt CPU 8-bit với bộ nhớ lập trình Flash, vi điều khiển 89C52 là một vi điều khiển mạnh mẽ cung cấp khả năng linh hoạt cao và là giải pháp hiệu quả về kinh tế cho rất nhiều ứng dụng điều khiển nhúng. Vi điều khiển 89C52 cung cấp một số đặc tính cơ bản sau : 8Kbyte bộ nhớ Flash, 256 Byte RAM, 32 đường I/O, 2 con trỏ dữ liệu, 3 bộ định thời timer/counter 16-bit, 1 kiến trúc 6 vector ngắt với 2 mức, 1 port nối tiếp song công, 1 bộ dao động và một mạch xung clock. Thêm vào đó, vi điều khiển 89C52 được thiết kế với logic tĩnh để có thể hoạt động đến tần số 0Hz và được hỗ trơ 2 chế độ tiết kiệm năng lượng có thể lựa chọn được bằng phần mềm. Chế độ không tải (Idle mode) dừng CPU trong khi cho phép RAM, Timer/Counter, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ tắt nguồn (Power-down mode) lưu dữ liệu trong RAM nhưng đóng băng bộ dao động, dừng hoạt động các chức năng khác của chip cho đến khi có ngắt xảy ra hoặc phần cứng được reset. Đồ án tốt nghiệp trang 36 Chương 3 : Lý thuyết liên quan 3.4.1 Sơ đồ chân vi điều khiển 89C52 Hình 3.10: Sơ đồ chân 89C52  Port 0 : Từ chân 32 đến chân 39 (P0.0 - P0.7), có 2 chức năng : Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường I/O. Đối với các hệ thống lớn có bộ nhớ mở rộng nó vừa là bus địa chỉ byte thấp vừa là bus dữ liệu để truy cập bộ nhớ ngoài.  Port 1 : Từ chân 1 đến chân 9 (P1.0 - P1.7) Port 3 là port có tác dụng kép. Các chân port này có nhiều chức năng, vừa là cổng I/O vừa có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của AT89S52 như ở bảng sau: Bảng 3.14 : Chức năng các chân của Port 1 Port Pin Tên Chức năng chuyển đổi P1.0 T2 Ngõ vào Timer/Counter 2. P1.1 T2EX Ngõ và bộ kích chế độ thu nhận (capture)/nạp lại (reload) và điều khiển trực tiếp của Timer 2 P1.5 MOSI Sử dụng cho hệ thống lập trình từ bên ngoài. P1.6 MISO Sử dụng cho hệ thống lập trình từ bên ngoài. P1.7 SCK Sử dụng cho hệ thống lập trình từ bên ngoài. Đồ án tốt nghiệp trang 37 Chương 3 : Lý thuyết liên quan  Port 2: Từ chân 21 đến chân 28 (P2.0 - p2.7) Port 2 là port có tác dụng kép dùng như các đường I/O hoặc là byte cao (A8 - A15) của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.  Port 3: Từ chân 10 đến chân 17 (P3.0 - P3.7) Port 3 là port có tác dụng kép, các chân port này có nhiều chức năng, vừa là cổng I/O vừa có công dụng chuyển đổi có liên hệ đến các đặt tính đặc biệt của AT89S52 như ở bảng sau: Bảng 3.15 : Chức năng các chân của Port 3 Port Pin Tên Chức năng chuyển đổi P3.0 RxD Ngõ vào dữ liệu nối tiếp. P3.1 TxD Ngõ xuất dữ liệu nối tiếp. P3.2 INT0\ Ngõ vào ngắt ngoài thứ 0 P3.3 INT1\ Ngõ vào ngắt ngoài thứ 1 P3.4 T0 Ngõ vào của Timer/Couter 0. P3.5 T1 Ngõ vào của Timer/ Counter 1 P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài. P3.7 RD\ Tín hiệu đọc dữ liệu từ bộ nhớ ngoài. - PSEN (Program store enable): Chân 29 PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE\ của Eprom cho phép đọc các byte mã lệnh. - ALE/PROG (Address Latch Enable): Chân 30 Khi AT89S52 truy xuất bộ nớ bên ngoài,Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ.Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giả đa hợp các đường địa chỉ và dữ liệu khi kết nối với các IC chốt. - EA/VPP (External Access): Chân 31 Tín hiệu vào EA\ ở chân 31 thường được mắt lên mức 1 hoặc mức 0.Nếu ở mức 1 thì AT89S52 thi hành chương trình từ Eprom nội trong khoản địa chỉ thấp 4Kbyte.Nếu ở mức 0 thì AT89S52 thi hành chương trình từ bộ nhớ mở rộng.Chân EA\được lấy làm chân cấp nguồn 21V khi lập trình Eprom trong AT89S52. Đồ án tốt nghiệp trang 38 Chương 3 : Lý thuyết liên quan - RST(Reset) : Chân 9 Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy,các thanh ghi bên trong được nạp những giá trị thich hợp để khởi động hệ thống.Khi cấp điện cho hệ thốnh thì mạch tự động reset. - XTAL1, XTAL2 : Chân 19, 18 Ngõ vào bộ dao động X1, X2, bộ giao động được tích hợp bên trong AT89S52. Khi sử dụng AT89S52, người ta chỉ cần nối thêm thạch anh và các tụ.Tần số thạch anh thường là 12Mhz. - VCC, GND : Chân 40, 20 Cấp nguồn và nối đất cho vi điều khiển. 3.4.2 Tổ chức bộ nhớ trong vi điều khiển 89C52 RAM bên trong 89S52 được phân chia như sau :  Các bank thanh ghi có địa chỉ từ 00H đến 1FH  RAM truy xuất từng bit có địa chỉ 20H đến 2FH  RAM đa dụng từ 30H đến 7FH  Các thanh ghi có chức năng đặc biệt từ 80H đến FFH bao gồm : - Thanh ghi trạng thái chương trình (PSW: Program Status Word) - Thanh ghi B - Thanh ghi con trỏ ngăn xếp (SP1, SP2: Stack Pointer) - Thanh ghi con trỏ dữ liệu (DPH, DPL) - Các thanh ghi port xuất nhập (P0, P1, P2, P3) - Các thanh ghi timer (TCON, TMOD, TMOD, T2CON, T2MOD, TH0, TL0, TH1, TL1, TH2, TL2) - Các thanh ghi port nối tiếp (SBUF, SCON) - Các thanh ghi ngắt (IE, IP) - Thanh ghi điều khiển công suất (PCON) Đồ án tốt nghiệp trang 39 Chương 3 : Lý thuyết liên quan Hình 3.11 : Bộ nhớ của vi điều khiển 89C52 3.4.3 Hoạt động truyền dữ liệu của vi điều khiển 89C52 3.4.3.1 Giới thiệu Truyền dữ liệu nối tiếp của MCS5 có thể hoạt động ở nhiều kiểu riêng biệt trong phạm vi cho phét của tần số. Dữ liệu dạng song song được chuyển thành nối tiếp để truyền đi và nhận về dạng nối tiếp được chuyển thành song song. Chân TxD (P3.1) là ngõ xuất dữ liệu đi và chân RxD (P3.0) là ngõ nhận dữ liệu về. Đồ án tốt nghiệp trang 40 Chương 3 : Lý thuyết liên quan Đặc trưng của truyền dữ liệu nối tiếp là hoạt động song công có nghĩa là có thể thực hiện truyền và nhận dữ liệu cùng một lúc. Hai thanh ghi chức năng đặc biệt phục vụ cho truyền dữ liệu là thanh ghi đệm SBUF và thanh ghi điều khiển SCON. Thanh ghi đệm SBUF nằm ở địa chỉ 99H có 2 chức năng : nếu vi điều khiển ghi dữ liệu lên thanh ghi SBUF thì dữ liệu đó sẽ được truyền đi, nếu hệ thống khác gửi dữ liệu đến thì sẽ được lưu vào thanh ghi đệm SBUF. Sơ đồ khối của hệ thống truyền dữ liệu được trình bày ở hình 3.14. Hình 3.12 : Sơ đồ hệ thống truyền dữ liệu Thanh ghi điều khiển truyền dữ liệu SCON nằm ở địa chỉ 98H là thanh ghi cho phép truy suất bit bao gồm các bit trạng thái và các bit điều khiển. Các bit điều khiển dùng để thiết lập nhiều kiểu hoạt động truyền dữ liệu khác nhau, còn các bit trạng thái cho biết thời điểm kết thúc khi truyền xong một ký tự hoặc nhận xong một ký tự. Các bit trạng thái có thể được kiểm tra trong chương trình hoặc có thể lập trình để sinh ra ngắt. Tần số hoạt động của truyền dữ liệu nối tiếp còn gọi tốc độ BAUD (số lượng bit dữ liệu được truyền đi trong 1 giây) có thể hoạt động cố định (sử dụng giao động trên chip) hoặc có thể thay đổi. Khi cần tốc độ Baud thay đổi thì phải sử dụng Timer 1 hoặc Timer 2 để tạo tốc độ Baud. SBUF (write only) SBUF (write only) SBUF (write only) Baud rate clock (transmit) Baud rate clock (receive) TxD (P3.1) RxD (P3.0) 8052 Internal Bus Đồ án tốt nghiệp trang 41 Chương 3 : Lý thuyết liên quan 3.4.3.2 Thanh ghi điều khiển truyền dữ liệu nối tiếp Thanh ghi SCON sẽ thiết lập các kiểu hoạt động truyền dữ liệu khác nhau cho MCS51. Cấu trúc của thanh ghi SCON như sau : Hình 3.13 : Cấu trúc thanh ghi SCON Bảng 3.16 : Các bit trong thanh ghi điều khiển truyền dữ liệu Bit Ký hiệu Địa chỉ Mô tả hoạt động 7 SM0 9FH Bit chọn kiểu truyền nối tiếp : bit thứ 0. 6 SM1 9EH Bit chọn kiểu truyền nối tiếp : bit thứ 1. 5 SM2 9DH Bit cho phép truyền kết nối nhiều vi xử lý ở mode 2 và 3, RI sẽ không tích cực nếu bit thứ 9 đã thu là 0. 4 REN 9CH Bit cho phép nhận ký tự. REN=1 sẽ cho phép nhận ký tự. 3 TB8 9BH Dùng để lưu bit 9 để truyền đi khi hoạt động ở mode 2 và 3. TB8 bằng 0 hay 1 là do người lập trình thiết lập. 2 RB8 9AH Dùng để lư bit 9 nhận về khi hoạt động ở mode 2 và 3 1 TI 99H Cờ báo hiệu này lên mức 1 khi truyền xong 1 ký tự và xóa bởi người lập trình để sẵn sàng truyền ký tự tiếp theo. 0 RI 98H Cờ báo hiệu này lên mức 1 khi nhận xong 1 ký tự và xóa bởi người lập trình để sẵn sàng nhận ký tự dữ liệu tiếp theo. SM0 SM1 SM2 REN TB8 RB8 TI RI MSB LSB Đồ án tốt nghiệp trang 42 Chương 3 : Lý thuyết liên quan 3.4.3.3 Các kiểu truyền dữ liệu nối tiếp Truyền dữ liệu nối tiếp của MCS51 có 4 kiểu hoạt động tùy thuộc theo 4 trạng thái của 2 bit SM0 và SM1 được liệt kê ở bảng 3.14 Bảng 3.17 : Các kiểu truyền dữ liệu SM0 SM1 Kiểu Mô tả Tốc độ baud 0 0 0 Thanh ghi dịch Cố định (tần số dao động f/12) 0 1 1 UART 8 bit Thay đổi (được đặt bởi Timer) 1 0 2 UART 9 bit Cố định (tần số dao động f/12 hoặc f/64) 1 1 3 UART 9 bit Thay đổi (được đặt bởi Timer) Trong nội dung đề tài, người thực hiện chỉ giới thiệu truyền dữ liệu kiểu 1 – Thu phát bất đồng bộ 8 bit có tốc độ Baud thay đổi, được sử dụng trong đề tài. Trong mode này, truyền dữ liệu nối tiếp hoạt động bất đồng bộ UART 8 bit có tốc độ Baud thay đổi được. UART là bộ thu và phát dữ liệu nối tiếp với mỗi ký tự dữ liệu luôn bắt đầu bằng 1 bit Start (ở mức 0) và kết thúc bằng 1 bit stop (ở mức 1), bit parity đôi khi được ghép vào giữa bit dữ liệu sau cùng và bit stop. Trong kiểu này, 10 bit dữ liệu sẽ phát đi ở chan TxD và nếu nhận thì sẽ nhận ở chân RxD. 10 bit đó bao gồm : 1 bit start, 8 bit data (LSB là bit đ ầu tiên), và 1 bit stop. Đối với hoạt động nhận dữ liệu thì bit stop được đưa vào bit RB8 trong thanh ghi SCON. Trong MCS51, tốc độ Baud được thiết lập bởi tốc độ tràn của Timer T1. Đối với họ 52 có 3 timer thì tốc độ baud có thể thiết lập bởi tốc độ tràn của timer T1 hoặc timer T2 hoặc cả 2 timer T1 và T2 : một timer cho việc phát và 1 timer cho việc thu. Nguồn cung cấp xung clock để đồng bộ các thanh ghi truyền dữ liệu nối tiếp hoạt động kiểu 1, 2, 3 được thiết lập bởi bộ đếm 16 như hình 4…, ngõ ra của bộ đếm là xung clock tạo tốc độ Baud. Xung ngõ vào của bộ đếm có thể lập trình bằng phần mềm. Khi có một lệnh ghi dữ liệu lên thanh ghi SBUF thì quá trình truyền dữ liệu bắt đầu nhưng nó chưa truyền mà chờ cho đếm khi bộ chia 16 (cung cấp tốc độ Baud cho truyền dữ liệu nối tiếp) bị tràn. Dữ liệu được xuất ra trên chân TxD bắt đầu với bit start theo sau là 8 bit data và sau cùng là bit stop. Các cờ phát TI Đồ án tốt nghiệp trang 43 Chương 3 : Lý thuyết liên quan cũng được nâng lên mức 1 cùng lúc với thời điểm xuất hiện bit stop trên chân TxD. Quá trình nhận dữ liệu được khởi động ngay khi có sự chuyển đổi từ mức 1 sang mức 0 ở ngõ vào RxD. Bộ dếm 4 bit được reset ngay lập tức để sắp xếp bit dữ liệu đang đến từ ngõ vào RxD. Mỗi bit dữ liệu đến được lấy mẫu ở trạng thái đếm thứ 8 trong một chu kỳ 16 trạng thái của bộ đếm 4 bit. Khi có sự chuyển trạng thái từ 1 xuống 0 ở ngõ vào RxD của bộ thu thì trạng thái 0 này phải tồn tại trong 8 trạng thái liên tục của bộ đếm 4 bit. Nếu trường hợp này không đúng thì bộ thu xem như bị tác động bởi tín hiệu nhiễu. bộ thu sẽ reset và trở về trạng thái nghỉ và chờ sự chuyển trạng thái tiếp theo. Giả sử việc kiểm tra bit start là hợp lệ thì bit start sẽ được bỏ qua và 8 bit data được nhận vào thanh ghi dịch nối tiếp. Khi thất cả 8 bit được ghi vào thanh ghi dịch thì 3 công việc sau sẽ được thực hiện tiếp theo: - bit thứ 9 (bit stop) được dịch vào bit RB8 trong SCON. - 8 bit data được nạp vào thanh ghi SBUF. - Cờ ngắt nhận RI=1. Tuy nhiên 3 công việc trên chỉ xảy ra nếu hai điều kiện sau tồn tại : - RI=0 - SM2=1 và bit stop nhận được bằng 1 hoặc SM2=0. 3.4.4 Tập lệnh của vi điều khiển 89C52 Tập lệnh của vi điều khiển 89C52 bao gồm các nhóm lệnh : + Nhóm lệnh số học : ADD, SUBB, DIV, MUL, INC, DEC, DA. + Nhóm lệnh luận lý : ANL, ORL, XRL, CLR, CPL, RL, RLC, RR, RRC, SWAP + Nhóm lệnh dịch chuyển dữ liệu : MOV, MOVC, MOVX, PUSH, POP, XCH, XCHD. + Nhóm lệnh rẽ nhánh chương trình : ACALL, LCALL, RET, RETI, AJMP, LJMP, SJMP, JMP, JZ, JNZ, JC, JNC, JB, JNB, JBC, CJNE, DJNZ. + Nhóm lệnh xử lý bit : ANL, ORL, SETB, CLR, CPL, MOV. 3.4.5 Nguồn cung cấp Nguồn cung cấp cho toàn bộ mô hình là 5V, trong đồ án này người thực hiện dùng nguồn cung cấp từ Adapter từ bên ngoài, trên mạch chỉ cần tạo jack cắm để kết nối. Đồ án tốt nghiệp trang 44 Chương 3 : Lý thuyết liên quan 3.4.6 Mạch dao động Cấp nguồn xung clock cho vi điều khiển hoạt động, tần số tụ thạch anh thường dùng từ 12MHz ÷ 24MHz. Thường chọn tần số tụ thạch anh cung cấp là 12MHz, các tụ song song là 33pF. Hình 3.14 : thạch anh Đồ án tốt nghiệp trang 45 Chương 4 : Thiết kế và thi công CHƢƠNG 4 : THIẾT KẾ VÀ THI CÔNG 4.1 Phƣơng án thiết kế Gồm 2 phuơng án thiết kế như sau: Phương án 1: Dùng bộ GSM MODULE SIM300CZ để kết nối với vi điều khiển 89C52: chi phí và giá thành đắt. Thích hợp cho lập trình lệnh AT dễ dàng và đầy đủ tín năng cho lập trình với lệnh AT. Ngoài ra còn có thể phát triển ứng dụng sâu thêm với GPRS, GPS. Phương án 2: Dùng điện thoại di động (Ericssion T28, T39 …) có chức năng giống với GSM MODULE SIM300CZ để kết nối với 89C52. Việc lập trình cho điện thoại di động cũng gần tương tự như GSM MODULE nhưng có hạn chế hơn vì một số loại điện thoại chỉ hỗ trợ lệnh AT ở dạng Mode PDU nên lập trình rất phức tạp. Ngoài ra phần kết nối giữa điện thoại di động với khối vi điều khiển cũng rất phức tạp. Phương án lựa chọn: Chọn phương án 1 vì MODULE SIM300CZ hỗ trợ lập trình lệnh AT ở cả 2 chế độ Mode Text và Mode PDU nên việc lập trình đơn giản hơn nhiều so với điện thoại di động. Mặc dù giá thành khá đắt nhưng vì nó hỗ trợ chế độ Mode Text nên việc lập trình đơn giản hơn nhiều so với dùng điện thoại di động vì vậy nhóm quyết định dùng Module Sim300CZ. Ngoài ra còn có thể phát triển các ứng dụng khác sử dụng GPRS, GPS. Đồ án tốt nghiệp trang 46 Chương 4 : Thiết kế và thi công 4.2 Sơ đồ khối Hình 4.1 : Sơ đồ khối hệ thống 4.2.1 Chức năng từng khối  Khối giao tiếp SMS Có chức năng gửi nhận tin nhắn SMS cho việc điều khiển các thiết bị. Khối này cần 1 thiết bị điện thoại di động và 1 Module Sim300CZ: - Thiết bị điện thoại di động : dành cho người sử dụng (điều khiển). Người sử dụng cần phải đăng kí dịch vụ viễn thông đối với các nhà cung cấp dịch vụ trong nước. - GSM Module Sim300CZ : Module này phải được gắn Sim của nhà cung cấp dịch vụ và cũng cần phải có chức năng như một điện thoại di động để kết nối với vi điều khiển. Cái này được đặt cố định và thường xuyên kết nối với vi điều khiển. Khi người sử dụng nhắn một tin SMS có nội dung là một lệnh yêu cầu điều khiển thiết bị. Ví dụ : DV:ADA:ON, DV:ADA:OFF, PT:ADA:ON, ….. thì Module Sim300CZ sẽ nhận tin nhắn và được xử lí bởi câu lệnh điều khiển được lập trình và được nạp vào vi điều khiển. KHỐI HIỂN THỊ LCD MODULE SIM300CZ VI ĐIỀU KHIỂN KHỐI NGUỒN THIẾT BỊ K H Ố I G IA O T IẾ P S M S KHỐI CÔNG SUẤT Đồ án tốt nghiệp trang 47 Chương 4 : Thiết kế và thi công  Khối xử lý phần cứng Khối xử lí phần cứng là khối trung tâm trong việc xử lí và điều khiển phần cứng. Khối do một vi điều khiển đảm nhận và có nhiệm vụ gửi nhận dữ liệu với Module Sim300CZ một cách liên tục. Khi Module Sim300CZ gửi thông tin điều khiển thì Khối xử lí phần cứng sẽ được lập trình để thực thi. Vi điều khiển có nhiệm vụ giao tiếp với Khối công suất.  Khối công suất Khối này bao gồm 2 BJT C1815 có nhiệm vụ khuếch đại điện áp để kích cho relay. Khối công suất với dòng thấp, đáp ứng tải tiêu tụ công suất thấp và dân dụng như bóng đèn.  Khối thiết bị Chứa các thiết bị cần điều khiển. 4.2.2 Nguyên lý hoạt động Thuê bao gửi tin nhắn điều khiển đến Module Sim300CZ theo cú pháp: *# Trong đó : : 1234 : 99: kiểm tra thiết bị 1: mở tất cả các thiết bị 0: tắt tất cả các thiết bị 00 01: tắt thiết bị 1, tắt thiết bị 2 00 11: tắt thiết bị 1, mở thiết bị 2 10 01: mở thiết bị 1, tắt thiết bị 2 10 11: mở thiết bị 1, mở thiết bị 2 Khi nhận được tin nhắn mới, module sẽ gửi lệnh +CMTI: “SM”, 1 đến vi điều khiển thông qua chân TXD để báo cho vi điều khiển biết có tin nhắn mới. Vi điều khiển nhận được lệnh thông qua chân RXD (P3.0) sẽ gửi lại lệnh AT+CMGR=1 qua chân TXD (P3.1) đến module để đọc nội dung tin nhắn vừa nhận được. Module nhận được lệnh này qua chân RXD sẽ gửi nội dung tin nhắn đến vi điều khiển. Sau khi nhận được nội dung tin nhắn, vi điều khiển tiến hành xử lý tin nhắn và gửi tín hiệu điều khiển ra chân P2.7 (thiết bị 1), P2.5 (thiết bị 2) để điều khiển. Sau Đồ án tốt nghiệp trang 48 Chương 4 : Thiết kế và thi công khi điều khiển, vi điều khiển nhận biết trạng thái thiết bị thông qua chân P2.6 (thiết bị 1), P2.4 (thiết bị 2), và điều khiển module gửi tin nhắn báo kết quả điều khiển bằng lệnh: AT+CMSS=, trong đó: : số chỉ thị kết quả điều khiển thiết bị tương ứng với vị trí tin nhắn lưu trong sim: 3: sai mật khẩu 4: sai cú pháp 5: thiết bị 1 mở, thiết bị 2 mở 6: thiết bị 1 tắt, thiết bị 2 mở 7: thiết bị 1 mở, thiết bị 2 tắt 8: thiết bị 1 mở, thiết bị 2 mở : số điện thoại thuê bao gửi tin nhắn điều khiển thiết bị Cuối cùng, vi điều khiển gửi lệnh điều khiển AT+CMGD=1 cho module để xóa tin nhắn điều khiển. Quá trình trên được lặp lại khi có tin nhắn điều khiển mới đến. Đồ án tốt nghiệp trang 49 Chương 4 : Thiết kế và thi công 4.3 Thiết kế và thi công phần cứng 4.3.1 Sơ đồ nguyên lý và tính toán 4.3.1.1 Module Sim300CZ Hình 4.2 : Sơ đồ capture Module Sim300CZ  Nguyên lý hoạt động Module sim300CZ có chức năng như chiếc điện thoại di động, nó nhận tin nhắn thông qua mạng GSM, sau đó lưu tin nhắn vào Sim rồi chuyển xuống vi Đồ án tốt nghiệp trang 50 Chương 4 : Thiết kế và thi công điều khiển thông qua chân TXD_GSM. Đồng thời, Module sim300CZ cũng nhận dữ liệu từ vi điều khiển qua chân RXD_GSM, gửi tin nhắn trả lời đến thuê bao điều khiển thông qua mạng GSM.  Tính toán thông số Hình 4.3 : Sơ đồ kết nối truyền dữ liệu Mức 1 của vi điều khiển là 5V nhưng với module Sim300CZ hiểu mức 1 là 2.8-3v nên ở chân RXD_GSM dùng cầu phân áp để giảm áp của tín hiệu truyền từ vi điều khiển sang module 4.3.1.2 Khối giao tiếp Hình 4.4 : Sơ đồ capture khối giao tiếp  Nguyên lý hoạt động 2 tín hiệu từ Module sim300CZ RXD_GSM và TXD_GSM đi vào R1OUT và T1IN của Max232 để truyền tín hiệu sang máy tính bằng RS232. Sơ đồ mạch được thiết kế dựa vào datasheet của Max232, tuy nhiên do khôi giao tiếp truyền dữ liệu do đó giá trị tụ có thể thay đổi phù hợp. Đồ án tốt nghiệp trang 51 Chương 4 : Thiết kế và thi công 4.3.1.3 Khối nguồn Hình 4.5 : Sơ đồ capture khối nguồn  Nguyên lý hoạt động Cho nguồn 12 Vdc qua IC ổn áp LM7805 tạo ra nguồn tuyến tính 5V cấp cho vi điều khiển, khối giao tiếp, mạch logic, khối hiển thị LCD. Đồng thời đưa nguồn 12Vdc qua IC LM2576 tạo nguồn xung 4.3V cho khối Module Sim300CZ  Tính toán thông số Mạch được xây dựng dựa trên datasheet của các IC nguồn. Nhưng với LM2576 dùng biến trở 50k để chỉnh mức áp ra theo mong muốn Với L=100uH Vo ut=Vref với Vref=1.23V. Chọn R1= 1KΩ, R2 là biến trở 50KΩ để điều chỉnh mức điện áp mong muốn 4.3V Thiết kế mạch tạo nguồn 5V dựa vào datasheet của IC 7805. Đồ án tốt nghiệp trang 52 Chương 4 : Thiết kế và thi công 4.3.1.4 Khối vi điều khiển Hình 4.5 : Sơ đồ capture khối vi điều khiển  Nguyên lý hoạt động Khối vi điều khiển sử dụng nguồn cung cấp 5VDC, làm nhiệm vụ nhận các tin nhắn điều khiển từ chân RXD và TXD để xử lý nội dung tin nhắn, sau đó thực hiện lệnh điều khiển theo tin nhắn nhận được để điều khiển các thiết bị thông qua Port 2.5 và Port 2.7, đồng thời nhận tín hiệu phản hồi trạng thái thiết bị bằng Port 2.4 và Port 2.6 để truyền đến thuê bao điều khiển thông qua Module Sim300CZ. Do mạch thực hiện truyền dữ liệu nối tiếp với Module Sim300CZ nên chọn thạch anh có giá trị f=11.0592MHz, 2 tụ 33pF dùng ổn định dao động cho thạch anh. Dùng điện trở kéo P0 có giá trị 10K theo datasheet. 4.3.1.5 Khối công suất  Các linh kiện dùng trong khối công suất Triac Triac được cấu tạo gần giống như 2 SCR nối song song ngược chiều có 2 cực G được nối tiếp với nhau để đưa ra ngoài một cực kích duy nhất. Đặc tính của trac có khả năng dẫn điện với cả hai chiều (+,-) nếu có xung kích vào thời điểm đó, tải sẽ được cấp nguồn AC. Đồ án tốt nghiệp trang 53 Chương 4 : Thiết kế và thi công Hình 4.6 : Triac Tuy nhiên để có thể sử dụng triac cần phải kích tín hiệu xoay chiều vào cực G của triac, điều này sẽ gây khó khăn cho việc điều khiển, bởi trong đồ án việc điều khiển thiết bị bằng cách kích các tín hiệu dạng mức và tín hiệu là DC nên không thể kích triac hoạt động như mong muốn. Do đó, nhóm thực hiện sử dụng thêm một linh kiện có chức năng giống triac nhưng được kích bằng tín hiệu DC mà vẫn đáp ứng được yêu cầu hoạt động của thiết bị xoay chiều. Đó là Moc 3020. Moc 3020 Moc 3020 là linh kiện có tính chất và nguyên lý hoạt động giống với các triac thông thường. Tuy nhiên, Moc 3020 có cực G được kích bằng tín hiệu một chiều. Khi ta kích 1 chiều đủ lớn sẽ làm cho led hồng ngoại bên trong dẫn phát đến triac bên trong làm cho triac dẫn, cho phép dòng xoay chiều đi qua nó. Moc 3020 có một số đặt tính như sau : - Áp đặt trên 2 đầu led lớn nhất 1.5v, thường là 1.15v - Dòng kích cho led 10mA - Có thể giao tiếp với vi điều khiển để tương thích điện áp 115V/240V. Tuy nhiên, công suất của Moc 3020 quá nhỏ không đủ để làm nhiệm vụ đóng mở thiết bị có công suất tương đối lớn như các thiết bị điện gia dụng. Do đó trong đồ án, nhóm thực hiện dùng Moc 3020 để làm nhiệm vụ kích cho một triac khác có công suất lớn đủ đáp ứng được yêu cầu của đề tài. Đồ án tốt nghiệp trang 54 Chương 4 : Thiết kế và thi công Hình 4.7 : Sơ đồ capture khối công suất  Nguyên lý hoạt động Bao gồm 2 phần chính : Phần mạch Logic Với ý tưởng thiết kế, nếu đi xa có thể sử dụng SMS để điều khiển thiết bị điện trong nhà, nếu ở nhà ta có thể dùng công tắt để điều khiển bật tắt thiết bị đèn bằng tay. Do đó, nhóm sử dụng IC 74LS136 với 2 cổng EXOR hai ngõ vào. Cổng EXOR thứ nhất : Một ngõ lấy tín hiệu từ vi điều khiển , một ngõ lấy tín hiệu từ công tắt điều khiển bằng tay, ngõ ra cho qua IC 74LS32 cổng OR 2 ngõ vào được nối chung nhằm giữ mức logic từ ngõ ra của IC 74LS136 để truyền qua chân con MOC3020 kích con BT137. Phần kích Do sử dụng cổng EXOR nên chỉ hoặc vi điều khiển xuất mức 1 hoặc công tắt mở thì đèn mới sáng. Vì khi đó, điện áp qua con MOC 3020 kích con BT137 dẫn, nguồn 220V đi qua cung cấp cho đèn, đèn sáng. Ngược lại, nếu công tắt đóng hoặc vi điều khiển xuất mức 0, con MOC3020 không dẫn, không kích con BT137, nguồn 220V không đi qua thiết bị nên thiết bị tắt. IC cách ly quang MOC3020 là IC nhận dòng một chiều đi qua, led sáng, dẫn dòng xoay chiều đi qua để làm chân kích cho con BT137 dẫn. BT137 được bảo vệ bởi mạch Snubber bao gồm 1 điện trở có giá trị chính xác 39Ω (sử dụng điện trở 5 vòng màu) và 1 tụ gốm 0.1uF. Điện trở 100Ω nhằm giảm áp từ mức 1 của 74LS32 qua led của MOC3020. Đồ án tốt nghiệp trang 55 Chương 4 : Thiết kế và thi công 4.3.1.6 Khối hiển thị LCD Hình 4.8 : Sơ đồ capture khối hiển thị LCD Sử dụng biến trở 10K để hạn dòng và điều chỉnh cung cấp nguồn cho LCD và điều chỉnh độ tương phản của LCD. Sử dụng biến trở 5K để điều chỉnh độ sáng của LED sử dụng trong đêm. Đồ án tốt nghiệp trang 56 Chương 4 : Thiết kế và thi công 4.3.2 Mạch Layout 4.3.2.1 Module Sim300CZ, khối nguồn, khối giao tiếp Hình 4.9: Sơ đồ layout Module Sim300CZ 4.3.2.2 Khối vi điều khiển Hình 4.10: Sơ đồ layout khôi vi điều khiển 4.3.2.3 Khối công suất Hình 4.11 : Sơ đồ layout khối công suất 4.3.2.4 Khối hiển thị LCD Đồ án tốt nghiệp trang 57 Chương 4 : Thiết kế và thi công Hình 4.12 : Sơ đồ layout khối hiển thị LCD 4.3.3 Mạch thực tế 4.3.3.1 Module Sim300CZ, khối nguồn, khối giao tiếp Hình 4.13 : Mạch thực tế Module Sim300CZ 4.3.3.2 Khối vi điều khiển Hình 4.14 : Mạch thực tế khối vi điều khiển 4.3.3.3 Khối công suất Đồ án tốt nghiệp trang 58 Chương 4 : Thiết kế và thi công Hình 4.15 : Mạch thực tế khối công suất 4.3.3.4 Khối hiển thị LCD Hình 4.16 : Mạch thực tế khối hiển thị LCD Đồ án tốt nghiệp trang 59 Chương 4 : Thiết kế và thi công 4.4 Thiết kế và thi công phần mềm 4.4.1 Ý tƣởng chƣơng trình Chương trình được thiết kế để vi điều khiển nhận tin nhắn từ module SIM300CZ, sau đó xử lý tin nhắn và tiến hành điều khiển các thiết bị. 4.4.2 Lƣu đồ chƣơng trình chính BEGIN Khởi tạo truyền dữ liệu nối tiếp UART Báo có tin nhắn mới ? Nhận tin nhắn Xử lý tin nhắn và Điều khiển thiết bị Báo cáo kết quả xử lý và điều khiển S Đ Hình 4.17 : Lưu đồ chương trình chính Giải thích lưu đồ : Đầu tiên, khi vừa khởi động hoặc reset, vi điều khiển sẽ tiến hành khởi tạo các thanh ghi truyền dữ liệu để truyền dữ liệu nối tiếp. Sau đó vi điều khiển sẽ thực hiện chờ nhận tin báo có tin nhắn mới từ module SIM300CZ. Nếu tin báo gửi tới là tin báo có tin nhắn mới, vi điều khiển sẽ thực hiện gửi lệnh điều khiển đọc tin nhắn mới từ module. Sau khi nhận tin nhắn từ module, vi điều khiển sẽ tiến hành xử lý nội dung tin nhắn để điều khiển thiết bị. Cuối cùng vi điều khiển tiến hành điều khiển module gửi tin nhắn trả lời báo kết quả điều khiển và kết thúc quá trình điều khiển. Sau khi thực hiện xong quá trình, vi điều khiển quay lại ban đầu tiếp tục chờ có tin nhắn mới. Đồ án tốt nghiệp trang 60 Chương 4 : Thiết kế và thi công 4.4.3 Lƣu đồ chƣơng trình xử lý tin nhắn Xử lý tin nhắn Lấy nội dung tin nhắn và số điện thoại gửi Mật khẩu đúng ? Cú pháp đúng ? Điều khiển thiết bị Báo sai mật khẩu Báo sai cú pháp RET Đ S Đ S Hình 4.18 : Lưu đồ chương trình xử lý tin nhắn Để xử lý tin nhắn, trước tiên vi điều khiển thực hiện tách lấy phần nội dung của tin nhắn và số điện thoại đã gửi tin nhắn tới. Sau đó vi điều khiển sẽ tiến hành phân tích nội dung lệnh điều khiển. Trước tiên là kiểm tra mật khẩu, nếu mật khẩu sai vi điều khiển sẽ thực hiện gửi tin nhắn báo sai mật khẩu cho thuê bao gửi tin nhắn điều khiển. Nếu mật khẩu là đúng, sẽ kiểm tra tiếp cú pháp điều khiển, nếu cú pháp đúng, vi điều khiển sẽ tiến hành điều khiển thiết bị, nếu không sẽ thực hiện gửi tin nhắn báo sai cú pháp cho thuê bao gửi tin nhắn điều khiển. 4.4.4 Lƣu đồ chƣơng trình điều khiển thiết bị Mã điều khi n ngắn ? Điều khiển kiểm tra ? Điều khiển mở/tắt tất cả thiết bị Kiểm tra thiết bịĐiều khiển mở/tắt từng thiết bị Kiểm tra thiết bị Đ S Đ S Điều khiển thiết bị RET Hình 4.19 : Lưu đồ chương trình điều khiển thiết bị Đồ án tốt nghiệp trang 61 Chương 4 : Thiết kế và thi công Để điều khiển thiết bị, trước tiên sẽ phải kiểm tra lệnh điều khiển. Lệnh điều khiển có 2 loại, lệnh điều khiển ngắn và lệnh điều khiển dài. Lệnh điều khiển ngắn là lệnh điều khiển chỉ có 1 ký tự tắt hoặc mở, nếu gặp lệnh này sẽ thực hiện tắt hoặc mở toàn bộ các thiết bị. Lệnh điều khiển dài là lệnh điều khiển thực hiện cho từng thiết bị, khi gặp lệnh này chỉ thực hiện điều khiển cho 1 thiết bị xác định. Vi điều khiển sẽ kiểm tra lệnh điều khiển là ngắn hay dài dựa vào chiều dài của lệnh. Nếu lệnh điều khiển là ngắn, vi điều khiển sẽ tiến hành kiểm tra lệnh là tắt, mở để thực hiện điều khiển cho toàn bộ thiết bị. Nếu lệnh điều khiển là dài, vi điều khiển sẽ kiểm tra từng cụm lệnh (các cụm lệnh cách nhau bằng khoảng trắng), ở mỗi cụm lệnh nếu đúng sẽ thực hiện điều khiển thiết bị tương ứng. Các cụm lệnh sẽ được kiểm tra lần lượt cho đến hết chiều dài lệnh điều khiển. Ở mỗi cụm lệnh, vi điều khiển sẽ tiến hành kiểm tra cụm lệnh đó thực hiện nhiệm vụ gì và thực hiện điều khiển thiết bị theo nhiệm vụ đó. Sau khi thực hiện điều khiển xong cụm lệnh này, vi điều khiển thực hiện tiếp cụm lệnh tiếp theo cho đến khi hết chiều dài lệnh. Sau khi thực hiện xong các lệnh điều khiển, vi điều khiển sẽ tiến hành kiểm tra trạng thái cúa thiết bị và để báo kết quả điều khiển. 4.4.5 Lƣu đồ chƣơng trình nhận dữ liệu NHANDL Có dữ liệu đến ? Nhận ký tự Ký tự kết thúc ? Lưu ký tự Tăng địa chỉ lưu RET Thiết lập bộ nhớ lưu dữ liệu Đ S Đ Đ S Hình 4.20 : Lưu đồ chương trình con nhận dữ liệu Khi có các dữ liệu từ module SIM300CZ gửi qua, chương trình sẽ tiến hành nhận dữ liệu và lưu bộ nhớ RAM nội của vi điều khiển. Đồ án tốt nghiệp trang 62 Chương 4 : Thiết kế và thi công 4.4.6 Lƣu đồ chƣơng trình gửi dữ liệu GUIDL Đang bận gửi dữ liệu ? Gặp ký tự cuối ? Gửi ký tự Tăng lên ký tự tiếp theo RET S Đ Đ S Hình 4.21 : Lưu đồ chương trình con gửi dữ liệu Chương trình sẽ gửi các lệnh điều khiển cũng như dữ liệu từ vi điều khiển đến module SIM300CZ. 4.4.7 Lƣu đồ chƣơng trình lấy địa chỉ LAYDC X : địa chỉ đầu của dữ liệu được nhận về Ký tự đầu số điện thoại ? Lấy địa chỉ đầu lưu số điện thoại Tăng lên đến ký tự tiếp theo Ký tự đầu dữ liệu ? Lấy địa chỉ đầu dữ liệu Tăng lên đến ký tự tiếp theo Địa chỉ cuối dữ liệu ? Lấy địa chỉ cuối dữ liệu RET S Đ S Đ S Đ Hình 4.22 : Lưu đồ chương trình con lấy địa chỉ Khi nhận được nội dung tin nhắn từ module SIM300CZ. Để xử lý điều khiển, vi điều khiển phải xác định các vùng dữ liệu có ích cho mục đích điều khiển, gồm vùng dữ liệu chứa số điện thoại đã gửi tin nhắn điều khiển và vùng nhớ chứa nội dung điều khiển. Chương trình con lấy địa chỉ làm nhiệm vụ lấy các địa chỉ bắt đầu của vùng nhớ lưu số điện thoại, địa chỉ bắt đầu và kết thúc của vùng nhớ lưu nội dung điều khiển. Đồ án tốt nghiệp trang 63 Chương 4 : Thiết kế và thi công 4.4.8 Lƣu đồ chƣơng trình điều khiển thiết bị MOTBI Mở chân điều khiển thiết bị (Set) Thiết bị đã mở ? Tắt chân điều khiển thiết bị (Clear) RET S Đ Hình 4.23: Lưu đồ chương trình con điều khiển mở thiết bị TATTBI Tắt chân điều khiển thiết bị (Clear) Thiết bị đã tắt ? Mở chân điều khiển thiết bị (Set) RET S Đ Hình 4.24 : Lưu đồ chương trình con tắt thiết bị Hai chương trình con này sẽ thực hiện mở và tắt thiết bị khi được yêu cầu. 4.4.9 Lƣu đồ chƣơng trình kiểm tra thiết bị KTRATBI Thiết bị 1 tắt ? Thiết bị 2 tắt ? Thiết bị 1 tắt, thiết bị 2 tắt (KTRATB = 53) Thiết bị 1 tắt, thiết bị 2 mở (KTRATB = 54) Thiết bị 2 tắt ? Thiết bị 1 mở, thiết bị 2 tắt (KTRATB = 55) Thiết bị 1 mở, thiết bị 2 mở (KTRATB = 56) RET Đ Đ Đ SS S Hình 4.25 : Lưu đồ chương trình con kiểm tra thiết bị Đồ án tốt nghiệp trang 64 Chương 4 : Thiết kế và thi công Chương trình sẽ kiểm tra trạng thái thiết bị là mở hay tắt để báo cho vi điều khiển biết. 4.4.10 Lƣu đồ chƣơng trình gửi tin nhắn GUITN Gửi chuỗi “AT+CMSS=” Gửi dấu “,” Gửi kết quả kiểm tra thiết bị (KTRATB) Gửi số điện thoại Gửi ký tự ENTER RET Hình 4.26: Lưu đồ chương trình con gửi tin nhắn Chương trình sẽ gửi mã lệnh AT gửi tin nhắn đến cho module SIM300CZ để module thực hiện gửi tin nhắn cho số điện thoại đã gửi tin nhắn điều khiển đến. 4.4.11 Khởi tạo cho module SIM300CZ Để module SIM300CZ có thể thực hiện tốt chức năng nhận và gửi tin nhắn cũng như giao tiếp với vi điều khiển, ta cũng phải tiến hành cấu hình cho module trước khi sử dụng. Việc khởi tạo module SIM300CZ được tiến hành như sau: Đồ án tốt nghiệp trang 65 Chương 4 : Thiết kế và thi công Bảng 4.1 : Các bước thiết lập cấu hình cho module SIM300CZ TT LỆNH GIẢI THÍCH (1). ATE1 Mở chế độ echo lệnh, phục vụ cho việc hiển thị (2). AT&W Lưu cài đặt (3). AT+CMGF=1 Cài đặt quá trình truyền nhận tin nhắn được thực hiện ở chế độ text (4). AT+CNMI=2,1,0,0,0 Thiết lập báo cho vi điều khiển khi module nhận được tin nhắn mới, khi có tin nhắn mới module sẽ gửi chuỗi lệnh +CMTI:”SM”,1 để báo cho vi điều khiển biết có tin nhắn mới (5). AT+CSAS Lưu cài đặt (6). AT+ CMGW=3sai mat khau Cài đặt tin nhắn trả lời báo các kết quả điều khiển (7). AT+CMGW=4sai cu phap (8). AT+CMGW=5thiet bi 1 tat, thiet bi 2 tat (9). AT+CMGW=6thiet bi 1 tat, thiet bi 2 mo (10). AT+CMGW=7thiet bi 1 mo, thiet bi 2 tat (11). AT+CMGW=8thiet bi 1 mo, thiet bi 2 mo Đồ án tốt nghiệp trang 66 Chương 5 : Kết luận và hướng phát triển đề tài CHƢƠNG 5 : KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 5.1 Kết quả thực hiện Sau hơn 3 tháng thực hiện đề tài, nhóm đã hoàn thành việc thiết kế và thi công mô hình điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS. Hệ thống đã được test thử và chạy rất ổn định.  Về phần cứng: gồm 4 board - Board Module sim300CZ giao tiếp mạng GSM nhận tin nhắn điều khiển và truyền tin nhắn phản hồi. - Board vi điều khiển 89C52 xử lý tin nhắn, xuất tín hiệu điều khiển, nhận biết trạng thái của thiết bị. - Board thiết bị nhận tín hiệu điều khiển từ vi điều khiển bằng mức điện áp để kích triac dẫn nguồn 220V qua thiết bị công suất nhỏ. - Board hiển thị LCD hiển thị các lệnh trong quá trình làm việc của vi điều khiển.  Về phần mềm: - Khởi tạo các thông số ban đầu cho Module sim300CZ bằng cách kết nối với máy tính thông qua cổng COM. - Hoàn thành chương trình cho vi điều khiển với các tính năng sau: + Hệ thống có tính bảo mật cao vì khi điều khiển phải nhập đúng password. + Hệ thống điều khiển được 2 thiết bị điện dân dụng với công suất nhỏ như đèn, quạt… + Có tin nhắn phản hồi sau khi thực hiện lệnh điều khiển. + Có khả năng kiểm tra trạng thái của thiết bị hiện tại bằng lệnh trước khi gửi tin nhắn điều khiển. 5.2 Mô tả hệ thống Hệ thống bao gồm các khối Module SIM300CZ, vi điều khiển, khối công suất được mắc cố định đặt tại địa điểm chứa thiết bị điều khiển. Khi người sử dụng ở xa không thể trực tiếp điều khiển thiết bị, người sử dụng có thể kiểm tra trạng thái hoặc điều khiển thiết bị bằng cách gửi tin nhắn SMS theo cú pháp : *# Đồ án tốt nghiệp trang 67 Chương 5 : Kết luận và hướng phát triển đề tài Trong đó : : 1234 : 99: kiểm tra thiết bị 1: mở tất cả các thiết bị 0: tắt tất cả các thiết bị 00 01: tắt thiết bị 1, tắt thiết bị 2 00 11: tắt thiết bị 1, mở thiết bị 2 10 01: mở thiết bị 1, tắt thiết bị 2 10 11: mở thiết bị 1, mở thiết bị 2 Khi nhận được tin nhắn mới, Module Sim300CZ sẽ gửi lệnh +CMTI: “SM”, 1 đến vi điều khiển thông qua chân TXD để báo cho vi điều khiển biết có tin nhắn mới. Vi điều khiển nhận được lệnh thông qua chân RXD (P3.0) sẽ gửi lại lệnh AT+CMGR=1 qua chân TXD (P3.1) đến module để đọc nội dung tin nhắn vừa nhận được. Module nhận được lệnh này qua chân RXD sẽ gửi nội dung tin nhắn đến vi điều khiển. Sau khi nhận được nội dung tin nhắn, vi điều khiển tiến hành xử lý tin nhắn và gửi tín hiệu điều khiển ra chân P2.7 (thiết bị 1), P2.5 (thiết bị 2) để điều khiển. Sau khi điều khiển, vi điều khiển nhận biết trạng thái thiết bị thông qua chân P2.6 (thiết bị 1), P2.4 (thiết bị 2), và điều khiển module gửi tin nhắn báo kết quả điều khiển bằng lệnh: AT+CMSS=, trong đó: : số chỉ thị kết quả điều khiển thiết bị tương ứng với vị trí tin nhắn lưu trong sim: 3: sai mật khẩu 4: sai cú pháp 5: thiết bị 1 mở, thiết bị 2 mở 6: thiết bị 1 tắt, thiết bị 2 mở 7: thiết bị 1 mở, thiết bị 2 tắt 8: thiết bị 1 mở, thiết bị 2 mở : số điện thoại thuê bao gửi tin nhắn điều khiển thiết bị Cuối cùng, vi điều khiển gửi lệnh điều khiển AT+CMGD=1 cho module để xóa tin nhắn điều khiển. Quá trình trên được lặp lại khi có tin nhắn điều khiển mới đến. 5.3 Ƣu điểm và khuyết điểm của hệ thống  Ưu điểm Đồ án tốt nghiệp trang 68 Chương 5 : Kết luận và hướng phát triển đề tài - Sử dụng mạng viễn thông GSM trong truyền thông mang tính công nghiệp. - Hệ thống hoạt động ở những vị trí khó khăn mà đường dây điện thoại không có, chỉ cần được mạng di động phủ sóng. - Hệ thống có thể sử dụng các loại sim của các nhà cung cấp khác nhau như Viettel, Mobile…. - Phần cứng được thiết kế đơn giản, sử dụng số linh kiên tối thiểu, kết nối chân ra đáp ứng nhu cầu phát triển đề tài sau này. - Hệ thống có thể điều khiển thiết bị công suất nguồn 220V. - Hệ thống được bảo mật bằng password. - Hệ thống có dùng LCD hiện thị quá trình làm việc của vi điều khiển nên dễ dàng phát hiện sai và sữa chữa cho phần mềm - Nếu ở gần thiết bị, có thể điều khiển công tắt được thiết kế cho từng thiết bị trong module mà không cần phải gửi tin nhắn.  Khuyết điểm - Chỉ dừng ở điều khiển được 2 thiết bị công suất. - Password không thay đổi được. - Hệ thống hoạt động ở vùng có phủ sóng điện thoại di động. - Hệ thống được lập trình chỉ điều khiển thiết bị dùng tin nhắn SMS dạng text. - Phải tốn chi phí gửi SMS 5.4 Khả năng ứng dụng thực tế của đề tài Đề tài đáp ứng được những nhu cầu của xã hội: - Có thể nhận tin nhắn điều khiển với số lượng và thời lượng không giới hạn. - Có thể điều khiển, kiểm tra trạng thái thiết bị từ xa thông qua điện thoại di động chỉ với 1 tin nhắn SMS - Khi gần thiết bị, có thể điều khiển bằng tay thông qua công tắt được thiết kế trong hệ thống mà không cần nhắn tin. Với những đặc điểm và tính năng trên, hệ thống có thể trở thành sản phẩm tiêu dùng, đáp ứng nhu cầu xã hội. Đề tài mang tính hiện đại, thực tiễn cao và tính khả thi tốt trong thực tế. 5.5 Hƣớng phát triển Đây là một đề tài khá mới mẻ, nên có nhiều hướng phát triển trong tương lai: - Mở rộng số thiết bị cần điều khiển. - Lập trình có thể thay đổi password để tăng tính bảo mật. - Mở rộng chức năng cảnh báo sự cố và chống trộm cho hệ thống. Phần C PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO Đồ án tốt nghiệp trang 70 Phần 3 : Phụ lục và tài liệu tham khảo PHỤ LỤC I : MÃ NGUỒN CHƢƠNG TRÌNH ;================================ ;GIAO TIEP MODULE SIM 300CZ CO GIAO TIEP LCD ;================================ CHECK BIT 00H DEN BIT P2.7 HTDEN BIT P2.6 QUAT BIT P2.5 HTQUAT BIT P2.4 NHO EQU 21H DCSODT EQU 22H DCDULIEU EQU 23H KYTU1 EQU 24H KYTU2 EQU 25H DCCUOI EQU 26H KTRATB EQU 27H CONTRO EQU 28H TTGUI EQU 29H TNTLOI EQU 2AH KTGUI EQU 2BH KTULF EQU 2CH ;================================ ;MAIN PROGRAM ;================================ ORG 0000H CALL KHOITAOLCD MOV A,#080H CALL MADK CALL DELAY100MS MOV SCON, #01010010B MOV TMOD,#00100000B ;truyen dl mod 1 MOV TH1,#-3 ;Toc do truyen 9600 Baud 9600bps SETB TR1 CLR CHECK X0: MOV CONTRO,#07FH CLR RI Đồ án tốt nghiệp trang 71 Phần 3 : Phụ lục và tài liệu tham khảo MOV A,#01H CALL MADK CALL DELAY100MS MOV A,#080H CALL MADK CALL DELAY100MS MOV KTULF,#2 CALL NHANDL MOV R1,#030H MOV A,@R1 MOV NHO,A CALL HIENTHI L1: INC R1 MOV A,@R1 MOV NHO,A CALL HIENTHI CJNE @R1,#13,L1 CALL DELAY1S MOV DPTR,#CMTI MOV R0,#030H CALL SOSANH JNB CHECK,X0 MOV A,#01H CALL MADK CALL DELAY100MS MOV A,#080H CALL MADK CALL DELAY100MS MOV CONTRO,#07FH MOV DPTR,#CMGR1 MOV TTGUI,#0 CALL GUIDL MOV KTULF,#5 Đồ án tốt nghiệp trang 72 Phần 3 : Phụ lục và tài liệu tham khảo CALL NHANDL CALL LAYDC MOV CONTRO,#07FH MOV R1,DCSODT MOV A,@R1 MOV NHO,A CALL HIENTHI D1: INC R1 MOV A,@R1 MOV NHO,A CALL HIENTHI CJNE @R1,#34,D1 CALL DELAY1S MOV A,#01H CALL MADK CALL DELAY100MS MOV A,#080H CALL MADK CALL DELAY100MS MOV CONTRO,#07FH MOV R1,DCDULIEU D3: MOV A,@R1 CJNE A,#13,D2 JMP TIEP D2: MOV NHO,A CALL HIENTHI INC R1 CJNE R1,#123,D3 MOV R1,#128 JMP D3 TIEP: CALL DELAY1S MOV A,#01H CALL MADK Đồ án tốt nghiệp trang 73 Phần 3 : Phụ lục và tài liệu tham khảo CALL DELAY100MS MOV A,#080H CALL MADK CALL DELAY100MS MOV R0,DCDULIEU MOV DPTR,#MABAOVE CALL SOSANH ; kiem tra ma bao ve cua tin nhan JNB CHECK,LBT MOV DCDULIEU,R0 MOV A,DCCUOI CJNE A,#128,KT KT1: CLR C SUBB A,R0 SUBB A,#5 JMP KT2 KT: JNC KT1 CLR C SUBB A,R0 KT2: CJNE A,#2,DK1 MOV DPTR,#DKTAT CALL SOSANH JNB CHECK,DKA CALL TATDEN CALL TATQUAT JMP X3 DKA: MOV R0,DCDULIEU MOV DPTR,#DKMO CALL SOSANH JNB CHECK,X2 CALL MODEN CALL MOQUAT JMP X3 LBT: JMP X1 Đồ án tốt nghiệp trang 74 Phần 3 : Phụ lục và tài liệu tham khảo DK1: JC DKA MOV R0,DCDULIEU MOV DPTR,#DKKIEMTRA CALL SOSANH JNB CHECK,DK2 CALL KTRATBI JMP X3 DK2: MOV R0,DCDULIEU MOV DPTR,#DKMODEN CALL SOSANH JNB CHECK,DK3 CALL MODEN JMP X4 DK3: MOV R0,DCDULIEU MOV DPTR,#DKTATDEN CALL SOSANH JNB CHECK,DK4 CALL TATDEN JMP X4 DK4: MOV R0,DCDULIEU MOV DPTR,#DKMOQUAT CALL SOSANH JNB CHECK,DK5 CALL MOQUAT JMP X4 DK5: MOV R0,DCDULIEU MOV DPTR,#DKTATQUAT CALL SOSANH JNB CHECK,X2 CALL TATQUAT JMP X4 X1: ;BAO SAI MAT KHAU MOV CONTRO,#07FH Đồ án tốt nghiệp trang 75 Phần 3 : Phụ lục và tài liệu tham khảo MOV TNTLOI,#51 CALL GUITN JMP X5 X2: ;BAO SAI CU PHAP DIEU KHIEN MOV CONTRO,#07FH MOV TNTLOI,#52 CALL GUITN JMP X5 X3: ;BAO KET QUA DIEU KHIEN MOV CONTRO,#07FH CALL KTRATBI MOV TNTLOI,KTRATB CALL GUITN JMP X5 X4: ;KIEM TRA HET MA LENH DIEU KHIEN HAY CHUA? MOV A,DCCUOI MOV DCDULIEU,R0 CLR C SUBB A,R0 CJNE A,#0,DK2 JMP X3 X5: ;MOV CONTRO,#0BFH MOV DPTR,#CMGD1 MOV TTGUI,#0 CALL GUIDL call delay500ms JMP X0 ;===================== ; NHAN DU LIEU ;===================== NHANDL: MOV R1,#0 MOV R0,#30H NH0: JNB RI,$ MOV A,SBUF CJNE A,#0AH,NH1 ;kiem tra co nhan ky tu Line Feed hay ko? CLR RI INC R1 MOV A,R1 Đồ án tốt nghiệp trang 76 Phần 3 : Phụ lục và tài liệu tham khảo CJNE A,KTULF,NH0 JMP NH2 NH1: CJNE R0,#123,NH3 MOV R0,#128 NH3: MOV @R0,A INC R0 CLR RI JMP NH0 NH2: CLR RI MOV DCCUOI,R0 CLR P3.6 RET ;======================== ;GUI DU LIEU ;======================== GUIDL: GUI0: JNB TI,$ MOV A,TTGUI MOVC A,@A+DPTR ;gan dl gui vao thanh ghi A INC TTGUI ;tang de gui ky tu ke tiep CJNE A,#92,GUI1 JMP GUI2 GUI1: CLR TI MOV SBUF,A ;chep dl tu A vao SBUF de gui MOV NHO,A CALL HIENTHI JMP GUI0 GUI2: CLR RI CLR P3.5 RET ;======================== ;GUI KY TU ;======================== GUIKT: JNB TI,$ CLR TI MOV SBUF,KTGUI Đồ án tốt nghiệp trang 77 Phần 3 : Phụ lục và tài liệu tham khảo MOV A,KTGUI MOV NHO,A CALL HIENTHI CLR RI RET ;======================= ;LAY DIA CHI ;======================= LAYDC: MOV R0,#31H LAY0: CJNE R0,#123,LAY4 MOV R0,#128 LAY4: CJNE @R0,#34,LAY2 INC R0 CJNE @R0,#43,LAY0 DEC R0 MOV DCSODT,R0 LAY1: INC R0 JMP LAY0 LAY2: CJNE @R0,#13,LAY1 INC R0 MOV DCDULIEU,R0 LAY3: INC R0 CJNE R0,#123,LAY5 MOV R0,#128 LAY5: CJNE @R0,#13,LAY3 MOV DCCUOI,R0 RET ;============================ ;SO SANH ;============================ SOSANH: MOV KYTU2,#0 SS0: MOV A,KYTU2 MOVC A,@A+DPTR CJNE A,#92,SS3 Đồ án tốt nghiệp trang 78 Phần 3 : Phụ lục và tài liệu tham khảo JMP SS1 SS3: CJNE R0,#123,SS4 MOV R0,#128 SS4: MOV KYTU1,@R0 CJNE A,KYTU1,SS2 INC R0 INC KYTU2 JMP SS0 SS1: SETB CHECK SETB P3.7 RET SS2: CLR CHECK CLR P3.7 RET ;========================== ;DIEU KHIEN THIET BI ;========================== MODEN: SETB DEN CALL DELAY1MS JNB HTDEN,MOD1 RET MOD1: CLR DEN RET ;========================== TATDEN: CLR DEN CALL DELAY1MS JB HTDEN,TATD1 RET TATD1: SETB DEN RET ;========================== MOQUAT: SETB QUAT CALL DELAY10MS Đồ án tốt nghiệp trang 79 Phần 3 : Phụ lục và tài liệu tham khảo JNB HTQUAT,MOQ1 RET MOQ1: CLR QUAT RET ;========================== TATQUAT: CLR QUAT CALL DELAY10MS JB HTQUAT,TATQ1 RET TATQ1: SETB QUAT RET ;========================== ;KIEM TRA THIET BI ;========================== KTRATBI: JNB HTDEN,KTRA1 JMP KTRA3 KTRA1: JB HTQUAT,KTRA2 MOV KTRATB,#53 RET KTRA2: MOV KTRATB,#54 RET KTRA3: JB HTQUAT,KTRA4 MOV KTRATB,#55 RET KTRA4: MOV KTRATB,#56 RET ;========================== ;GUI TIN NHAN TRA LOI ;========================== GUITN: MOV DPTR,#CMSS MOV TTGUI,#0 CALL GUIDL MOV KTGUI,TNTLOI Đồ án tốt nghiệp trang 80 Phần 3 : Phụ lục và tài liệu tham khảo CALL GUIKT MOV KTGUI,#44 ;GUI DAU PHAY "," CALL GUIKT MOV R1,DCSODT MOV KTGUI,@R1 CALL GUIKT TN1: INC R1 MOV KTGUI,@R1 CALL GUIKT CJNE @R1,#34,TN1 MOV KTGUI,#13 ;GUI KY TU ENTER (CARRIAGE RETURN) CALL GUIKT RET ;============================================== CMTI: DB 13,'+CMTI:','\' CMGR1: DB 'AT+CMGR=1',0DH,'\' CMGD1: DB 'AT+CMGD=1',0DH,'\' CMSS: DB 'AT+CMSS=','\' MABAOVE: DB '*1234#','\' DKMO: DB ' 1','\' DKTAT: DB ' 0','\' DKMODEN: DB ' 10','\' DKMOQUAT: DB ' 11','\' DKTATDEN: DB ' 00','\' DKTATQUAT: DB ' 01','\' DKKIEMTRA: DB ' 99','\' COTN: DB 'CO TIN NHAN MOI','\' LAYTN: DB 'NHAN TIN NHAN','\' $INCLUDE (TV_LCD.ASM) $INCLUDE (TV_DELAY.ASM) END Đồ án tốt nghiệp trang 81 Phần 3 : Phụ lục và tài liệu tham khảo PHỤ LỤC II: HƢỚNG DẪN SỬ DỤNG SẢN PHẨM  Nguồn cung cấp toàn bộ hệ thống 220V/50Hz.  Nguồn cung cấp các module được sử dụng thông qua các switch trên board mạch.  Module Sim300CZ sau khi mở nguồn nhấn nút nhấn PWKEY để hoạt động. Module hoạt động bình thường khi LCD hiển thị CALL READY 1 lần. Nếu hiển thị CALL READY liên tục là do Module chưa nhận sim card, cần tháo sim và gắn lại.  Cấu trúc tin nhắn điều khiển: *# - Mật khẩu: 1234 - Lệnh điều khiển 99: kiểm tra thiết bị 1: mở tất cả các thiết bị 0: tắt tất cả các thiết bị 00 01: tắt thiết bị 1, tắt thiết bị 2 00 11: tắt thiết bị 1, mở thiết bị 2 10 01: mở thiết bị 1, tắt thiết bị 2 10 11: mở thiết bị 1, mở thiết bị 2  Tin nhắn báo kết quả có các trường hợp sau: sai mật khẩu sai cú pháp thiết bị 1 mở, thiết bị 2 mở thiết bị 1 tắt, thiết bị 2 mở thiết bị 1 mở, thiết bị 2 tắt thiết bị 1 mở, thiết bị 2 mở Đồ án tốt nghiệp trang 82 Phần 3 : Phụ lục và tài liệu tham khảo TÀI LIỆU THAM KHẢO [1]. Dương Minh Trí, Sơ đồ chân linh kiện, Nhà xuất bản Khoa Học Kỹ Thuật, 1997 [2]. Nguyễn Đình Phú, Giáo trình vi xử lý, ĐH Sư Phạm Kỹ Thuật Tp HCM, 2006 [3]. Phan Hiếu Nhân, Đồ án môn học: “Mô phỏng bàn phím điện thoại di động”, ĐH Sư Phạm Kỹ Thuật Tp HCM, 2009 [4]. Nguyễn Trung Chính, Tập lệnh At của Module Sim300CZ dùng cho SMS, 2009 [5]. Nguyễn Ngọc Khánh, Nguyễn Hiếu Nghĩa, Hệ thống thu thập và xử lý dữ liệu cho ngôi nhà thông minh, ĐH Sư Phạm Kỹ Thuật Tp HCM, 2004 [6]. SIMCom, AT Commands Set, Hardward Design Module Sim300CZ Các trang web tham khảo :

Các file đính kèm theo tài liệu này:

  • pdfThiết kế và thi công hệ thống Điều khiển thiết bị từ xa bằng điện thoại di động dùng SMS.pdf