Tài liệu tham khảo công nghệ thông tin Vi điều khiển
Trang 1PHẦN I: NỘI DUNG
1 SƠ ĐỒ NGUYÊN LÝ
Sơ đồ khối các khối chức năng
P0.0/AD039P0.1/AD1 38P0.2/AD237P0.3/AD3 36P0.4/AD435P0.5/AD5 34P0.6/AD633P0.7/AD7 32
P3.0/RXD 10P3.1/TXD11P3.2/INT0 12P3.3/INT113P3.4/T0 14P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A15 28P2.0/A8 21P2.1/A922P2.2/A10 23P2.3/A11 24P2.4/A12 25P2.5/A13 26P2.6/A14 27
D011D1 12D213D3 15D416D5 17D618D7 19
3 Q0 2D14 Q1 5
D27 Q2 6
D38 Q3 9
D413 Q4 12
D514 Q5 15
D617 Q6 16
D718 Q7 19
Khối mở cửaKhối hiển thị
Khối RAM
Trang 2- Khi mới cấp nguồn password mặc định là 111111 (do người lập trình cung cấp,password chỉ dùng 6 số.
- 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 CHANGE nhập password mặc định(hay password củ) nhấn phím Yes nhập password mới (gồm 6 số) nhấn phím Yes.
- Muốn mở : nhập password nhấn phím OPEN thì khóa sẽ mở.- Muốn khóa : nhấn phím CLOSE.
- Trong quá trình thay đổi password hay mở khóa nếu muốn thoát ra thì nhấn phím START.
3 GIỚI THIỆU VỀ CÁC KHỐI VÀ CÁC IC TRONG SƠ ĐỒ NGUYÊN LÝ
Mạch điện gồm có:- Khối nguồn
- Vi điều khiển AT89V51
- Ram CY6264 và IC 74LS373- Một bàn phím ma trận 4 x 4
- Khối hiển thị là mội LCD 16 characters x 2 Line- Khối mở khóa
- Khối báo động.
3.1 Khối nguồn
Trang 3U 2
L 7 8 0 5 / T O 2 2 01
N g u o n A C 1 2 V
1 2
R 11 k 5
C 11 0 0 0 u
J 4
1 2 V123
C 54 7 0 uC 3
1 0 4
C 54 7 0 uS W 1
N U T N H A N
C 41 0 4
D 4L E D
U 2
L 7 8 1 2 / T O 2 2 01
IC ổn áp 7805, 7812 để tạo ra nguồn điện áp 5v, 12v cung cấp cho vi xử lý.
3.2 Vi điều khiển AT89V51
Là một chíp AT89V51 thuộc họ vi điều khiển 8051 có nhiện vụ điều khiển ra lệnh cho khối hiển thị (LCD) thông qua các phím nhấn của người sử dụng.
3.2.1 Một số nét đặc trưng
− Tương thích với sản phẩm MCS-51
− Bộ nhớ chương trình bên trong: 4KB (ROM)
− Bộ nhớ dữ liệu bên trong: 128 KB (RAM)
− Port xuất nhập (I/O port) :32
− 2 bộ định thời 16 bit
− Ngắt :6
Trang 4Hình 3.1: Sơ đồ nguyên lý của khối nguồn.
Hình 3.2.2.1: Sơ đồ chân của vi điều khiển 8051
2 93 03 14 01
2 12 22 32 42 52 62 72 81 0
1 11 21 31 41 51 61 7
3 93 83 73 63 53 43 33 2
R S T
X T A L 2X T A L 1G N D
P S E N
V C CP 1 0
P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7
P 2 0 / A 8P 2 1 / A 9P 2 2 / A 1 0P 2 3 / A 1 1P 2 4 / A 1 2P 2 5 / A 1 3P 2 6 / A 1 4P 2 7 / A 1 5P 3 0 / R X D
P 3 1 / T X DP 3 2 / I N T 0P 3 3 / I N T 1P 3 4 / T 0P 3 5 / T 1P 3 6 / W RP 3 7 / R D
P 0 0 / A D 0P 0 1 / A D 1P 0 2 / A D 2P 0 3 / A D 3P 0 4 / A D 4P 0 5 / A D 5P 0 6 / A D 6P 0 7 / A D 7
Trang 5 GND: Nối đất (chân số 20 ) Port 0:
Port 0 (P0.0 – P0.7) có số chân từ 32- 39
Port 0 là port xuất nhập 8bit 2 chiều Port 0 được định hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ nhớ chương trình ngoài Port 0 nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình.
Port 1 :
Port 1 (P1.0 – P1.7) có số chân từ 1 – 8.
Port 1 là một port xuất nhập 8bit có các điện trở kéo lên bên trong.khi các logic 1 được đặt lên các chân của port 1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi thực hiện là các port nhập, các chân của port 1 được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng cho các điện trở kéo lên bên trong.
Port 2 :
Port 2 (P2.0 – P2.7) có số chân từ 21 -28
Port 2 là port xuất nhập 8bit 2 chiều có các điện trở kéo lên bên trong Khi các logic 1 được đặt lên các chân của port 2, các chân này được sử dụng như là các ngõ vào Khi thực hiện chức năng port nhập, các chân port 2 được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chương trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit.
Port 3 :
Port 3 (P3.0 - P3.7) có số chân từ 10 – 17
Port 3 là port xuất nhập 8 bit 2 chiều có các điện trở kéo lên bên trong Khi các logic 1 được đặt lên các chân của port 3 các chân này được đưa lê mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi làm chức năng port nhập, các chân port 3 được kéo xuống
Trang 6mức thấp do tác động bên ngoài cấp dòng do có các điện trở kéo lên bên trong Port 3 còn được sử dụng làm các chức năng khác của AT89C51.
Chức năng của các chân được mô tả qua bảng sau :
BitTênĐịa chỉ bitChức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp
P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp
P3.2 INTO\ B2H Ngõ vào ngắt ngoài 0
P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời/đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời/đếm 1
P3.6 WR\ B6H Điều khiển ghi vào RAM ngoài
P3.7 RD\ B7H Điều khiển đọc từ RAM ngoài
RST : Thiết lập lại ( chân 9) Mức cao trên chân này trong 2 chu kì máy
trong khi bộ dao động đang hoạt động sẽ Reset AT89V51.
Trang 7Mạch reset
Mạch Reset tự động khi khởi động máy.
Ở đây chúng ta thực hiện Reset bằng cách nối chân 9 của 8951 với nguồn 5V.
Chân ALE (Address Latch Enable) /PROG: chân số 3
Là một xung ngõ ra cho phép chốt địa chỉ, cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài Chân này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash.
Khi hoạt động bình thường, xung của ngõ ra ALE luôn luôn có tần số bằng 1/6 tần số của mạchdao động trên chip, có thể được sử dụng cho các mục đích định thời từ bên ngoài và tạo xung Clock Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệu ngoài Khi cần hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt (SFR) có địa chỉ byte là 8EH Khi bit này được set, ALE chỉ tích cực trong thời gian thực hiện lệnh MOVX hoặc MOVC Ngược lại chân này sẽ được đưa lên mức cao Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ điều khiển đang ở chế độ thực thi chương trình ngoài.
Chân PSEN (Program Store Enable):cho phép đọc bộ nhớ chương trình, chân số 29
Khi 8951 thực thi mã từ bộ nhớ chương trình ngoài, PSEN được hoạt động 2 lần trong mỗi chu kỳ máy ngoại trừ hoạt củaPSEN được bỏ qua trong mỗi bộ nhớ dữ liệu ngoài.
ChânEA/ Vpp (External Access): truy xuất ngoài , chân số 31
EA phải đươc nối với GND cho phép xuất mã từ vị trí bộ nhớ chương trình ngoài bắt đầu tại 0000H đến FFFFH.
Chú ý:
Nếu khoá bit 1 được lập trình, EA sẽ được chốt bên trong lúc Reset.
Trang 8EA nối Vcc để thực hiện chương trình bên trong.
Chân này nhận điện áp cho phép lập trình là 12V (Vpp) trong khi lập trình Flash
Chân XTAL 1 (Crysral), chân 18
Ngõ vào mạch khuếch đại đảo của mạch dao động và ngõ vào mạch tạo xung Clock bên trong chip
Chân XTAL 2(chân 19)
Ngõ ra mạch khuếch đại đảo của mạch dao động.
Để tạo dao động cho vi điều khiển AT89V51 hoạt động, chúng em chọn mạch dao động như hình vẽ sau với các giá trị của linh kiện: C1= C2=33pF,thạch anh dao động có tần số 12MHz
Hình 3.2.2.2: mạch tạo dao động cho vi điều khiển
Trang 9
Cách mắc của mạch dao động
Trang 103.3 Khối bàn phím
Gồm 1 bàn phím ma trận 4 dòng và 4 cột, A, B, C, D : các hàng của ma trận phím, 1 - 4: các cột của ma trận phím.
Ứ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.
Trang 113.4 Khối Ram ngoài.
Khối Ram ngoài dùng để lưu password, gồm IC chốt 74LS373 và Ram 6264 dung lượng 64k
Sơ đồ chân 74LS373 và CY6264
3.4.1 74LS373
Trang 12H: tích cực mức caoL: tích cực mức thấpX: không xác định
Q0: The Level of the output befor steady-state input conditions wereestablished.
Trang 131 11 21 31 51 61 71 81 9
2 22 72 02 6
A 0A 1A 2A 3A 4A 5A 6A 7A 8A 9A 1 0A 1 1A 1 2
D 0D 1D 2D 3D 4D 5D 6D 7
Trang 14+ Chế độ giao tiếp : 8 bít và 4 bít+ Cỡ chữ hiển thị : 5x7 hoặc 5x10
R 13 3 0DD
Q 1C 1 8 1 5
V C CL C D
1 6 C h a r a t e r x 2 L i n e s
U 2L C D
Trang 15Bảng mô tả chức năng các chân của các modul LCD ký tự
Trang 16I Các dữ liệu/Lệnh được truyền tới LCD
15 A Nguồn cung cấp cho LED nền - - V (+)
16 K Nguồn cung cấp cho LED nền - - 0 V
Trang 173.6 Khối đóng mở khóa
Tín hiệu mở khóa được điều khiển ở mức logic cao Khi mở khóa thì chân p3.4 ở mức 1 điều khiển transistor dẫn, có dòng qua relay.
D 1D I O D E
2K 1
R E L A Y S P D T
412R 3
8 k 2
Sơ đồ khối của khối mở khóa
Khi đó, relay chuyển sang tiếp điểm thường hở, làm ngắt nguồn 12v vào nam châm điện Làm lực từ của nam châm điện bị mất.
3.7 Khối báo hiệu
Là mạch loa, 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.
I C n h a c
U 1
L M 3 8 63
1 0 u F2 k 2
S P E A K E R
1 kV C C
P N P B E C
4 Chương trình điều khiển4.1 Lưu đồ giải thuật
Trang 18Hình 1: giải thuật chương trình chính
Hình 2: Sơ đồ giải thuật chương trình PROG1
HIEN THI LCDNẠP PASS MẶC ĐỊNH
Đồng ý
Trang 19Hình 3: Sơ đồ giải thuật chương trình PROG2
Kiểm tra
Display
Hiển thị dòng chữ chạy
Nhập Password 6 Số:
Quet_phim:Quet_phim_Func:
Key Open
Key Close
Open
Key NoNhấn
không
Trang 20Hình 4:Sơ đồ giải thuật chương trình OPEN
Phím close Open
So sanh pass ram
sai
Trang 21Hình 5:Sơ đồ giải thuật chương trình CHAGE_PASS
Đúng0 Change
So sanh pass ram voi pass rom
Nhap password cu6 so:
Nhap password moi6 so:
Alarm
So sanh
ĐúngSai
Trang 224.2 Chương trình$MOD51
;****************************************************************; TRUONG DAI HOC CONG NGHIEP THANH PHO HO CHI MINH; //\\*******//\\
; DO AN KHOA SO DUNG RAM NGOAI
; THUC HIEN: NGUYEN VAN HIEU - NGUYEN HOAI SANG;=========================================================;=========================================================; 50H SO KI TU MAT KHAU
; 60H GIA TRI PASS NAP VAO; 70H O NHO PASS RAM
; PREDEFINED BITS-POSTS TRONG FUNCTIONS
RS BIT P3.0RW BIT P3.1EN BIT P3.2DATABUS EQU P1BIT_RELAYBIT P3.3
BIT_DEN_ER BIT P3.4BIT_BAODONG BIT P3.5PASS EQU 70H
Trang 23;****************************************************************; TEST RAM PROGRAM
Trang 24LJMP QUET_PHIM_FUNC ;BAT DAU CHAY DEN KI TRA CAC PHIM CHUC NANG VA O DO
LJMP PROG2
;****************************************************************; PRO2 PROG
Trang 25INC R0INC R1
;****************************************************************; RESET REGISTER PASS PROG
Trang 26; CHAY_CHU PROG;
;XU LY DICH CHUYEN DU LIEU HIEN THI CHO DONG 1
MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD
TRANG THAI MAN HINH LCD
INC DPTR ;TANG GIA TRI DPTR DE DICH CHUYEN DONG CHU
CHU RA MAN HINH LCD
Trang 29MOV DATABUS,#0C0H ;DISPALY DATA AT THE SECOND LINE
Trang 30;****************************************************************; BUTTOMS PROG(COMPARE FUNCTION KEYS)
LJMP QUET_PHIM_FUNCSTART:
LJMP BEGINPHIM_CHANGE_PASS:
LJMP CHANGE_PASSPHIM_OOK:
LJMP QUET_PHIM_FUNC
Trang 33; -DUNG -THONGBAO: ;HIEN THI RA MAN HINH NHAP DUNG PASS WORD
MOV DATABUS,#0CH ;CHO PHEP LCD HIEN THI
Trang 36MOV DATABUS,#0C0H ; XUAT HIEN DONG DAU TIEN
Trang 37MOVA,#11111110B ;HIEN THI DAU CACH
Trang 38LCALL GUI_DATA
;==================================; ALERT PROG
CHANGE_PASS:
Trang 39;HIEN THI NHAP PASSWORD CU
MOV DATABUS,#01H ;clear lcd
Trang 40SJMP KT_OPEN
Trang 41JMP BEGINKT_CHANGE_PASS:
JMP KT_OPENKT_OOK:
POP ACC
Trang 47;****************************************************************; LCD PROGS
;=========================================================;****** CHUOI CHU CHAY LEN DONG 1**************************;========= =========SENDING PROGRAM==================
CLR RS ;RS=0-SEND COMMAND
SJMP PULSE_ENGUI_DATA:
LCDINIT: ;CTC KHOI TAO LCD
CLR RS ;RS = 0 - GUI LENH
Trang 48MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI
MOV DATABUS,#01H ;CODE = 01H - XOA LCD
MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI
Trang 49MOV TH0,#HIGH(-1000) ;LENH NAY DUOC THAY THE CHO DOAN MA KI TRA DUOI DAY KHI
MOV TL0,#LOW(-1000) ;CHAY CHUONG TRINH NAY TRONG PHAN M MO PHONG TOPVIEW
;***************************************************
Trang 50DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM
MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H
MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD
MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD
DONG MAN HINH - 16 CHU
LCDINIT1: ;CTC KHOI TAO LCD
CLR RS ;RS = 0 - GUI LENH
Trang 51MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
MOV TH0,#HIGH(-100)
MOV TL0,#LOW(-100)
MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
MOV DATABUS,#0CH ;CODE = 0CH - CHO PHEP LCD HIEN THI
MOV DATABUS,#01H ;CODE = 01H - XOA LCD
MOV DATABUS,#06H ;CODE = 06H - TU TANG DIA CHI HIEN THI, TAT DICH CHUYEN HIEN THI
Trang 52SETB RS ;RS = 1 - GUI DU LIEU
MOV TH0,#HIGH(-1000) ;LENH NAY DUOC THAY THE CHO DOAN MA KI TRA DUOI DAY KHI
MOV TL0,#LOW(-1000) ;CHAY CHUONG TRINH NAY TRONG PHAN M MO PHONG TOPVIEW
;***************************************************
Trang 53DISP_SLINE1: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM
MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H
MOV DPTR,#SLINE_DATA1 ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD
MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD
CHO MOT DONG MAN HINH - 16 CHU
Trang 54MOVA,#11111110B ;HIEN THI DAU CACH
;=========================================================
Trang 55;XU LY DICH CHUYEN DU LIEU HIEN THI CHO DONG 1
MOV DPTR,#FLINE_DATA1 ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD
TRANG THAI MAN HINH LCD
INC DPTR ;TANG GIA TRI DPTR DE DICH CHUYEN DONG CHU
CHU RA MAN HINH LCD
PUSH07H ; R7 DUOC DUNG DE LUU TRU CAC GIA TRI COT
Trang 56MOV P2,A ;PORT2 NOI VOI BAN PHIM
Trang 58MOV R0,#50
MOV TMOD,#01HSTINGA:
JNB TF0,$ CLR TR0 CLR TF0
MOV TMOD,#01H SETB TR0
CLR TR0 CLR TF0
MOV TMOD,#01H
Trang 60DB ' ERROR PASS '
DB ' KEYPAD LOCKED'
DB ' OPEN THE SAFE'
DB ' CORRECT 'DATACODE1:
DB 'INPUT OLD PASS 'DATACODE2:
DB ' INPUT NEW PASS '
DB 1H,1H,1H,1H,1H,1H
END
Trang 61Phần II: Kết Luận
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ế.
Trang 62TÀI LIỆU THAM KHẢO
1 Giáo trình lý thuyết vi xử lý – Phạm Quang Trí – Trường Đại Học Công Nghiệp Tp HCM
2 Giáo trình thực hành vi xử lý - Phạm Quang Trí – Trường Đại Học Công Nghiệp Tp HCM
3 www.ant7.com.vn
4 www.datasheetcatalog.com.vn.5 www.fet-hui.edu.vn