(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: <CR><LF>> (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 <CR><LF>OK<CR><LF>.
(4) Chuỗi trả về thơng báo kết quả q trình gửi tin nhắn. Chuỗi trả về có định dạng như sau:
<CR><LF>+CMGS: 62<CR><LF> <CR><LF>OK<CR><LF>
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:
<CR><LF>+CMS ERROR: 193<CR><LF> <CR><LF>+CMS ERROR: 515<CR><LF>
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.
1.5. Vi điều khiển Atmega32-16AL1.5.1. Tổng quát Atmega32-16AL1.5.1. Tổng quát Atmega32-16AL1.5.1. Tổng quát Atmega32-16AL 1.5.1. Tổng quát Atmega32-16AL
Atmega32 là vi điều khiển 8 bit dựa trên kiến trúc RISC. Với khả năng thực hiện mỗi lệnh trong vòng một chu kỳ xung clock, Atmega32 có thể đạt được tốc độ 1MIPS trên mỗi MHz (1 triệu lệnh/s/MHz).
Dưới đây là sơ đồ khối của Atmega32
Hình 1.24. Sơ đồ cấu trúc Atmega32
Atmega32 có các đặc điểm sau:
− 32KB bộ nhớ Flash với khả năng đọc trong khi ghi, − 1024 byte bộ nhớ EEPROM,
− 2KB bộ nhớ SRAM,
− 32 thanh ghi chức năng chung, − 32 đường vào ra chung,
như: trình dịch C, macro assemblers, chương trình mơ phỏng/sửa lỗi, kit thử nghiêm, ...
1.5.2. Các chức năng của Atmega32-16AL ứng dụng trong đề tài1. Các cổng vào ra (I/O)1. Các cổng vào ra (I/O) 1. Các cổng vào ra (I/O)
Vi điều khiểnATmega32 có 32 đường vào ra chia làm bốn nhóm 8 bit một. Các đường vào ra này có rất nhiều tính năng và có thể lập trình được. Ở đây ta sẽ xét chúng là các cổng vào ra số. Nếu xét trên mặt này thh các cổng vào ra này là cổng vào ra hai chiều có thể định hướng theo từng bit. Và chứa cả điện trở pull-up (có thể lập trình được). Mặc dù mỗi port có các đặc điểm riêng nhưng khi xét chúng là các cổng vào ra số thì dường như điều khiển vào ra dữ liệu thì hồn tồn như nhau. Chúng ta có thanh ghi và một địa chỉ cổng đối với mỗi cổng, đó là: thanh ghi dữ liệu cổng (PORTA, PORTB, PORTC, PORTD), thanh ghi dữ liệu điều khiển cổng (DDRA, DDRB, DDRC, DDRD) và cuối cùng là địa chỉ chân vào của cổng (PINA, PINB, PINC, PIND).
2. Bộ định thời
Bộ định thời (timer/counter0) là một module định thời/đếm 8 bit, có các đặc điểm sau:
− Bộ đếm một kênh
− Xóa bộ định thời khi trong mode so sánh (tự động nạp)
− PWM
− Tạo tần số
− Bộ đếm sự kiện ngoài − Bộ chia tần 10 bit
− Nguồn ngắt tràn bộ đếm và so sánh Sơ đồ cấu trúc của bộ định thời: