1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

KHÓA số điện tử DÙNG 8051 (có code và layout)

23 1,5K 20

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 1,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KHÓA số điện tử DÙNG 8051 (có code và layout) ............................................. KHÓA số điện tử DÙNG 8051 (có code và layout) ............................................. KHÓA số điện tử DÙNG 8051 (có code và layout) ............................................. KHÓA số điện tử DÙNG 8051 (có code và layout) ............................................. KHÓA số điện tử DÙNG 8051 (có code và layout) .............................................

Trang 1

ĐỒ ÁN 2

KHÓA SỐ ĐIỆN TỬ DÙNG 8051

Trang 2

Mục lục

Trang 3

DANH MỤC HÌNH VẼ

Trang 4

ĐỀ TÀI: KHÓA SỐ ĐIỆN TỬ

DANH MỤC BẢNG BIỂU

B ẢNG 2.2: S Ơ ĐỒ CHỨC NĂNG CÁC CHÂN P3

B ẢNG 2.4: S Ơ ĐỒ CHÂN LCD

Trang 5

CHƯƠNG 1: GIỚI THIỆU 1.1 Giới thiệu chung

Ngày này ta có cách thiết bị điều khiển bị động dựa vào tác động hoặc thay đổi bên ngoài Nhưng điều đó chưa đủ, Chúng ta cần có những thiết bị tự chuẩn đoán, dự báo để điều khiển thiết bị một cách thông minh hơn

1.2 Mục đích thực hiện đề tài

Bằng cách sử dụng sử dụng IC8051 và các linh kiện Ta có thể tạo ra thiết bị khóa điện

tử Đối với trong việc bảo vệ tài sản là hết sức cần thiết, thiết bị có thể chủ động mở khóanếu mật mã đúng hoặc ngược lại Và nếu nhập sai quá nhiều sẽ phải đợi 1 thời gian để có thể được nhập lại phòng chống các mục đích xấu

1.3 Nhiệm vụ đề tài

Thiết kế mạch khóa số điện tử Sử dụng IC8051 và ma trận phím để nhập mật mã và xuất

dữ liệu ra LCD Xây dựng phần cứng hệ thống

Trang 6

CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG

2.1 Sơ đồ khối

Hình 2.1-1: Sơ đồ khối

Khối nguồn: có chức năng biến đổi dòng xoay chiều 220v thành dòng 1 chiều

cung cấp cho các khối hoạt động

Khối bàn phím: có nhiệm vụ nhập mật mã từ các nút bấm.

Hình 2.1-2: Khối bàn phím

KHỐI VI ĐIỀUKHIỂN

KHỐI BÀN

PHÍM

KHỐI HIỂN THỊ

KHỐI NGUỒN

Trang 7

Khối vi điều khiển: có chưa IC8051 Nhận tín hiệu từ khối bàn phím đưa về, xử lý thông

tin và gửi tín hiệu cho LCD hiển thị

Hình 2.1-3: Khối vi điều khiển Khối hiển thị: có chứa LCD, hiển thị thông tin từ khối điều khiển đưa tới

Trang 8

Hình 2.1-4: Khối hiển thị Nguyên lý hoạt động: Khi IC8051 nhận được thông tin từ bàn phím, khối vi điều khiển

sẽ xử lý thông tin, nếu mật mã đúng thì cho phép qua, nếu sai thì sẽ nhập lại mật mã, sai

3 lần thì sẽ bị khóa bàn phím

2.2 VI ĐIỀU KHIỂN 8051

Được chế tạo theo đặc tính CMOS có các đặc tính sau:

• 4 KB PEROM (Flash Programmable and Erasable Read Only Memory), có khả năng tới 1000 chu kỳ ghi xóa

• Tần số hoạt động từ: 0Hz-24MHz

• 3 mức khóa bộ nhớ lập trình

• 128 byte RAM nội

• 4 PORT xuất nhấp I/O 8 bit

Trang 9

Chân vi điều khiển 8051

Hình 2.2-1: Sơ đồ chân 8051

Chip AT89C51 có các tín hiệu điều khiển cần lưu ý sau:

 Tín hiệu vào chần EA/31 thường đặt ở mức cao (+5V) hoặc mức thấp (GND)

Là Port có 2 chức năng ở các chân 32-39 của AT89C51:

_ Chức năng I/O xuất nhập: dùng cho các thiết kế nhỏ Tuy nhiên, khi dùng chức năng này thì Port 0 phải dùng thêm các điện trở kéo lên, giá trị phụ thuộc vào thành phần kết nối

