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.Ø
97 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 6402 | Lượt tải: 1
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:
- 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.pdf