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

ĐỒ án KHÓA số điện tử

19 2,3K 8
Tài liệu đã được kiểm tra trùng lặp

Đ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 19
Dung lượng 360,5 KB

Nội dung

ĐỒ ÁN MÔN HỌC

Trang 1

Lời mở đầu

Thành viên tham gia nhóm:

Phan Thanh Tùng

Tạ Văn Toàn

Nguyễn Mạnh Cường

Báo Cáo Đồ Án Vi Điều Khiển

Đề Tài:Thiết Kế Mạch Khóa Điện Tử

Nội dung chính

Nghiên cứu IC dòng 8051 để thiết kế mạch khóa điện tử hiển thị các thông báo lên LCD

Phần 1: Cơ sở lý thuyết liên quan tới sản phẩm cần thiết kế

Phần 2: Nội dung: trình tự và nội dung thiết kế.

Trang 2

Chân thành cảm ơn!!!

Phần 1:Cơ sở lý thuyết

1/Giới thiệu về IC dòng 8051

Vi điều khiển 8051 là 1 trong những vi điều khiển 8 bit thông dụng nhất hiện nay Băt đầu xuât hiện từ những năm 1980,trải qua 30 năm dòng chíp này đã có hơn trăm biến thể và có hơn 20 hãng sản suất khác nhau và trong đó phải kể đến đại gia trong làng bán dẫn như ATMEL ,Tecxa Instruments,Philip…Tại thị trường việt nam dòng chip của hãng ATMEL rất thông dụng như 89Cxx, 89Sxx,

Atmega8,16

Cấu trúc của AT89xx ở dạng sơ đồ khối

Các phiên bản của 8051 do hãng ATMEL cung cấp

Ký hiệu Rom Ram Chân

I/O Timer Ngắt Vcc Đóng vỏ AT89C51 4Kbyte 128Byte 32 2 6 5V 40 chân ,2 hàng AT89LV51 4Kbyte 128Byte 32 2 6 3V 40 chân ,2 hàng

Trang 3

AT89C1051 1K 64Byte 15 1 3 3V 20 chân,2 hàng AT89C2051 2K 128Byte 15 2 6 3V 20 chân 2 hàng AT89C52 8K 128Byte 32 3 8 5V 40 chân ,2 hàng AT89LV52 8K 128Byte 32 8 8 5V 40 chân ,2 hàng

2/Giới thiệu về IC 89C51

Sơ đồ chân và hình ảnh thực tế của IC 89C51

IC 89C51 gồm có 40 chân trong đó có 32 chân vào/ra,4Kbyte rom,128 byte ram,2 timer và 6 nguồn ngắt

Nhóm chân vào ra

Port 0(P0.0P0.7)

Trang 4

Port 1,có chức năng duy nhất là xuất nhập dữ liệu ,riêng chân P1.5 , P1.6 , P1.7 dùng để nạp rom theo tiêu chẩn ISP

Port 2(P2.0P2.7)

Port 2 ngoài chức năng xuất nhập dữ liệu ra giống như port 0 và port1 còn là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài

Port 3(P3.0P3.7)

Port 3 ngoài chức năng xuất nhập dữ liệu ra thì mỗi chân của nó đều có 1 chức năng riêng

P3.0 RXD Dữ liệu nhận cho port nối tiếp

P3.1 TXD Dữ liệu truyền cho port nối tiếp P3.2 INT0 Ngắt bên ngoài 0

P3.3 INT1 Ngắt bên ngoài 1

P3.4 T0 Ngõ vào của timer/counter 0

P3.5 T1 Ngõ vào của timer/counter 1

P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài

P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài

Ngoài 32 chân có nhiêm vụ xuất nhập dữ các chân con lại mỗi chân đều có nhiệm vụ riêng

Chân 29(PSEN) :chân điều khiển đọc chương trình ở bộ nhớ ngoài

Chân 30(ALE) :là tín hiệu chốt địa chỉ có tần số bằng 1/6 tần số thạch anh

Trang 5

Chân 31(EA) : là chân cho phép chương trình chọn bộ nhớ trong hay ngoài của VDK

Chân 9(RST) : restart lại vi điều khiển

Chân 18,19(XTAL1,XTAL2):chân nối với bộ dao động thạch anh

Chân 20,40(GND,VCC):chân nối đất và nguồn cho vi điều khiển

Phần 2:Trình tự và nội dung thiết kế

1/Thi công phần cứng

Sơ đồ khối

Khối nguồn

LCD

Trang 6

Nguồn điện lấy từ nguồn điện áp 220V sẽ được qua apdator để điện áp thành dòng điện 1 chiều và có điện áp là 12VDC sau đó qua tiếp 7805 để hạ áp xuống còn 5V điện áp tiêu chuẩn cho IC89c51

Khối nút bấm

Nút bấm được thiết kế theo ma trận gồm có 4 hàng 4 cột

Khối hiển thi

Trang 7

Khối hiện thị là màn hình LCD 16X2 để hiện thị các thông báo lên LCD

