Tải bản đầy đủ (.docx) (35 trang)

THIẾT kế MẠCH ĐỒNG hồ số DÙNG PIC kết hợp đo NHIỆT độ (có code và sơ đồ mạch)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.64 MB, 35 trang )

THIẾT KẾ MẠCH ĐỒNG HỒ SỐ DÙNG
PIC KẾT HỢP ĐO NHIỆT ĐỘ


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ..........................................................................................VII
DANH MỤC CÁC BẢNG BIỂU...................................................................................VIII
DANH MỤC CÁC TỪ VIẾT TẮT...................................................................................IX
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI..................................................................................1
1.1

Mục đích đề tài...........................................................................................................1

1.2

Ứng dụng đề tài..........................................................................................................1

1.3

Yêu cầu đề tài.............................................................................................................1

CHƯƠNG 2. THIẾT KẾ HỆ THỐNG...............................................................................2
2.1

Sơ đồ khối của mạch..................................................................................................2

2.2

Lưu đồ giải thuật........................................................................................................3

CHƯƠNG 3. GIỚI THIỆU LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP...................4


3.1

Vi điều khiển PIC16F877A........................................................................................4

3.2

IC thời gian thực DS1307..........................................................................................5

3.3

LCD 162..................................................................................................................7

3.4

Cảm biến nhiệt độ LM35...........................................................................................9

3.5

Module SIM900A mini..............................................................................................9

3.6

Chuẩn giao tiếp I2C.................................................................................................10

3.7

Chuẩn giao tiếp USART..........................................................................................11

CHƯƠNG 4. NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH.............................................12
4.1


Sơ đồ nguyên lý của mạch.......................................................................................12

4.2

Nguyên lý hoạt động của mạch................................................................................13

4.3

Sơ đồ mạch in..........................................................................................................13

4.4

Hình ảnh mạch trong thực tế....................................................................................14

4.5

Kết quả giao tiếp module SIM900A mini................................................................14

CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................15


5.1

Kết luận....................................................................................................................15

5.2

Ứng dụng và hướng phát triển.................................................................................15


TÀI LIỆU THAM KHẢO.................................................................................................16
PHỤ LỤC.............................................................................................................................17

DANH MỤC CÁC HÌNH VẼ


Hình 2-1: Sơ đồ khối của mạch...................................................................................2
Hình 2-2: Lưu đồ giải thuật.........................................................................................3
Hình 3-1: Kiến trúc Harvard của PIC16F877A..........................................................4
Hình 3-2: Sơ đồ chân vi điều khiển PIC16F877A......................................................4
Hình 3-3: Sơ đồ chân IC DS1307...............................................................................5
Hình 3-4: Hình ảnh thực tế IC DS1307......................................................................6
Hình 3-5: Tổ chức thanh ghi của IC DS1307.............................................................6
Hình 3-6: Sơ đồ chân của LCD 162..........................................................................7
Hình 3-7: Hình ảnh thực tế và sơ đồ chân của LM35.................................................9
Hình 3-8: Sơ đồ chân của module SIM900A mini....................................................10
Hình 4-1: Sơ đồ nguyên lý của mạch........................................................................12
Hình 4-2: Mạch mô phỏng đồng hồ kết hợp đo nhiệt độ..........................................12
Hình 4-3: Sơ đồ mạch in...........................................................................................13
Hình 4-4: Hình ảnh mạch trong thực tế....................................................................14
Hình 4-5: Kết quả nhiệt độ được gửi về điện thoại..................................................14


DANH MỤC CÁC BẢNG BIỂU
Bảng 1: Chức năng các chân IC DS1307....................................................................6
Bảng 2: Bảng chi tiết các thanh ghi của IC DS1307...................................................7
Bảng 3: Chức năng các chân của LCD.......................................................................8
Bảng 4: Chức năng các chân của LM35.....................................................................9
Bảng 5: Chức năng các chân của module SIM900A mini........................................10



DANH MỤC CÁC TỪ VIẾT TẮT
ADC

Analog to Digital Converter.

ARM

Advanced RISC Machine.

CPU

Central Processing Unit.

I2C

InterIntergrated Circuit.

IC

Intergrated Circuit.

LCD

Liquid Crystal Display.

LSB

Least Significant Bit.


MCU

Multipoint Control Unit.

MSB

Most Significant Bit.

PIC

Programmable Intelligent Computer.

PWM

Pulse Width Modulation.

RAM

Random Access Memory.

RTC

Real–Time Clock.

SIM

Subscriber Identity Module.

SMS


Short Massage Services.

TTL

TransistorTransistor Logic.

USART

Universal Synchronous/Asynchronous Receiver/Transmitter.

USB

Universal Serial Bus.

VDC

Votls Direct Current.


Trang 1/30

CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI

1.1 Mục đích đề tài
 Thiết kế và thi công mạch hiển thị thời gian và nhiệt độ môi trường xung
quanh, sau đó gửi kết quả nhiệt độ đo được về điện thoại.
1.2 Ứng dụng đề tài
 Hiện nay, cuộc sống vô cùng vội vã nên vấn đề thời gian luôn được mọi

người quan tâm nên một chiếc đồng hồ là thiết bị luôn gắn liền với mỗi con
người. Với kỹ thuật hiện đại có thể tích hợp nhiều công nghệ lên đồng hồ,
làm cho chức năng của đồng hồ trở nên phong phú không chỉ để xem thời
gian trong ngày. Với những kiến thức đã học và tìm hiểu quan mạng internet
em chọn đề tài đồng hồ số kết hợp đo nhiệt độ hiển thị trên LCD và gửi kết
quả đo nhiệt độ về điện thoại qua module SIM.
1.3 Yêu cầu đề tài
 Sử dụng vi điều khiển PIC16F877A để điều khiển.


Hiển thị thời gian và nhiệt độ trên LCD.



Gửi kết quả đo nhiệt độ về điện thoại qua module SIM.

CHƯƠNG 2.

THIẾT KẾ HỆ THỐNG

1.4 Sơ đồ khối của mạch

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 2/30

Hình 2-1: Sơ đồ khối của mạch.
Chức năng từng khối:



Khối nguồn: sử dụng nguồn một chiều 5VDC làm nhiệm cung cấp nguồn
cho các mạch hoạt động.



Khối điều khiển: sử dụng các nút nhấn để điều chỉnh thời gian.



Khối RTC: sử dụng IC DS1307 để ghi và đọc thời gian.



Khối vi xử lý: sử dụng PIC16F877A làm trung tâm xử lý, lấy dữ liệu từ các
khối khác để xử lý sau đó hiển thị lên LCD 162.



Khối cảm biến: sử dụng cảm biến nhiệt độ LM35 để đo nhiệt độ môi trường.



Khối hiển thị: sử dụng LCD 162 để hiển thị thời gian và nhiệt độ.



Khối giao tiếp: sử dụng Module SIM900A mini để gửi kết quả đo nhiệt độ về
điện thoại.


1.5 Lưu đồ giải thuật

Bắt đầu
Khởi tạo PIC, LCD, LM35,
DS1307 và SIM.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 3/30

Module SIM gửi SMS về
điện thoại

Thu thập dữ liệu từ LM35
và DS1307

Vi xử lí

Cập nhật và hiển thị thời
gian và nhiệt độ

Gửi về SMS

Yêu cầu “KT”
Sai

“ SAI CU PHAP”

Đúng

Gửi nhiệt độ về
điện thoại

Kết thúc
Hình 2-2: Lưu đồ giải thuật.

CHƯƠNG 3.

GIỚI THIỆU LINH KIỆN VÀ CÁC CHUẨN GIAO TIẾP

1.6 Vi điều khiển PIC16F877A[1]
 Vi điều khiển PIC16F877A có tổ chức phần cứng theo kiến trúc Harvard

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 4/30

Hình 3-1: Kiến trúc Harvard của vi điều khiển[1].
 Vi điều khiển PIC16F877A là vi điều khiển thuộc họ PIC16Fxxx có tập lệnh
gồm 35 lệnh, độ dài 14 bit.

Hình 3-2: Sơ đồ chân vi điều khiển PIC16F877A[7].
 Vi điều khiển PIC16F877A gồm có 40 chân và có các chức năng sau:
 5 port xuất nhập (A, B, C, D, E) với tổng cộng 33 chân xuất nhập: dùng
để xuất/nhập dữ liệu.
 3 bộ timer/counter: dùng để định thời hoặc đếm.
 Timer 0: 8 bit.
 Timer 1: 16 bit.
 Timer 2: 8 bit.

 2 bộ input capture/output compare/PWM (CCP1 và CCP2):
 Input capture: đo tần số của một tín hiệu.
Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 5/30

 Output compare: tạo xung dao động.
 PWM: điều chế độ rộng xung.
 Các chuẩn giao tiếp nối tiếp của vi điều khiển PIC16F877A: USART,
PSP, I2C, SPI.
 ADC: bộ chuyển đổi tín hiệu giữa hai dạng tín hiệu analog và số,
PIC16F877A có 8 ngõ vào analog ( RA4:RA0, RE2:RE0).
1.7 IC thời gian thực DS1307[3]
 Có thể đếm thời gian theo định dạng 24h hoặc 12h.
 Có 7 thanh ghi 8 bit chứa thời gian, 1 thanh ghi điều khiển ngõ ra phụ
và 56 thanh ghi trống có chức năng như RAM.
 Được đọc và ghi bằng giao diện nối tiếp I2C.

Hình 3-3: Sơ đồ chân IC DS1307[7].

Hình 3-4: Hình ảnh thực tế IC DS1307[3].
Châ
n
1
2
3
4
5
6

7

Tên

Chức năng

X1
X2
VBAT
GND
SDA
SCL
SQW/OU

Chân kết nối với thạch anh 32,768kHz làm nguồn dao động
cho chip DS1307.
Chân kết nối với nguồn Pin 3V làm nguồn nuôi chip DS1307
Chân kết nối với Mass.
Chân vào dữ liệu của chip khi kết nối đến bus I2C.
Chân vào của xung Clock đồng bộ khi kết nối đến bus I2C.
Chân có thể xuất ra xung vuông, tần số có thể lập trình để thay

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 6/30

8

T

VCC

đổi từ 1Hz, 4kHz, 8kHz, 32kHz.
Chân kết nối với nguồn cung cấp, khoảng 5VDC.
Bảng 1: Chức năng các chân IC DS1307[3].

 Tổ chức các thanh ghi của IC DS1307:

Hình 3-5: Tổ chức các thanh ghi của IC DS1307[5].

Bảng 2: Bảng chi tiết các thanh ghi của DS1307[5].
1.8 LCD 162[3]

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 7/30

Hình 3-6: Sơ đồ chân của LCD 16x2[3].

Châ
n
1
2
3

Tên
VSS
VDD
V0


Chức năng





Chân nối đất của LCD
Chân cấp nguồn LCD
Chân điều chỉnh độ tương phản của LCD
Chân chọn thanh ghi (Register Select). Nối chân RS với
mức “0” (GND) hoặc mức “1” (VCC) để chọn thanh ghi.

4

RS

 Mức “0”: D0-D7 nối với thanh ghi IR của LCD (ở chế độ
ghi – write ) hoặc bộ đếm địa chỉ (ở chế độ đọc - read).
 Mức “1”: D0-D7 nối với thanh ghi dữ liệu DR bên trong
LCD.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 8/30

 Chân chọn chế độ đọc/ghi (Read/Write).
5


R/W

 Mức “0”: ghi.
 Mức “1”: đọc.
 Chân cho phép LCD hoạt động khi có một tín hiệu vào.

6

E

 Chế độ đọc: dữ liệu được xuất ra khi có 1 xung L_to_H.
 Chế độ ghi: dữ liệu được nhận vào khi có 1 xung H_to_ L.
 8 đường bus dữ liệu dùng để trao đổi thông tin với MPU.
 Có 2 chế độ sử dụng:

7-14

 Chế độ 8 bit: dữ liệu được truyền trên cả 8 đường

D0-D7

với MSB là D7.
 Chế độ 4 bit: dữ liệu được truyền trên 4 đường từ

