lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ
TRƯỜNG BÁCH KHOA
KHOA
ĐIỆN TỬ VIỄN THÔNG
BỘ MÔN KỸ THUẬT MÁYNH
BÁO CÁO ĐỒ ÁN
KỸ THUẬT VI XỬ LÝ – CT141
ĐỀ TÀI
THIẾT
BỊ
CẢNH BÁO CHÁY
TÍCH HỢP
CẢNH BÁO
TRỘM
SỬ
DỤNG CẢM BIẾN NHIỆT VÀ CẢM BIẾN CHUYÊN
ĐỘNG
Hiển thị báo động qua LCD và còi+led cảnh báo
)
SINH VIÊN THỰC HIỆN:
GIẢNG VIÊN HƯỚNG DẪN:
Chau Vong Vi Chéch B2113276
Chau Phol La B2113255
Nguyễn Thanh Hiền B2104026
Huỳnh Minh Tiến B2113270
THẦY TRẦN HỮU DANH
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
I. Giới thiệu đề tài:
Thiết bị cảnh báo trộm tích hợp cảnh báo cháy mạch được thiết kế có nhiệm
vụ phát hiện và báo động khi có chuyển động của con người hay sự cháy nhằm cảnh
báo kịp thời đến chúng ta trong trường hợp khẩn cấp để bảo đảm an toàn tài sản
tính mạng con người tránh những thiệt hại do cháy nổ, trộm cắp gây ra.
Riêng nhóm chúng em sẽ nghiêng cứu và tạo ra thiết bị cảnh báo cháy tích hợp báo
trộm đơn giản với bộ vi điều khiển MSP430G2553 có sử dụng cảm biến nhiệt độ và
cảm biến chuyển động và nhiều linh kiện điện tử khác (LCD, còi hú, led,…) bằng
cách vận dụng các kiến thức đã học từ môn Vi Xử Lý.
1. Sơ đồ khối của hệ thống:
2. Nguyên lý hoạt động
Thiết bị của nhóm chúng em có 2 chức năng hoạt động lần lượt với nhau, trong
đó:
Chức năng cảnh báo có người (trộm):
- Phát hiện bức xạ thân nhiệt của người qua cảm biến pir HC SR-501 - Khi cơ
thể người (kẻ trộm xâm nhập) di chuyển trong khu vực phát hiện của cảm
biến chuyển động (góc bắt 120 độ và khoảng cách bắt tối đa 7m) thì cảm
biến sẽ phát hiện bức xạ thân nhiệt. Khi đó, thiết bị sẽ phát tín hiệu âm thanh
báo động, nhấp nháy đèn led đồng thời nhiệt độ thu thập được và dòng chữ
“PHÁT HIỆN NGƯỜI” lần lượt được hiển thị lên hai hàng của LCD.
Chức năng cảnh báo cháy:
- Thu thập nhiệt độ bên ngoài thông qua cảm biến LM35.
Ngưỡng nhiệt độ cảnh báo: 37°C, có thể đặt ngưỡng nhiệt độ cảnh báo
ban đầu thông qua hai nút nhấn có trên thiết bị. Nếu nhiệt độ thu thập
được lớn hơn nhiệt độ cảnh báo thì thiết bị sẽ nhấp nháy đèn liên tục và
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
còi báo động sẽ kêu lên đồng thời nhiệt độ thu thập được và dòng chữ
“NHIỆT ĐỘ QUÁ CAO” lần lượt được hiển thị lên hai hàng LCD.
3. Phạm vi và giới hạn của đề tài:
Phạm vi hoạt động của thiết bị:
- Thiết bị chỉ cảnh báo cháy khi phát hiện nhiệt độ đo được từ môi
trường lớn hơn ngưỡng đã đặt trước đó, không thể cảnh báo cháy từ
các nguyên nhân khác như rò rỉ khí gas, chập mạch dây điện,… dẫn
tới cháy.
- Thiết bị chỉ cảnh báo trộm khi phát hiện bức xạ thân nhiệt chuyển
động(>32
0
C) từ bất kỳ ai cũng sẽ báo, không thể phân biệt người
nhà, kẻ lạ, miễn có bước vào vùng cảm biến.
Giới hạn của thiết bị:
- Thiết bị chỉ hoạt động được ở môi trường thông thường, thiết bị
không có chức năng kháng nước.
- Không gian và thời gian sử dụng lý tưởng:
Nhà kho chứa đồ dùng có giá trị và dễ xảy cháy.
Phòng khách, đặt ngay cửa chính vào ban đêm khi không có
người,…
4. Phương pháp thực hiện:
Có nhiều cách để thực hiện đề tài nhưng nhóm em sẽ thực hiện bằng
cách vận dụng các kiến thức lập trình vi điều khiển MSP430G2553 để
xây dựng hệ thống này.
Phương pháp thực hiện cho đề tài của nhóm bao gồm:
- Xác định được mục tiêu đề ra, đặt từng trường hợp có thể xảy ra:
mạch phải hoạt động được và có đủ 2 chức năng chính là báo
cháy và báo trộm.
- Phân công từng nhiệm vụ cụ thể cho từng thành viên trong nhóm.
- Lựa chọn các linh kiện phải phù hợp với đề tài, có tính ổn định
cao, tiết kiệm phí, tiết kiệm năng lượng, dễ dàng tháo lắp:
Chọn cảm biến nhiệt độ LM35 vì tiết kiệm năng lượng, ổn
định, dễ lắp đặt.
Chọn cảm biến chuyển động pir hc sr-501 có thể điều
chỉnh các giá trị trên cảm biến, giá thành rẻ, dễ dàng sử
dụng.
Chọn các loại linh kiện điện tử bổ trợ khác một cách tiết
kiệm, ổn định và tối ưu nhất.
- Thực hiện thử mạch trên môi trường mô phỏng, nếu chạy ổn
định thì chuẩn bị tiến hành giai đoạn lắp ráp.
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
- Kiểm tra phần cứng có hoạt động ổn định không? Sau đó mới
thực hiện lắp ráp mạch trên thực tế và nạp chương trình. Ứng
dụng hổ trợ thực hiện mô phỏng: Proteus v8.
Ứng dụng hổ trợ biên dịch chương trình: IAR v7.1
Ngôn ngữ lập trình căn bản: C
II. Thiết kế sơ đồ mạch điện của hệ thống và giải thuật điều khiển:
1. Lựa chọn linh kiện cho thiết kế:
Lựa chọn linh kiện:
- Bộ chuyển đổi điện áp: 9v-5v-3.3v, công tắc on/off thiết bị.
- 1 Kit launchPad MSP430G2553.
- 1 PIR SENSOR HC SR-501 có ngã ra mức logic cao.
- 1 cảm biến nhiệt độ LM35 có ngã ra là điện thế ứng với mỗi giá
trị nhiệt độ.
- 1 transistor BJT 2SC1815.
- 2 điện trở 4.7k ohm, 1 điện trở 2.2k ohm, 1 điện trở 220 ohm.
- 2 nút nhấn button.
1
biến trở 5k ohm.
PIR SENSOR HC SR-501
LM35 SENSOR
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
- 1 LCD 16x2, 1 LED GREEN, 1 Còi.
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
Kit LaunchPad MSP430G2553
2. Thiết kế sơ đồ mạch điện của hệ
thống:
3. Xác định ngõ vào/ra của hệ thống:
Ngõ vào:
- P1.0: nối với ngõ ra của cảm biến HC SR-501.
- P1.2,P1.5: lần lượt nối với ngã ra của 2 nút nhấn .
- P1.6: nối với ngõ ra của cảm biến LM35.
Ngõ ra:
- P1.4: phát tín hiệu ra cho led báo động.
- P1.7: phát tín hiệu ra cho còi báo động.
- P2.0,2.1,2.2,2.3,2.4,2.5: truyền dữ liệu cho LCD 16x2.
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
4. Xây dựng giải thuật cho hệ thống:
Lưu đồ giải thuật:
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
Chương trình nạp cho kit MSP430G2553:
#include "msp430g2553.h"
#include "intrinsics.h"
#include "string.h"
#include "stdio.h"
#include "lcd.h"
unsigned long nhietdo;
int nhietdonguong=37;
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
int cothannhiet=300;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
BCSCTL1=CALBC1_1MHZ;//Hieu chinh chon tan so dao dong noi
DCOCTL=CALDCO_1MHZ;//Dao dong noi la 1MHz
P1DIR=0x90;//khai bao ngo ra la port1 bit4 va bit7
P1DIR&=~0x01;//khai bao ngo vao la port1 bit0
//Khoi tao ngat ngoai
P1IE=(BIT2+BIT5);//cho phep ngat tai port1 bit2 va bit5
P1IES=(BIT2+BIT5);//bat dau ngat
P1IFG&=~(BIT2+BIT5);//xoa co ngat
//khoi tao man hinh LCD
lcd_init();
lcd_clear();
//khoi tao ADC10, gia tri bien doi duoc luu tai ADC10MEM
ADC10CTL0=SREF_1+ADC10SHT_2+REFON+ADC10ON+ADC10IE;//dien the
tham chieu noi 1.5volt
//SREF_1 de chon nguon ap duong khac AVcc; bat REFON; bat ADC; bat ngat ADC.
ADC10CTL1=INCH_6;//lua chon kenh ngo vao ADC la A6
ADC10AE0|=0x40;//kenh ADC duoc thiet lap loai bo chuc nang GPIO va tiet kiem
nang luong
//khoi tao timer
CCTL0 = CCIE;//cho phep ngat timer
CCR0 = 62500;//gia tri thuc te cua CCR0 de timer delay = 1giay
TACTL = TASSEL_2 + MC_1 + ID_3;//SMCLK, chia 8, dem len
_BIS_SR(GIE);//co su dung ISR tiet kiem nang luong
//---chuong trinh khoi dong thiet bi--int
dem=0;
for(dem=0;dem<=100;dem=dem+6)
{ lcd_gotoxy(0,0);
lcd_puts("DANG KHOI
DONG"); lcd_gotoxy(0,1);
lcd_puts("VUI LONG DOI");
lcd_gotoxy(13,1); lcd_3n(dem);
__delay_cycles(50);
}
while(1)
{
nhietdo=(unsigned long)(ADC10MEM*1.5*100)/1023;
ADC10CTL0|=ENC+ADC10SC;//cho phep bien doi va bat dau bien doi ADC
__bis_SR_register(CPUOFF + GIE);//bat dau che do tiet kiem nang luong
lcd_clear();//xoa man hinh lcd_gotoxy(0,0); lcd_puts("NHIET DO:");
lcd_gotoxy(10,0); lcd_3n(nhietdo);
lcd_gotoxy(13,0);
lcd_putc(223);
lcd_gotoxy(14,0);
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
lcd_puts("C");
__delay_cycles(500000);
if((P1IN&0x01)) //khi cam bien than nhiet duoc tac dong
{
cothannhiet=0;
}
if(nhietdo>nhietdonguong) //so sanh nhiet do do duoc tu cam bien va nguong
{
lcd_gotoxy(0,1);
lcd_puts("CANH BAO CHAY!");
P1OUT=(BIT7+BIT4);
__delay_cycles(50000);
P1OUT&=~(BIT7+BIT4);
lcd_clear();
__delay_cycles(50000);
}
if(nhietdo>cothannhiet) //ham vong lap vo han canh bao khi cam bien than nhiet duoc
tac dong { lcd_gotoxy(0,1);
lcd_puts("PHAT HIEN NGUOI!");
P1OUT=(BIT7+BIT4);
__delay_cycles(50000);
P1OUT&=~(BIT7+BIT4);
lcd_clear();
__delay_cycles(50000);
}
}}
#pragma vector=TIMER0_A0_VECTOR //chuong trinh con phuc vu ngat timerA
__interrupt void Timer_A (void)
{
__no_operation();
}
#pragma vector=PORT1_VECTOR //chuong trinh con phuc vu ngat ngoai port1
__interrupt void msp430(void)
{
if(P1IFG&BIT2)
{ nhietdonguong++; lcd_clear();
lcd_gotoxy(0,0); lcd_puts("NHIET
DO NGUONG:");
lcd_gotoxy(10,1);
lcd_3n(nhietdonguong);
lcd_gotoxy(13,1);
lcd_putc(223);
lcd_gotoxy(14,1);
lcd_puts("C");
__delay_cycles(800000);
lcd_clear();
P1IFG&=~BIT2;
}
if(P1IFG&BIT5)
{ nhietdonguong--
; lcd_clear();
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
lcd_gotoxy(0,0);
lcd_puts("NHIET DO NGUONG:");
lcd_gotoxy(10,1);
lcd_3n(nhietdonguong);
lcd_gotoxy(13,1);
lcd_putc(223);
lcd_gotoxy(14,1);
lcd_puts("C");
__delay_cycles(800000);
lcd_clear();
P1IFG&=~BIT5;
}}
#pragma vector=ADC10_VECTOR //chuong trinh con phuc vu ngat ADC
__interrupt void ADC10_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF); //dua msp430 thoat khoi che do tiet kiem
nang luong
}
//-------------------------------------------------
HET-----------------------------------------------
III. Đánh giá kết quả và hướng phát triển:
1. Kết quả:
- Hệ thống hoạt động đúng theo mục tiêu đề ra ban đầu.
2. Đánh giá:
- Nối mạch bằng phương pháp hàn dây nên còn chưa đẹp.
3. Hướng phát triển:
- Có thể phát triển thêm bộ phận chữa cháy thông minh dập đám cháy tại chỗ,
phát triển thêm bộ phận thông báo cháy-trộm qua điện thoại sử dụng module
sim.
- Có thể phân biệt được người thường với kẻ đột nhập.
- Nâng cấp lên còi báo động có công suất lớn hơn.
4.Mô hình thiết bị thực tế:
lOMoARcPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
Tài liệu tham khảo:
Giáo trình “Vi điều khiển MSP430 “ của TS.LƯƠNG VINH QUỐC DANH và
ThS. TRẦN HỮU DANH.