_ Khi được dùng làm ngõ vào, Port 0 được set ở mức logic 1

_ Chức năng địa chỉ/dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏi

sử dụng bộ nhớ ngoài, thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ (8 bit thấp)

Ngoài ra khi lập trình cho AT89C51, Port 0 còn dùng để nhận mã khi lập trình và xuất mã khi kiểm tra (quá trình kiểm tra đòi hỏi phải có điệntrở kéo lên)

 Port 1

Trang 10

Port 1 (chân 1-8) chỉ có 1 chức năng là I/O, không dùng cho mục đích khác (chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ 3) Tại port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài.Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉ thấp trong quá trình lập hay quá trình kiểm tra.

Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1

 Port 2

Port 2 (chân 21-28) là port có 2 chức năng

_ Chức năng I/O

_ Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài

có địa chỉ 16 bit Khi đó port 2 không được dùng cho mục đích I/O

_ Khi dùng làm ngõ vào, port 2 ở mức logic 1

 Port 3

Port 3 (chân 10-17) là port có 2 chức năng:

_ Chức năng I/O Khi dùng làm ngõ vào, port 3 ở mức logic 1

_ Chức năng khác:

P3.0 RxD Ngõ vào port nối tiếp

P3.1 TxD Ngõ ra port nối tiếp

 ALE/ PROG (Address Latch Enable / Program):

ALE/ PROG (chân 30) cho phép tách các đường địa chỉ và dữ liệu tại Port 0

khi truy xuất bộ nhớ ngoài

 EA /VPP (External Access) :

Trang 11

EA (chân 31) dùng để cho phép thực thi chương trình từ ROM ngoài Khi nối chân

31 với Vcc, AT89C51 sẽ thực thi chương trình từ ROM nội (tối đa 8KB), ngược lạithì thực thi từ ROM ngoài (tối đa 64KB)

Ngoài ra, chân /EA được lấy làm chân cấp nguồn 12V khi lập trình cho ROM

 RST (Reset):

RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiệu đưa lên mức 1

trong ít nhất là 2 chu kỳ máy

 X1, X2:

Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêm thạch

anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho

AT89C51 là 12Mhz.[1]

Hình 2.2-2: Mạch dao động 2.3 Bàn phím ma trận 4x4 (matrix keypad 4x4) là gì ?

Nguyên lý : Khi ta cấp logic 0 ra all hàng để chờ sự kiện nút được nhấn, nếu nút được nhấn thì ta mới cấp lần lượt mức logic 0 ra từng hàng (VD cấp cho hàng 1 logic 0 thì các hàng khác phải lên login 1) sau đó kiểm tra cột xem nó ở cột thứ bao nhiêu, nếu trùng cột và hàng cùng logic 0 thì ta sẽ xác định được vị trí nút được nhấn

Trang 12

Trên đây là hình ảnh sơ đồ nguyên lý của module bàn phím 4x4 Tuy có đến 16 nút nhấn, nghĩa là nếu làm một cách thông thường (dùng chân digital) thì chúng ta phải cần đến 16

chân vi điều khiển để đọc Nhưng với bàn phím này, chúng ta chỉ cần dùng 8 chân (4

chân hàng ngang (row), và 4 chân cột dọc (column))

Để kiểm tra một nút có được nhấn hay không? Họ sẽ sử dụng phương pháp quét được mô

tả bằng đoạn mã giả như sau:

Với mỗi hàng (R1 đến R4), Chọn ra hàng Ri

Cấp cực âm (0v) cho hàng Ri

Nếu điện áp ở chân Cj bất kì là dương (INPUT PULLUP) => chưa nhấn

Nếu điện áp ở chân Cj bất kì là âm (INPUT PULLUP) => đang nhấn [2][3]

2.4 LCD 16x02

Sơ đồ chân.

Các Text LCD theo chuẩn HD44780U thường có 16 chân trong đó 14 chân kết nối với bộ

điều khiển và 2 chân nguồn cho “đèn LED nền” Thứ tự các chân thường được sắp xếp

Từ 1 xuống 0

Vô hiệu hóa LCDLCD hoạt độngBắt đầu ghi/đọc

Trang 13

Bảng 2.4: Sơ đồ chân LCD.

Trang 14

CHƯƠNG 3: PHẦN MỀM

3.1 Lưu đồ hoạt động