15
16

A
K


D4-D7, với MSB là D7.
 Nguồn dương cho đèn nền.
 Nguồn âm cho đèn nền.
Bảng 3: Chức năng các chân của LCD[3].

1.9 Cảm biến nhiệt độ LM35[2]
 Đơn vị đo nhiệt độ: C.
 Nhiệt độ thay đổi tuyến tính: 10mV/C.
 Dải nhiệt độ đo được của LM35 từ -55C đến 150C tùy thuộc vào điện áp
ngõ ra.

Hình 3-7: Hình ảnh thực tế và sơ đồ chân của LM35[7].
Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 9/30

Chân
1
2
3

Tên
Vcc
Out
GND

Chức năng
Chân nối với nguồn cung cấp có thể từ 4V đến 20V.
Chân Vout cho giá trị ra thay đổi theo nhiệt độ môi trường.

Chân nối đất.
Bảng 4: Chức năng các chân của LM35[2].

1.10 Module SIM900A mini[8]
 Module này sử dụng giao diện TTL, có thể được kết nối trực tiếp với MCU,
ARM, mà không cần thiết bị chuyển đổi, và không sử dụng các liên kết máy
tính như cổng USB, RS232, RS485 và liên kết nối tiếp khác, module sẽ bị
hỏng.

Hình 3-8: Sơ đồ chân của module SIM900A mini[6].
Chân
1
2
3
4
5
6
7
8

Tên
VCC
DTR
TX
RX
Speaker
Mircophone

Chức năng
Chân nối vời nguồn cung cấp 5V.

Chân UART DTR.
Chân truyền UART TX.
Chân nhận UART RX.
Chân phát âm thanh.
Chận nhận âm thanh (phải gắn thêm Micro từ GND vào

RESET
GND

chân này mới thu được tiếng).
Chân khởi động lại module.
Chân nối đất

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 10/30

Bảng 5: Chức năng các chân của Module SIM900A mini[6].
1.11 Chuẩn giao tiếp I2C[2]
 Giao thức I2C là một giao thức gồm 2 chế độ: Master và Slave. Mỗi I2C bus có
2 tín hiệu là: SCL (tín hiệu tạo xung clock) và SDA (tín hiệu dữ liệu).
 Với vi điều khiển PIC16F877A, I2C sử dụng 2 chân:
 Chân 18 (RC3/SCK/SCL): để truyền dẫn xung clock.
 Chân 23 (RC4/SDI/SDA): để truyền dẫn dữ liệu.
 Địa chỉ truyền đi sẽ gồm các bit địa chỉ và 1 bit R/W (đọc hoặc ghi) đối tượng
cần truy xuất dữ liệu.
 I2C có nhiều chế độ hoạt động, gồm:
 Master mode và Firmware Control Master mode.
 Slave mode 7 bit địa chỉ và slave mode 7 bit địa chỉ ngắt khi phát hiện bit

Start và bit Stop.
 Slave mode 10 bit địa chỉ và slave mode 10 bit địa chỉ ngắt khi phát hiện bit
Start và bit Stop.
 SDL và SDA luôn được kéo lên lên nguồn bằng một điện trở kéo lên, tùy vào
khoảng cách truyền nhận và thường khoảng cách này là nhỏ hơn 1m nên ta chọn
giá trị điện trở kéo lên là 4.7kΩ, khoảng cách càng xa thì giá trị điện trở kéo lên
càng nhỏ.
1.12 Chuẩn giao tiếp USART[2]
 USART là chuẩn giao tiếp nối tiếp, thường là một tích hợp được sử dụng trong
việc truyền dẫn dữ liệu. Để bắt đầu cho việc truyền dữ liệu bằng USART, một
Start bit được gửi đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là
Stop bit.
 Các thông số cơ bản trong truyền nhận USART:
 Baund rate: khoảng thời gian dành cho 1 bit truyền.
 Frame: khung truyền quy định về số bit trong mỗi lần truyền.
 Start bit: là bit đầu tiên được truyền trong 1 Frame.
 Data: dữ liệu cần truyền. Bit LSB được truyền trước sau đó đến bit MSB.
 Parity bit: kiểm tra dữ liệu truyền có đúng không.
 Stop bit: là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 11/30