Trang 8

Khối vi điều khiển

Sử dụng chíp 89c51 với P1 nối với bàn phím và port 2 nối với LCD

Mạch nguyên lý

Trang 9

Nguyên tắc hoạt động:

Băt đầu khởi động khóa điện tử thì trên màn hinh LCD sẽ hiển thi “LOCK

DIGITAL” và bắt ta phải nhập mã PIN ta sẽ sử dung các nút bấm để thực hiện việc này ,sơ đồ nut bấm sẽ là

ENTER * * *

Mã PIN là :1102010

Khi ta nhấn xong mã pin thì sẽ ấn ENTER và màn hình LCD sẽ hiện thị

“UNLOCK WELLCOME TO YOU”,nếu ta nhập mã sai thì màn hình LCD se thông báo “INCORECT TRY AGAIN”

Nếu nhập mã sau 3 lần mà vẫn sai thì LCD sẽ hiện thị thông báo “BAN DA HET QUYEN TRUY CAP” và sau 2 phút thì khóa với hoạt động trở lại

Nếu mà mã nhập quá ngắn thì LCD sẽ hiển thị “NUMBERS TOO LITTLE”

Và bắt nhập lại

Nếu mà mã nhập quá dài thì LCD sẽ hiển thị “NUMBERS TOO MUCH”

Và bắt nhập lại

Trang 10

Mạch in

Trang 11

2/Thi công phần mền

Lưu đồ thuật toán

Trang 12

Nhập mã PIN

Bắt Đầu Starting

Chờ LCD sẵn sàng

Kêt Thúc End

Nhập quá nhiều số

Nhập quá ít số

Kiểm tra

mã PIN

Sai mã

qua 3 lần

Hiển thị thông báo”Bạn đã hết

quyền truy câp” sau 2’ mới

hoạt động trở lại

Sai dưới

3 lần

Trang 13

Chương trình được viết bằng phần mền Kiel C

#include <REGX51.H>

#include<stdio.h>

#include<string.h>

sfr LCDdata=0xA0;//LCD nhan 8 bit du lieu tu cong 2(con doi voi P0 la 0x80,P1 la 0x90,

sbit BF=0xA7;

sbit RS=P3^5;

sbit RW=P3^6;

sbit EN=P3^7;

sbit cot1=P1^4;

sbit cot2=P1^5;

sbit cot3=P1^6;

sbit cot4=P1^7;

unsigned char m_hang[4]={0xFE,0xFD,0xFB,0xF7};

unsigned char key[15];//mang de luu cac so vua nhap tu ban phim

unsigned char key_char[10]={0,1,2,3,4,5,6,7,8,9};//mang luu cac ky tu so unsigned char key_id[7]={1,1,0,2,0,1,0};//mang ma PIN

unsigned char a=0,b=0; //b la bien dem so lan sai ma

void wait()//ham kiem tra LCD co ban hay khong

{

long n=0;

EN=1;//dua chan cho phep len muc cao

RS=0;//chon thanh ghi lenh

RW=1;//doc tu LCD

LCDdata=0xff;

while(BF)//kiem tra co ban

{

n++;if(n>100) break;

}

EN=0;//chot du lieu

RW=0;//doc tu LCD

Trang 14

EN=0;

wait();//doi LCd san sang

}

void LCDinit()//khoi tao LCD

{

LCDcontrol(0x30);

LCDcontrol(0x38);//2 dong va ma tran 5x7

LCDcontrol(0x0E);//bat hien thi nhap nhay con tro

LCDcontrol(0x01);//xoa man hinh

}

void LCDwrite(unsigned char c)

{

EN=1;

RS=1;

RW=0;

LCDdata=c;

EN=0;

wait();

}

void LCDputs(unsigned char *s,unsigned char row)

{

unsigned char len;

if(row==1)LCDcontrol(0x80);//ep con tro ce dau dong hang 1

else LCDcontrol(0xC0);//ep con tro ve dau dong hang 2

len=strlen(s);

while(len!=0)

{

LCDwrite(*s);

s++;

len ;

}

}

void delay(long t)

{

long i;

for(i=0;i<t;i++)

{;}

}

unsigned char quetphim()

{

unsigned char i,j;

Trang 15

unsigned char giatriphim;

for(i=0;i<4;i++)

{

P1=m_hang[i];

for(j=0;j<100;j++)

{

if(cot1==0) giatriphim=0+4*i;

if(cot2==0) giatriphim=1+4*i;

if(cot3==0) giatriphim=2+4*i;

if(cot4==0) giatriphim=3+4*i;

}

}

return giatriphim;

}

void main()

