MỤC LỤC
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).
Nhưng kết quả nghiên cứu chỉ đang ở mức điều khiển dùng hồng ngo ại, dùng đường dây điện công nghiệp, dùng đường dây điện tho ại cố định, còn điều khiển thiết bị bằng SMS dùng Module Sim300CZ thì chỉ đang ở mức nghiên cứu, chưa đưa ra sản phẩm cụ thể. Tuy nhiên, ứng dụng về wireless đã có để tài nghiên cứu “Điều khiển thiết bị từ xa qua tin nhắn SMS bằng máy tính” của tác giả Nguyễn Trọng Kiên và Phạm Văn Nam, sinh viên trường ĐH Sư Phạm Kỹ Thuật năm 2008. Trong đề tài này, hai tác giả đã sử dụng yếu tố chính là máy tính giao tiếp với điện thoại bằng dây cáp USB Modem để điều khiển các thiết bị điện, điện tử trong nhà như điều khiển, giám sát và cho hiển thị được hình ảnh thông qua camera và các tính năng khác.
Nhưng qua tìm hiểu và nghiên cứu, nhóm nhận thấy đề tài có thể được phát triển theo cách khắc phục những thiếu sót trên đề tài này như: hệ thống trên chỉ ứng dụng cho những địa điểm, vị trí nào có lắp đặt máy tính hay có dùng laptop rất cồng kềnh, phức tạp; máy tính phải được mở suốt 24/24 rất hao phí. Hầu hết các nghiên cứu đều là nghiên cứu tự phát c ủa cá nhân những người hay nhóm người muốn tìm hiểu về công nghệ này, vẫn chưa phải là một hoạt động nghiên cứu mang tính chuyên nghiệp để có thể đưa vào ứng dụng. Dùng mạng điện thoại di động của các nhà cung cấp dịch vụ như Viettel, Mobiphone, Vinaphone… để gửi tin nhắn SMS điều khiển các thiết bị và có thể nhận dữ liệu đáp ứng lại từ các thiết bị cho biết tình trạng hoạt động ON/OFF c ủa các thiết bị.
Phương pháp thực nghiệm: từ những ý tưởng và kiến thức của nhóm, kết hợp sự hướng dẫn của giáo viên, nhóm đã lắp ráp thử nghiệm nhiều dạng mạch khác nhau để từ đó chọn lọc những mạch điện tối ưu.
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. 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. 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.
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. 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. Đặ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.
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. 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ự.
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. 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. 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.
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. 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.
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.
<số điện thoại>: 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.
Để 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. 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.
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. 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.
Ở 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.
Để 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. 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.
Để 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. AT+CNMI=2,1,0,0,0<CR> 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.
DKA: MOV R0,DCDULIEU MOV DPTR,#DKMO CALL SOSANH JNB CHECK,X2 CALL MODEN CALL MOQUAT JMP X3. MOVC A,@A+DPTR ;gan dl gui vao thanh ghi A INC TTGUI ;tang de gui ky tu ke tiep.