báo cáo Đồ Án tkll

16
ĐẠI HC QUC GIA TP.HCHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HC KTHUẬT MÁY TÍNH ---------------o0o--------------- ĐỒ ÁN THIẾT KLUẬN LÝ GỬI VÀ NHẬN TIN NHẮN TRÊN MODULE SIM900 SDNG MCU89 ĐỂ ĐIỀU KHIN SINH VIÊN THỰC HIN: 1. VŨ ĐÌNH QUY 50902175 2. NGUYN THANH SƠN 50902279 3. TRẦN LINH TÂM 50902358 4. LÊ THANH TÂN 50902369 TP. HCHÍ MINH, THÁNG 5 NĂM 2012

Upload: binh-pham-vu

Post on 30-Dec-2015

452 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Báo cáo Đồ Án TKLL

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC – KỸ THUẬT MÁY TÍNH

---------------o0o---------------

ĐỒ ÁN THIẾT KẾ LUẬN LÝ

GỬI VÀ NHẬN TIN NHẮN TRÊN MODULE SIM900

SỬ DỤNG MCU89 ĐỂ ĐIỀU KHIỂN

SINH VIÊN THỰC HIỆN:

1. VŨ ĐÌNH QUY 50902175

2. NGUYỄN THANH SƠN 50902279

3. TRẦN LINH TÂM 50902358

4. LÊ THANH TÂN 50902369

TP. HỒ CHÍ MINH, THÁNG 5 NĂM 2012

Page 2: Báo cáo Đồ Án TKLL

MỤC LỤC

I. Giới thiệu về module Sim900 ........................................................................................................

1. Giới thiệu về module Sim900 (nói phần mạch layout luôn nha ông - chụp hình luôn) ................

2. Nguyên lý hoạt động Sim900 (nói nguyên lý truyền nhận và cách sử dụng board khởi động

board và cách nhận tín hiệu qua backlight nha ) ...............................................................................

II. Thiết kế chi tiết chương trình ........................................................................................................

1. Hoạt động của chương trình: ....................................................................................................

a) Gửi tin nhắn ..........................................................................................................................

b) Nhận tin nhắn .......................................................................................................................

c) Đọc tin nhắn..........................................................................................................................

d) Xoá tin nhắn ..........................................................................................................................

2. Mô tả các group file trong chương trình ....................................................................................

a) main.c ...................................................................................................................................

b) Button.c ................................................................................................................................

c) Timer.c ..................................................................................................................................

d) Uart.c ....................................................................................................................................

e) LCD.c .....................................................................................................................................

III. Hướng dẫn sử dụng chương trình .............................................................................................

1. Gửi tin nhắn ..............................................................................................................................

2. Đọc tin nhắn vừa mới đến .........................................................................................................

3. Đọc tin nhắn đã nhận trong hộp Inbox ......................................................................................

4. Đọc tin nhắn đã gửi trong hộp Outbox ......................................................................................

5. Xoá 1 tin nhắn nào đó ...............................................................................................................

Page 3: Báo cáo Đồ Án TKLL

I. Giới thiệu về Module Sim900:

Figure 1: Sim900

Sim900 là được xem như là một chiếc điện thoại với các chức năng từ cơ bản như:

nghe gọi, nhắn tin cho đến GPRS …

Giao tiếp vật lý trong ứng dụng điện thoại của SIM900 là 60 chân, nó cung cấp tất cả

các giao diện vật lý giữa module Sim và bo mạch của khách hàng:

Có Serial port và Debug port giúp dễ dàng hơn trong việc phát triển ứng dụng.

Một kênh audio bao gồm Input của Microphone và Ouput của Speaker.

Có thể dễ dàng được cấu hình bằng lệnh AT qua cổng giao tiếp nối tiếp.

Giao tiếp với simcard giống như điện thoại di động.

SIM900 hỗ trợ giao thức TCP/IP, rất hữu ích cho việc truyền dữ liệu trên Internet.

SIM900 được thiết kế với công nghệ tiết kiệm năng lượng vì vậy mức tiêu thụ chỉ ở mức

1.5mA ở trong chế độ SLEEP.

Để hiện thực việc nhắn tin qua sim900 thì chỉ cần Serial port của sim900 để gửi, nhận

các AT command .

Để tiện cho việc làm mạch thì nhóm sử dụng module SIM900 GSM/GPRS Header

Board (Gold-PCB).

Page 4: Báo cáo Đồ Án TKLL

Figure 2: SIM900 GSM/GPRS Header Board (Gold-PCB).

1. Phần cứng của module sim900:

1.1 Mạch nguồn :

Sim900 đòi hỏi nguồn khá khắt khe. Cụ thể, nguồn cung cấp cho SIM900 là nguồn DC

3,4 – 4,5V. Dòng điện cung cấp phải lớn hơn hoặc bằng 2A. Trong quá trình khởi động

SIM900, áp sẽ bị sụt áp. Nếu dòng cung cấp không đủ, điện áp sẽ bị sụt xuống dưới mức yêu

