89s52 mạch khóa số điện tử at89s52 Với mỗi gia đình, cơ quan, xí nghiệp, trường học hay bất cứ nơi đâu, để bảo vệ tài sản trong phòng. Trên mỗi cánh cửa ra vào được trang bị thêm chiếc khoa. Hiện nay trên thị trường có rất nhiều loại khoa cửa nhưng hầu như đều là khoa cơ khí, các khóa cơ khí này gặp vấn đề lớn đó là tinh bảo mật của các khóa này không cao, nên dễ dàng bị phá khóa bới các chia khóa đa năng.
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG 27/04/2021 Thiết kế mạch số Đề tài:Mạch khoa số điện tử Giao viên hướng dẫn: Sinh viên thực hiện: Th.S Nguyễn Văn Sơn MSSV - Phùng Quý Ban 18A12010038 - Bùi Huy Cường 18A12010036 THIẾT KẾ MẠCH KHÓA SỚ ĐIỆN TỬ MỤC LỤC DANH MỤC HÌNH DANH MỤC BẢNG DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT LỜI MỞ ĐẦU PHẦN TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề: 1.2 Bố cục đề tài: PHẦN II TÌM HIỂU ĐỀ TÀI CHƯƠNG NGUYÊN LÝ THIẾT KẾ VÀ SƠ ĐỒ KHỐI 1.1 Nguyên lý thiết kế 1.2 Sơ đồ khối .6 CHƯƠNG II CẤU TẠO TỪNG KHỐI .7 2.1 Linh kiện cho khối 2.2 Khối nguồn 2.3 Khối vi điều khiển 2.4 Khối hiển thị .12 2.5 Khối bàn khím 14 PHẦN III THIẾT KẾ VÀ THI CÔNG .15 CHƯƠNG THIẾT KẾ MẠCH 15 1.1 Sơ đồ nguyên lý mạch 15 1.2 Lưu đồ giải thuật 16 1.3 Kết mô phỏng .19 CHƯƠNG THI CÔNG MẠCH .20 2.1 Mạch in .20 2.2 Thi công mạch 21 CHƯƠNG CODE ĐỀ TÀI 22 KẾT LUẬN 40 THIẾT KẾ MẠCH KHÓA SỚ ĐIỆN TỬ DANH MỤC HÌNH Hình Sơ đồ khối mạch Hình Sơ đồ nguyên lý mạch nguồn Hình Sơ đồ chân LM 7805 Hình Sơ đồ khối 8051 Hình Sơ đồ chân 8051 Hình Mạch dao động cho vi xử lý .9 Hình Sơ đồ chân Reset 10 Hình Sơ đồ chân 24C02B 10 Hình Sơ đồ chân LCD 10 Hình 10 Bàn phím ma trận 12 Hình 11 Sơ đồ mơ phỏng 13 Hình 12 Lưu đồ giải thuật chương trình 14 Hình 13 Lưu đồ giải thuật chương trình mở cửa 15 Hình 14 Lưu đồ giải thuật chương trình đổi mật 16 Hình 15 Kết mơ phỏng 17 Hình 16 Sơ đồ mạch in 18 DANH MỤC BẢNG Bảng Bảng chức chân Port Bảng Chức chân LCD .11 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT AD DC RAM ROM I/O IC GND EA RST LCD SMS Bộ nhớ truy xuất ngẫu nhiên Direct Current Random Only Memory Read Only Memory In/Out Integrated Cicuit Ground External access Reset Liquid-Crystal Display Short Message Services LỜI MỞ ĐẦU Ngày nay, phát triển khoa học công nghệ gắn liền với phát triển kinh tế, xã hội Trong đó, ngành điện tử viễn thơng ln giữ vững tốc độ phát triển cao ngày sâu vào đời sống lĩnh vực bảo mật mảng lớn ln người quan tâm Vì để làm qun với việc thiết kế mạch em chọn đề tài “Thiết kế mạch khóa số điện tử” để nghiên cứu thực Được bảo hướng dẫn thầy cô khoa Điện tử - Viễn thông đặc biệt giúp đỡ hướng dẫn thầy Nguyễn Văn Sơn giúp em hoàn thành đồ tài Em xin chân thành cảm ơn quý thầy cô! PHẦN TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề: Với gia đình, quan, xí nghiệp, trường học hay nơi đâu, để bảo vệ tài sản phòng Trên cánh cửa vào trang bị thêm khoa Hiện thị trường có nhiều loại khoa cửa khoa khí, khóa khí gặp vấn đề lớn tinh bảo mật khóa khơng cao, nên dễ dàng bị phá khóa bới chia khóa đa Khóa số nói chung loại khoa để bảo vệ thiết bị, tài sản… mà muốn mở phải tác động đến số mà ta cài đặt trước Có loại khóa số thị trường có khoa số khí khóa số điện tử - Khóa số khí: mở khoa hay khoa lại ta phải xoay vịng số khóa cho dãy số hợp với mở khóa - Khóa số điện tử: mở khoa ta phải nhập mật dãy số liên tiếp nhau, nhập đung dãy số mở khoa Nhìn chung khoa số điện tử có nhiều kí tự, nhiều mã số để cài đặt hơn, độ dài mã số dài Vì tính bảo mật khóa số điện tử cao Bên cạnh đó, thao tác khoa số điện tử thực dễ dàng với phím bấm, khơng phải vịng xoay khoa số khí Khi thao tác đổi mật dễ dàng thao tác phim bấm Khóa số điện tử ngoai tính bảo mật cao, thao tác dễ dàng cịn có tinh cảnh báo nhập mật mã nhiều sai số lần quy định Với dao diện người dùng, hiển thị thông báo nhập mật khẩu, cảnh báo, thay đổi mật khiến người dùng dễ sử dụng 1.2 Bố cục đề tài: Đề tài nhóm em thực hướng dẫn thầy giao trinh bày phần: Phần 1: Tổng quan đề tài Phần 2: Tìm hiểu đề tài Phần 3: Thiết kế thi cơng PHẦN II TÌM HIỂU ĐỀ TÀI CHƯƠNG NGUYÊN LÝ THIẾT KẾ VÀ SƠ ĐỒ KHỐI 1.1 Nguyên lý thiết kế Là hệ thống đóng mở cửa bằng mật khẩu, sử dụng vi điều khiển AT89S52 làm đơn vị xử lý trung tâm Hệ thống giao tiếp với người sử dụng thông qua bàn phím (4 x 4) hiển thị thơng tin lên LCD 1.2 Sơ đồ khối Khối nguồn Khối bàn phím Khối vi điều khiển Khối hiển thị Hình Sơ đồ khối mạch Khối vi điều khiển: có chức điều khiển hoạt động mạch tương tác với LCD Khối hiển thị: hiển thị thông tin cho người dùng biết Khối nguồn: dùng để cấp nguồn cho mạch hoạt động Khối bàn phím: người dùng thao tác với mạch CHƯƠNG II CẤU TẠO TỪNG KHỐI 2.1 Linh kiện cho khối Khối hiển thị: LCD 16x2 Khối nguồn: Cầu diode, LM 7805 Khối điều khiển: vi điều khiển AT89S52, eeprom 24C02C Khối bàn phím: nút nhấn 2.2 Khối vi điều khiển Mạch sử dụng chip AT89S52 làm trung tâm xử lý mạch eeprom 24C02B để lưu mật a) AT89S52 1 phiên 8051 có ROM chip nhớ Flash Phiên thích hợp cho ứng dụng nhanh nhớ flash xóa vài giây Thơng số Chip Bộ nhớ chương trình bên trong: KB ( ROM) Bộ nhớ liệu bên trong: 128 byte ( RAM) Số chân vào ra( I/O port) : 32 Số lượng timer: Số chân IC: 40 Cổng nối tiếp: Nhân/chia 4µs Sơ đồ khối 8051 Hình Sơ đồ khối 8051 Sơ đồ chân 8051: Hình Sơ đồ chân 8051 AT89S52 có tất 40 chân có chức đường xuất nhập Trong có 24 chân có tác dụng kép, đường hoạt động đường xuất nhập đường điều khiển thành phần bus liệu bus địa Chức chân: Các port Port 0: - Port (P0.0-P0.7) có số chân từ 32-39 - Port có chức năng: Port xuất nhập liệu (P0.0-P0.7) không sử dụng nhớ Bus địa byte thấp bus liệu đa hợp (AD0-AD7) có sử dụng nhớ ngồi Port 1: -Port (P1.0-P1.7) có số chân từ 1-8 -Port có chức năng: Xuất nhập giữ liệu ( P1.0-P1.7) sử dụng không sử dụng nhớ Port 2: -Port (P2.0-P2.7) có số chân từ 21-28 -Port có hai chức năng: Port xuất nhập liệu (P2.0-P2.7) không sử dụng nhớ Bus địa byte cao (A8-A15) xóa sử dụng nhớ ngồi Port 3: - Port (P3.0-p3.7) có số chân từ 10-17 - Port có hai chức : Port xuất nhập liệu (P3.0-P3.7) khơng sử dụng nhớ ngồi chức đặc biệt Các tín hiệu điều khiển sử dụng nhớ chức đặc biệt Bit tên Địa Chức P3 RxD bit B0H Chân nhận liệu port nối tiếp P3 TxD B1H Chân phát liệu port nối tiếp P3 INT0\ B2H Ngõ vào ngắt P3 INT1\ B3H Ngõ vào ngăt P3 T0 B4H Ngõ vão đếm định thời/đếm P3 T1 B5H Ngõ vão đếm định thời/đếm P3 WR\ B6H Điều khiển ghi vào RAM P3 RD\ B7H Điều khiển đọc từ RAM Bảng Bảng chức chân Port Nhóm chân nguồn, dao động điều khiển -VCC: chân số 40 nối lên nguồn 5V -GND: chân 20 nối đất -XTAL1 chân số 19 XTAL2 chân 18: dao động tích hợp bên AT89S52, sử dụng người thiết kế cần kết nối thêm thạch anh tụ XTAL1 –chân 19 XTAL2 – chân 18 Tần số thạch anh thường sử dụng 12Mhz PASS_SAI: MOV 19,#0 MOV 47,#' ' MOV 48,#' ' MOV 49,#' ' MOV 50,#' ' MOV 51,#' ' MOV 52,#' ' THOAT_NUT_OK: LJMP THOAT_QUETPHIM NUT_SO_0: LCALL DELAY INC 19 MOV 18,#0 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_OPEN: LCALL DELAY MOV A,15 JNZ TT_NUT_OPEN LJMP THOAT_QUETPHIM TT_NUT_OPEN: LCALL KIEMTRA_PASS MOV A,17 CJNE A,#1,SOLAN_SAIPASS CLR LEDCORRECT SETB LEDWRONG MOV A,#01H LCALL COMMAND MOV DPTR,#TEXT5 MOV A,#80H LCALL COMMAND LCALL XUAT_LCD1 LCALL DELAY MOV DPTR,#TEXT6 MOV A,#0C0H LCALL COMMAND LCALL XUAT_LCD1 LCALL DELAY MOV 19,#0 MOV 16,#0 MOV P1,#11110111B LAP_DONUT_CLOSE: JNB P1.7,NUT_CLOSE SJMP LAP_DONUT_CLOSE NUT_CLOSE: LJMP NUT_CLOSE1 THOAT_NUTOPEN: LJMP THOAT_NUTOPEN1 SOLAN_SAIPASS: CJNE A,#2,THOAT_NUTOPEN CLR LEDWRONG MOV A,#01H LCALL COMMAND MOV DPTR,#TEXT7 MOV A,#80H LCALL COMMAND LCALL XUAT_LCD1 LCALL DELAY MOV DPTR,#TEXT8 MOV A,#0C0H LCALL COMMAND LCALL XUAT_LCD1 LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV 19,#0 INC 16 MOV A,16 MOV A,#01H LCALL COMMAND MOV DPTR,#TEXT9 MOV A,#80H LCALL COMMAND LCALL XUAT_LCD1 LCALL DELAY LCALL DELAY LCALL LCALL LCALL DELAY DELAY DELAY THOAT_NUTOPEN1: MOV 47,#' ' MOV 48,#' ' MOV 49,#' ' MOV 50,#' ' MOV 51,#' ' MOV 52,#' ' LJMP THOAT_QUETPHIM NUT_CLOSE1: LCALL DELAY SETB LEDCORRECT MOV A,#01H LCALL COMMAND MOV 47,#' ' MOV 48,#' ' MOV 49,#' ' MOV 50,#' ' MOV 51,#' ' MOV 52,#' ' MOV 71,#0 MOV 72,#0 MOV 73,#0 MOV 74,#0 MOV 75,#0 MOV 76,#0 LJMP THOAT_QUETPHIM QUET_H2: MOV P1,#11111011B JNB P1.4,NUT_SO_1 JNB P1.5,NUT_SO_2 JNB P1.6,NUT_SO_3 SJMP QUET_H3 NUT_SO_1: LCALL DELAY INC 19 MOV 18,#1 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_2: LCALL DELAY INC 19 MOV 18,#2 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_3: LCALL DELAY INC 19 MOV 18,#3 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM QUET_H3: MOV P1,#11111101B JNB P1.4,NUT_SO_4 JNB P1.5,NUT_SO_5 JNB P1.6,NUT_SO_6 JNB P1.7,NUT_XOA SJMP QUET_H4 NUT_SO_4: LCALL DELAY INC 19 MOV 18,#4 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_5: LCALL DELAY INC 19 MOV 18,#5 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_6: LCALL DELAY INC 19 MOV 18,#6 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_XOA: LCALL DELAY MOV 15,#0 MOV 16,#0 LJMP MP1 QUET_H4: MOV P1,#11111110B JNB P1.4,NUT_SO_7 JNB P1.5,NUT_SO_8 JNB P1.6,NUT_SO_9 JNB P1.7,NUT_DOIPASS SJMP THOAT_QUETPHIM NUT_SO_7: LCALL DELAY INC 19 MOV 18,#7 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_8: LCALL DELAY INC 19 MOV 18,#8 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_SO_9: LCALL DELAY INC 19 MOV 18,#9 LCALL KT_NHAP_PASS LJMP THOAT_QUETPHIM NUT_DOIPASS: LCALL DELAY MOV 15,#1 MOV A,#01H LCALL COMMAND MOV 21,#' ' MOV 22,#'N' MOV 23,#'h' MOV 24,#'a' MOV 25,#'p' MOV 26,#' ' MOV 27,#'P' MOV 28,#'A' MOV 29,#'S' MOV 30,#'S' MOV 31,#' ' MOV 32,#'c' MOV 33,#'u' MOV 34,#' ' MOV 35,#' ' MOV 36,#' ' MOV 47,#' ' MOV MOV MOV MOV MOV MOV 19,#0 48,#' ' 49,#' ' 50,#' ' 51,#' ' 52,#' ' THOAT_QUETPHIM: LJMP MP3 KT_NHAP_PASS: MOV A,19 NHAP_LAN1: CJNE A,#1,NHAP_LAN2 MOV 71,18 MOV 47,#'*' LJMP THOAT_KT NHAP_LAN2: CJNE A,#2,NHAP_LAN3 MOV 72,18 MOV 48,#'*' LJMP THOAT_KT NHAP_LAN3: CJNE A,#3,NHAP_LAN4 MOV 73,18 MOV 49,#'*' LJMP THOAT_KT NHAP_LAN4: CJNE A,#4,NHAP_LAN5 MOV 74,18 MOV 50,#'*' LJMP THOAT_KT NHAP_LAN5: CJNE A,#5,NHAP_LAN6 MOV 75,18 MOV 51,#'*' LJMP THOAT_KT NHAP_LAN6: CJNE A,#6,NHAP_LAN7 MOV 76,18 MOV 52,#'*' LJMP THOAT_KT NHAP_LAN7: CJNE A,#7,THOAT_KT MOV 19,#1 MOV 71,18 MOV 47,#'*' MOV 48,#' ' MOV 49,#' ' MOV 50,#' ' MOV 51,#' ' MOV 52,#' ' THOAT_KT: RET LUU_PASS: MOV 14,#0 MOV 15,#0 MOV 61,71 MOV 62,72 MOV 63,73 MOV 64,74 MOV 65,75 MOV 66,76 MOV ADDR_ROM,#1 MOV WR_ROM,61 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#2 MOV WR_ROM,62 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#3 MOV WR_ROM,63 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#4 MOV WR_ROM,64 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#5 MOV WR_ROM,65 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#6 MOV WR_ROM,66 LCALL WRITE_ROM LCALL DELAY10MS MOV ADDR_ROM,#10 MOV WR_ROM,#1 LCALL WRITE_ROM LCALL DELAY10MS LJMP MP1 DELAY10MS: MOV R6,#20 LAP_10MS: MOV R7,#250 DJNZ R7,$ DJNZ R6,LAP_10MS RET KIEMTRA_PASS: CLR A MOV A,71 CJNE A,61,SAI_PASS MOV A,72 CJNE A,62,SAI_PASS MOV A,73 CJNE A,63,SAI_PASS MOV A,74 CJNE A,64,SAI_PASS MOV A,75 CJNE A,65,SAI_PASS MOV A,76 CJNE A,66,SAI_PASS ;DUNG PASS MOV 17,#1 SJMP THOAT_KTP SAI_PASS: MOV 17,#2 THOAT_KTP: RET XUAT_LCD1: MOV A,#0 MOVC A,@A+DPTR JZ THOAT_XUAT_LCD1 LCALL DATA_DISPLAY INC DPTR SJMP XUAT_LCD1 THOAT_XUAT_LCD1: RET XUAT_LCD2: MOV R1,#0 LAP_XUAT_LCD2: MOV A,@R0 LCALL DATA_DISPLAY INC R0 INC R1 CJNE R1,#16,LAP_XUAT_LCD2 THOAT_XUAT_LCD2: RET KHOITAO_LCD_8BIT: MOV A,#38H ACALL COMMAND MOV A,#0CH ACALL COMMAND MOV A,#01H ACALL COMMAND MOV A,#06H ACALL COMMAND RET COMMAND: ACALL READY CLR RS CLR RW MOV LCD,A SETB EN CLR EN RET DATA_DISPLAY: ACALL READY SETB RS CLR RW MOV LCD,A SETB EN CLR EN RET READY: mov r7,#250 djnz r7,$ mov r7,#250 djnz r7,$ RET WRITE_ROM: LCALL START_BIT_ROM MOV MOV LCALL LCALL A,#0A0H R7,#8 ROTATE_ROM SLAVE_ACK_ROM MOV MOV LCALL LCALL A,ADDR_ROM R7,#8 ROTATE_ROM SLAVE_ACK_ROM MOV MOV LCALL LCALL A,WR_ROM R7,#8 ROTATE_ROM SLAVE_ACK_ROM LCALL RET READ_ROM: LCALL MOV MOV LCALL LCALL STOP_BIT_ROM START_BIT_ROM A,#0A0H R7,#8 ROTATE_ROM SLAVE_ACK_ROM MOV A,ADDR_ROM MOV R7,#8 LCALL ROTATE_ROM LCALL SLAVE_ACK_ROM LCALL START_BIT_ROM MOV A,#0A1H MOV R7,#8 LCALL ROTATE_ROM LCALL SLAVE_ACK_ROM MOV R7,#8 READ_DATA_ROM: SETB SCL_ROM NOP MOV C,SDA_ROM CLR SCL_ROM MOV A,RE_ROM RLC A MOV RE_ROM,A DJNZ R7,READ_DATA_ROM LCALL NO_ACK_ROM LCALL STOP_BIT_ROM RET START_BIT_ROM: NOP NOP SETB SCL_ROM NOP NOP SETB SDA_ROM NOP NOP CLR SDA_ROM NOP NOP RET STOP_BIT_ROM: NOP NOP CLR SDA_ROM NOP NOP SETB NOP NOP SETB NOP NOP RET SCL_ROM SDA_ROM ROTATE_ROM: CLR SCL_ROM NOP NOP RLC A MOV SDA_ROM,C NOP NOP SETB SCL_ROM NOP NOP DJNZ R7,ROTATE_ROM RET SLAVE_ACK_ROM: CLR SCL_ROM NOP NOP SETB SDA_ROM NOP NOP SETB SCL_ROM MOV C,SDA_ROM JC $ NOP; READ STATE OF SDA NOP CLR SCL_ROM RET NO_ACK_ROM: SETB NOP NOP SETB SDA_ROM SCL_ROM NOP NOP CLR RET SCL_ROM DELAY1S: DELAY: MOV R7,#3 LAP2: MOV R6,#200 LAP1: MOV R5,#250 DJNZ R5,$ DJNZ R6,LAP1 DJNZ R7,LAP2 RET TEXT1: DB ' PHUNG QUY BAN',0 TEXT2: DB ' MSSV: 18a12010038 ',0 TEXT3: DB 'Do an 2',0 TEXT4: DB 'khoa so dien tu' ,0 TEXT5: DB ' PASS Dung ',0 TEXT6: DB ' Cua da mo ',0 TEXT7: DB ' PASS Sai ',0 TEXT8: DB ' Nhap PASS lai ',0 TEXT9: DB ' Khoa KEYPAD ',0 TEXT10: DB ' Wait minute ',0 END KẾT LUẬN Trong thời gian thực đề tài em tiếp thu đạt điều sau: tiếp cận kiến thức thực tế từ sách vở, có khả phân tích, thiết kế, thi công sản phẩm Sản phẩm cuối đáp ứng yêu cầu đề tài khóa số dùng vi điều khiển hiển thị LCD Tuy cố gắng song có mặt hạn chế kiến thức, kinh nghiệm thực tế nên không tranh khởi thiếu sót Mong góp ý thầy để đề tài em hoàn thiện Hướng phát triển: Tương tác người dùng cao như: thông báo cho người dùng biết có kẻ xâm nhập thơng qua hệ thống internet, sms Tài liệu tham khảo: Tống Văn On Họ vi điều khiển 8051 Tp HCM, NXB Lao Động Xã Hội, 2001 1 Datasheet LCD www.alldatasheet.com 2 IC 7805 www.engineersgarage.com 3 Đề tài khóa số điện tử dùng LCD www.luanvan.net.vn 4 ... loại khóa số thị trường có khoa số khí khóa số điện tử - Khóa số khí: mở khoa hay khoa lại ta phải xoay vịng số khóa cho dãy số hợp với mở khóa - Khóa số điện tử: mở khoa ta phải nhập mật dãy số. .. nhập đung dãy số mở khoa Nhìn chung khoa số điện tử có nhiều kí tự, nhiều mã số để cài đặt hơn, độ dài mã số dài Vì tính bảo mật khóa số điện tử cao Bên cạnh đó, thao tác khoa số điện tử thực dễ... đời sống lĩnh vực bảo mật mảng lớn người quan tâm Vì để làm qun với việc thiết kế mạch em chọn đề tài “Thiết kế mạch khóa số điện tử? ?? để nghiên cứu thực Được bảo hướng dẫn thầy cô khoa Điện tử -