Thiết kế Khóa số

Mục Lục LỜI MỞ ĐẦU 6 CHƯƠNG I: PHÂN TÍCH BÀI TOÁN 7 1.1 TỔNG QUAN VỀ HỆ THỐNG KHÓA SỐ 7 1.2 SƠ ĐỒ KẾT CẤU HỆ THỐNG 7 1.3 XÁC ĐỊNH BÀI TOÁN 7 CHƯƠNG II: THIẾT KẾ HỆ THỐNG 9 2.1 SƠ ĐỒ KHỐI TỔNG THỂ 9 2.2 SƠ ĐỒ KHỐI CẤU TRÚC HỆ THỐNG 9 2.3 SƠ ĐỒ ĐẶC TẢ HỆ THỐNG 10 2.4.1 Modul đầu vào 10 2.4.2 Modul điều khiển trung tâm 11 2.4.3 Modul đầu ra 12 2.5 LỰA CHỌN LINH KIỆN 13 2.5.1 Khối bàn phím 13 2.5.2 PIC18F452 14 2.5.3 Khối hiển thị LCD 26 2.5.4 Động cơ 29 2.5.5 Transistor 31 2.5.6 Loa 34 2.6 SƠ ĐỒ NGUYÊN LÝ 36 2.7 NGUYÊN LÝ HOẠT ĐỘNG 36 2.8 SƠ ĐỒ THUẬT TOÁN ĐIỀU KHIỂN 37 2.8.1 Thuật toán chương trình chính 37 2.8.2 Thuật toán đổi mật khẩu 38 2.8.3 Thuật toán quét bàn phím 39 2.9 XÂY DỰNG PHẦN MỀM 40 2.10 KẾT QUẢ MÔ PHỎNG 48 ĐÁNH GIÁ VÀ KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 49 LỜI MỞ ĐẦU Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ.Nó đã đáp ứng được những nhu cầu cần thiết trong hoạt động đời sống hằng ngày.Một trong những nhu cầu đó là vấn đề bảo mật . Mỗi một cá nhân, một gia đình, hay một cơ quan đều có các vấn đề cần được bảo mật. Và để bảo mật được thì phải có một hệ thống bảo mật. Trước nhu cầu đó khóa số bằng điện tử là một giải pháp dùng để bảo mật rất hiệu quả và tiện lợi. Ngoài ra do nhu cầu ứng dụng lý thuyết đã học ở trường vào trong cuộc sống nên chúng em đã chọn đề tài “khoá số” để làm đồ án môn học. Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy giáo Nguyễn Tiến Duy cùng sự trợ giúp của các bạn trong nhóm và các tài liệu có liên quan,chúng em đã hoàn thành xong đề tài. Đồ án đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong thầy cô giáo thông cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi trong thực tế. Chúng em xin chân thành cảm ơn các thầy cô!