cầu và SIM900 không thể khởi động được.

Nếu điện áp lớn hơn 4.5V thì sim900 sẽ bị cháy.

Figure 3: Mạch nguồn sử dụng chip LM2596

1.2 Giao tiếp với sim card :

Module sim900 hổ trợ 2 loại SIM Card: 1.8V và 3V. Sim900 sẽ tự xác định loại sim

nào và cấp nguồn.

Nhóm sử dụng loại sim 6 chân.

Page 5: Báo cáo Đồ Án TKLL

Figure 4: module simcard

Figure 5: Pin description

1.3 Kết nối với vi điều khiển:

Figure 6: Kết nối qua serial port

Page 6: Báo cáo Đồ Án TKLL

Cổng giao tiếp nối tiếp cung cấp các tốc độ truyền dữ liệu sau: 300, 1200, 2400, 4800,

9600, 19200, 38400, 57600, 115200. Tốc độ giao tiếp mặc định là 115200.

Có bảy đường truyền kết nối, nhóm chỉ sử dụng hai đường là RXD và TXD.

1.4 Đèn thông tin trạng thái của sim900.

Để kiểm tra trạng thái kết nối của sim900 với mạng thì dung đèn netlight

Figure 7: Netlight

Bảng trạng thái của đèn Netlight

Trạng thái Chức năng của GSM/GPRS

Off GSM không hoạt động

64ms On/ 800ms Off GSM không tìm thấy mạng

64ms On/ 3000ms Off GSM đang kết nối mạng

64ms On/ 300ms Off Đang kết nối GPRS

1.5 Giao tiếp với sim900 qua AT conmand:

Việc điều khiển SIM900 được thực hiện thông qua việc truyền các lệnh AT (các lệnh này

thường bắt đầu bằng “AT”, dùng để điều khiển các thiết bị tương tác với mạng .

Page 7: Báo cáo Đồ Án TKLL

Ví dụ:

Lệnh AT để gửi một tin nhắn :

AT+CMGS=”+84908556993”

>Test <Ctrl+Z>

Lệnh AT để lấy danh sách tin nhắn:

AT+CMGL=”ALL”

Lệnh AT để đọc tin nhắn:

AT+GMGR = 1

Lệnh AT để xoá tin nhắn:

AT+CMGD=1

II. Thiết kế chi tiết chương trình:

1. Cấu trúc chương trình:

Chương trình gồm 3 mode thực hiện các chế độ gửi nhận tin nhắn, lưu tin

nhắn trong hộp thư đến hộp thư đi và xoá tin nhắn.

Soạn tin nhắn

Hộp thư đi Hộp thư đến

MENU

Page 8: Báo cáo Đồ Án TKLL

Trong mỗi mode sẽ thực hiện các chức năng riêng lẻ:

Mode soạn tin nhắn:

Mode hộp thư đến:

Mode hộp thư đi:

2. Hoạt động của chương trình:

Chương trình mô phỏng gồm:

1. Module Sim900 dùng để truyền nhận tin nhắn qua GSM.

2. MCU 89V51RD2 để điều khiển Module Sim900.

3. LCD để hiển thị kết quả ra màn hình.

4. Năm phím nhấn button để thao tác với MCU.

Chương trình sẽ hoạt động như sau:

Khi khởi động chương trình, chương trình sẽ được bắt đầu trạng thái MENU

và ở chế độ gửi tin nhắn. Nhấn phím NEXT để chuyển sang chế độ khác, và

các chế độ được chuyển đổi theo nguyên lý xoay vòng. Nếu LCD đang hiển

thị ở chế độ nào, ta nhấn phím OK thì sẽ vào và tương tác trên chế độ đó.

a) Gửi tin nhắn:

Ở chế độ gửi tin nhắn, ta nhấn phím OK để vào viết tin nhắn.

Trong quá trình viết tin nhắn, các phím bấm sẽ có chức năng như sau:

Viết tin nhắn Nhập số điện thoại Gửi tin nhắn đi

Xem danh sách tin nhắn trong hộp thư

Đọc tin nhắn bất kì Có thể xoá tin nhắn

Xem danh sách tin nhắn trong hộp thư

Đọc nội dung tin nhắn bất kì

Có thể xoá tin nhắn

Page 9: Báo cáo Đồ Án TKLL

Phím OK: thể hiện đã viết xong tin nhắn (kể cả tin nhắn trống)

và chuyển sang nhập số điện thoại muốn gửi tin nhắn.

Phím NEXT: để di chuyển con trỏ sang vị trí phải trong quá

trình viết.

Phím BACK: Để xoá kí tự phía trước (phòng quá trình viết sai),

nếu không còn kí tự nào để xoá thì sẽ chuyển ra danh sách

MENU.

Phím 1: Nhập kí tự là số từ 0-9. Trong quá trình nhập, con trỏ

sẽ nháy tại chỗ khoảng 1s để thay đổi kí tự. Nếu không thay đổi

nữa thì sau 1s kí tự hiện thời sẽ được chọn và con trỏ nhảy sang