CHƯƠNG 4.
1.13

NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH


Sơ đồ nguyên lý của mạch

Hình 4-1 Sơ đồ nguyên lý của mạch.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 12/30

Hình 4-2: Mạch mô phỏng đồng hồ kết hợp đo nhiệt độ.
1.14 Nguyên lý hoạt động của mạch
 Mạch sử dụng vi xử lý PIC16F877A làm trung tâm xử lý. Khi cấp nguồn
5VDC vào mạch các linh kiện sẽ được khởi tạo, sau đó vi xử lí PIC sẽ đọc
thời gian từ IC DS1307 và cảm biến nhiệt độ LM35 sẽ đo nhiệt độ môi
trường, vi xử lý sẽ đọc nhiệt độ qua bộ ADC sau đó sẽ hiển thị ra màn hình
LCD 162.
 Đồng thời khi vi xử lý PIC và các linh kiện được khởi tạo module SIM sẽ gởi
một SMS về điện thoại với nội dụng “Xin Chao!” để xác nhận module SIM
đã kết nối với điện thoại. Nếu muốn kiểm tra nhiệt độ ta phải gửi một SMS
với nội dung “KT” đến module SIM sau đó module SIM sẽ trả về điện thoại
kết quả nhiệt độ. Nếu gửi SMS với nội dung khác nội dung “KT” module
SIM sẽ không trả về kết quả nhiệt độ mà sẽ nhận được một SMS với nội
dung “SAI CU PHAP”.
 Để điều chỉnh thời gian:
 Nhấn nút K1 để chọn vị trí (giờ, phút, giây) cần chỉnh thời gian.
 Nhấn nút K2 để tăng giá trị thời gian.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ



Trang 13/30

 Nhấn nút K3 để giảm giá trị thời gian.
 Nhấn nút K4 để trở về màn hình LCD hiển thị thời gian đã chỉnh.
1.15

Sơ đồ mạch in

Hình 4-3: Sơ đồ mạch in.

1.16

Hình ảnh mạch trong thực tế

Hình 4-4: Hình ảnh mạch trong thực tế.
1.17

Kết quả giao tiếp module SIM900A mini

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 14/30

Hình 4-5: Kết quả nhiệt độ gửi về điện thoại.

CHƯƠNG 5.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.


1.18 Kết luận.
Mạch hiển thị được giờ, phút, giây đúng thời gian thực theo định dang hh:mm:ss ở
chế độ 24h. Mạch đã đo và hiển thị được nhiệt độ môi trường và gửi đúng kết quả
nhiệt độ về điện thoại khi có yêu câu kiểm tra.
 Ưu điểm:
 Mạch nhỏ gọn có cấu tạo đơn giản.
 Mạch dễ dàng sử dụng có thể điều chỉnh thời gian theo ý muốn.
 Thời gian và nhiệt độ trên LCD nên dễ dàng quan sát.
 Có thể kiểm tra nhiệt độ khi có nhu cầu.
 Nhược điểm:
 Cảm biến nhiệt độ dễ bị ảnh hưởng bởi nhiễu.
 Gia công còn chưa chắn chắc nên dễ hỏng.
1.19 Ứng dụng và hướng phát triển.
 Ứng dụng:

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 15/30

 Có thể làm đồng hồ treo tường cho các gia đình.
 Thiết bị giám sát nhiệt độ trong môi trường.
 Hướng phát triển:
 Có thể tích hợp thêm nhiều chức năng ngoài chức năng đo nhiệt độ
vào mạch đồng hồ như đo bước chân, đo nhịp tim, đo độ ẩm,… ngoài
ra có thể hiển thị thêm ngày tháng năm vào đồng hồ.
 Ngoài giao tiếp module SIM có thể sử dụng các giao tiếp khác để gửi
kết qua đo nhiệt độ về điện thoại như WiFi, Bluetooth,… Với các tính
năng như trên, có thể tạo ra một chiếc đồng hồ thông minh nhỏ gọn có
thể đeo tay giúp ta quan sát thời gian và thâm chí là sức khỏe.

TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Giáo trình vi điều khiển PIC16F877A.
[2] codientu.org.
[3] hshop.vn.
[4] picvietnam.com.
[5] dientuchiase.com.
[6] machungdung.com/sim900a-mini-2/.
Tiếng Anh:
[7] datasheets360.com.
[8] microcontrollerslab.com/wireless-temperature-sensor-using-gsmmicrocontroller/.

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 16/30

PHỤ LỤC
#include <16F877a.h>
#include <def_877a.h>// khai bao thu vien PIC.
#device *=16 adc=10
#include <string.h>
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,
NOLVP, NOCPD, NOWRT //khai bao cau hinh cho PIC.
#use delay(clock=20000000)// dung xung clock 20MHz.
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use i2c(master,fast,sda = pin_c4,scl = pin_c3)
#include <lcd_lib_4bit.c>
#define ACK


// file giao tiep LCD

1

#define NO_ACK 0
#define k1 RA2
#define k2 RA3
#define k3 RA4
#define k4 RA5
#define PHONE_NUM "0906417724"//CHO THAY DOI SO DT
unsigned char str[20],str1[20],str2[10],str3[25];
char ch; int flag_sms = 0;
int i,is,isti,ngat,idex,idex1,index,index1,kt;
int32 read,temp,temp1,temp2;
int nd;
int8 low,high,c_g,dv_g,c_p,dv_p,c_h,dv_h,thu,c_d,dv_d,c_t,dv_t,c_n,dv_n;
unsigned char RTC_ARR[7]; // Buffer for second,minute,.....,year

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


Trang 17/30

void convert_bcd_lcd(int8 g,int8 p, int8 h, int8 th);
void convert_so_lcd(int8 x);
void ReadRTC(unsigned char * buff);
void WriteRTC(unsigned char * buff);
void chinh_gio();
/*==========================================*/
#INT_RDA

void Receive_isr()
{
ch = getc();
if(isti==1) //cho phep nhan khi da khoi tao thanh cong
{
if(ch==10 && index ==0) is=1; //bat dau cho phep nhan chuoi
if(ch==10 && index>0) {idex=index; ngat=1; isti = 2; }
MOT CHUOI

//KHI KET THUC

if(ch!=10 && ch!=13 && is == 1) { str[index] = ch; index++; }
}
if(isti==2) //cho phep nhan khi da khoi tao thanh cong
{
if(ch==10 && index1 ==0) is=1; //bat dau cho phep nhan chuoi
if(ch==10 && index1>0) {idex1=index1; ngat=2; isti = 0; }
THUC MOT CHUOI

//KHI KET

if(ch!=10 && ch!=13 && is == 1) { str1[index1] = ch; index1++; }
}
}
/*==========================================*/
void send_sms()

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ



Trang 18/30

{
putc('A'); putc('T'); putc('+'); putc('C'); putc('M'); putc('G'); putc('S'); putc('=');
putc(34);
// printf("AT+CMGS="); putc(34);
printf(PHONE_NUM);
putc(34); putc(13); delay_ms(1000);
for(i=0;i<11;i++)
{
putc(str3[i]);
}
putc(26); putc(13);
delay_ms(2000);
}
/*==========================================*/
int kiemtra()
{
int j,k;
for(j=0;j{
if(str2[0]==str[j])
{
for(k=0;k{
if(str2[k] != str[j+k]) break;
}
if(k==strlen(str2)) { idex=0; index = 0; return 1; }

Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ



Trang 19/30

}
}
idex=0; index = 0; return 0;
}
/*==========================================*/
int kiemtra1()
{
int j,k;
for(j=0;j{
if(str2[0]==str1[j])
{
for(k=0;k{
if(str2[k] != str1[j+k]) break;
}
if(k==strlen(str2)) { return 1; }
}
}
return 0;
}
/*==========================================*/
void hienthi()
{
LCD_putcmd(0x80);
Printf(LCD_putchar,"Time: ");


Thiết kế mạch đồng hồ số dùng PIC kết hợp đo nhiệt độ


×