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
97 trang | 
Chia sẻ: lvcdongnoi | Lượt xem: 6706 | Lượt tải: 2 
              
            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 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