vị trí tiếp theo.

Phím 2: Nhập kí tự đặc biệt. Ví dụ: .,!?$/…

Phím 3-5: Nhập kí tự bảng chữ cái Alphabet.

Sau khi nhập xong nội dung tin nhắn cần gửi. Ta ấn OK. Lúc này

chương trình yêu cầu nhập vào số điện thoại muốn gửi. Các phím chức

năng sẽ như sau:

Phím OK: Ấn để gửi tin nhắn với số điện thoại tương ứng. Điều

kiện để nhấn được phím OK là phải nhập số điện thoại tối thiểu

3 số.

Phím NEXT: để di chuyển con trỏ sang vị trí phải trong quá

trình viết.

Phím BACK: Để xoá kí tự phía trước (phòng quá trình viết sai),

nếu không còn kí tự nào để xoá thì sẽ chuyển ra mục viết tin

nhắn.

Phím 1-5: Nhập kí tự là số từ 0-9.

b) Nhận tin nhắn:

Khi có tin nhắn đến, thông báo có tin nhắn sẽ hiện ra, hỏi là có đọc tin

nhắn hay không? Các phím chức năng sẽ như sau:

Phím OK: Ấn để đọc tin nhắn đến.

Phím BACK: Để huỷ đọc tin nhắn và tiếp tục công việc hiện

thời.

Các phím còn lại không làm gì trong trường hợp này.

Page 10: Báo cáo Đồ Án TKLL

c) Đọc tin nhắn trong hộp thư:

Khi vào hộp thư để đọc tin nhắn. Nếu hộp thư trống thì sẽ hiển thị

Empty, lúc này chỉ có phím BACK được enable để quay lại danh mục

MENU.

Trường hợp còn lại. Các phím chức năng sẽ như sau:

Phím NEXT: Để chuyển đến tin nhắn tiếp theo trong danh sách

tin nhắn của hộp thư.

Phím OK: Ấn để đọc tin nhắn đang được chọn.

Phím BACK: Để quay lại MENU.

Phím 1 sẽ dùng để xoá tin nhắn được chọn.

d) Xoá tin nhắn:

Khi ấn phím 1 vào tin nhắn được chọn trong hộp thư. Thông báo hiện

lên có xoá tin nhắn hay không. Lúc này các phím chức năng sẽ như

sau:

Phím OK: Đồng ý xoá tin nhắn.

Phím BACK: Huỷ xoá tin nhắn và tiếp tục công việc hiện tại.

Các phím còn lại sẽ disable.

3. Mô tả các group file trong chương trình:

a) Main.c

File này dùng để chạy chương trình chính. Khởi tạo các hàm InitTimer,

và InitUart.

b) Timer.c

Các chức năng khi timer được ngắt:

Timer0: Dùng để ngắt hiển thị LCD. Cứ 0.4s sẽ hiển thị trạng

thái LCD 1 lần.

Timer1: Dùng để quét phím, cứ 0.01s sẽ quét 1 lần.

Timer2: dùng để ngắt UART trong quá trình truyền nhận dữ

liệu

c) Button.c

Page 11: Báo cáo Đồ Án TKLL

Chứa các hàm thực hiện các chức năng cho từng phím nhấn trong từng

mode tương ứng.

Hàm getKey() để xem phím nào được nhấn. Hàm này thực hiện

chống rung phím. Đọc dữ liệu 3 lần. Nếu giống nhau thì chọn.

Hàm ProcessKey() và các hàm Button() để hiện thực các chức

năng khi một phím được nhấn.

d) Uart.c

Chứa các hàm để dùng để giao tiếp trực tiếp giữa MCU và Module

Sim900.

Hàm send_mess(): để gửi tin nhắn đi.

Hàm check_list_mess(): để lấy danh sách tin nhắn về.

Hàm load_mess(): dùng để lấy nội dung 1 tin nhắn.

e) LCD.c

Dùng để hiển thị các chế độ và quá trình hiện thực của chương trình để

tiện theo dõi.

Page 12: Báo cáo Đồ Án TKLL

III. Mô phỏng Hướng dẫn sử dụng chương trình:

1. Gửi tin nhắn:

Bấm OK ở giao diện New Message.

Tiếp theo sẽ viết tin nhắn vào phần text.

Page 13: Báo cáo Đồ Án TKLL

Tiếp đến sẽ nhập số điện thoại cầnSau khi gửi sẽ hiên thông báo cho bạn biết

trong 0.5s.

2. Đọc tin nhắn vừa mới đến:

Page 14: Báo cáo Đồ Án TKLL

3. Đọc tin nhắn đã nhận trong hộp Inbox:

Trường hợp không có tin nhắn trong hộp thư.

Page 15: Báo cáo Đồ Án TKLL

Trường hợp có 5 tin nhắn trong hộp thư và tin nhắn được chọn đang ở số 3.

4. Đọc tin nhắn đã gửi trong hộp Outbox:

Page 16: Báo cáo Đồ Án TKLL

5. Xoá 1 tin nhắn nào đó: