Lệnh quay số:
ADT<cr>
Ví dụ: quay số đến số thuê bao cần gọi thì ta dùng lệnh: ATD01656185696;<cr>
<cr>: Enter Lệnh nhấc máy: ATA<cr>
Lệnh hủy bỏ cuộc gọi: ATH<cr>
3.3.4 Các lệnh xử lý về SMS
Lệnh xóa tin nhắn: AT+CMGD=<index><cr>
<index>: vị trí ngăn nhớ lưu tin nhắn
Ví dụ: muốn xóa một tin nhắn tại vị trí 1 được lưu trên sim thì ta thực hiện lệnh sau. AT+CMGD=1 <cr> Lệnh thực hiện đựợc thì trả về: Ok Lệnh đọc tin nhắn AT+CMGR=<index> <cr> <index>: vị trí ngăn nhớ lưu tin nhắn
Nếu có tin nhắn sẻ trả về chuỗi: <CR><RF>+CMGR: REC
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 24 DUNG<CR><LF>
<CR><LF>OK<CR><LF>
Lệnh gửi tin nhắn
AT+CMGS=” Số điện thoại” <CR> > nội dung tin nhắn
<Ctrl +Z> Lệnh nghỉ
AT+CFUN
Ví dụ muốn tắt hết chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến sim thì gõ lệnh:
AT+CFUN=0 <cr> OK
Lệnh chuyển từ chế độ nghỉ sang chế độ hoạt động ình thường AT+CFUN
Ví dụ sim đang ở chế độ nghỉ ta muốn chuyển sang chế độ hoạt động bình thường thi gõ lệnh: AT+CFUN=1 <cr> OK Lệnh reset mode ATZ <cr> OK Lệnh tắt chế độ echo ATE0 <cr>
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 25
CHƢƠNG 4
TỔNG QUAN VỀ PIC 16F887 4.1 Sơ lƣợc PIC 16F887
PIC 16F887 thuộc họ vi điều khiển 16Fxxx c các đặt tính sau:
Ngôn ngữ lập trình đơn giản với 35 lệnh c độ dài 14 bit.
Tất cả các câu lệnh thực hiện trong 1 chu kì lệnh ngoại trừ 1 số câu lệnh rẽ nhánh thực hiện trong 2 chu kì lệnh. Chu kì lệnh bằng 4 lần chu kì dao động của thạch anh.
Khả năng ngắt (lên tới 14 nguồn cả ngắt trong và ngắt ngoài).
Ngăn nhớ Stack được chia làm 8 mức.
Truy cập bộ nhớ bằng địa chỉ trực tiếp hoặc gián tiếp.
Dải điện thế hoạt động rộng: 2.0V đến 5.5V.
Nguồn sử dụng 25mA.
Công suất tiêu thụ thấp: <0.6mA với 5V, 4MHz
20A với nguồn 3V, 32 kHz.
Có 3 timer: timer0, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệ trước.Timer1, 16 bit chức năng ộ định thời, bộ đếm với hệ số tỷ lệ trước, kích hoạt chế độ Sleep.Timer2, 8 bit chức năng định thời và bộ đếm với hệ số tỷ lệ trước và sau.
C 2 kênh Capture/ so sánh điện áp (Compare)/điều chế độ rộng xung PWM 10 bit / (CCP).
Có 8 kênh chuyển đổi ADC 10 bit.
Cổng truyền thong nối tiếp SSP với SPI phương thức chủ và I2C (chủ/phụ).Bộ truyền nhận thông tin đồng bộ, dị bộ (USART/SCL) có khả năng phát hiện 9 it địa chỉ.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 26 Trong quá trình thực hiện đồ án, nhóm chúng em chỉ tìm hiểu về các Port I/O của con PIC 16F887 để xuất nhập dữ liệu.
4.2 Sơ đồ chân
Hình 4.1: Sơ đồ chân PIC 16F887
PIC 16F887 có 5 Port I/O:
PortA: có 6 chân(chân 2 đến chân 7)
Chân RA0/AN0(2):
o RA0: xuất nhập số.
o AN0: ngõ vào tương tự kênh 0.
Chân RA1/AN1(3):
o RA1: xuất nhập số.
o AN1: ngõ vào tương tự kênh 1.
Chân RA2/AN2/VREF- /CVREF(4):
o RA2: xuất nhập số.
o AN2: ngõ vào tương tự kênh 2.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 27
o CVREF: điện áp tham chiếu ngõ ra bộ so sánh.
Chân RA3/AN3/VREF+ (5):
o RA3: xuất nhập số.
o AN3: ngõ vào tương tự kênh 3.
o VREF+: ngõ vào điện áp chuẩn bộ ADC
Chân RA4/TOCKI/C1OUT(6):
o RA4: xuất nhập số .
o TOCKI: ngõ vào xung clock bên ngoài của Timer0.
o C1OUT: ngõ ra bộ so sánh 1.
Chân RA5/AN4/ / C2OUT (7):
o RA5:xuất nhập số .
o AN4:ngõ vào tương tự kênh 4.
o : ngõ vào lựa chọn SPI phụ
o C2OUT: ngõ ra bộ so sánh 2.
PortB: có 8 chân(chân 33 đến chân 40)
Chân RB0/INT(33):
o RB0: xuất nhập số.
o INT: ngõ vào nhận tín hiệu ngắt ngoài.
Chân RB1(34) và RB2(35):xuất nhập số.
Chân RB3/PGM(36):
o PGM: Cho phép lập trình điện áp thấp ICSP
Chân RB4(37) và RB5(38):xuất nhập số.
Chân RB6/PGC(39):
o PGC: Mạch gỡ rối và xung clock lập trình ICSP.
Chân RB7/PGD(40):
o PGC: Mạch gỡ rối và dữ liệu lập trình ICSP.
PortC: có 8 chân
Chân RC0/T1OSO/T1CKI(15):
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 28
o T1OSO: ngõ RA bộ dao động Timer1.
o T1CKI: ngõ vào xung clock bên ngoài Timer1.
Chân RC1/T1OSI/CCP2(16):
o RC1: xuất nhập số.
o T1OSI: ngõ vào bộ dao động Timer1.
o CCP2: sử dụng cho khối Capture/Compare/PWM.
Chân RC2/ CCP1(17):
o CCP1: sử dụng cho khối Capture/Compare/PWM.
Chân RC3/SCK/SCL(18):
o RC3: xuất nhập số.
o SCK: sử dụng cho chuẩn giao tiếp SPI.
o SCL: sử dụng cho chuẩn giao tiếp I2C.
Chân RC4/SDI/SDA(23):
o RC4: xuất nhập số.
o SDI: sử dụng cho chuẩn giao tiếp SPI.
o SDA: sử dụng cho chuẩn giao tiếp I2C.
Chân RC5/SDO(24):
o RC5: xuất nhập số.
o SDO: sử dụng cho chuẩn giao tiếp SPI.
Chân RC6/TX/CK(25): o RC6: xuất nhập số. o TX:truyền bất đồng bộ USART. o CK: xung đồng bộ USART. Chân RC7/RX/DT(26): o RC7: xuất nhập số. o RX:nhận bất đồng bộ USART. o TD: dữ liệu đồng bộ USART. PortD: có 8 chân Chân RD0/PSP0(19): o RD0: xuất nhập số.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 29
o PSP0: dữ liệu port tớ song song.
Chân RD1/PSP1(20):
o RD1: xuất nhập số.
o PSP1: dữ liệu port tớ song song.
Chân RD2/PSP2(21), Chân RD3/PSP3(22), Chân RD4/PSP4(27), Chân
RD5/PSP5(28), Chân RD6/PSP6(29), Chân RD7/PSP7(30): chức năng tương tự chân 19, 20.
PortE: có 3 chân
Chân RE0/RD/AN5(8):
o RE0: xuất nhập số.
o RD: điều khiển đọc port tớ song song
o AN5: ngõ vào tương tự kênh 5.
Chân RE1/WR/AN6(9):
o RE1: xuất nhập số.
o WR: điều khiển ghi port tớ song song
o AN6: ngõ vào tương tự kênh 6.
Chân RE2/CS/AN7(10):
o RE2: xuất nhập số.
o CS: lựa chọn điều khiển port tớ song song
o AN7: ngõ vào tương tự kênh 7.
Ngoài ra, một số chức năng của các chân khác trong PIC 16F877A:
Chân OSC1/CLKIN(13) và chân OSC2/CLKOUT(14): kết nối với dao động thạch anh, là ngõ vào/ra của xung clock
Chân /VPP(1):
o : ngõ vào reset tích cực mức thấp.
o VPP: khi lập trình cho PIC thì đ ng vai trò nhận điện áp lập trình.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 30
CHƢƠNG 5
TỔNG QUAN VỀ DHT11 VÀ LCD
5.1 Thông số kỹ thuật và nguyên lý hoạt động của cảm biến nhiệt độ, độ ẩm DHT11
5.1.1. Thông số kỹ thuật
DHT11 có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây. Thông số kỹ thuật: + Đo độ ẩm: 20%-95% + Nhiệt độ: 0-50ºC + Sai số độ ẩm ±5% + Sai số nhiệt độ: ±2ºC Hình 5.1 Cảm biến nhiệt độ, độ ẩm DHT11 5.1.2. Nguyên lý hoạt động: Sơ đồ kết nối vi xử lý:
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 31
Hình 5.2 Sơ đồ nguyên lý DHT11
Nguyên lý hoạt động:
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 ước:
+ Gửi tin hiệu muốn đo (Start) tới DHT11, sau đ DHT11 xác nhận lại.
+ Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.
Bước 1: gửi tín hiệu Start
Hình 5.3 Quá trình giao tiếp
MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms. Trong Code mình để 25ms. Khi đ DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 32 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11. Chân DATA sẽ ở mức thấp 80us sau đ nó được DHT11 kéo nên cao trong 80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi đ hoàn thiện quá trình giao tiếp của MCU với DHT.
Bước 2: đọc giá trị trên DHT11
DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đ : + Byte 1: giá trị phần nguyên của độ ẩm (RH%)
+ Byte 2: giá trị phần thập phân của độ ẩm (RH%) + Byte 3: giá trị phần nguyên của nhiệt độ (TC) + Byte 4 : giá trị phần thập phân của nhiệt độ (TC) + Byte 5 : kiểm tra tổng.
Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.
Đọc dữ liệu:
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.
Bit 0:
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 33
Bit 1 :
Hình 5.5 Dữ liệu bit 1
Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1. Do đ trong lập trình ta bắt sườn lên của chân DATA, sau đ delay 50us. Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1. Cứ như thế ta đọc các bit tiếp theo.
5.2 Giới thiệu LCD Y1602C
LCD YM1602C là LCD hiển thị được 2 hàng mỗi hàng hiển thị được 16 kí tự.
Thông số :
Kích thước hiển thị : 16x2 dòng
Màu hiển hiển thị : đen trắng
Chế độ giao tiếp : 8 hoặc 4 bít
Cỡ chữ hiển thị : 5x7 hoặc 5x10
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 34 Chân
số
Tên Chức năng
1 VSS Chân nối đất cho LCD, khi thiết ta nối chân này với GND của vi điều khiển.
2 VDD Chân cấp nguồn cho LCD, khi thiết kế ta nối chân này với
VCC = 5V của mạch điều khiển.
3 VEE Dùng để điều chỉnh độ tương phản cho LCD.
4 RS Chân chọn thanh ghi (register seclect). Nối chân RS xuống
mức logic ‘0’ (GND) hay ‘1’ (VDD) để chọn thanh ghi. + Mức ‘0’ : Bus DB0-DB7 sẽ nối với thanh ghi lệnh của
LCD (ở chế độ ‘ghi’- write)hoặc nối với bộ đếm địa chỉ
của LCD (ở chế độ ‘đọc’- read).
+ Mức ‘1’ : Bus DB0-DB7 sẽ nối với thanh hgi dữ liệu DR
trong LCD.
5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/S xuống mức logic ‘0’ để LCD hoạt động ở chế độ ghi hoặc nối R/S lên mức logic ‘1’ để LCD hoạt động ở chế độ đọc.
6 E Chân cho phép (Enable). Sau khi các tin hiệu được đặt lên
DB0-DB7. Các lệnh chỉ được chấp nhận khi có một xung cho
phép của chân E.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 35 vào
(chấp nhận) thanh ghi ở bên trong nó khi xuất hiện một xung cạnh xuống (từ cao xuống thấp) của chân tín hiệu E.
+ Ở chế độ đọc : dữ liệu sẽ được LCD xuất ra DB0- DB7
khi phát hiện cạnh lên ở chân E và dữ liệu sẽ được giữ ở
DB0-DB7 cho tới khi nào chân E xuống mức thấp. 7-14 D0-D7 Tám đường của bus dữ liệu dùng để trao đổi thông tin
với
MPU. Có hai chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : dữ liệu được truyền trên cả 8 đường này,
bit MSB với là bit DB7.
+ Chế độ 4 bit : dữ liệu được truyền trên 4 đường DB4 –
DB7, bit MSB với là bit DB7. 15 A Điều khiển bật LCD(lên mức 1)
16 K Nối GND
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 36 LCD 16 Characters x 2 Lines U2 LCD-TC1602A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 GN D VC C VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LED + LED - Sơ đồ chân LCD 16x2 Hình 5.6 Sơ đồ chân LCD 16x2 Hình 5.7 Sơ đồ khối LCD 16x2 Kết nối LCD : Chân VDD lên mức 5V. Chân VSS xuống mức 0V.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 37
Chân RS và E tương ứng RD0 và RD1.
Chân D4→D7 được kết nối tương ứng RD4→RD7.
Chân RW không sử dụng vì chỉ dùng với mục đích ghi, không dùng chế độ đọc
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 38
CHƢƠNG 6
THIẾT KẾ VÀ THI CÔNG MẠCH HỆ THỐNG 6.1 Sơ đồ khối cho hệ thống
Hình 6.1: Sơ đồ khối hệ thống điều khiển
Chức năng từng khối
Khối module SIM900: có chức năng gửi nhận tin nhắn SMS và giao tiếp với website thông qua GPRS. Khối này cần 1 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.Module 900 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 PIC16F887. Cái này được đặt cố định và thường xuyên kết nối với PIC16F887.
Khối xử lý 16F887 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 PIC16F887 đảm nhận và có nhiệm vụ gửi nhận dữ liệu với Module SIM900 một cách liên tục. Khi Module SIM900 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..
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 39
Khối cảm biến nhiệt độ,độ ẩm là khối hiển thị nhiệt độ,độ ẩm môi trường lên LCD.
Khối nguồn là khối cung cấp nguồn ổn định cho toan hệ thống.
6.2 Sơ đồ nguyên lý và tính toán 6.2.1 Nguồn cung cấp cho hệ thống 6.2.1 Nguồn cung cấp cho hệ thống
_Khối nguồn cung cấp cho PIC16F887 và SIM900 sử dụng LM2576ADJ để tạo ra điện áp 4,5V cung cấp cho PIC16F887 và SIM900 hoạt động
_ Dùng các tụ hóa có giá trị khác nhau để lọc điện áp ra, thường chọn các tụ lớn: 1000uF, 100nF,47uF… fb fb 1 2 3 4 5 LM2576ADJ SIL-100-05 C1 1nF C2 1000u D1 1N5408 L1 B82412A3101K000 R3 10k R4 10k C3 1n5 C4 1n5 C5 1000u BR1 KBU4A 1 2 3 DC-IN CONN-SIL3 R6 10k A K D2 LED-YELLOW
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 40
Tính toán giá trị điện trở
Vì điện áp của SIM hoạt động trong khoảng điện áp 3.3V-4.5V, nên ta chọn điện áp cung cấp là 4,5V để mạch hoạt động ình thường. Khi đ , nếu ta chọn R1=1K, thì:
R2 = R1*[(Vout/1.23)-1] = 1*[(4,5/1.23)-1] = 2.7 KΩ _Dùng các điện trở 1K, 470Ω để báo hiệu để nhận biết đã có nguồn.
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 41
6.2.2 Khối module SIM900 6.2.2.1 Ứng dụng thẻ SIM 6.2.2.1 Ứng dụng thẻ SIM
Giao diện SIM tuân theo quy định GSM phase 1 và GSM phase 2+ với tốc độ 64k ps. Điện áp cung cấp 1.8V và 3V.
Hình 6.2 Sơ đồ kết nối khe SIM với SIM900
Pin name Signal Description
C1 SIM_VDD Cung cấp điện áp cho SIM
C2 SIM_RST Reset SIM
C3 SIM_CLK Clock SIM
C5 GND Kết nối GND
C6 VPP Không kết nối
C7 SIM_DATA Dữ liệu I/O SIM
SVTH : Nguyễn Tri Nghĩa - Chiêm Cẩm Hùng Trang 42
6.2.2.2 Nguồn cung cấp SIM900