doc49 trang | Chia sẻ: banmai | Lượt xem: 1964 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Thiết kế Khóa số, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Nhận xét của giáo viên hướng dẫn Thái Nguyên, Ngày Tháng Năm 20... Giáo Viên hướng dẫn (Ký ghi rõ họ tên) Nhận xét của giáo viên chấm Thái Nguyên, Ngày Tháng Năm 20... Giáo Viên chấm (Ký ghi rõ họ tên) Mục Lục LỜI MỞ ĐẦU Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ.Nó đã đáp ứng được những nhu cầu cần thiết trong hoạt động đời sống hằng ngày.Một trong những nhu cầu đó là vấn đề bảo mật . Mỗi một cá nhân, một gia đình, hay một cơ quan đều có các vấn đề cần được bảo mật. Và để bảo mật được thì phải có một hệ thống bảo mật. Trước nhu cầu đó khóa số bằng điện tử là một giải pháp dùng để bảo mật rất hiệu quả và tiện lợi. Ngoài ra do nhu cầu ứng dụng lý thuyết đã học ở trường vào trong cuộc sống nên chúng em đã chọn đề tài “khoá số” để làm đồ án môn học. Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy giáo Nguyễn Tiến Duy cùng sự trợ giúp của các bạn trong nhóm và các tài liệu có liên quan,chúng em đã hoàn thành xong đề tài. Đồ án đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong thầy cô giáo thông cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi trong thực tế. Chúng em xin chân thành cảm ơn các thầy cô! Thái nguyên, ngày…tháng…năm 2011 Sinh viên thực hiện Nguyễn Thị Chanh Bùi Văn Hùng Vũ Văn Ngữ CHƯƠNG I: PHÂN TÍCH BÀI TOÁN 1.1 TỔNG QUAN VỀ HỆ THỐNG KHÓA SỐ Hệ thống khóa số là một hệ thống đóng mở theo mã cho phép một số ít người có thể ra vào theo mã của họ. Nó có thể được áp dụng làm cửa ra vào của các hệ thống cần mang tính bảo mật, giới hạn số người ra vào như: Cửa ra vào cơ quan, nhà máy, các khu quan trọng. 1.2 SƠ ĐỒ KẾT CẤU HỆ THỐNG - Khối tác động vào: nhập mã số từ bàn phím vào.Sẽ có 2 kết quả là đúng hoặc sai. - Khối xử lý: kiểm tra kết quả của tác động vào,ứng với mỗi kết quả sẽ thực hiện những công việc khác nhau rồi đưa tới tác động ra. - Khối tác động ra: nhận thông báo từ khối xử lý,cửa mở hoặc không. Khối tác động vào Khối xử lý Khối tác động ra XÁC ĐỊNH BÀI TOÁN 1.3.1 Nhiệm vụ cơ bản của hệ thống khóa số : Mở cửa, đóng cửa theo mã của người dùng đặt nhằm đảm bảo tính bảo mật. 1.3.2 Yêu cầu cơ bản : Hệ thống phải đảm bảo được những yêu cầu cơ bản sau: Tính an toàn: phải có chức năng bảo mật. Dễ sử dụng: có đầy đủ hướng dẫn để người dùng sử dụng. Hệ thống áp dụng chomột cửa 1 chiều (vào). Hệ thống quản lí một số mã ứng với một số người được cho phép ra vào cửa và hoạt động trên cơ sở các mã này. Mã sử dụng các chữ số từ 0->9 Độ dài của mã từ 1->10 chữ số Bộ điều khiển bằng tay đặt ở bên cạnh cửa. Hệ thống điện cấp mới từ đầu. Có pin dự trữ khi mất điện. 1.3.3 Điều kiện: - Cửa đang đóng ,nhập mã đúng cửa mở hongy. - Làm việc cả khi có điên và mất điện. - Hệ thống làm việc tự động - Công nghệ tùy chọn. - Hệ thống giao tếp với người sử dụng hong qua một bàn phím và hiển thị trên màn hình. - Khi bắt đầu người sử dụng được yêu cầu nhập mã, nhập nhầm có thể quay lại. 1.3.4 Điều kiện ràng buộc: - Sử dụng màn hình LCD hiển thị. - Sử dụng động cơ. - Sử dụng vi điều khiển. - Hệ thống có thể áp dụng cho nhiều loại cửa. - Điều kiện môi trường :trong nhà, nhiệt độ từ 18ºC-36ºC. - Có thể thay đổi mã. - Dễ dàng lập trình lại khia không nhớ mã. CHƯƠNG II :THIẾT KẾ HỆ THỐNG 2.1. SƠ ĐỒ KHỐI TỔNG THỂ Hệ thống gồm 3 khối cơ bản: Khối đầu ra Khối xử lý trung tâm Khối đầu vào 2.1.1. Khối đầu vào: Bàn phím 4x4: - Các nút số từ 0-9 - Các nút chức năng: ok, mở cửa, khóa cửa, đổi pass, khóa xong, mở xong. Sử dụng các phím bấm tự nhả để nhập vào. 2.1.2. Khối xử lý trung tâm: Vi điều khiển Pic 18F452 xử lí các hoạt động đã nêu ở yêu cầu và điều kiện bài toán. 2.1.3. Khối đầu ra: Giúp cho việc giao tiếp với người sử dụng trở nên dễ dàng hơn người sử dụng biết mình đang thực hiện thao tác gì với cửa. SƠ ĐỒ KHỐI CẤU TRÚC HỆ THỐNG Bàn phím Hiển thị Báo động Nguồn Pic 18F452 Động cơ 2.3 SƠ ĐỒ ĐẶC TẢ HỆ THỐNG Chờ Đổi Pass Mở cửa Nhập Pass Khóa cửa 3 lần Báo động Đúng Đúng Sai Sai 2.4 CÁC MODUL TRONG HỆ THỐNG 2.4.1 Modul đầu vào: Bàn phím 4x4: Hình 1: Bàn phím 4x4 Nhập mã số từ bàn phím vào. Sẽ có 2 kết quả là đúng hoặc sai. 2.4.2 Modul điều khiển trung tâm Pic 18F452: a. Sơ đồ chân: Hình 2: Sơ đồ chân Pic18F452 Đặc điểm PIC 18F452 - Công nghệ CMOS có đặc tính : công suất thấp, công nghệ bộ nhớ Flash/EEPROM tốc độ cao. Điện áp hoạt động từ 2V đến 5,5V và tiêu tốn năng nượng thấp. phù hợp với nhiệt độ làm việc trong công nghiệp và trong thương mại. - Tốc độ hoạt động : - DC – 20MHz ngõ vào xung clock - DC – 200ns chu kỳ lệnh - Dung lượng của bộ nhớ chương trình Flash là 8K x 14words. - Dung lượng của bộ nhớ dữ liệu RAM là 368x8Bytes. - Dung lượng của bộ nhớ dữ liệu EEPROM là 256x8 Bytes. + Bộ nhớ dữ liệu EEPROM cho phép xóa và ghi 1.000.000 lần. + Bộ nhớ EEPROM có thể lưu giữ dữ liệu hơn 40 năm và có thể tự lập trình lại được dưới sự điều khiển của phần mềm. 2.4.3 Modul đầu ra: 2.4.3.1 Màn hình hiển thị LCD 4 bit: Hình 3: Màn hình LCD LM016L Nguyên tắc hiển thị ký tự trên LCD Một chương trình hiển thị ký tự trên LCD sẽ đi theo bốn bước sau: - Xóa toàn bộ màn hình. - Đặt chế độ hiển thị. - Đặt vị trí con trỏ (nơi bắt đầu của ký tự hiển thị). - Hiển thị ký tự. + Các bước 3, 4 có thể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự. + Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD cần phải kiểm tra cờ trước của chu kì trước đó. Vì vậy, cần phải chủ động phân phối thời gian khi ra lệnh cho LCD( ví dụ sau khi xóa màn hình sau khoảng 2ms mới ra lệnh khác vì thời gian để LCD xóa màn hình là 1,64ms). + Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ là đầu dòng thứ nhất. 2.4.3.2 Loa báo động: Hình 4: Loa báo động Khi bạn nhập password sai 3 lần thì thì mạch phát ra âm thanh và sau 1 khoảng thời gian( do người lập trình cài đạt đặt) mạch sẽ dừng phát. 2.4.3.3 Động cơ: Hình 5: Động cơ 1 chiều Động cơ điện 1 chiều, hoạt động khi được cấp tín hiệu đầu vào. LỰA CHỌN LINH KIỆN Khối bàn phím Sử dụng bàn phím ma trận 4×4 Hình 6: Bàn phím 4x4 Để điều khiển bàn phím ma trận ta sử dụng phương quét phím. Để điều khiển quét phím thì phải xuất dữ dữ liệu 4 bit ( trong đó có 1 bit ở mức logic thấp và 3 bit còn lại ở mức logic cao) ra các cột của ma trận phím vào để kiểm tra xem có phím nào được nhấn hay không. Nếu có phím nhấn thì trong 4 bít đọc vào sẽ có 1 bit ở mức logic thấp và dựa trên cơ sở đó để thiết lập ma trận phím. Nếu không có phím nhấn thì 4 bit đọc vào đều ở mức cao,khi đó ta chuyển mức logic thấp sang cột kế tiếp để dò tìm phím khác. Ứng dụng: Thí nghiệm phương pháp kết nối bàn phím được thiết kế theo kiểu ma trận với vi điều khiển. Thí nghiệm ứng dụng điều khiển thiết bị bằng bàn phím. Thí nghiệm các phương pháp quét phím và nhận dạng phím nhấn. PIC18F452 Hình 7: Pic 18F452 2.5.2.1. Tính năng Tập lệnh, cấu trúc được tối ưu hóa theo ngôn ngữ C. Mã nguồn tương thích với tập lệnh PIC17 và PIC16 . Địa chỉ bộ nhớ chương trình tuyến tính đến 32 Kbytes. Địa chỉ bộ nhớ dữ liệu tuyến tính đến 1.5 Kbytes. Hoạt động lên đến 10MIPs. Đầu vào dao động thạch anh lên đến 40 MHz. Đầu vào dao động thạch anh với PLL: 4 MHz - 10 MHz. Lệnh rộng 16-bit, độ rộng bit dữ liệu: 8-bit. Hỗ trợ các cấp ưu tiên ngắt. Nhân bằng phần cứng đơn chu kỳ 8 x 8. - Tính năng ngoại vi: Dòng phát/hút cao: 25 mA/25 mA 3 chân ngắt ngoài Timer0 module: 8-bit/16-bit timer/counter với 8-bit đặt tỷ lệ lập trình được Timer1 module: 16-bit timer/counter Timer2 module: 8-bit timer/counter với thanh ghi 8-bit (thời gian cơ sở cho PWM) Timer3 module: 16-bit timer/counter Tùy chọn xung clock thứ 2 - Timer1/Timer3 Hai bộ Capture/Compare/PWM (CCP). Chân CCP có thể được cấu hình thành: Capture input: capture is 16-bit, max. resolution 6.25 ns (TCY/16) Compare is 16-bit, max. resolution 100 ns (TCY) PWM output: PWM resolution is 1- to 10-bit, max. PWM freq. @: 8-bit resolution = 156 kHz, 10-bit resolution = 39 kHz Khối truyền thông nối tiếp đồng bộ (Master Synchronous Serial Port - MSSP) Hai chế độ hoạt động: 3-dây SPI™ (Hỗ trợ cả 4 chế độ SPI) I2C™ cả chế độ Master và Slave Khối USART có thể định địa chỉ: Hỗ trợ RS-485 và RS-232 Khối cổng song song (Parallel Slave Port - PSP) - Tính năng tương tự: Khối chuyển đổi tương tự sang số độ phân giải 10-bit: Chu kỳ lấy mẫu nhanh. Chuyển đổi cả trong khi ngủ. Tuyến tính ≤ 1 LSB. Phát hiện điện áp thấp lập trình được. Hỗ trợ ngắt khi phát hiện điện áp thấp. Phát hiện reset do sụt nguồn lập trình được (BOR). 2.5.2.2 Sơ đồ và ý nghĩa chân Hình 8: Sơ đồ chân PIC 18F452 Tên chân Chân số Loại IO Loại Bộ đệm Giải thích MCLR 1 I ST Chân reset PIC, PIC sẽ reset khi chân này mức thấp VPP 1 I ST Chân lập trình (nạp PIC), ngõ vào điện áp cao OSC1 13 I ST Dao động thạch anh đầu vào hoặc nguồn đầu vào đồng hồ bên ngoài. Bộ đệm ST khi cấu hình trong chế độ RC, CMOS khác. OSC2 14 O - Đầu ra của bộ dao động thạch anh VDD 11, 32 P Nguồn 5v cho PIC và logic 1 cho các IO VSS 12, 31 P Mass cho PIC và các mức logic 0 cho IO CLKI 13 I CMOS Nguồn dao động từ bên ngoài vào. Luôn luôn kết hợp với chức năng OSC1 pin. (Xem liên quan chân OSC1/CLKI, OSC2/CLKO) CLKO 14 O - Trong chế độ RC, chân OSC2 xuất xung ra CLKO, trong đó có tần số bằng 1/4 của OSC1 và biểu thị tần số thực hiện lệnh RAi/ANi Chân vào ra 2 chiều, cổng RA (i=0..6) RAi … TTL Vào ra số ANi Analog Vào tương tự (cho chuyển đổi ADC) VREF- 4 Analog Điện áp tham chiếu thấp cho ADC VREF+ 5 Analog Điện áp tham chiếu cao cho ADC SS 7 ST Đầu vào chọn Slave trong truyền thông SPI LVDIN 7 Analog Đầu vào phát hiện điện áp thấp RBi 33..40 IO TTL Đầu vào/ra hai chiều, có thể lập trình tạo điện trở treo (yếu) nội(i=0..7) INTi I ST Đầu vào ngắt ngoài (i=0..2) CCPi IO Capture input, Compare output, PWM output. (i=1..2) PGM 38 IO ST Chân cho phép lập trình ICSP điện áp thấp PGC 39 IO ST Chân Clock khi lập trình ICSP và gỡ rối tại mạch (In-Circuit) PGD 40 IO ST Chân dữ liệu khi lập trình ICSP và gỡ rối tại mạch (In-Circuit) RCi IO TTL Đầu vào ra hai chiều, cổng RC (i=0..7) T1OSO 15 O - Chân ra bộ dao động timer1 T1CKI 15 I ST Dao động từ ngoài vào Timer1/Timer3 T1OSI 16 I CMOS Đầu vào bộ dao động Timer1 SCK 18 IO ST Xung clock nối tiếp đồng bộ vào/ra cho SPI SCL 18 IO ST Xung clock nối tiếp đồng bộ vào/ra cho I2C SDI 23 I ST Chân dữ liệu vào trong SPI SDA 23 IO ST Chân dữ liệu vào/ra trong I2C SDO 24 O ST Chân dữ liệu ra trong SPI TX 25 O - Chân truyền dữ liệu không đồng bộ USART CK 25 IO ST Chân xung nhịp truyền thông đồng bộ USART RX 26 I ST Chân nhận dữ liệu nối tiếp trong truyền thông không đồng bộ USART DT 26 IO ST Chân dữ liệu truyền thông đồng bộ USART RDi 19..30 IO ST Vào ra số cổng RD (i=0..7) PSPi 19..30 IO TTL Dữ liệu cổng song song (Slave) (i=0..7) REi 8..10 IO ST Vào ra số cổng RE (i=0..2) RD 8 TTL Điều khiển đọc cho cổng song song Slaver WR 9 TTL Điều khiển ghi cho cổng song song Slaver CS 10 TTL Điều khiển chọn chip trong giao tiếp song song Slaver Trong đó: TTL = TTL tương thích với đầu vào . ST = Schmitt Trigger đầu vào với mức CMOS. O = ra, I=vào. P = Power. OD = Open Drain (không có diode P nối tới vdd) . CMOS = CMOS compatible input or output. 2.5.2.3 Sơ đồ khối: Sơ đồ khối của PIC 18F452 như hình dưới: Hình 9: Cấu trúc bộ nhớ của 18F452 Hình 10: Sơ đồ khối PIC18F452 2.5.2.4. Vào ra số Hình 11: Sơ đồ khối gắp nối vào ra số Để xuất/nhập cổng vào ra của PIC, ta phải thông qua 3 thanh ghi: - TRISx: TRISA, TRISB, TRISC,… để xác định hướng vào/ra. Nếu bit nào đó của TRISx =1 thì bít tương ứng của cổng x sẽ là cổng vào, và ngược lại. - PORTx: PORTA, PORTB, PORTC,… để nhập (có thể xuất) giá trị ra cổng - LATx: LATA, LATB,..để xuất giá trị ra cổng. Điện trở treo của cổng RB, có thể được sử dụng thông qua lập trình cho thanh ghi INTCON2 . Cổng RB còn có tính năng tạo ngắt on-change, tức là nếu có bất kỳ thay đổi gì trên chân RBi thì sẽ sinh ngắt, nên rất thuận lợi cho việc ghép nối với phím bấm. 2.5.2.5. Timer a) Timer0 Khối Timer0 có các tính năng: Có thể lựa chọn băng phần mềm bộ timer hoạt động dạng 8-bit hoặc 16 bit timer/counter. Có thể đọc hoặc ghi. Có thể lựa chọn tần số bằng cách đặt tham số prescale. Nguồn xung clock có thể lựa chọn nội hay ngoại. Ngắt tràn từ FFh xuống 00h ở chế độ 8 bit và FFFFh xuống 0000h trong chế độ 16 bit. Có thể chọn cạnh cho nguồn dao động ngoài. Các thanh ghi liên quan: Timer0 có thể làm việc ở 2 chế độ 8bit/16bit thông qua lập trình: Hình 12: Sơ đồ khối timer0 chế độ 8bit Hình 13: Sơ đồ khối của timer0 ở chế độ 16bit b) Timer1 Timer1 là bộ timer 16bit với các thanh ghi liên quan như sau: Nguyên lý hoạt động của khối Timer1: Hình 14: Sơ đồ khối timer1 c) Timer 2 Khối Timer 2 có các tính năng: Timer 8bit (thanh ghi TMR2) Có thể đọc/ghi Tần số vào có thể lập trình được với các tỉ lệ 1:1, 1:4, 1:16 Tần số ra có thể lập trình được với các tỉ lệ 1:1 đến 1:16 Ngắt khi TMR2=PR2 Hình 15: Sơ đồ khối Timer2 Khối Timer 2 có một thanh ghi định thời lượng 8-bit PR2. Khi có xung vào Timer2 tăng từ 00h đến khi khớp với PR2 và tràn về 00h tại chu kỳ tăng tiếp theo. PR2 là thanh ghi có thể đọc/ghi. Thanh ghi PR2 khi reset có giá trị là FFh Thanh ghi liên quan đến Timer 2: d) Timer 3 Khối Timer 3 có các tính năng: Timer 16 bit (2 thanh ghi 8-bit, TMR3H và TMR3L). Có thể đọc/ghi. Ngắt khi tràn từ FFFFh về 0000h. Các thanh ghi có liên quan: Hình 16: Sơ đồ khối timer3 Khối hiển thị LCD Hình 17: LCD LM016L 2.5.3.1 . Sơ đồ khối LCD: Hình 18: Sơ đồ khối LCD 2.5.3.2. Sơ đồ chân và chức năng các chân của Module LCD 16x2 Hình 19: Sơ đồ chân LCD Thông số của LCD : + Kích thước hiển thị : 16 ký tự x 2 dòng. + Màu hiển thị: đen/trắng + Chế độ giao tiếp : 8 bít và 4 bít + Cỡ chữ hiển thị : 5x7 hoặc 5x10 Chân số Ký hiệu Mức logic I/O Chức năng 1 Vss - - Nguồn cung cấp(GND) 2 Vdd - - Nguồn cung cấp(+5V) 3 Vee - I Điện áp để điều chỉnh độ tương phản 4 RS 0/1 I Lựa chọn thanh ghi 0= thanh ghi lệnh 1=thanh ghi dữ liệu 5 R/W 0/1 I 0=ghi vào LCD module 1=đọc từ LCD module 6 E 1,1=>0 I Tín hiệu cho phép 7 D0 0/1 I/O Data bus line 0(LSB) 8 D1 0/1 I/O Data bus line1 9 D2 0/1 I/O Data bus line2 10 D3 0/1 I/O Data bus line3 11 D4 0/1 I/O Data bus line4 12 D5 0/1 I/O Data bus line5 13 D6 0/1 I/O Data bus line6 14 D7 0/1 I/O Data bus line7(MSB) 15 Vcc - - Nguồn cung cấp 16 GND - - Mass 2.5.3.3. Nguyên tắc hiển thị ký tự trên LCD a. Một chương trình hiển thị ký tự trên LCD sẽ đi theo bốn bước sau: Xóa toàn bộ màn hình. Đặt chế độ hiển thị. Đặt vị trí con trỏ (nơi bắt đầu của ký tự hiển thị). Hiển thị ký tự. + Các bước 3, 4 có thể lặp lại nhiều lần nếu cần hiển thị nhiều ký tự. + Mỗi khi thực hiện ghi lệnh hoặc ghi dữ liệu hiển thị lên LCD cần phải kiểm tra cờ trước của chu kì trước đó. Vì vậy, cần phải chủ động phân phối thời gian khi ra lệnh cho LCD( ví dụ sau khi xóa màn hình sau khoảng 2ms mới ra lệnh khác vì thời gian để LCD xóa màn hình là 1,64ms). + Chế độ hiển thị mặc định sẽ là hiển thị dịch, vị trí con trỏ mặc định sẽ là đầu dòng thứ nhất. b. Các bit viết tắt trong mã lệnh. Tên bit Mô tả I/D 0=không dịch chuyển vị trí con trỏ 1=dịch chuyển vị trí con trỏ S =0 không dịch chuyển hiển thị =1 dịch chuyển hiển thị D 0=tắt hiển thị =1 bật hiển thị C 0=tắt con trỏ =1 bật con trỏ B 0=con trỏ không nhấp nháy =1 con trỏ nhấp nháy S/C 0=di chuyển con trỏ =1 dịch chuyển hiển thị R/L 0= dịch trái =1 dịch phải DL 0=chế độ 4bit dữ liệu =1 chế độ 8bit dữ liệu N 0=1 dòng 1= 2 dòng F 0= font 5x7 1= font 5x10 BF 0= không bận 1= đang bận Động cơ Sử dụng động cơ điện 1 chiều Hình 20: Động cơ 1 chiều Khái niệm : Động cơ điện một chiều là động cơ điện hoạt động với dòng điện một chiều. Cấu tạo: Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện, rotor có các cuộn dây quấn và được nối với nguồn điện một chiều, 1 phần quan trọng khác của động cơ điện 1 chiều là bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển động quay của rotor là liên tục. Thông thường bộ phận này gồm có một bộ cổ góp và một bộ chổi than tiếp xúc với cổ góp. Nguyên tắc hoạt độngcủa động cơ điện một chiều: Pha 1: Từ trường của rotor cùng cực với stator, sẽ đẩy nhau tạo ra chuyển động quay của rotor Pha 2: Rotor tiếp tục quay Pha 3: Bộ phận chỉnh điện sẽ đổi cực sao cho từ trường giữa stator và rotor cùng dấu, trở lại pha 1 Nếu trục của một động cơ điện một chiều được kéo bằng 1 lực ngoài, động cơ sẽ hoạt động như một máy phát điện một chiều, và tạo ra một sức điện động cảm ứng Electromotive force (EMF). Khi vận hành bình thường, rotor khi quay sẽ phát ra một điện áp gọi là sức phản điện động counter-EMF (CEMF) hoặc sức điện độngđối kháng, vì nó đối kháng lại điện áp bên ngoài đặt vào động cơ. Sức điện động này tương tự như sức điện động phát ra khi động cơ được sử dụng như một máy phát điện (như lúc ta nối một điện trở tải vào đầu ra của động cơ, và kéo trục động cơ bằng một ngẫu lực bên ngoài). Như vậy điện áp đặt trên động cơ bao gồm 2 thành phần: sức phản điện động, và điện áp giáng tạo ra do điện trở nội của các cuộn dây phần ứng. Dòng điện chạy qua động cơ được tính theo biều thức sau: I = (VNguon − VPhanDienDong) / RPhanUng Công suất cơ mà động cơ đưa ra được, được tính bằng: P = I * (VPhanDienDong) Cơ chế sinh lực quay của động cơ điện một chiều Khi có một dòng điện chạy qua cuộn dây quấn xung quanh một lõi sắt non, cạnh phía bên cực dương sẽ bị tác động bởi một lực hướng lên, trong khi cạnh đối diện lại bị tác động bằng một lực hướng xuống theo nguyên lý bàn tay trái của Fleming. Các lực này gây tác động quay lên cuộn dây, và làm cho rotor quay. Để làm cho rô to quay liên tục và đúng chiều, một bộ cổ góp điện sẽ làm chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ. Chỉ có vấn đề là khi mặt của cuộn dây song song với các đường sức từ trường. Nghĩa là lực quay của động cơ bằng 0 khi cuộn dây lệch 90o so với phương ban đầu của nó, khi đó Rô to sẽ quay theo quán tính. Transistor Định nghĩa Bộ khuếch đại công suất cơ bản nhất, thông thường nhất là transistor. Transistor là một linh kiện họ bán dẫn loại có hai mối nối. 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 cấu tạo Transistor tương đương với hai Diode đấu ngược chiều nhau. Cấu trúc này được gọi là Bipolar Junction Transitor (BJT) vì dòng điện chạy trong cấu trúc này bao gồm 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, dùng làm cực nền để gắn hai cực E và C. 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:dùng làm cực phun ra dòng hạt mang điện, và cực thu hay cực góp (Collector) viết tắt là C: thu dòng hạt mang điện phun ra từ cực E , 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 Muốn cực E phun ra dòng hạt mang điện, thì mối nối E-B phải ở điều kiện phân cực thuận và muốn cực C hút hết dòng hạt mang điện thì mối nối C-B phải phân cực nghịch, khi hai mối nối đều được phân cực nghịch thì Transistor ở trạng thái ngưng dẫn, và khi hai mối nối đều phân cực thuận thì Transistor ở trạng thái bão hoà. Các tham số chính của Transistor là: - Dòng làm việc cực đại (A,mA) - Điện áp đánh thủng trên cực C-E (volt) - Công suất cực đại (mW) Transistor có nhiều công dụng như trộn sóng, vuông hoá xung, khuếch đại, đóng mở theo áp, nắn dòng. 2.5.5.2. 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 β lần dòng bazo (dòng điều khiển ) Trong đó β là hệ số khuyếch đại dòng điện : IC = β.IB * Xét đặc tính đóng cắt Chế độ đóng cắt của Transistor phụ thuộc chủ yếu vào các tụ kí sinh giữa tiếp giáp BE và BC. + Quá trình cắt: Để cho transistor cắt được thì bắt đầu từ giá trị -Ub2 đến Ub1. + Quá trình đóng : Để cho transistor đóng thì bắt đầu từ giá trị từ Ub1 đến -Ub2.  * Xét nguyên lý hoạt động của Transistor NPN Ta cấp một nguồn một chiều UCE vào hai cực C và E trong đó (+) nguồn vào cực C và (-) nguồn vào cực E. Cấp nguồn một chiều UBE đi qua công tắc và trở hạn dòng vào hai cực B và E , trong đó cực (+) vào chân B, cực (-) vào chân E. Khi công tắc mở , ta thấy rằng, mặc dù hai cực C và E đã được cấp điện nhưng vẫn không có dòng điện chạy qua mối C E ( lúc này dòng IC = 0 ). Khi công tắc đóng, mối P-N được phân cực thuận do đó có một dòng điện chạy từ (+) nguồn UBE qua công tắc => qua R hạn dòng => qua mối BE về cực (-) tạo thành dòng IB. Ngay khi dòng IB xuất hiện => lập tức cũng có dòng IC chạy qua mối CE làm bóng đèn phát sáng, và dòng IC mạnh gấp nhiều lần dòng IB. Như vậy rõ ràng dòng IC hoàn toàn phụ thuộc vào dòng IB và phụ thuộc theo một công thức. IC = β.IB                       Trong đó : IC là dòng chạy qua mối CE                                    IB là dòng chạy qua mối BE                                    β là hệ số khuyếch đại của Transistor Giải thích: Khi có điện áp UCE nhưng các điện tử và lỗ trống không thể vượt qua mối tiếp giáp P-N để tạo thành dòng điện, khi xuất hiện dòng IBE do lớp bán dẫn P tại cực B rất mỏng và nồng độ pha tạp thấp, vì vậy số điện tử tự do từ lớp bán dẫn N ( cực E ) vượt qua tiếp giáp sang lớp bán dẫn P( cực B ) lớn hơn số lượng lỗ trống rất nhiều, một phần nhỏ trong số các điện tử đó thế vào lỗ trống tạo thành dòng IB còn phần lớn số điện tử bị hút về phía cực C dưới tác dụng. Loa Hình 21: Loa điện động Loa là dụng cụ điện thanh có tác dụng biến đổi năng lượng điện âm tần thành năng lượng âm thanh. Ban đầu, nó đóng một vai trò đặc biệt quan trọng đối với ngành điện thanh, tuy nhiên nó dần được sử dụng rộng rãi và là thành phần không thể thiếu trong đời sống hằng ngày. Loa điện động là một thiết bị có thể biến đổi tín hiệu điện thành chuyển động cơ học để tái tạo âm thanh nằm trong dải tần số từ 16Hz đến 20.000Hz mà con người nghe được. Cấu tạo và nguyên lý hoạt động của loa điện động: Loa điện động hoạt động dựa trên nguyên tắc một cuộn dây đặt trong một từ trường mạnh của nam châm. Khi có dòng điện âm tần chạy qua, cuộn dây sẽ dao động. Do cuộn dây được nối với màng loa nên các dao động này được truyền ra không khí, tác động vào người nghe. Dù thuộc thể loại nào thì loa cũng phải có một bộ phận quan trọng gọi là màng rung (hoặc màng loa). Màng rung là nơi âm thanh được phát ra để đến với tai người nghe. Tuỳ từng loại loa khác nhau mà nguyên lý làm rung màng rung là khác nhau. Đa số các loa màng rung được gắn với một cuộn dây, cuộn dây này được định vị trong khe hẹp có từ trường mạnh được sinh ra giữa hai cực của một nam châm vĩnh cửu. Khi cho dòng điện tín hiệu đi qua cuộn dây thì cuộn dây xuất hiện lực từ làm rung nó, sự rung động của cuộn dây sẽ làm chuyển động màng loa. Do hạn chế riêng về cấu tạo, mỗi loại loa điện động theo nguyên lý sử dụng nam châm điện vĩnh cửu thường chỉ phát được âm thanh tốt nhất ở một dải tần nhất định nào đó mà không thể phát toàn dải âm nghe được (16 Hz đến 20.000 Hz). Ở dải tần thấp, âm thanh cần có biên độ lớn để tai người cảm nhận được, màng loa phải có cấu tạo kích thước rộng, các cuộn dây có biên động giao động lớn trong khe từ. Ở dải tần cao, để đáp ứng sự giao động nhanh và liên tục, màng loa phải đủ nhỏ, mềm để không cản trở. Ở dải tần trung bình hoặc từng dải tần nhất định, màng loa cần được tính toán để phù hợp nhất với tần số phát thiết kế. Như vậy, để có thể truyền tải âm thanh ở đủ mọi dải tần nghe được, một bộ loa cần sử dụng nhiều loa với đường kính và cấu tạo khác nhau (thông thường một thùng loa có chất lượng tốt thường bao gồm bốn đến năm loa, trong đó: một loa trầm, hai loa trung và một đến hai loa phát tần số cao). SƠ ĐỒ NGUYÊN LÝ Hình 22: Sơ đồ mạch nguyên lý NGUYÊN LÝ HOẠT ĐỘNG - Khi mới cấp nguồn password mặc định”012345” là do người lập trình cung cấp. - Nếu không dùng password do người lập trình cung cấp thì ta thay đổi password bằng cách: Nhấn phím “doipass” ðnhập password 6 số cũ ð nhấn phím “OK”ð nhập password mới 6 số ð nhấn phím “OK”. - Muốn mở : nhập password ð nhấn phím “OK” thì khóa sẽ mở. - Muốn khóa : nhấn phím “khoacua” - Trong quá trình thay đổi password hay mở khóa nếu muốn thoát ra thì nhấn phím “back” SƠ ĐỒ THUẬT TOÁN ĐIỀU KHIỂN 2.8.1 Thuật toán chương trình chính Bắt đầu Khóa cửa Đổi mật khẩu Quét phím Khóa xong S Mật khẩu cũ Nhập pass Đ Lưu EEPROM Mật khẩu mới S Ok Đ Kết thúc 2.8.2 Thuật toán đổi mật khẩu S Đ Bắt đầu Kết thúc Lưu EEPROM Mật khẩu mới So sánh Nhập mật khẩu 2.8.3 Thuật toán quét bàn phím S S Đ Đ Gửi tín hiệu Hàng = 0 Kết thúc Cột = 0 Hàng = 0 Bắt đầu 2.9 XÂY DỰNG PHẦN MỀM #include #use delay(clock=20000000) #include #include int8 i=0,j=0,A[10],m,bao=0; void kiemtramo() {lcd_putcmd(line_1); lcd_putchar("dang kiem tra"); delay_ms(2000); bao=0; for(j=0;j<=5;j++) { m=read_eeprom(j)-A[j+1]; /*kiem tra xem co dung khong*/ if(m!=0) {bao=1;} } if(bao==1) { lcd_putcmd(0x01); lcd_putchar("sai"); delay_ms(1000); write_eeprom(0x09,read_eeprom(0x09)+1); } if(bao==0) { output_high(pin_c0); write_eeprom(0x09,0); lcd_putcmd(0x01); lcd_putchar("dang mo"); for(i=1;i<=7;i++) A[i]=0; } i=0;j=0; } void kiemtradoipass() { lcd_putcmd(line_1); lcd_putchar("dang kiem tra"); delay_ms(2000);bao=0; for(i=0;i<=5;i++) { m=read_eeprom(0x00+i)-A[i+1]; /*kiem tra xem co dung khong*/ if(m!=0) {bao=1;} } if(bao==1) { lcd_putcmd(0x01); lcd_putchar("sai"); delay_ms(1000); } if(bao==0) lcd_putcmd(0x01); i=0;j=0; } void quetphim(void) { PORTB=0xfe; if(!input(PIN_B4)) { j++; A[j]=0x07; lcd_putchar("*"); while(!input(PIN_B4)){;} } if(!input(pin_b5)) { j++; A[j]=0x08; lcd_putchar("*"); while(!input(pin_b5)){;} } if(!input(pin_b6)) { j++; A[j]=0x09; lcd_putchar("*"); while(!input(pin_b6)){;} } if(!input(pin_b7)) { j++; A[j]=0x0a; while(!input(pin_b7)){;} } PORTB=0xfd; if(!input(pin_b4)) { j++; A[j]=0x04; lcd_putchar("*"); while(!input(pin_b4)){;} } if(!input(pin_b5)) { j++; A[j]=0x05; lcd_putchar("*"); while(!input(pin_b5)){;} } if(!input(pin_b6)) { j++; A[j]=0x06; lcd_putchar("*"); while(!input(pin_b6)){;} } if(!input(pin_b7)) { j++; A[j]=0x0b; //lcd_putchar("*"); while(!input(pin_b7)){;} } PORTB=0xfb; if(!input(pin_b4)) { j++; A[j]=0x01; lcd_putchar("*"); while(!input(pin_b4)){;} } if(!input(pin_b5)) { j++; A[j]=0x02; lcd_putchar("*"); while(!input(pin_b5)){;} } if(!input(pin_b6)) { j++; A[j]=0x03; lcd_putchar("*"); while(!input(pin_b6)){;} } if(!input(pin_b7)) { j++; A[j]=0x0c; while(!input(pin_b7)){;} } PORTB=0xf7; if(!input(pin_b5)) { j++; A[j]=0x00; lcd_putchar("*"); while(!input(pin_b5)){;} } if(!input(pin_b4)) { j++; A[j]=0x0f; while(!input(pin_b4)){;} } if(!input(pin_b6)) { j++; A[j]=0x0e; while(!input(pin_b6)){;} } if(!input(pin_b7)) { j++; A[j]=0x0d; while(!input(pin_b7)){;} } } void main() { lcd_init(); delay_ms(100); TRISB=0xf0; lcd_putcmd(0x01); lcd_putcmd(line_1); lcd_putchar("nhap pass"); delay_ms(1000); lcd_putcmd(line_2); while(1) { quetphim(); if(A[j]==0x0d) reset_cpu(); if(A[j]==0x0e) goto nhan1; if(A[j]==0x0a) goto nhan2; if(A[j]==0x0f) goto nhan3; } nhan1: //kiem tra de mo khoa; {kiemtramo(); if(bao==1) {if(read_eeprom(0x09)>0x03) {write_eeprom(0x09,0); output_high(pin_c2); delay_ms(10000); } reset_cpu(); } while(A[j]!=0x0c){quetphim();} output_low(pin_C0); lcd_putcmd(0x01); lcd_putchar("da mo"); delay_ms(1000); for(i=0;i<=6;i++) A[i]=0; i=0;j=0,bao=0; write_eeprom(0x09,0); reset_cpu();} nhan2: //khoa cua { lcd_putcmd(0x01); lcd_putchar("dang khoa"); delay_ms(1000); output_high(pin_c1); // khoa while(A[j]!=0x0b) quetphim(); output_low(pin_c1); lcd_putcmd(0x01); lcd_putchar("da khoa"); delay_ms(1000); i=0;j=0,bao=0; reset_cpu(); } nhan3: //doi pass lcd_putcmd(0x01); lcd_putchar("nhap pass cu"); delay_ms(1000); lcd_putcmd(line_2); i=0;j=0; while(j<=7) { quetphim(); if(A[j]==0x0d) reset_cpu(); if(A[j]==0x0e) { kiemtradoipass(); if(bao==1) { goto nhan3; } if(bao==0) { lcd_putcmd(line_1); lcd_putcmd(0x01); lcd_putchar("nhap pass moi"); lcd_putcmd(line_2); i=0,j=0; while(j<=7) quetphim(); lcd_putcmd(0x01); lcd_putchar("dang ghi"); delay_ms(2000); for(i=0;i<=10;i++) { write_eeprom(0x00+i,A[i+1]); } lcd_putcmd(0x01); lcd_putchar("da ghi xong"); delay_ms(2000);reset_cpu();} i=0;j=0; } } } 2.10 KẾT QUẢ MÔ PHỎNG Sau khi thiết kế mạch và lập trình cho hệ thống. Chúng em thấy rằng mạch chạy hoàn chỉnh trên mô phỏng. Chúng em sử dụng phần mềm mô phỏng Proteus và phần mềm lập trình là PIC C Complier. ĐÁNH GIÁ VÀ KẾT LUẬN Trên cơ sở lí thuyết đã học, chúng em đã thiết kế hệ thống khóa với độ tin cậy có thể chấp nhận được dựa vào chức năng quản lí chương trình bằng password trong máy tính với quy mô đơn giản hơn. Để ứng dụng vào thực tế, hệ thống này còn cần được chỉnh sửa để tăng tính ổn định và kết nối với bộ phận cơ khí đóng mở cửa. Hiện nay, những hệ thống kiểm soát ra vào theo mã đã sử dụng những hình thức quản lí tiên tiến hơn như: thẻ từ, vân tay... tuy nhiên chi phí còn rất cao. Một hệ thống quản lí như chúng em tập thiết kế vẫn còn có những ứng dụng nhất định. Mặc dù được sự chỉ bảo tận tình của thầy giáo hướng dẫn nhưng do kiến thức còn nhiều hạn chế cộng với thời gian ngắn ngủi nên đồ án của chúng còn nhiều điểm chưa phù hợp với thực tế. Qua dồ án này chúng đã rút ra được nhiều kinh nghiệm cho bản thân. Đây là một đề tài rất có ứng dụng trong thực tế nên chúng em sẽ cố gắng để hoàn thiện đề tài,và phù hợp với nhu cầu của thực tế. TÀI LIỆU THAM KHẢO 1. Bài giảng Hệ thống nhúng 2010 – BM Kỹ thuật Máy tính – ĐH Kỹ thuật Công nghiệp Thái nguyên. 2. Tài liệu sử dụng CCS tiếng Việt – Ngô Xuân Trường.

Các file đính kèm theo tài liệu này:

  • docDo An Nhung - Khoa So.doc
  • docBìa.doc