Hình 3.1: Lưu đồ hoạt động

SAI 3 LẦNKHÓA BÀNPHÍM

ĐÚNG

QUA

NHẬP MẬTMÃ

HIỂN THỊ TÊN,MSSV

SAI

BEGIN

KHỞI TẠO LCDKHỞI TẢO BÀN PHÍM

Trang 15

3.2 Mô phỏng

Hình 3.2: Mô phỏng proteus 3.3 Mạch in

Hình 3.3: Mạch in

Trang 17

CHƯƠNG 4: KẾT QUẢ

Hình 4.1: Kết quả 1

Hình 4.2: Kết quả 2

Trang 18

CHƯƠNG 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN

Sau hơn một thời gian tìm hiểu, nghiên cứu, tham khảo nhiều tài liệu và được sự hướng dẫn của thầy cô, em đã thực hiện xong đề tài : ‘‘KHÓA SỐ ĐIỆN TỬ’’ Việc hoàn thành

đề tài với những nội dung và mục tiêu đề ra ban đầu đã đem lại cho em thực hiện một lượng kiến thức bổ ích, thiết thực và có khả năng ứng dụng trong thực tế Sau thời gian thực hiện đồ án, em đã hoàn thành được những công việc sau :

• Xây dựng, thiết kế thi công mạch khóa số điện tử

• Tìm hiểu vầ thiết kế mạch

5.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI

Đề tài ‘‘khóa số điện tử’’được thực hiện trên mô hình thí nghiệm Để đưa đề tài này vào

áp dụng trong thực tiễn đời sống và sản xuất thì cần phải nâng cấp và mở rộng hệ thống hơn nữa Chẳng hạn, để bảo mật tốt hơn, ta phải kết hợp với module sim để khi có cảnh báo có thể gửi về số điện thoại của ta

Ngoài ra, dựa vào ứng dụng và tầm khả năng hoạt động , chúng ta có thể phát triển thành các đề tài khác như hệ thống két sắt thông minh, mạch nhận biết qua vân tay…

Trang 19

Tài liệu tham khảo

• [1]Giáo trình Vi xử lý - Vi điều khiển – Trường Đại học Sao đỏ - Bộ Công Thương

• Trang web:

 [2]linhkienviet.vn

 [3]Sangtaoclub.net

 [4]Hocavr.com

Trang 20

PHỤ LỤC CODE QUÉT BÀN PHÍM

void delay_us(unsigned int t)

}

static unsigned char code KEYS_PAD[4][4] ={'1','2','3','A',

'4','5','6','B', '7','8','9','C', '*','0','#','D'};

unsigned char mtp_quetphim()

{

unsigned char r,c;

P1=0x0f;

delay_us(2)if((P1&0x0f)!=0x0f)// Kiem tra xem co phim bat ky nao duoc bam hay khong?

{

delay_us(100);

// Chong nhieu if((P1&0x0f)!=0x0f)// Neu dung có phim duoc bam: Bat dau qua trinh quet phim

{for(c=0;c<4;c++)// Quet theo cot

{P1=~(0x01<<(4+c));

// Lan luot keo cac cot xuong muc logic 0

delay_ms(1);

for(r=0;r<4;r++)// Kiem tra cac hang

{if((P1&(0x01<<r))==0)// Neu hang nao co muc logic 0

Trang 21

// Cho den khi nut bam duoc tha ra

return KEYS_PAD[r][c];

// Tra ve ma phim da duoc bam }

}}}

return 0;

// Neu khong co phim nao duoc nhan: Tra ve gia tri 0

}

unsigned int a[12]={2036},mk;

unsigned char Key;

unsigned char t,l;

unsigned char j;

unsigned int nhapmk(){

unsigned char Key;

unsigned char i=4,j=6;

unsigned int y=0;

unsigned char A[]={'0','1','2','3','4','5','6','7','8','9'};

if(Key==A[c])

{y=y*10+c; i ; lcd1602_gotoxy(j,1); j++;

lcd1602_putchar('*');

break;

} }}return y;

}

Trang 22

}

}if(k!=0)

{P2_0=1;

lcd1602_clear();

lcd1602_gotoxy(0,0);

Trang 23

lcd1602_puts(" CUA DA MO ");

{dem++;

k=0;l=0;

}

} /////Exit///

break;}

}

Ngày đăng: 04/05/2018, 18:04

TỪ KHÓA LIÊN QUAN

w