{

unsigned char k;

LCDinit();

LCDputs("STARTING",1);

delay(20000);

LCDwrite('.');

delay(20000);

LCDwrite('.');

delay(20000);

LCDwrite('.');

delay(10000);

LCDcontrol(0x01);//xoa man hinh

LCDputs("LOCK DIGITAL",1);

delay(10000);

LCDcontrol(0x01);

LCDputs("PIN :",1);

delay(10000);

while(1)

Trang 16

case 4:LCDwrite('*');key[a++]=key_char[4];delay(10000);break;

case 5:LCDwrite('*');key[a++]=key_char[5];delay(10000);break;

case 6:LCDwrite('*');key[a++]=key_char[6];delay(10000);break;

case 7:LCDwrite('*');key[a++]=key_char[7];delay(10000);break;

case 8:LCDwrite('*');key[a++]=key_char[8];delay(10000);break;

case 9:LCDwrite('*');key[a++]=key_char[9];delay(10000);break;

case 10:LCDwrite('*');delay(10000);break;

case 11:LCDwrite('*');delay(10000);break;

case 12:LCDwrite('*');delay(10000);break;

case 13:LCDwrite('*');delay(10000);break;

case 14:LCDwrite('*');delay(10000);break;

case 15:

if(a<=4)

{

LCDputs(" NUMBERS TOO ",1);

LCDputs(" LITTLE",2);

delay(20000);

LCDcontrol(0x01);

a=0;//khoi tao lai mang key[]

LCDputs("PIN :",1);

}

if(a>=10)

{

LCDputs("NUMBERS TOO MUCH",1);

delay(20000);

LCDcontrol(0x01);

a=0;//khoi tao lai mang key[]

LCDputs("PIN :",1);

}

if(a>4&&a<10)

{

if((key_id[0]==key[0])&&(key_id[1]==key[1])&&(key_id[2]==key[2])&&(key_i d[3]==key[3])

&&(key_id[4]==key[4])&&(key_id[5]==key[5])&&(key_id[6]==key[6])) {

LCDputs(" UNLOCKED",1);

LCDputs(" WELCOME TO YOU",2);

}

Trang 17

else

{

b++;

if(b==4)

{

LCDputs(" BAN DA HET",1);

LCDputs(" QUYEN TRUY CAP",2);

delay(200000);

}

LCDputs(" INCORRECT",1);

LCDputs("PLEASE TRY AGAIN",2);

delay(20000);

LCDcontrol(0x01);

a=0;//khoi tao lai mang key[]

LCDputs("PIN :",1);

}

}

delay(10000);

break;

}

}

}

Trang 18

Phần 3:Kết Luận

1/Đánh giá ưu điểm và nhược điểm

Ưu điểm:

- Sản phẩm cho phép hiển thị các thông báo lên LCD

- Hạn chế được số lần nhập nếu nhập sai quá 3 lần thì khóa sẽ không hoạt động nữa phải chờ 2 phút khóa mới hoạt động chở lại

- Nếu mật khẩu có ngắn hay quá dài đều có thông báo hiển thị lên LCD

Nhược điểm

- Không thể nhập mật khẩu mới,mật khẩu phải tạo lúc lập trình

- Không thể xóa 1 ký tự hay vài ký tự khi gõ mật khẩu mà biết

là sai

- Chưa thiết kế ngõ ra để có thể kết nối được với modum khác

2/Tính thực tế của sản phẩm và hướng phát triển cải tiến sản phẩm

Tính thực tế:

- Sản phẩm chưa có tính thực tế cao cũng có thể áp dụng ra thực tế nhưng còn rất nhiều hạn chế

- Sản phẩm mới chỉ dừng lại ở mức nghiên cứu cách thức hoạt động của IC dòng 8051

Hướng phát triển và cải tiến sản phẩm

- Khắc phục các nhược điểm của sản phẩm

- Nâng cao khả năng áp dụng vào thực tế

3/Đánh giá của thầy cô giáo

………

………

………

………

………

………

Trang 19

………

………

………

………

………

Ngày đăng: 23/09/2013, 16:23

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân và hình ảnh thực tế của IC 89C51 - ĐỒ án KHÓA số điện tử
Sơ đồ ch ân và hình ảnh thực tế của IC 89C51 (Trang 3)
Vi Điều Khiển 2010 - ĐỒ án KHÓA số điện tử
i Điều Khiển 2010 (Trang 3)
Vi Điều Khiển 2010 - ĐỒ án KHÓA số điện tử
i Điều Khiển 2010 (Trang 6)
Khối hiện thị là màn hình LCD 16X2 để hiện thị các thông báo lên LCD - ĐỒ án KHÓA số điện tử
h ối hiện thị là màn hình LCD 16X2 để hiện thị các thông báo lên LCD (Trang 6)
Khi ta nhấn xong mã pin thì sẽ ấn ENTER và màn hình LCD sẽ hiện thị “UNLOCK --  WELLCOME TO YOU”,nếu ta nhập mã sai thì màn hình LCD se  thông báo “INCORECT TRY AGAIN”  . - ĐỒ án KHÓA số điện tử
hi ta nhấn xong mã pin thì sẽ ấn ENTER và màn hình LCD sẽ hiện thị “UNLOCK -- WELLCOME TO YOU”,nếu ta nhập mã sai thì màn hình LCD se thông báo “INCORECT TRY AGAIN” (Trang 8)

TỪ KHÓA LIÊN QUAN

w