Các thiết bị báo động điện tử như: hệ thống báo cháy, hệ thống báo trộmbằng chuông, hệ thống đóng mở cửa sử dụng mật mã… ứng dụng của hai kỹ thuật này đãgóp phần rất lớn trong việc an to
Trang 1NHẬN XÉT CỦA GIÁO VIÊN
Hưng Yên, ngày tháng … năm 20…
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 5
CHƯƠNG 1: TỔNG QUAN VỀ NỘI DUNG ĐỀ TÀI 6
1.1 Đặt vấn đề 6
1.2 Khảo sát vấn đề 6
1.3 Các vấn đề cần giải quyết của bài toán 6
1.4 Giải pháp 7
1.5 Mục đích đề tài 7
CHƯƠNG II: GIỚI THIỆU MỘT SỐ IC ĐƯỢC SỬ DỤNG TRONG MẠCH 8
2.1 Giới thiệu về PIC: 8
2.1.1 Tổng quan về họ vi điều khiển 8
2.1.2 Một số đặc tính của vi điều khiển PIC 8
2.1.3 Những đặc tính ngoại vi 9
2.1.4 Đặc điểm về tương tự 9
2.1.5 Các đặc điểm đặc biệt của vi điều khiển Pic 10
2.2 Giới thiệu về PIC16F8XX và PIC16F877A: 10
2.2.1 Các đặc tính ngoại vi bao gồm 11
2.2.2 Sơ lược về vi điều khiển PIC 16F877A: 12
2.2.3 Cấu trúc phần cứng của PIC 16F877A: 13
2.2.4 Tổ chức bộ nhớ 14
2.2.5 Khái quát chức năng các Port trong vi điều khiển PIC 16F877A: 17
2.3 Các linh kiện sử dụng trong mạch 17
2.3.1 LCD 16TC2A 17
2.3.2 Module RFID RC522 20
CHƯƠNG III: THIẾT KẾ SƠ ĐỒ NGUYÊN LÝ MẠCH VÀ THI CÔNG SẢN PHẨM 23 3.1 Sơ đồ khối 23
3.2 Lưu đồ thuật toán 23
3.3 Sơ đồ nguyên lý 26
3.4 Sơ đồ board mạch 27
Trang 33.5 Sản phẩm thực tế 27 CHƯƠNG lV: KẾT LUẬN VÀ KIẾN NGHỊ 29 TÀI LIỆU THAM KHẢO 30
Trang 4LỜI NÓI ĐẦU
Trong những năm gần đây theo sự tiến bộ của khoa học kỹ thuật, công cuộc công nghiệphóa hiện đại hóa đất nước đang phát triển mạnh mẽ Trước tình hình đó đã có khá nhiều yêucầu cấp bách và cũng là những thách thức được đặt ra cho giới trí thức
Để tiếp tục dẫn dắt sự phát triển của đất nước ngày càng giàu mạnh, thì phải đầu tư chogiáo dục, đào tạo thế hệ trẻ có đủ kiến thức để đáp ứng nhu cầu ngày càng cao của xã hội.Đòi hỏi phải nâng cao chất lượng đào tạo, thì phải đưa các phương tiện dạy học hiện đại vàotrong giảng đường, trường học có như vậy thì trình độ con người ngày càng cao đáp ứngđược yêu cầu của xã hội Để làm quen với công việc thiết kế, chế tạo và tìm hiểu các
về các loại linh kiện điện tử, chúng em đã được các thầy cô trong khoa Đi ện - Điện tử
giao cho đồ án môn học “ Thiết kế, chế tạo mô hình bãi đỗ xe thông minh ” nhằm củng
cố về kiến thức trong quá trình thực tế Sau khi nhận được đề tài, với sự hướng dẫn củathầy Đỗ Quang Huy cùng với sự nỗ lực của bản thân, sự tìm tòi nghiên cứu tài liệu đếnnay đồ án của chúng em về mặt cơ bản đã hoàn thành Trong quá trình thực hiện dù
đã có gắng nhưng do thời gian cũng như trình độ vẫn còn hạn chế nên không thểtránh khỏi sai sót Vậy em kính mong sự chỉ bảo giúp đỡ và đóng góp ý kiến của các
thầy cô để đồ án của em được hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện :
Bùi Mạnh CầnĐoàn Văn Bình
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ NỘI DUNG ĐỀ TÀI
1.1 Đặt vấn đề
Hiện nay kỹ thuật điện tử đang trở thành một nghành khoa học đa nhiệm vụ Ngoàiviệc đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực trong các nghành khoahàng không vũ trụ, thông tin liên lạc, tự động điều khiển… điện tử còn đáp ứng được cho ranhững điện thử tự động đòi hỏi sự chính xác cao đã hỗ trợ con người rất nhiều trong cuộcsống Những thành tựu khoa học kỹ thuật đã mang đến cho con người một cuộc sống tiệnnghi văn minh và hiện đại
Hai trong những ứng dụng rất nổi bật của cộng nghệ điện tử là kỹ thuật nhận dạng tựđộng và kỹ thuật báo động điện tử Các công nghệ nhận dạng tự động như: các mã vạch, cácthẻ thông minh, công nghệ sinh trắc học, nhận dạng đặc trưng quang học và nhận dạng tần
số vô tuyến RFID Các thiết bị báo động điện tử như: hệ thống báo cháy, hệ thống báo trộmbằng chuông, hệ thống đóng mở cửa sử dụng mật mã… ứng dụng của hai kỹ thuật này đãgóp phần rất lớn trong việc an toàn vệ an toàn dụng cụ và tài sản của người sử dụng
1.2 Khảo sát vấn đề
Hiện nay những ứng dụng của phần cứng được sử dụng ngày càng nhiều và phổ biến,đảo qua các trung tâm thành phố lớn chúng ta có thể thấy những bãi đỗ xe thông minh có sửdụng modul đọc thẻ để kiểm soát lượng xe ra vào một cách hoàn toàn tự động Chúng trôngkhá đẹp mắt và tiện lợi Ngoài ra module đọc thẻ còn được sử dụng vào rất nhiều lĩnh vựckhác trong cuộc sống như : ứng dụng thẻ từ Rfid để đóng mở cửa , ứng dụng quản lý xe ravào lấy hàng hóa , ứng dụng trạm thu phí tự động hóa …
Đề tài chúng em chọn xuất phát từ ý tưởng trong thực tế đang cần những ứng dụngcông nghệ thông minh vào trong cuộc sống Với ý tưởng này chúng em đã kết hợp lý thuyết
và thực tế để làm đồ án “Thiết kế, chế tạo mô hình bãi đỗ xe thông minh”.
1.3 Các vấn đề cần giải quyết của bài toán
Bài toán“Thiết kế, chế tạo mô hình bãi đỗ xe thông minh”đặt ra các yêu cầu sau:
- Có khả năng phát triển và mở rộng vào các ứng dụng trong thực tế
- Có độ bền cao, hệ thống chạy ổn định
- Lập trình cho PIC 16F877A rồi từ đó áp dụng cho ứng dụng
- Mạch có hiển thị trên LCD, và giám sát trên máy tính
- Sử dụng module RFID RC522
Trang 61.4 Giải pháp
Giải pháp đưa ra để đáp ứng yêu cầu bài toán:
- Sử dụng vi điều khiển PIC 16F877A
- Sử dụng module RFID RC522
- Xây dựng chương trình phần mềm điều khiển
- Lập trình cho nút bấm để điều khiển mạch
- Sử dụng LCD để hiển thị thông số
1.5 Mục đích đề tài
Sự cần thiết, quan trọng cũng như tính khả thi và lợi ích của mạch số cũng chính là lý
do để chúng em chọn và thực hiện đồ án “Thiết kế, chế tạo mô hình bãi đỗ xe thông
minh” nhằm ứng dụng kiến thức đã học vào thực tế Và hơn thế nữa có thể mở rộng ứng
dụng của mạch vào trong thực tế nhằm đem lại sự hiệu quả trong công việc
Trang 7CHƯƠNG II: GIỚI THIỆU MỘT SỐ IC ĐƯỢC SỬ DỤNG TRONG MẠCH 2.1 Giới thiệu về PIC:
2.1.1 Tổng quan về họ vi điều khiển
Dòng PIC đầu tiên là PIC1650 được phát triển Microelectronics Division thuộcGeneral_Instrument PIC bắt nguồn từ chữ viết tắc của “Programmable IntelligentComputer” (Máy tính khả trình thông minh) là một sản phẩm của hãng GeneralInstruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650 Lúc này, PIC 1650 đượcPic là một ho vi điều khiển RISC được sản xuất bởi công ty Mirochip Technology dùng
để giao tiếp với các thiết bị ngoại vi cho các máy chủ 15 bit CP1600, vì vậy, người tacũng gọi PIC “Peripheral Interface Controller” (Bộ điều khiển giao tiếp ngoại vi).CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, vì vậy PIC 8_bitđược phất triển vào khoảng năm 1975 để hổ trợ hoạt động xuất nhập cho CP1600 PIC sửdụng microcode đơn giản đặt trong ROM, và mặc dù cụm từ RISC chưa được sử dụngthời bấy giờ, nhưng PIC thật sự là một vi điều khiển với kiến trúc RISC, chạy một lệnhmột chu kỳ máy (4 chu kỳ của bộ dao động) Năm 1985 General Instruments bán bộ phận
vi điện tử của họ, và chủ sở hữu hũy bỏ hầu hết các dự án lúc đó quá lỗi thời Tuy nhiên,PIC được bổ xung EPROM để tạo thành một bộ điều khiển vào ra khả trình Ngày nay rấtnhiều dòng PIC được sản xuất với hàng loạt các module ngoại vi tích hợp sẵn (nhưUSART, PWM, ADC…), với bộ nhớ chương trình từ 512 Word đến 32k Word
2.1.2 Một số đặc tính của vi điều khiển PIC
Hiện nay có khá nhiều dòng PIC và có rất nhiều khác biệt về phần cứng nhưng chúng ta
có thể điểm qua một vài nét sau:
8/16 bit CPU, xây dựng theo kiến trúc Harward có sữa đổi
Flsah và ROM có thể tùy chọn từ 256 byte đến 256 Kbyte
Các cổng xuất/nhập (I/O) mức logic thường từ 0V đến 5.5V, ứng với logic 0 và 1
8/16 bit timer
Các chuẩn giao tiếp nối tiếp đồng bộ, khung đồng bộ USART
Bộ chuyển đổi ADC Analog_to_digital converters, 10/12 bit
Bộ so sánh điện áp
Các module Capture/Campare/PWM
LCD
MSSP Peripheral dựng cho các giao tiếp IC2, SPI
Bộ nhớ nội EPROM-có thể ghi/xóa lên tới một triệu lần
Moudle điều khiển động cơ, đọc encoder
Trang 8 Hỗ trợ giao tiếp USB.
Hỗ trợ giao tiếp CAN
Hỗ trợ giao tiếp LIN
Hỗ trợ giao tiếp IRDA
Một số dòng có tích hợp 7675bộ RF (PIC16f639 và RFPIC)
KEELOQ mã hóa và giải mã
DSP những tính năng xử lý tín hiệu số (dsPIC) đặc điểm thực thi tốc độ cao củaRISC CPU của họ vi điều khiển PIC16F87XA
Timer0: 8_bit định thời/đếm với 8_bit, prescaler
Timer1: 16_bit định thời/đếm với prescaler, có thể được tăng lên trong suốt chế độSleep qua thạch anh/xung clock bên ngoài
Timer2: 8_bit định thời/đếm với 8_bit, prescaler, postscaler
Hai module Capture, Compare,PWM:
Capture có độ rộng 16 bit, độ phân giải 12,5ns
Compare có độ rộng 16 bit, độ phân giải 200ns
Độ phân giải lớn nhất của PWM là 10bit
Có 13 ngõ I/O có thể điều khiển trực tiếp
Dòng vào và ra lớn:
25mA dòng vào cho mỗi chân
20mA dòng ra cho mõi chân
2.1.4 Đặc điểm về tương tự
- 10 bit, với 8 kênh của bộ chuyển đổi tương tự sang số (A/D)
- Brown_out Reset (BOR)
- Module so sánh về tương tự:
Hai bộ so sánh tương tự
Module điện áp chuẩn VREF có thể lập trình trên PIC
Trang 9Có thể lập trình ngõ vào đến từ những ngõ vào của PIC và trên điện áp bên trong.Những ngõ ra của bộ so sánh có thể sử dụng cho bên ngoài.
2.1.5 Các đặc điểm đặc biệt của vi điều khiển Pic
Có thề ghi/xóa tới 100.000 lần với kiểu bộ nhớ chương trình Enhanced Flash
1000.000 lần ghi/xóa với kiểu bộ nhớ EPROM
EPROM có thể lưu trữ dữ liệu hơn 40 năm
Có thể lập trình lại dưới sự điều khiển của phần mềm
Mạch lập trình nối tiếp qua hai chân
Nguồn đơn 5V cấp cho mạch lập trình nối tiếp
Watchdog Timer (WDT) với bộ dao dộng RC tích hợp sẵn trên Chip cho hoạt độngđáng tin cậy
Có thể lập trình màng bảo vệ
Tiết kiệm năng lượng với chế độ Sleep
Có thể lựa chọn bộ dao động
2.2 Giới thiệu về PIC16F8XX và PIC16F877A:
PIC16F8XX lò nhóm PIC trong họ PIC16FXX của họ vi điều khiển 8_bit, tiêu tốnnăng lượng thấp, đáp ứng nhanh, chế tạo theo công nghệ CMOS, chống tĩnh điện tuyệtđối Bao gồm các nhóm sau:
là 14_bit và bus dữ liệu 8_bit cách biệt nhau Tất cả các lệnh điều mất một chu kỳ lệnh,ngoại trừ các lệnh rẽ nhánh chương trình mất hai chu kỳ lệnh Chỉ có 35 lệnh và mộtlượng lớn các thanh ghi cho phép đáp ứng cao trong ứng dụng
Họ PIC16F8XX có nhiều tính năng đặc biệt làm giảm các thiết bị ngoại vi, vì vậykinh tế cao, có hệ thống nổi bật đáng tin cậy và sự tiêu thụ năng lượng thấp Ở dây cóbốn sự lựa chọn bộ dao động và chỉ có chân kết nối bộ dao dộng RC nên có giải pháp tiết
Trang 10kiệm cao Chế độ SLEEP tiết kiệm nguồn và có thể được đánh thức bởi các nguồn reset.
Và còn nhiều phần khác đó được giới thiệu bên trên sẽ được nói ở các phần kế tiếp
PIC 16F877A là dòng PIC phổ biến nhất hiện nay (đủ mạnh về tính năng, 40 chân,
bộ nhớ đủ cho hầu hết các ứng dụng thông thường) Cấu trúc tổng quát của PIC16F877Anhư sau:
8 K Flash ROM
368 Bytes RAM
256 Bytes EEPROM
5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập
2 bộ định thời 8 bits (Timer 0 và Timer 2)
Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm nănglượng (SLEEP MODE) với nguồn xung Clock ngoài
2 bô CCP (Capture / Compare/ PWM)
1 bộ biến đổi AD 10 bits, 8 ngõ vào
2 bộ so sánh tương tự (Compartor)
1 bộ định thời giám sát (WatchDog Timer)
Một cổng song song 8 bits với các tín hiệu điều khiển
Một cổng nối tiếp
15 nguồn ngắt
Có chế độ tiết kiệm năng lượng
Nạp chương trình bằng cổng nối tiếp ICSP(In-Circuit Serial Programming)
Được chế tạo bằng công nghệ CMOS
35 tập lệnh có độ dài 14 bits
Tần số hoạt động tối đa 20MHz
2.2.1 Các đặc tính ngoại vi bao gồm
Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vàoxung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler
Hai bộ Capture/so sánh/điều chế độ rộng xung
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
CS ở bên ngoài
Các đặc tính Analog:
8 kênh chuyển đổi ADC 10 bit
Trang 11 Hai bộ so sánh.
Bộ nhớ flash với khả năng ghi xóa được 100.000 lần
Cổng 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ươngtrình ngay trên mạch điện ICSP (In Circuit Serial Programming) thông 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
Có thể hoạt động với nhiều dạng Oscillator khác nhau
2.2.2 Sơ lược về vi điều khiển PIC 16F877A:
- Sơ đồ chân :
Hình 2.1: Sơ đồ khối PIC 16F877A – 40Pin
Trang 122.2.3 Cấu trúc phần cứng của PIC 16F877A:
PIC là tên viết tắt của “Programmable Intelligent computer” do hãng GeneralInstrument đặt tên cho con vi điều khiển đầu tiên của họ Hãng Micrchip tiếp tục pháttriển sản phầm này và cho đến hàng đã tạo ra gần 100 loại sản phẩm khác nhau
PIC16F887A là dòng PIC khá phổ biến, khá đầy đủ tính năng phục vụ cho hầu hếttất cả các ứng dụng thực tế Đây là dòng PIC khá dễ cho người mới làm quen với PIC cóthể học tập và tạo nền tản về họ vi điều khiển PIC của mình
Cấu trúc tổng quát của PIC16F877A như sau :
o 8K Flash Rom
o 368 bytes Ram
o 256 bytes EFPROM
o 5 port vào ra với tín hiệu điều khiển độc lập
o 2 bộ định thời Timer0 và Timer2 8 bit
o 1 bộ định thời Timer1 16 bit có thể hoạt động ở cả chế độ tiết kiệm năng lượng vớinguồn xung clock ngoài
o 2 bộ Capture/ Compare/ PWM
o 1 bộ biến đổi Analog -> Digital 10 bit, 8 ngõ vào
o 2 bộ so sánh tương tự
Trang 13o 1 bộ định thời giám sát (Watch Dog Timer)
o 1 cổng song song 8 bit với các tín hiệu điều khiển
Trang 14Để mã hóa được địa chỉ 8K word bộ nhớ chương trình, thanh ghi đếm chương trình
PC có dung lượng 13 bit
Khi vi điều khiển reset, bộ đếm chương trình sẽ trỏ về địa chỉ 0000h Khi có ngắtxảy ra thì thanh ghi PC sẽ trỏ đến địa chỉ 0004h
Bộ nhớ chương trình không bao gồm bộ nhớ Stack và không được địa chỉ hóa bởi
bộ đếm chương trình
2.2.4.2 Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC l bộ nhớ EEPROM được chia ra làm nhiều bank
Bộ nhớ dữ liệu của PIC16F877A được chia thành 4 bank Mỗi bank có dụng lượng
128 byte
Nếu như 2 bank bộ nhớ dữ liệu của 8051 phân chia riêng biệt : 128 byte đầu tiênthuộc bank1 là vùng Ram nội chỉ để chứa dữ liệu, 128 byte còn lại thuộc bank 2 là cùngcác thanh ghi có chức năng đặc biệt SFR mà người dùng không được chứa dữ liệu kháctrong đây thì 4 bank bộ nhớ dữ liệu của PIC16F877A được tổ chức theo cách khác
Mỗi bank của bộ nhớ dữ liệu PIC16F877A bao gồm cả các thanh ghi có chức năngđặc biệt SFR nằm ở các các ô nhớ địa chỉ thấp và các thanh ghi mục đích dùng chungGPR nằm ở vùng địa chỉ còn lại của mỗi bank thanh ghi Vùng ô nhớ các thanh ghi mụcđích dùng chung này chính là nơi người dùng sẽ lưu dữ liệu trong quá trình viết chươngtrình Tất cả các biến dữ liệu nên được khai báo chứa trong vùng địa chỉ này
Trong cấu trúc bộ nhớ dữ liệu của PIC16F877A, các thanh ghi SFR nào mà thườngxuyên được sử dụng (như thanh ghi STATUS) sẽ được đặt ở tất cả các bank để thuận tiệntrong việc truy xuất Sở dĩ như vậy là vì, để truy xuất một thanh ghi nào đó trong bộ nhớcủa 16F877A ta cần phải khai báo đúng bank chứa thanh ghi đó, việc đặt các thanh ghi sửdụng thường xuyên giúp ta thuận tiện hơn rất nhiều trong quá trình truy xuất, làm giảmlệnh chương trình