Nhận xét của giáo viên hướng dân
lhái Nguyên, Ngày Thang Năm 2011 Giáo Viên hướng dẫn
(Ký ghi rõ họ tên)
Nhận xét của giao vién cham
Thai Nguyén, Ngay Thang Năm 2011
Gido Vién huéng dan
(Ký ghi rõ họ tên)
Trang 3
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
MỤC LỤC
90/9087 — 3 CHUONG 1: PHAN TICH BAI TOAN . -sc 5 sesesesessscsesesesses 4
1.1 Khảo sát và phân tích bài foáắn - co co G00 966 SE 4 1.2 Lựa chọn giải pháp 500000009 0 00000000000 6 1.2.1 Giải pháp công ng hỆ 00 00000 6 1.2.2 Giải pháp thiết kẾ c- © G< S22 4 22s E6 2s sE 7 1.2.3 CAC YOU CAUL.c.ccccsccssssssssssssscssssssssssssssscsssssscssssscsssssesesssesssssssssssseees 7 1.2.4 GiGi hạn hạn định «<< ScS S000 68660666 7 CHƯƠNG 2: THIẾT KÉ HỆ THNG 5 << se «se ssessssees 8 In sốc 7 8 2.2 Sơ đồ Callgraph: << c0 9 0000.0000000 0006 9 2.3 Sơ đồ đặc (ả Họ HH ng ng go 2x ve 9
2.4 Cac module trong hé thong .cccccccssssssssssssssssssssssesesesesssssssssesees 10 2.4.1 Module khối nguồn - 5-5-5 5 << ceesesesesesseeseseseses 10 ,x VN, 1 0 0n 10 2.4.3 Module điều khiến trung tâm . -c«c se s5 «=5 =s=s=seses 11
2.4.4 Module tuwong tac điều khiến (hiến thị) - 5 so «e< 12 2.4.5 Module chấp hành sec «s2 xxx se x52 13 2.5 Lựa chọn lỉnh kiện 555G S0 00060608606 14 2.5.1 Vi điều khiến PIC16FÑ77A scsscsssssesssesessseseseses 14 2.5.2 n6 n6 21 2.5.3 Led 7 đoạn co cọ Thọ ó9 0000000000 000000908 23 2.5.4 TTAISỈSẦOF co 0Q 0G 0 9 6 9 6.9 6.9 06 9 6 9.06 9.0669 6999669.996696 24 2.5.5 “Tụ Ơiện co co c cọ gọn 000000000000 06 25 ,.xN: a Ô 25 2.5.7 IC OM Ap ./(1A1BD 26
2.6 Sơ đồ nguyên lý của mạch 5-5-5 << se sseseseseeseseseses 27
2.7 Thuật toán điều khiỂn - so se sex se s52 27
Trang 4
LỜI NÓI ĐẦU
Ngày nay, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phô biến: từ những ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sản phẩm trong một dây chuyên sản xuất, điều khiển tốc độ động cơ
điện một chiều, thiết kế một biển quảng cáo dùng Led ma trận, một đồng hồ thời
gian thực đến các ứng dụng phức tạp như hệ thống điều khiến robot, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân Các hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, rơle cơ điện, mạch
điện tử số, các thiết bị máy móc tự động bằng các cam chốt cơ khí các thiết bị,
hệ thống này có chức năng xử lý và mức độ tự động thấp SO với các hệ thống tự động hiện đại được xây dựng trên nên tảng của các hệ thống nhúng
Với mong muốn giới thiệu ứng dụng cơ bản của hệ thống nhúng trong đời
sống hiện đại, nhóm chúng em đưa ra mô hình thiết kế hệ thông điều khiến đèn
thông minh dùng cho các phòng họp
Trang 5ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
CHƯƠNG 1: PHẦN TÍCH BÀI TỐN
1.1 Khảo sát và phân tích bài toán
Hiện nay hầu hết việc giám sát và điều khiến chiếu sáng trong các phòng công cộng được điều khiến bằng tay thông qua đóng mở các công tắc, các
aptomat, cau đao Điều này khá thuận lợi và đơn giản vì ta có thể bật tắt đèn theo nhu cầu sử dụng Tuy nhiên, do là phòng công cộng nên việc bật tắt đèn hầu như do người trực khu nhà đó làm Vì thế họ không biết được chính xác khi nào
thì có người tới và khi nào thì mọi người đã ra hết khỏi phòng hoặc họ biết
nhưng vì phải quản lý nhiều phòng nên họ vẫn cứ để điện đến hết ca trực, điều này gây lãng phí điện rất lớn, đặc biệt trong hoàn cảnh nước ta đang thiếu điện
một cách trâm trọng như hiện nay
Trên thị trường hiện nay đã có một số thiết bị bật tắt đèn thông minh, như
SmartLight do Hàn Quốc sản xuất: Được tích hợp sensor cảm ứng hông ngoại
thân nhiệt, đèn sẽ tự động được bật khi có người đi vào vùng cảm ứng và tắt khi
không có người
SL-200
Hình 1.1: Dén théng minh Smartlight
SmartLight phù hợp với mọi nhu cầu chiếu sáng thông minh của bạn tại sân công, phòng khách, phòng ngủ, phòng vệ sinh, cầu thang, văn phòng giúp bạn
bật tắt đèn hoàn toàn tự động, mang lại sự an toàn, tiện nghi và tiết kiệm điện
Trang 6
Tuy nhiên thiết bị này tích hợp luôn bộ điều khiển với đèn trong 1 sản phẩm Do đó giá thành cao và không thích hợp cho các phòng cần lượng chiếu sáng lớn, không thay đôi được loại bóng đèn theo yêu câu
Hệ thống giám sát điều khiển chiếu sáng sử dụng camera kết nối với máy tính để kiểm soát số người trong phòng, qua đó phát lệnh đóng mở các công tắc tơ bật tắt bóng đèn
Màn hình quan sát tại Phòng trung tâm Đầu ghi hình aot lưu trữ hình ảnh ~-@_.c==- Modem “4 điều ADSL Quan sát từ xa Hình 1.2: Hệ thống camera giảm sát
Hệ thống này giúp việc bật tắt đèn ở nơi lắp đặt một cách chính xác, tự động hoặc bán tự động Tuy nhiên do sử dụng máy tính nên giá thành của hệ thống rất
cao, mặt khác không giải quyết được vấn đề tiết kiệm điện Vì thế nó thường chỉ được sử dụng ở những tòa nhà công nghệ cao, những khu vực cần điều chỉnh chiếu sáng không phải vì mục đích tiết kiệm điện năng
Hệ thong bat tat dén tu động sử dụng các IC số và mạch Logic cho phép ta
dựa vào lượng người vào ra để đóng ngắt các công tắc một cách tự động
Trang 7
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
L| LÌ L4 2 ủi mã Kets giải xử
LT tke [i Te Oo cao OOol Ơi G1 fe ._ 450 s fy ¬—— _ | [ da Ctuyến dể ¡ | | Saber j | ¥ ¥ sươn điệ _ 2 Hình 1.3: Hệ thông bật tắt đèn thông minh dùng IC số
Hệ thống này có câu tạo đơn gián, rẻ, không phái lập trình mà chỉ dựa vào các mạch Logic nhưng tính linh động không cao, khó chỉnh định khi điều kiện làm việc thay đôi, ít có khả năng nâng cấp mở rộng hệ thống
Với những phòng họp công cộng, khi mà lưu lượng người không lớn và có thể kiểm soát được việc đếm người qua cửa thì ta hoàn toàn có thể áp dụng hệ thống đèn thông minh sử dụng Vi điều khiển được lập trình để bật đèn khi có người và tắt khi không có người Điều này vừa tiện lợi cho mọi người: ứng dụng công nghệ tự động hóa vào cuộc sống con người, đảm bảo đủ ánh sáng trong quá trình làm việc, người quản lý thì đỡ tốn thời gian đồng thời góp phần giải quyết vấn đề tiết kiệm điện năng trong thời kỳ mà nhu cầu điện tiêu thụ đã vượt quá khả năng cung cấp của các nhà máy điện hiện nay
1.2 Lựa chọn giải pháp 1.2.1 Giải pháp công nghệ
Qua phân tích ở trên, nhóm chúng em đưa ra giải pháp xây dựng hệ thống
điều khiển đèn thông minh cho các phòng họp: điều khiến bật tắt đèn qua việc
Trang 8
kiêm soát lượng người ra vào phòng Thu nhận tín hiệu rôi xử lý tín hiệu, khi có
người vào phòng, nếu đèn đang bật thì vẫn bật, đèn chưa bật thì bật đèn lên; khi
mọi người ra hết khỏi phòng thì tắt đèn đi Trong quá trình làm việc hệ thống
luôn hiển thị số người còn đang ở trong phòng dé tién cho viéc kiém tra, theo dõi 1.2.2 1.2.3 Giải pháp thiết kế Đề phát hiện người ra ta dùng 2 bộ thu phát hồng ngoại mắc gần nhau đặt Ở Cửa ra vào
Xử lý, điều khiển dùng vi điều khiến Pic: lập trình để Pic nhận tín hiệu vào từ 2 bộ Led hông ngoại, tính toán xử lý dé đưa ra lệnh bật tắt đèn Để hiển thị ta dùng Led 7 thanh: lấy tín hiệu ra từ Pic để thông báo xem trong phòng có bao nhiêu người
Điều khiến tắt/mở bóng đèn nhờ transistor cấp dòng cho rơ le Các yêu cầu
Hệ thống điều khiển đèn thông minh này áp dụng cho các phòng họp: > Số lượng người trong phòng tối đa không quá 99 người > Phòng chỉ có một cửa ra vào > Ở một thời điểm chỉ có 1 người qua cửa > Ctra cao 2.5m, rộng 2m Có người đi vào thì bật đèn và đi ra hết thì tắt đèn Hệ thống có 2 chế độ làm việc tự động và bằng tay Làm việc với điện áp 220V/50Hz
Sensor và công nghệ tùy chọn Có khả năng nâng cấp, cải tiến Giới hạn hạn định
Làm việc cả ban ngày lẫn ban đêm
Thu nhận tín hiệu liên tục khi có người ra vào
Nhiệt độ môi trường: trong nhà 10°C đến 40C Hệ thống cấp điện mới từ đầu
Trang 9
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy CHƯƠNG 2: THIET KE HE THONG 2.1 So d6 tong quat Hệ thống điều khiến đèn thông minh gồm có 5 khối chính Khôi nguôn Khối — Khối LJ chap Khôi xử hành biên Khối E——C| hiển thị
Hình 2.1: Sơ đồ tổng quát hệ thông bật tắt đèn thông minh e _ Khối Nguồn: Cung cấp nguồn cho hệ thống
e Khối Cảm biến: Sử dụng sensor hồng ngoại dùng dé thu nhận tín hiệu
người vào ra phòng, đưa tín hiệu thu được vào chân PIc để xử lý Đề nhận
biết người đi vào hay đi ra ta dùng 2 bộ thu phát hông ngoại mắc gần nhau
e Khối Xử lý: Dùng VDK Pic 16F877A để lây tín hiệu từ cảm biến, tính
toán, lưu trữ và đưa ra khỗi hiển thị và khối chấp hành
se Khối Hiến thị: Lay tín hiệu ra từ chân Pic đề hiển thị số lượng người hiện
đang ở trong phòng trên Led 7 thanh.Khỗi Chấp hành: Nhận tín hiệu từ
khối xử lý để thực hiện đóng cắt tiếp điểm mạch động lực
Trang 10
2.2 Sơ đồ Callgraph Chương trình điêu khiên chính Module Xử lý Cảm biên Module Xử lý Chương trình Cảm biến Chấp hành Hiển thị Hình 2.2: Sơ đô Callgraph của hệ thông bật tắt đèn thông minh 2.3 Sơ đồ đặc tả Hién thị Bât đèn Sô người Có người Người ra Phân lượng Không người người `
trong phòng Người vào
Hình 2.3: Sơ đô đặc tả của hệ thông bật tắt đèn thong minh
Trang 11
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
2.4 Cac module trong hé thong 2.4.1 Module khối nguồn
Module này tạo ra điện áp một chiều từ nguồn xoay chiều 220V để cung cấp cho các linh kiện trong hệ thống Sử dụng biến áp đề biến điện áp xoay chiều 220V thành điện áp xoay chiều 12V, dùng chỉnh lưu từ 12V xoay chiều sang
12V một chiều, dùng IC 7805 ổn áp đề lây ra điện áp ôn định 5V ở ngõ Ta 12V L1 i J2 | Diot cau U4 7805 1 1 4 4 3 Vec-5V z == ci 9° == c2 | Cc wl Cc Bien ap | Hinh 2.4.: Module nguon cấp 2.4.2 Module cảm biến
Bộ phận cảm biến của hệ thống sử dụng mạch thu phát hong ngoai Led
phát hồng ngoại nỗi với nguồn 1 chiéu qua dién tro R1, R2: phat ra anh sáng hông ngoại truyền tới Led thu Led thu hồng ngoại có 3 chân: chân 3 và 1 nối với
nguồn qua R3, R4 và đất, chân 2 lay tín hiệu ra dua vao chan Vi xu ly Ở trạng thái bình thường, tín hiệu hong ngoại truyền từ khối phát được Led thu thu nhận,
trên đầu ra 2 tín hiệu ở mức cao (mức I1); khi có người đi cắt qua khiến Led thu
mat tín hiệu, đầu ra 2 cho tín hiệu ở mức thấp (mức 0) Đề có thể phân biệt được
là người đi vào hay đi ra ta mắc 2 bộ Thu- Phát song song và đặt cạnh nhau Tín
hiệu thu được từ đầu ra của 2 Led thu được đưa vào 2 chân Vi xử lý để thực hiện quá trình tính toán, kiểm tra, lưu trữ
Trang 12
Vcc-5V Ạ Voc-5V A 4 $ R2 R1 ` R4 R3 D1 LED PHAT 1 ề C = LED THU 1 |2_— T1 C ¬ 1ˆ vss vec + Oo U2 LED THU 2 D2 LED PHAT 2 8 2 TH2 Eˆ—— VSS VCC o C ¬ ‘JF
Module phat Module thu
Hinh 2.5: Module thu phat hong ngoai 2.4.3 Module diéu khién trung tam
Khối điều khiển trung tâm ding vi diéu khién Pic 16F877A Khi co tin hiệu ngắt từ bộ thu hồng ngoại qua các chân RB4 và RB5 của cổng B thi Vi điều
khiến sẽ kích hoạt ngắt công B tr RB4>>RB7, qua thuật toán đã nạp PIc thực hiện chương trình điều khiến đưa tới các công A, C, D tín hiệu để điều khiến
khối hiển thị (Led 7 thanh) và khối chấp hành (module động lực)
Bộ tạo dao động dùng thạch anh 20M cung cấp ngồn dao động cho Pic Bộ Reset cấp nguồn 5V và xác lập trạng thái ban đầu cho Pic
Trang 13
ĐAMH Hệ thông nhúng GVHD Nguyên Văn Huy Vec-5V R5 RES V C3 C5 BT | | 143 L L_] Y1 -E| e - — | T14 Lrzm — " PVN1 714 rs OSC1/CLKIN RB0/INT 334 OSC2/CLKOUT RB1 35 -Ì RB2 3g Vout 2 3| RAO/ANO RB3/PGM [ậ7 RB4 [3g *Ì THỊ TH H—— RA1/AN1 RBS [39 L—~ RA2/AN2/VREF-/CVREF RB6/PGC 400 oe RA3/AN3/VREF + RB7/PGD -—) o— RA4/TOCKI/C10UT O—— RAS5/AN4/SS*/C20UT 15 S1 8 RC0/T1OSO/T1CKI [1g L——.—]| REO/RD*/AN5 9 RC1/T1OSI/CCP2 17 S3 Oo RE1/WR*/AN6 RC2/CCP1 18 O-—— RE2/CS*/AN7 RC3/SCK/SCL [53-—S5 V1 4 RC4/SDI/SDA [F22 se—————] NCLR*/VPP RC5/SDO F2g——S7 RC6/TX/CK 26 RC7/RXDT Ƒ——TÌ 19 L1 RDO/PSPO ro90 L2 RD1/PSP1 F51———® 44 RD2/PSP2 55 12 | VDD RD3/PSP3 57 VSS RD4/PSP4 F2g 31 RD5/PSP5 F5g— ——22-| VSS RD6/PSP6 39
Hinh 2.6: Module diéu khién trung tam
2.4.4 Module tương tác điều khiến (hiến thị)
Đề tiện cho việc kiểm tra theo dõi số người hiện đang ở trong phòng, ta sử dụng 2 Led 7 thanh mắc chung Anot với số người hiền thị tôi đa là 99 người Tín hiệu điều khiển từ Vi xử lý đưa ra cổng C để bật tắt các thanh Led từ 1 đến 7( tích cực ở mức dương) tương ứng với các con số từ 0 đến 9 cân hiển thị Để hiển thị cả hai Led ta dùng thuật toán quét Led với tín hiệu đưa ra từ cổng D quyết
định Led 1 hay Led 2 được bật
Trang 14
7SEGI MPX2-CA TT i TIN IO IT LO im T Tre tl H̬ Hình 2.7 : Module hiển thị 2.4.5 Module chấp hành
Bộ phận chấp hành có Role nối với thiết bị điện Vi xử lý sau khi xử lý tín hiệu sẽ gửi lệnh điều khiển để đóng mở Transistor cấp nguồn cho cuộn dây của Role (dòng hoặc áp) Đèn điện được nỗi với nguồn 220V xoay chiều qua tiếp
điểm của Role, khi Role tác động thì đèn bật lên và ngược lại đèn tắt khi Role
thôi tác động Đề đảm bảo cho hệ thống có thê làm việc ở cả hai chế độ bằng tay
Trang 15ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
2.5 Lựa chọn linh kiện
2.5.1 Vi điều khiển PIC16F8§77A
a Sơ đồ chân vi điều khiến PIC 16F877A 40-Pin PDIP MCLR/VPP ——~> L] 1 YY 4o _]=—> RB7/PGD RAQ/ANO «—+ [| 2 39 [] —> RB8/PGG RA1/AN1 =—> L] 3 38 []=—> RB5 RA2/AN2/MREFr-/CVREF =——> [ ] 4 37L] =—> RB4 RA4/T0CKI/C1OUT «—» [1 6 35 [] «—» RB2 RAS/AN4/SS/C20UT ~—» (| 7 < 341+ RBI REO/RD/ANS «—+[] 8 ~ 33{])<~» RBO/INT RE1/WR/AN6 =—e [1] 9 = 32 1] <— Vop RE2/CS/AN7 ~—» [] 10 + 31|]=—Vss VOD ——» [] 11 t 30[1~=—> RD7/PSP7 Vss——x[|l2 ‡š 29[L1~=—+ RD6/PSP6 OSC1/CLKI ——> [Ì 13 = 28[]~=-> RD5/PSP5 OSC2/CLKO ~ —Fr]14 ` 27H~—~ RD4PSP4 RC0/T1OSO/T1CKI <—>[ | 15 26L] =——> RC7/RX/DT RC1/T1OSI/CCP2 <=—> [] 16 25 []=—> RC6/TX/CK RC2/CCP1 <~—> [| 17 24 []=—> RC5/SDO RC3/SCK/SCL =—> [] 18 23 []~=—> RC4/SDI/SDA RD0/PSP0 ~— > [] 19 22 []=—> RD3/PSP3 RD1/PSP1 —> [] 20 21[]=—> RD2/PSP2
Hình 2.9: Sơ đồ chân PIC 16F877A
b Một vài thông số về vi điều khiến PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạt
động tôi đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chương
trình SKxI14 bịt, bộ nhớ dữ liệu 368x8§ byte RAM va bộ nhớ dữ liệu EEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin IL/O Các đặc tính ngoại vi bao gồm các khối chức năng sau:
e_ Timer0: bộ đếm 8 bit với bộ chia tân số 8 bít
e© Timerl: bộ đếm ló bít với bộ chia tần số, co thé thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiến hoạt động ở chế độ sleep
Trang 16
e©_ Timer2: bộ đếm 8 bít với bộ chia tần số, bộ postcaler Hai bộ Capture/so sánh/điều
chế độ rộng xung
e_ Các chuân giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI va I2C Chuan giao tiếp nôi tiếp USART với 9 bit dia chi
e Céng giao tiép song song PSP (Parallel Slave Port) véi cdc chin diéu khién RD, WR, CS bên ngoài
e Các đặctính Analog: 8 kênh chuyên đổi ADC 10 bít Hai bộ so sánh
e_ Bộ nhớ flash với khá năng ghi xóa được 100.000 lần Bộ nhớ EEPROM với khá năng ghi xóa được 1.000.000 lần Dữ liệu bộ nhớ EEPROM có thê lưu trữ trên 40 năm Khả năng tự nạp chương trình với sự điều khiển của phần mềm Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming) thong qua 2 chân Watchdog Timer với bộ dao động trong Chức năng bảo mật mã
chương trình Chế độ Sleep Co thé hoat động với nhiều dạng Oscillator khác
nhau
Trang 17
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy c Sơ đồ khỗi vi điều khiển PIC 16F§77A " Data Bus PORTA on Ss l~ RAQ/ANG Flash | Ỉ ll la RA LANH Program i ^ RA2/AN2ner-ICVWnEr Memory 2 Level Stack RAM tr _— RANANWWREFS
(13-bal File Le RA4/TICKI/C1OUT Registers |^ RASANAISSIC2ZOUT Program 44 |F ce PORTB Bus RAM Agdr”! Tr 9 S dt Hộ „ RB0IINT : / Addr MUX \, RB1 nslructian req ——— R82 | Direct Addr | a ! R83/PGM F R84 | R86/FGC - PORTC ` uy V 7 RCOTIOSOITICK! Power-up \ im Of ¬ nh G P2 Tìm er - RCI! ; ‘/ ! + RG3/SDKiSGL Instruction | Decode & =>] | Start-up Timer Oscillator f ot tr” 4+—«~|x RC4/SDI/SOA 1 ee pees —= Power-on ==— 4 RCOITXICK = a a5 =x] RCTIRXIOT
pein lImin A Watchdo: h
Eđ]£1| Generation [= Timer ` ` PORTD as Ct iG Lk Browm-out La RnU/PSEq OSC2!ICLKO Reset |a RDI/PSPI1 In-Crcua le RD2/PSP2 Debugger — 2 RDWPSPS Low-Voltage r ^ R n4/P $ P4 Programming ^ RDS/PSPS F Rđ8/PSPẽ ¬ RDTIPSPT ¬] PORTE MCLR Woo, Ves +—-P<] REORDIANS — +—+<j RE1/WRIANE +—>B<j RE2/CSIAN? TimerD Timer? Timer2 10-ba A/D = ae m I 1 I T ] Sy ° Voltage Data EEPROM CCP1.2 TT USART Comparator Rolyenoo d Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiến PIC16F877A bao gồm bộ nhớ chương trình (program memory) và bộ nhớ dữ liệu (data memory)
Hình 2.10 : Sơ đô khối vì điễu khiển PICI6F877A
Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8k word (1 word= 14bit) và được phân thành nhiều trang (từ
Trang 18
page 0 đến page 3) Như vậy bộ nhớ chương trinh có khả năng chứa được
§*1024 =8§192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14
bit) Để mã hóa được địa chỉ của 8k word bộ nhớ chương trình , bộ đếm chương trình có dung lượng 13 bít (PC<12:0>) Khi vi điều khiến reset , bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (reset vector) Khi có ngắt xảy ra , bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (interrupt vector) Bộ nhớ chương trình không bao gồm bộ nhớ stack sẽ được để cập cụ thể trong phan sau
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối với PICI6F877A bộ nhớ dữ liệu được chia ra làm 4 bank
Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt
SFG (Special Function Register) nam ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Pegister) nằm ở vùng địa chỉ còn lại trong bank Các thanh ghi SER thường xuyên được sử dụng (ví dụ như thanh ghi
STATUS) sẽ được đặt ở tất cà các bank của bộ nhớ đữ liệu giúp thuận tiện trong
quá trình truy xuất và làm giảm bớt lệnh của chương trình
Stack không năm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùng nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiện
hay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chương trình PC tự động được vi điều khiến cất vào trong stack Khi một trong các lệnh
RETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra
từ trong stack, vi điều khiến sẽ thực hiện tiếp chương trình theo đúng qui trình
định trước
Bộ nhớ Stack trong v1 điều khiến PIC ho 16F87xA cé kha năng chứa được
8 địa chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2 Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biết được khi nào stack tràn Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng không có
lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điều khiển
bởi CPU
Trang 19
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
e Các công xuất nhập của PIC16F877A
Công xuất nhập (IL/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá
trình tương tác đó, chức năng của v1 điều khiển được thể hiện một cách rõ ràng
Một cổng xuất nhập của vi điều khiến bao gồm nhiều chân (I/O pin), tùy theo cách bố trí và chức năng của vi điều khiến mà số lượng công xuất nhập và số lượng chân trong mỗi công có thể khác nhau Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là công xuất nhập thông thường, một số chân xuất nhập còn có thêm các
chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối
với thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi cổng hoàn
toàn có thể được xác lập và điều khiến được thông qua các thanh ghi SFR liên
quan đến chân xuất nhập đó s* PortA
Port A (RPA) bao gồm 6 LO pin Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O này được
điều khiến bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của một
chân trong PortA là input, ta “set” bit điều khiển tương ứng với chân đó trong
thanh ghi TRISA và ngược lại, muỗn xác lập chức năng của một chân trong Port
A là output, ta “clear” bít điều khiến tương ứng với chân đó trong thanh ghi
TRISA Thao tác này hoàn toàn tương tự đối với các PORT còn lại Bên cạnh đó
Port A còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port)
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A (địa chỉ 05h) : chứa giá trỊ các pin trong
Port A TRISA (địa chỉ 85h) : điều khiển xuất nhập
CMCON (dia chi 9Ch) : thanh ghi diéu khién bé so sanh
CVRCON (địa chi9Dh) : thanh ghi điều khiến bộ so sánh điện áp
ADCONI (dia chi9Fh) : thanh ghi điều khiển bộ ADC
s% Port B
Trang 20
Port B (RPB) gồm 8 pin LO Thanh ghi điều khiển xuất nhập tương ứng là TRISB Bên cạnh đó một số chân của Port B còn đươc sử dụng trong quá
trình nạp chương trình cho vi điều khiến với các chế độ nạp khác nhau Port B
còn liên quan đến ngắt ngoại vi và bộ Timer0 Port B còn được tích hợp chức
năng điện trở kéo lên được điều khiến bởi chương trình
Các thanh ghi SFR liên quan đến Port B bao gồm:
Port B (địa chỉ 06h,106h) : chứa gia tri cac pin trong
Port B TRISB (dia chi 86h,186h) : diéu khién xuat nhap
OPTION REG(dia chi 81h,181h): diéu khién ngat ngoai vi va b6 Timer0 “* Port C
PortC (RPC) gồm 8 pin LO Thanh ghi điều khiển xuất nhập tương ứng là
TRISC Bên cạnh đó Port C còn chứa các chân chức năng của bộ so sánh, bộ Timerl, b6 PWM va cac chuan giao tiép nối tiếp I2C, SPI, SSP, USART
Cac thanh ghi diéu khién lién quan dén Port C:
Port C (dia chi 07h) : chứa giá trị các pm trong
Port C TRISC (địa chỉ87h) : điều khiển xuất nhập
s* Port D
Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD Port D còn là cổng xuất đữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port)
Các thanh ghi liên quan đến Port D bao gồm:
Thanh ghi Port D : chứa giá trị các pm trong Port D Thanh ghi TRISD : điều khiến xuất nhập
Thanh ghi TRISE : điều khiến xuất nhập Port E và chuẩn giao tiếp PSP s* PortE
Port E (RPE) gồm 3 chân L/O Thanh ghi điều khiển xuất nhập tương ứng là TRISE Các chân của PortE có ngõ vào analog Bên cạnh đó Port E còn là các chân điều khiển của chuẩn giao tiếp PSP
Các thanh ghi liên quan đến Port E bao gồm: PortE : chứa giá trị các chan trong PortE
TRISE : điều khiến xuất nhập và xác lập các thông số cho chuẩn giao tiếp
Trang 21
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy PSP ADCONI: thanh ghi điều khiển khối ADC f Ngắt (Interrupt)
PIC16E877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiến bởi
thanh ghi INTCON (bit GIE) Bên cạnh đó mỗi ngắt còn có một bít điều khiển
và cờ ngắt riêng Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xây ra bất chấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuộc vào bit GIE và các bit điều khiển khác Bit điều khiển ngắt RB0/INT và
TMRO nằm trong thanh ghi INTCON, thanh ghi này còn chứa bit cho phép các
ngắt ngoại vi PEIE Bit điều khiến các ngắt nằm trong thanh ghi PIE1 và PIE2 Cờ ngắt của các ngắt năm trong thanh ghi PIRI và PIR2
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương
trình ngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt được thực
thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ
0004h Lệnh RETFIE được dùng đề thoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE cũng sẽ được set để cho phép các ngắt
hoạt động trở lại Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và phải được xóa bang chương trình trước khi cho phép ngắt tiếp tục hoạt động trở
lại để ta có thê phát hiện được thời điểm tiếp theo mà ngắt xảy ra
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngất từ sự thay đổi trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt
nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm Xảy ra ngắt
Can chi ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm
chương trình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ không được cất và có thê bị thay đối giá trị trong quá trình thực thi chương trình ngắt Điều này nên được xử lý bằng chương trình để tránh hiện tượng trên xảy ra
“ Ngat INT
Ngắt này dựa trên sự thay đối trạng thái của pin RB0/INT Cạnh tác động gây ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bít
Trang 22
INTEDG (thanh ghi OPTION_ REG <6>) Khi có cạnh tác động thích hợp xuất
hiện tại pin RBO/INT, cờ ngắt INTF được set bất chấp trang thai cac bit điều
khiến GIE và PEIE Ngất này có khả năng đánh thức vi điều khiển từ chế độ sleep nếu bit cho phép ngắt được set trước khi lệnh SLEEP được thực thi
s* Ngắt do sự thay đốt trạng thái các PIN trong Port B
Các pin PORTB<7:4> được dùng cho ngắt này và được điều khiến bởi bít RBIE (thanh ghi INTCON<4>) Cờ ngắt của ngắt này 1a bit RBIF (INTCON<0>)
2.5.2 Led Hong Ngoai a Led phat
Trang 23ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
Led hồng ngoại có thể làm việc ở hai chế độ: chế độ biến đôi quang điện và chế độ nguồn quang điện
Nguyên lý trong chế độ biến đôi quang điện: Lớp p được mắc vào cực âm
của nguồn điện, lớp n mắc vào cực dương Phân cực ngược nên khi chưa chiếu
sang chỉ có dòng điện nhỏ bé chạy qua ứng với dòng điện ngược (còn gọi là dòng điện tôi) Khi có quang thông dòng điện qua mối nối p-n tăng lên gọi là dòng điện sáng
Nguyên lý làm việc của diode trong chế độ nguồn phát quang điện( pin mặt trời): Khi quang thông , các điện tích trên mối nối p-n được giải phóng tạo ra sức điện động trên 2 cực của diode, do đó làm xuất hiện dòng điện chảy trong mạch Trị số sức điện động xuất hiện trong nguồn phát quang điện phụ thuộc vào loại nguồn phát và trị số của quang thông b Led thu Cau tao 1 [ow Điện áp quy chuẩn 0.5MQ 10K
| Bs Mãi Bãi LEM'
Hình 2.13: Cấu tạo led thu
Nguyên lý
Giả sử điều kiện phân cực cho IC đã hoàn chỉnh ,khi IC nhận tín hiệu điều khiến từ diode phát quang, mạch khuếch đại OP-amp của của IC sẽ biến đổi
dòng điện thu được từ diode ra điện áp( điện áp này đươc khuếch dai) Tín hiệu
điện áp được đưa đến Smith triger để tạo xung vuông, xung này có nhiệm vụ
kich transistor ngõ ra hoạt động lúc đó ngõ ra ở chân số 2 của IC ở mức thấp, tín
Trang 24
hiệu ngõ ra tác động ở mức 0, có thê được dùng đẻ điêu khiên gián tiêp một tải
nào đó Khi ngăn ánh sáng chiếu vào thì ngược lại không hoạt động dẫn dòng 2.5.3 Led 7 đoạn
a Các khái niệm cơ bản
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho nguol si
dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng “ Led 7
đoạn ” Led 7 đoạn được sử dụng khi các thông số không đòi! hỏi quá phức tạp,
chi can hién thị số là đủ, chắng hạn Led 7 đoạn được sử dụng để hiển thị nhiệt độ phòng, trong các đồng hỗ trong các đồng hỗ treo tường bằng điện tử, hiến thị số
lượng sản phẩm được kiểm tra sau một công đoạn nào đó b Sơ đồ vị trí các Led :
Các điện trở 330O là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua Led nếu Led 7 đoạn được nỗi với nguồn 5V
Common Cathode Common Anode a4 | Gnd @ 0 9 ff We wa O Ppa hoo 7 A ¥ ae UU 1U H U e 0 Gnủ © on ì 4 bp Hình 2.14: Sơ đô chân 7 SEG-COM-ANODE va hinh ảnh minh hoa = ¬ =
c Kết nối với Vi điều khiển:
Ngõ nhận tín hiệu điều khiển của Led 7 đoạn có 8 đường, vì vậy có thể
dùng 1 Port nào đó của Vi điều khiển để điều khiển Led 7 đoạn Như vậy Led 7 đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt
của từng Led đơn trong nó, dữ liệu được xuất ra điều khiển Led 7 đoạn thường
Trang 25ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
được gọi là "mã hiển thị Led 7 đoạn" Có hai kiểu mã hiển thị Led 7 đoạn: mã
dành cho Led 7 đoạn có Anode(cực +) chung và mã dành cho Led 7 đoạn có
Cathode(cực -) chung Chẳng hạn, để hiện thị số 1 cần làm cho các Led ở vị trí b
và c sáng, nếu sử dụng Led 7 đoạn có Anode chung thì phải đặt vào hai chân b
và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5SV(mức ]), nếu
sử dụng Led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn
ngược lại, tức là phải đặt vào chân b và c điện áp là 5SV(mức 1)
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiến, đề thuận tiện
cho việc xử lí về sau phan cứng nên được kết nỗi như sau: Px.0 nỗi với chân a, Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h
2.5.4 Transistor a Dinh nghia
Transistor được hình thành từ ba lớp bán dẫn ghép với nhau hình thành hai mỗi tiếp giáp P-N ,nếu ghép theo thứ tự PNP ta được Transistor thuận , nếu ghép
theo thứ tự NPN ta được Transistor ngược về phương diện cau tao Transistor
tương đương với hai Diode dau ngược chiều nhau Câu trúc này được gọi là Bipolar Junction Transitor (BJT) vi dong dién chay trong cau tric nay bao g6m cả hai loại điện tích âm và dương (Bipolar nghĩa là hai cực tính) Ba lớp bán dẫn
được nối ra thành ba cực, lớp giữa gọi là cực gốc ký hiệu là B (Base), lớp bản
dẫn B rất mỏng và có nồng độ tạp chất thấp Hai lớp bán dẫn bên ngoài được nối ra thành cực phát (Emitter) viết tắt là E, và cực thu hay cực góp (Collector) viết tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn (loại N hay P ) nhưng có kích thước và nồng độ tạp chất khác nhau nên không hoán vị cho nhau được
fy C } ¢
E E
Transislor ngược NPN Transistor thuận PNP
Hinh 2.15; Hinh anh transistor
Trang 26
b Nguyên tắc hoạt động của Transitor:
Trong chế độ tuyến tính hay còn gọi là chế độ khuyếch đại, Transitor là phân tử khuyếch đại dòng điện với dòng Ic bằng B lần dòng bazo (dòng điều
khiển ) Trong đó B là hệ số khuyếch đại dòng điện : Ic = B.lp
2.5.5 Tụ điện
Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các
mạch điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch truyền tín hiệu xoay chiều, mạch tạo đao động Uy G (olla Poca || J ll gghanghusang xao Hình 2.16: Một số loại tụ điện 2.5.6 Role
Rơle là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ để điều khiển một dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được xem là một thiết bị bảo vệ Một rơle điển hình điều khiến mạch và cá điều khiển
Trang 27ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
2.5.7 IC ồn áp
7805 là một mạch tích hợp bộ điều chỉnh điện áp Đây là một dòng IC cua ho 78xx
điều chỉnh điện áp tuyến tính có định Nguồn điện áp trong mạch có thê có biến động và sẽ không cho lượng điện áp cô định Các vi mạch điều chỉnh điện áp duy trì điện áp đầu ra tại
một giá trị không đối Các xx trong 78xx cho biét lượng điện áp cô định nó được thiết kế
Trang 28
2.6 Sơ đồ nguyên lý của mạch
Các module được kết nối với nhau theo sơ đồ hình vẽ Vcc-EV 7SEG1 = c4 - TỊ4 Vec-5V Vec-5V A A — ny TT ale able Đi sh b om q Ị ‘ oe J1 $ R4 R3 R2 R1 Ha PVN1 ul +3 OSC1/CLKIN RBO/INT LED THU 1 oY oscacLKouT RB1 = RB2 D1 2 1 c2] RAO/ANO wines y LED PHAT 1 Sour 2# Œ— | RA1/AN1 ` a T—-| RA2/AN2/VREF-/CVREF RB6/PGO S TE—T-| RA3/AN3/VREF+ RB7/PGD D-—F RA4/T0CKI/C1OUT ¬- - [E——] RAB/AN4/88°/C20UT a RC0/T1080/T1CKI = TE—Ÿ | RE0/RD*/ANS RC1/T1OSI/CGP2 E—Tj-| RE1/WR*/AN6 RC2/CCP1 O-—* RE2/CS*/AN7 RG3/SGK/SGL | Sã V1 1 RC4/SDI/SDA ®————w(cLR*/vPP RC5/SDO RC6/TX/CK RC7/RXDT U2 „ LED THU 2 RDO/PSPO ° RD1/PSP1 2 RD2/PSP2 D2 Sour L2^——*# 1 VDD RD3/PSP3 ` LED PHAT 2 a vss RD4/PSP4 ` S 31 RDS/PSP5 : 32] VSS RD6/PSPS - VDD PIG1eEg77a_RD7/PSP7 Vec-5V L1 42 220V~ c2 | c Cc Bien ap » Hình 3.1 Sơ đồ mạch nguyên lý 2.7 Thuật toán điều khiến Chương trình có nhiệm vụ:
e_ Kiểm tra xem người đi vào phòng hay đi ra khỏi phòng
e_ Vi điều khiến thực hiện ngắt công B để chuơng trình điều khiến thực hiện s* Giải thuật:
Chương trình điều khiến được thực hiện dựa trên ngắt INTERRUPT của
vi điều khiến Chương trình chính hồn tồn khơng tham gia vào việc thực hiện điều khiến, chương trình chính có chức năng duy nhất là thực hiện ngắt mạch để
Trang 29
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
cho công B thực hiện điều khiển Các công B được thực hiện ngắt là từ B4 -
>B7
Đâu tiên ta bố tri 2 bộ thu phát hồng ngoại gần nhau theo phương tạo thành mặt phẳng song song với mặt đất, bộ thu phát đâu tiên nối với cổng B4 của vi xử lý, bộ thu phát thứ 2 nỗi tới công B5 của vi xử lý
Khi có người đi qua, để biết được người đó đi vào hay ra khỏi phòng Ta
cần xem xét xem tín hiệu ở bộ thu phát thứ nhất bị gián đoạn trước hay tín hiệu
của bộ thu phát hồng ngoại thứ 2 Nếu mà tín hiệu ở bộ thu phát thứ nhất bị gián
đoạn trước thì có nghĩa là người đi vào phòng, nếu tín hiệu ở bộ thu phát thứ 2
bị gián đoạn trước thì có nghĩa là người đi ra khỏi phòng Vi xử lý ( cụ thể là
chương trình chính ) sẽ thực hiện ngắt công B để thực hiện đoạn chương trình
Trang 30
s* Sơ đơ thuật tốn
Trong đó:
Trang 31ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
* Chương trình nạp vào Vi điều khiến Pic 16F877A
Đề viết chương trình điều khiến ta sử dụng ngôn ngữ C viết trên phần mềm CCS và chạy mô phỏng trong Proteus Chương trình gồm các chương trình con Bat tat dén ‘void den(ng)”, chương trinh con Hién thi Led ‘void led(ng)’, chương trình con Đếm người vào “int dauvao(), chương trình con Đếm người ra "int daura()ˆ, chương trình con Ngắt thay đổi trạng thái các chân B4->B7 và chương trình Chính
Các hằng số và biến trong chương trình : Mảng LED7[10] gồm 10 phần tử, mỗi phần tử tương ứng với 1 con số từ 0 đến 9 mà Led 7 đoạn sẽ hiển thị Biến chạy ‘i’ ding cho vòng lặp để quét Led Biến “ng“ biểu thị cho số người đang ở trong phòng Biến “L1, L2? để hiến thị các Led7 đoạn I và 2 tương ứng với chữ số hàng chục và hàng đơn vị của số người trong phòng Biến “vao, ra' để
thu nhận tín hiệu từ đầu ra của hai Led thu 1 và 2 : bình thường “vao=ra=l", khi
có người cắt qua bộ thu phát 1 thi ‘vao=0’, qua b6 thu phat 2 thi ‘ra=0’ Hai bién ‘x va y’ dé xdc nhan xem đã có tín hiệu đã đi qua 2 bộ thu phát hay không trong một lượt người vào hoặc ra: ban đầu “x=y=0°, khi người cắt qua Led thu 1 thi x=l ; khi người cắt qua Led thu 2 thì y=l ; khi người đã đi qua cả 2 bộ thu phát
1,2 thì cài đặt lại : x=y=0 và chuẩn bị cho 1 lượt mới
Chương trình sử dụng ngắt thay đối trạng thái công B : khi có bất kỳ sự thay đối trạng thái nào trên các chân B4-> B7 của công B thì chương trình sẽ
sinh ra ngắt Trong bài này, tùy vào tín hiệu thu được ở các công B4 và BS
chương trình ngắt sẽ gọi các chương trình con “đauvao' hay là chương trình con “đaura° Chương trình ngắt sẽ trả về giá trị là số người trong phòng ”ng'
Chương trình chính có vòng lặp vô hạn giúp hệ thống có thể làm việc liên tục, từ giá trị “ng” được trả về từ chương trình ngắt, chương trình chính sẽ gọi
cac ham ‘den(ng)’ va ‘Led(ng)’ dé thuc hién viéc dong cat dién va hién thi
Trang 32
CHƯƠNG 3: XÂY DỰNG HỆ THÓNG 3.1 Thiết kế phần cứng
Với đồ án môn học Hệ thống nhúng với đề tài là ““Hệ thông bật tắt đèn
thông minh dùng cho các phòng họp”, việc thiết kế phan cứng của mạch hệ
thông cụ thê được chia làm 5 khối cơ bản là : - Khối nguồn - Khối cảm biến hồng ngoại - Khối hiển thị - Khỗi rơle chấp hành - Khối điều khiển 3.2 Thiết kế phần mềm s* Mã lập trình :
#include<16f877A.h> //thu vien cho Pic use delay(clock=20M) // khai bao su dung tre
int8 const
LED7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //mang hien thi cac so tu 0 den 9
long 1,L1,L⁄2,ng,x,y,vao,ra; //khal bao cac bien // // void den(ng) {
if (ng==0) output_a(0); //xuat ra cong a gia tri 0 : tat den else output_a(1); //xuat ra cong a gia tri 1 : bat den j
// //
void led(ng) {
Trang 33ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
// dua ma so hang chuc ra cong C, bat LED 1, tre lms roi tat output_c(LED7[L1]); output_d(2); delay_ms(1); output_d(0);
// dua ma so hang don vi ra cong C, bat LED 2, tre 1ms roi tat j j /| /J
1nt dauvao(){ //ctr con dau vao
if ((x==0)& &(y==0)) { //neu bat dau di vao thi thuc hien
x=1; //ghi nhan da qua senso 1
if (ng!=99) ng++; //neu so nguoi con nho hon 99 thi dem tang }
else if ((x==0)&&(y==1)){ //eu la cuoi cua qua trinh di ra
x=1; //ghi nhan da qua senso 1
j j
// /j
int daura() { //ctr con dau ra
if ((x==0)&&(y==0)){ //neu bat dau di ra va con nguoi trong phong
y=; //ghi nhan da qua senso 2
if (ng!=0) ng ; //neu so nguoi con lon hon 0 thi dem giam }
else 1f((x==1)& &(y==0)){ //neu la cuo1 cua qua trinh vao
y=1; //ghi nhan da qua senso 2
j j
// /j
#INT rb //khai bao ngat thay doi trang thai cong B long vaora() { //ctr ngat cong B
vao=input(pin_b4); //gan bien vao doc du lieu vao chan B4 tu senso 1 ra=input(pin_bS5); //gan bien vao doc du lieu vao chan B5 tu senso 2
Trang 34
1f(vao==0) dauvao(Q; //neu co tin hieu vao thi cho chay ctr con dau vao
else if (ra==0) daura(); //neu co tin hieu ra thi cho chay ctr con dau ra 1ƒ (x==]l)&&(y==1l)&&(vao==]1)&&(ra==1])) { //khi ca 2 sense deu da co tin hieu thi cai dat lai x=0; y=0; j return ng; j // // void main() {
x=y=0; ng=0; //Gan cac gia tri ban dau set tris a(0); //Cong A la cong ra set tris b(Oxff); //Cong B la cong vao set tris c(0); //Cong C la cong ra set tris d(0); //Cong D la cong ra
enable interrupts(INT_ rb); //cho phep ngat ngoai dem vach enable interrupts(GLOBAL); //cho phep ngat toan cuc
while (1){ //lien tuc kiem tra senso va dieu khien den led(ng); //go1 ham h1en thi den led
den(ng); //go1 ham bat tat den
j
Trang 35
ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
3.3 Kết quả mơ phỏng
e© _ Khi chưa có người nào ở trong phòng, công tắc 3 vị trí đặt ở vị trí 1- Bật
tắt đèn theo chế độ tự động : Led 7 thanh hiển thị số người trong phòng là 00, rơ le chưa tác động, đèn chưa sáng
le a A HE THONG BAT TAT DEN THONG MINH DUNG CHO CAC PHONG HOP po
HIENT THỊ 8ö NGUỘI TRONG PHONG: sẽ ‘tng "¬ d/8õng —
Hinh 3.1 : Trang thai ban đâu của hệ Đồng
se Khi có người vào phòng, senso 1 có tín hiệu trước, Led 7 thanh hiển thị số
Trang 36
e Khi có thêm người vào phòng, senso l lại có tín hiệu trước, Led 7 thanh
hiển thị số người trong phòng là 02, rơ le vẫn tác động, đèn vẫn sáng : os OSS 1CLKW : S802 LEGIT Mobilu:Ð le ay Hước See ei see eae tne ahs ot ss =| REWAN : TU Hệ a -VIl XU LY: Pi t6F8774 Ko 020852191 SE 00) S235 TS 2iSC UVtvr+ Par iene ic ci Sộ 223010081 m si se A9 i00 15221550 540 rr
Hình 3.3 : Khi có thêm người vào phòng
se _ Khi có người ra khỏi phòng, senso 2 có tín hiệu trước, Led 7 thanh hiển thị
Trang 37ĐAMH Hệ thông nhúng GVHD Nguyễn Văn Huy
e_ Khi đang có người trong phòng, Led 7 thanh hiển thị số người trong phòng là 01, rơ le đang tác động, đèn đang sáng, muốn tắt đèn ta gạt công tắc sang vị trí số 2 : đèn tắt OBO 100 LEK 080200 LKAUT R.HGPCSE RAS AN PC DUT AG WTIOSWOGRS RE P1
Hình 3.5 : Không chế tắt đèn khi hi dang CÓ người
e Khi không có người ở trong phòng, Led 7 thanh hiển thị số người trong
Trang 38
ĐÁNH GIÁ VÀ KÉT LUẬN
Hệ thống bật tắt đèn thông minh dành cho các phòng họp sử dụng thu phát hồng ngoại và vi xử lý Pic cơ bản đáp ứng được yêu cầu môn học Hệ thống hoạt động tương đối ồn định và có khả năng nâng cấp cải tiến hoặc dùng cho các mục đích khác : chiếu sáng cầu thang, hành lang, chống trộm
Tuy nhiên, hệ thống vẫn còn những khuyết điểm chưa thê khắc phục được:
khi có hơn 1 người đi vào (ra) song song với nhau thì vẫn chỉ nhận biết được I người Hay những trường hợp người đi chưa vào hắn đã quay ra hoặc chưa ra hắn đã trở vào thì hệ thống sẽ bị lỗi
Để hệ thống này ứng dụng được trong thực tiễn thì còn nhiều vẫn đề cần
giải quyết : các lỗi nhận biết kế trên, chống nhiễu cho Sensor, đảm bảo khả năng đóng cắt nguồn xoay chiều 220V hoặc cao hơn Nếu giải quyết được những vấn dé nay thi kha nang ứng dụng của hệ thống là rất lớn phù hợp với yêu cầu tự động ngày càng cao của đời sống cũng như việc tiết kiệm điện trong hoàn cảnh thiếu điện hiện nay
TÀI LIỆU THAM KHẢO
e Bài giáng Hệ thống nhúng — Bộ môn Kỹ thuật Máy tính, ĐH Kỹ thuật Công Nghiệp Thái Nguyên — 2010
e Bài giảng Vi xử lý- Vi điều khiển - Bộ môn Kỹ thuật Máy tính - ĐH Kỹ thuật Công Nghiệp Thái Nguyên — 2009
e Sơ đồ chân linh kiện - Dương Minh Trí - Nhà xuất bản KH-KT- 09/2005