Preview text:

lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ TRƯỜNG BÁCH KHOA
KHOA ĐIỆN TỬ VIỄN THÔNG
BỘ MÔN KỸ THUẬT MÁY TÍNH BÁO CÁO ĐỒ ÁN
KỸ THUẬT VI XỬ LÝ – CT141 ĐỀ TÀI
THIẾT BỊ CẢNH BÁO CHÁY TÍCH HỢP CẢNH BÁO TRỘM
SỬ DỤNG CẢM BIẾN NHIỆT VÀ CẢM BIẾN CHUYÊN ĐỘNG (
Hiển thị báo động qua LCD và còi+led cảnh báo )
SINH VIÊN THỰC HIỆN:
GIẢNG VIÊN HƯỚNG DẪN:
Chau Vong Vi Chéch B2113276 Chau Phol La B2113255
Nguyễn Thanh Hiền B2104026
THẦY TRẦN HỮU DANH
Huỳnh Minh Tiến B2113270 lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
I. Giới thiệu đề tài:
Thiết bị cảnh báo trộm tích hợp cảnh báo cháy mạch được thiết kế có nhiệm
vụ phát hiện và báo động khi có chuyển động của con người hay sự cháy nhằm cảnh
báo kịp thời đến chúng ta trong trường hợp khẩn cấp để bảo đảm an toàn tài sản và
tính mạng con người tránh những thiệt hại do cháy nổ, trộm cắp gây ra.
Riêng nhóm chúng em sẽ nghiêng cứu và tạo ra thiết bị cảnh báo cháy tích hợp báo
trộm đơn giản với bộ vi điều khiển MSP430G2553 có sử dụng cảm biến nhiệt độ và
cảm biến chuyển động và nhiều linh kiện điện tử khác (LCD, còi hú, led,…) bằng
cách vận dụng các kiến thức đã học từ môn Vi Xử Lý.
1. Sơ đồ khối của hệ thống:
2. Nguyên lý hoạt động
Thiết bị của nhóm chúng em có 2 chức năng hoạt động lần lượt với nhau, trong đó:
Chức năng cảnh báo có người (trộm):
- Phát hiện bức xạ thân nhiệt của người qua cảm biến pir HC SR-501 - Khi cơ
thể người (kẻ trộm xâm nhập) di chuyển trong khu vực phát hiện của cảm
biến chuyển động (góc bắt 120 độ và khoảng cách bắt tối đa 7m) thì cảm
biến sẽ phát hiện bức xạ thân nhiệt. Khi đó, thiết bị sẽ phát tín hiệu âm thanh
báo động, nhấp nháy đèn led đồng thời nhiệt độ thu thập được và dòng chữ
“PHÁT HIỆN NGƯỜI” lần lượt được hiển thị lên hai hàng của LCD.
Chức năng cảnh báo cháy:
- Thu thập nhiệt độ bên ngoài thông qua cảm biến LM35.
• Ngưỡng nhiệt độ cảnh báo: 37°C, có thể đặt ngưỡng nhiệt độ cảnh báo
ban đầu thông qua hai nút nhấn có trên thiết bị. Nếu nhiệt độ thu thập
được lớn hơn nhiệt độ cảnh báo thì thiết bị sẽ nhấp nháy đèn liên tục và lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
còi báo động sẽ kêu lên đồng thời nhiệt độ thu thập được và dòng chữ
“NHIỆT ĐỘ QUÁ CAO” lần lượt được hiển thị lên hai hàng LCD.
3. Phạm vi và giới hạn của đề tài:
Phạm vi hoạt động của thiết bị:
- Thiết bị chỉ cảnh báo cháy khi phát hiện nhiệt độ đo được từ môi
trường lớn hơn ngưỡng đã đặt trước đó, không thể cảnh báo cháy từ
các nguyên nhân khác như rò rỉ khí gas, chập mạch dây điện,… dẫn tới cháy.
- Thiết bị chỉ cảnh báo trộm khi phát hiện bức xạ thân nhiệt chuyển
động(>32 0 C) từ bất kỳ ai cũng sẽ báo, không thể phân biệt người
nhà, kẻ lạ, miễn có bước vào vùng cảm biến.
Giới hạn của thiết bị:
- Thiết bị chỉ hoạt động được ở môi trường thông thường, thiết bị
không có chức năng kháng nước.
- Không gian và thời gian sử dụng lý tưởng:
Nhà kho chứa đồ dùng có giá trị và dễ xảy cháy.
Phòng khách, đặt ngay cửa chính vào ban đêm khi không có người,…
4. Phương pháp thực hiện:
• Có nhiều cách để thực hiện đề tài nhưng nhóm em sẽ thực hiện bằng
cách vận dụng các kiến thức lập trình vi điều khiển MSP430G2553 để
xây dựng hệ thống này.
• Phương pháp thực hiện cho đề tài của nhóm bao gồm:
- Xác định được mục tiêu đề ra, đặt từng trường hợp có thể xảy ra:
mạch phải hoạt động được và có đủ 2 chức năng chính là báo cháy và báo trộm.
- Phân công từng nhiệm vụ cụ thể cho từng thành viên trong nhóm.
- Lựa chọn các linh kiện phải phù hợp với đề tài, có tính ổn định
cao, tiết kiệm phí, tiết kiệm năng lượng, dễ dàng tháo lắp:
Chọn cảm biến nhiệt độ LM35 vì tiết kiệm năng lượng, ổn định, dễ lắp đặt.
Chọn cảm biến chuyển động pir hc sr-501 có thể điều
chỉnh các giá trị trên cảm biến, giá thành rẻ, dễ dàng sử dụng.
Chọn các loại linh kiện điện tử bổ trợ khác một cách tiết
kiệm, ổn định và tối ưu nhất.
- Thực hiện thử mạch trên môi trường mô phỏng, nếu chạy ổn
định thì chuẩn bị tiến hành giai đoạn lắp ráp. lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
- Kiểm tra phần cứng có hoạt động ổn định không? Sau đó mới
thực hiện lắp ráp mạch trên thực tế và nạp chương trình. Ứng
dụng hổ trợ thực hiện mô phỏng: Proteus v8.
• Ứng dụng hổ trợ biên dịch chương trình: IAR v7.1
• Ngôn ngữ lập trình căn bản: C
II. Thiết kế sơ đồ mạch điện của hệ thống và giải thuật điều khiển:
1. Lựa chọn linh kiện cho thiết kế: Lựa chọn linh kiện:
- Bộ chuyển đổi điện áp: 9v-5v-3.3v, công tắc on/off thiết bị.
- 1 Kit launchPad MSP430G2553.
- 1 PIR SENSOR HC SR-501 có ngã ra mức logic cao.
- 1 cảm biến nhiệt độ LM35 có ngã ra là điện thế ứng với mỗi giá trị nhiệt độ. - 1 transistor BJT 2SC1815.
- 2 điện trở 4.7k ohm, 1 điện trở 2.2k ohm, 1 điện trở 220 ohm. - 2 nút nhấn button. 1 biến trở 5k ohm. LM35 SENSOR PIR SENSOR HC SR-501 lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
- 1 LCD 16x2, 1 LED GREEN, 1 Còi. lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA Kit LaunchPad MSP430G2553
2. Thiết kế sơ đồ mạch điện của hệ thống:
3. Xác định ngõ vào/ra của hệ thống: Ngõ vào:
- P1.0: nối với ngõ ra của cảm biến HC SR-501.
- P1.2,P1.5: lần lượt nối với ngã ra của 2 nút nhấn .
- P1.6: nối với ngõ ra của cảm biến LM35. Ngõ ra:
- P1.4: phát tín hiệu ra cho led báo động.
- P1.7: phát tín hiệu ra cho còi báo động.
- P2.0,2.1,2.2,2.3,2.4,2.5: truyền dữ liệu cho LCD 16x2. lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
4. Xây dựng giải thuật cho hệ thống: Lưu đồ giải thuật: lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
Chương trình nạp cho kit MSP430G2553: #include "msp430g2553.h" #include "intrinsics.h" #include "string.h" #include "stdio.h" #include "lcd.h" unsigned long nhietdo; int nhietdonguong=37; lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA int cothannhiet=300; void main(void) {
WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
BCSCTL1=CALBC1_1MHZ;//Hieu chinh chon tan so dao dong noi
DCOCTL=CALDCO_1MHZ;//Dao dong noi la 1MHz
P1DIR=0x90;//khai bao ngo ra la port1 bit4 va bit7
P1DIR&=~0x01;//khai bao ngo vao la port1 bit0 //Khoi tao ngat ngoai
P1IE=(BIT2+BIT5);//cho phep ngat tai port1 bit2 va bit5
P1IES=(BIT2+BIT5);//bat dau ngat
P1IFG&=~(BIT2+BIT5);//xoa co ngat //khoi tao man hinh LCD lcd_init(); lcd_clear();
//khoi tao ADC10, gia tri bien doi duoc luu tai ADC10MEM
ADC10CTL0=SREF_1+ADC10SHT_2+REFON+ADC10ON+ADC10IE;//dien the tham chieu noi 1.5volt
//SREF_1 de chon nguon ap duong khac AVcc; bat REFON; bat ADC; bat ngat ADC.
ADC10CTL1=INCH_6;//lua chon kenh ngo vao ADC la A6
ADC10AE0|=0x40;//kenh ADC duoc thiet lap loai bo chuc nang GPIO va tiet kiem nang luong //khoi tao timer
CCTL0 = CCIE;//cho phep ngat timer
CCR0 = 62500;//gia tri thuc te cua CCR0 de timer delay = 1giay
TACTL = TASSEL_2 + MC_1 + ID_3;//SMCLK, chia 8, dem len
_BIS_SR(GIE);//co su dung ISR tiet kiem nang luong
//---chuong trinh khoi dong thiet bi--int dem=0;
for(dem=0;dem<=100;dem=dem+6) { lcd_gotoxy(0,0); lcd_puts("DANG KHOI DONG"); lcd_gotoxy(0,1); lcd_puts("VUI LONG DOI");
lcd_gotoxy(13,1); lcd_3n(dem); __delay_cycles(50); } while(1) {
nhietdo=(unsigned long)(ADC10MEM*1.5*100)/1023;
ADC10CTL0|=ENC+ADC10SC;//cho phep bien doi va bat dau bien doi ADC
__bis_SR_register(CPUOFF + GIE);//bat dau che do tiet kiem nang luong
lcd_clear();//xoa man hinh lcd_gotoxy(0,0); lcd_puts("NHIET DO:");
lcd_gotoxy(10,0); lcd_3n(nhietdo); lcd_gotoxy(13,0); lcd_putc(223); lcd_gotoxy(14,0); lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA lcd_puts("C"); __delay_cycles(500000);
if((P1IN&0x01)) //khi cam bien than nhiet duoc tac dong { cothannhiet=0; }
if(nhietdo>nhietdonguong) //so sanh nhiet do do duoc tu cam bien va nguong { lcd_gotoxy(0,1); lcd_puts("CANH BAO CHAY!"); P1OUT=(BIT7+BIT4); __delay_cycles(50000); P1OUT&=~(BIT7+BIT4); lcd_clear(); __delay_cycles(50000); }
if(nhietdo>cothannhiet) //ham vong lap vo han canh bao khi cam bien than nhiet duoc tac dong { lcd_gotoxy(0,1); lcd_puts("PHAT HIEN NGUOI!"); P1OUT=(BIT7+BIT4); __delay_cycles(50000); P1OUT&=~(BIT7+BIT4); lcd_clear(); __delay_cycles(50000); } }}
#pragma vector=TIMER0_A0_VECTOR //chuong trinh con phuc vu ngat timerA
__interrupt void Timer_A (void) { __no_operation(); }
#pragma vector=PORT1_VECTOR //chuong trinh con phuc vu ngat ngoai port1 __interrupt void msp430(void) { if(P1IFG&BIT2)
{ nhietdonguong++; lcd_clear();
lcd_gotoxy(0,0); lcd_puts("NHIET DO NGUONG:"); lcd_gotoxy(10,1); lcd_3n(nhietdonguong); lcd_gotoxy(13,1); lcd_putc(223); lcd_gotoxy(14,1); lcd_puts("C"); __delay_cycles(800000); lcd_clear(); P1IFG&=~BIT2; } if(P1IFG&BIT5) { nhietdonguong-- ; lcd_clear(); lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA lcd_gotoxy(0,0); lcd_puts("NHIET DO NGUONG:"); lcd_gotoxy(10,1); lcd_3n(nhietdonguong); lcd_gotoxy(13,1); lcd_putc(223); lcd_gotoxy(14,1); lcd_puts("C"); __delay_cycles(800000); lcd_clear(); P1IFG&=~BIT5; }}
#pragma vector=ADC10_VECTOR //chuong trinh con phuc vu ngat ADC
__interrupt void ADC10_ISR(void) {
__bic_SR_register_on_exit(CPUOFF); //dua msp430 thoat khoi che do tiet kiem nang luong }
//-------------------------------------------------
HET-----------------------------------------------
III. Đánh giá kết quả và hướng phát triển: 1. Kết quả:
- Hệ thống hoạt động đúng theo mục tiêu đề ra ban đầu. 2. Đánh giá:
- Nối mạch bằng phương pháp hàn dây nên còn chưa đẹp.
3. Hướng phát triển:
- Có thể phát triển thêm bộ phận chữa cháy thông minh dập đám cháy tại chỗ,
phát triển thêm bộ phận thông báo cháy-trộm qua điện thoại sử dụng module sim.
- Có thể phân biệt được người thường với kẻ đột nhập.
- Nâng cấp lên còi báo động có công suất lớn hơn.
4.Mô hình thiết bị thực tế: lOMoAR cPSD| 58504431
ĐẠI HỌC CẦN THƠ – TRƯỜNG BÁCH KHOA
Tài liệu tham khảo:
Giáo trình “Vi điều khiển MSP430 “ của TS.LƯƠNG VINH QUỐC DANH và ThS. TRẦN HỮU DANH.