Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
792,07 KB
Nội dung
TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ ĐỒ ÁN VI XỬ LÝ Nhận xét giáo viên hướng dẫn Giáo viên hướng dẫn Trần Thu Trà ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Lời nói đầu Ngày khoa học kỹ thuật phát triển mạnh mẽ, đặc biệt lĩnh vực điều khiển tự động hoá.Để tăng tính điều khiển, vi điều khiển không ngừng cải tiến nâng cấp Và họ vi điều khiển ửng dụng rộng rãi ngày họ vi điều khiển 8051 Các vi điều khiển thuộc họ 8051 đời vào năm 1981.Các vi điều khiển có 128 byte Ram, 4kb Rom, định thời, cổng tiếp cổng vào ra.Tất đặt chíp Và sau có nhiều vi điều khiển thuộc họ 8051 đời với cải tiến đặc biệt nhiều hãng sản xuất vi điều khiển 8052, AT89S52 Họ vi điều khiển 8051 ửng dụng thực tế phổ biến ứng dụng để điều khiển động cơ, điều khiển led, điều khiển đèn giao thông, làm đếm sản phẩm Trong nhiều ứng dụng nhóm sinh viên chúng em gồm: Thái Nam Thuật Phan Văn Sâm Phan Văn Thọ Hà Văn Thực Tham gia vào thực đề tài " Thiết kế mạch giao tiếp với LCD bàn phím HEX sử dụng họ 8051 " Dưới hướng dẫn cô giáo Trần Thu Trà.Chúng em mong nhiệt tình cô giáo giúp chúng em thực đề tài thành công ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ MỤC LỤC Chương I: TỔNG QUAN VỀ 8051 1.1 Cấu trúc vi điều khiển 8051 1.2 Tổ chức nhớ vi điều khiển Chương II : TỔNG QUAN VỀ LCD VÀ BÀN PHÍM HEX I Tìm hiểu hình LCD 1.1 Phân loại LCD 1.2 Nguyên tắc hiển thị ký tự hình LCD 11 II Giới thiệu bàn phím HEX 12 Chương III : GIỚI THIỆU VỀ IC89S52 14 1.1 Giới thiệu IC89S52: 14 1.2 Khảo sát sơ đồ chân 15 1.3 Sơ đồ khối củaIC89S52………………………………… 18 ChươngIV : SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN 19 Sơ đồ nguyên lý: 19 1.1 Khối nguồn: 19 1.2 Khối điều khiển: 19 1.3 Khối bàn phím h :………………………………………… 20 1.4 Khối hiển thị: 20 Mạch nguyên lý: 21 Mạch in: 23 Chương V: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 24 Lưu đồ thuật toán …………………………………………….24 Chương trình điều khiển………………………………………25 ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Chương I : TỔNG QUAN VỀ 8051 1.1 Cấu trúc vi điều khiển 8051 Cấu trúc vi điều khiển 8051 ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ 1.2 Tổ chức nhớ vi điều khiển 8051 Các ghi nằm ghi 80H FFh.Các địa nằm 80H,vì địa từ 00H đến 7FH địa nhớ RAM bên 8051.Không phải tất địa từ 80H đến FFH FSR sử dụng,nhưng vị trí ngăn nhớ từ 80H đến FFH chưa dùng để dự trữ lập trình viên 8051cungx không sử dụng ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Bảng : Chức ghi đặc biệt SFR SFR định địa bít(những ghi cần nhớ lập trình C) ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH ĐỒ ÁN VXL KHOA ĐIỆN TỬ GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ CHƯƠNG II : TỔNG QUAN VỀ LCD VÀ BÀN PHÍM HEX I Tìm hiểu hình LCD 1.1 Phân loại LCD Có thể chia module LCD làm hai loại : - Loại hiển thị ký tự (character LCD ) gồm có kích cỡ 16x1(16 ký tự dòng),16x2 ( 16 ký tự x dòng) ; 16x 4(16 ký tự x dòng); 20x 1(20 ký tự x1 dòng) v.v - Loại hiển thị đồ họa (graphic LCD ) đen trắng màu ,gồm kích cỡ 1,47 inch (128 x128 điểm ảnh) ;1,8 inch( 128 x 160 điểm ảnh ); 2,4 inch( 240x 320 điểm ảnh ) v.v… ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Mô tả chân Màn hình LCD 16 Chân Ký hiệu I/O Mô tả VSS - Đất VCC - Nguồn +5V VEE - Cấp nguồn điều khiển phản I RS=0 chọn ghi lệnh RS=1 chọn liệu RS R/W I R/W=1 đọc liệu.R/W =0 ghi liệu E I/O Cho phép DB0 I/O Các bít liệu DB1 I/O Các bít liệu DB2 I/O Các bít liệu 10 DB3 I/O Các bít liệu 11 DB4 I/O Các bít liệu 12 DB5 I/O Các bít liệu 13 DB6 I/O Các bít liệu 14 DB7 I/O Các bít liệu Chức chân : - Chân Vcc :cấp nguồn dương - Chân Vss : cấp nguồn âm - Chân V EE : điều khiển độ tương phản LCD - Chân chọn ghi RS :có hai ghi quan trọng LCD, chân RS (register select) dùng để chọn ghi sau : Nếu RS=1 ghi liệu chọn cho phép người dùng gửi liệu cần hiể thị LCD; Nếu RS=0 ghi mà lệnh chọn phép người dùng gửi lệnh chẳng hạn lệnh xóa hình ,đưa trỏ đầu dòng… ĐỒ ÁN VXL GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ - Chân đọc/ghi (R/W) :đầu vào đọc/ghi cho phép người dùng ghi thông tin lên LCD R/W =0 đọc thông tin từ R/W=1 - Chân cho phép E(Enable) :Chân cho phép E sử dụng LCD để chốt liệu Khi liệu cấp đến chân liệu xung mức cao xuống thấp phải áp đến chân để LCD chốt liệu chân liệu Xung phải rộng tối thiểu 450 ns - Chân D0 D7 : Đây chân liệu bit ,được dùng để gửi thông điệp lên LCD đọc nội dung ghi LCD Để hiển thị chữ số ,chúng ta gửi mã ASCII chữ từ A đến Z ,a đến z số từ đến đến chân bật RS =1.Cũng có mã lệnh gửi đến LCD để xóa hình dưa trỏ đầu dòng nhấp nháy trỏ - Chú ý :Chúng ta sử dụng RS=0 để kiểm tra bí cờ bận để xem LCD có sẵn sàng nhận thông tin.Cờ bận bit D7 đọc R/W=1 RS=0 sau: Nếu R/W =1 ,RS=0 D7=1 (cờ bận 1)thì LCD bận công viêc bên không nhận thông tin nào.Khi D7=0 LCD sẵn sàng nhận thông tin mới.Lưu ý nên kiểm tra cờ bận trước ghi liệu lên LCD Chân 15 16 :ghi A K Nó a nốt ca tốt đèn LED dùng để chiếu sáng LCD bóng tối.Chúng ta không sử dụng.Nếu muốn dùng nối chân A qua điện trở từ 1k đến 5k lên dương 5V ,chân K xuống đất đèn sáng Bảng mã lệnh LCD Mã lệnh(hex) Lệnh đến ghi LCD Xóa hình hiển thị Trở đầu dòng Giảm trỏ (dịch trỏ sang trái) Tăng trỏ (dịch trỏ sang phải) Dịch hiển thị sang phải Dịch hiển thị sang trái Tắt trỏ,tắt hiển thị A Tắt hiển thi ,bật trỏ C Tắt trỏ,bật hiển thị E Bật hiển thị ,nhấp nháy trỏ F Tắt hiển thị,nhấp nháy trỏ 10 Dịch vị trí trỏ sang trái 14 Dịch vị trí trỏ sang phải ĐỒ ÁN VXL 10 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ chân với hai hàng chân DIP, nên khảo sát Vi điều khiển với 40 chân dạng DIP Hình 1.1 Chân VCC: Chân số 40 VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp +5V±0.5 Chân GND: Chân số 20 nối GND(hay nối Mass) Khi thiết kế cần sử dụng mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản sử dụng IC ổn áp 7805 Port (P0) Port gồm chân (từ chân 32 đến 39) có hai chức năng: - Chức xuất/nhập : Các chân dùng để nhận tín hiệu từ bên vào để xử lí, dùng để xuất tín hiệu bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt - Chức bus liệu bus địa (AD7-AD0) : chân (hoặc Port 0) làm nhiệm vụ lấy liệu từ ROM RAM ngoại (nếu có kết nối với nhớ ngoài), đồng thời Port dùng để định địa nhớ Port (P1) Port P1 gồm chân (từ chân đến chân 8), có chức làm đường xuất/nhập, chức khác Port (P2) Port gồm chân (từ chân 21 đến chân 28) có hai chức năng: - Chức xuất/nhập - Chức bus địa cao (A8-A15): kết nối với nhớ có dung lượng lớn,cần byte để định địa nhớ, byte thấp P0 đảm nhận, byte cao P2 đảm nhận ĐỒ ÁN VXL 16 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Port (P3) Port gồm chân (từ chân 10 đến 17): - Chức xuất/nhập - Với chân có chức riêng thứ hai bảng sau : Bit Tên Chức P3.0 RxD Ngõ vào nhận liệu nối tiếp P3.1 TxD Ngõ xuất liệu nối tiếp P3.2 INT0 Ngõ vào ngắt cứng thứ P3.3 INT1 Ngõ vào ngắt cứng thứ P3.4 T0 Ngõ vào Timer/Counter thứ P3.5 T1 Ngõ vào Timer/Counter thứ P3.6 WR Ngõ điều khiển ghi liệu lên nhớ P3.7 RD Ngõ điều khiển đọc liệu từ nhớ bên P1.0 T2 Ngõ vào Timer/Counter thứ P1.1 T2X Ngõ Nạp lại/thu nhận Timer/Counter thứ Chân RESET (RST) Ngõ vào RST chân ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống thiết lập lại giá trị ban đầu ngõ mức tối thiểu chu kì máy Chân XTAL1 XTAL2 Hai chân có vị trí chân 18 19 sử dụng để nhận nguồn xung clock từ bên để hoạt động, thường ghép nối với thạch anh tụ để tạo nguồn xung clock ổn định Chân cho phép nhớ chương trình PSEN PSEN ( program store enable) tín hiệu xuất chân 29 dùng để truy xuất nhớ chương trình Chân thường nối với chân OE (output enable) ROM Khi vi điều khiển làm việc với nhớ chương trình ngoài, chân phát tín hiệu kích hoạt mức thấp kích hoạt lần chu kì máy Khi thực thi chương trình ROM nội, chân trì mức logic không tích cực (logic 1) (Không cần kết nối chân không sử dụng đến) ĐỒ ÁN VXL 17 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ 10 Chân ALE (chân cho phép chốt địa chỉ-chân 30) Khi Vi điều khiển truy xuất nhớ từ bên ngoài, port vừa có chức bus địa chỉ, vừa có chức bus liệu phải tách đường liệu địa Tín hiệu chân ALE dùng làm tín hiệu điều khiển để giải đa hợp đường địa đường liệu kết nối chúng với IC chốt Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động đưa vào Vi điều khiển, dùng tín hiệu ngõ ALE làm xung clock cung cấp cho phần khác hệ thống - Ghi chú: không sử dụng bỏ trống chân 11 Chân EA Chân EA dùng để xác định chương trình thực lấy từ ROM nội hay ROM ngoại Khi EA nối với logic 1(+5V) Vi điều khiển thực chương trình lấy từ nhớ nội Khi EA nối với logic 0(0V) Vi điều khiển thực chương trình lấy từ nhớ ngoại 1.3 Sơ đồ khối IC89S52 ĐỒ ÁN VXL 18 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ CHƯƠNG IV : SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN Sơ đồ nguyên lý: 1.1 Khối nguồn: 1.2 Khối điều khiển: ĐỒ ÁN VXL 19 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ 1.3 Khối bàn phím HEX 1.4 Khối hiển thị ĐỒ ÁN VXL 20 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Mạch nguyên lý: ĐỒ ÁN VXL 21 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Nguyên lí hoạt động: Khi cấp nguồn Vcc mạch bắt đầu hoạt động - Khi nhấn tổ hợp phím gửi xung đến IC AT89S52 AT89S52 tiến hành mã hóa,giả mã chuyển xung gửi đến thành liệu sau tín hiệu xuất lên LCD để hiển thị (từ p.0.0 => p.0.7) Nhưng trước gửi liệu lên LCD phải kiểm tra LCD Nếu LCD rỗi liệu hiển thị ngược lại LCD bận liệu chưa hiển thị gửi thông báo cho IC vi xử lí (AT89S52) qua chân RS RW Nguyên tắc kiểm tra bận sau: Nếu RW=1;RS=0 D7=1 LCD bận công việc bên không nhận thông tin từ IC vi xử lí Khi D7=0 LCD sẵn sang nhận thông tin từ IC vi xử lí Ở đây: + RW chân đọc/ghi,cho phép người dung ghi thông tin lên LCD RW = (ghi); RW = ( đọc thông tin ) + RS chọn ghi : RS = ghi lệnh chọn phép người dung gửi lệnh lên LCD RS = ghi liệu chọn cho phép người dùng gửi liệu cần hiển thị lên LCD - Khi không nhấn phím xung mức ĐỒ ÁN VXL 22 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ Mạch in ĐỒ ÁN VXL 23 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ CHƯƠNG V: LƯU ĐỒ THUẬT TOÁN VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN Lưu đồ thuật toán ĐỒ ÁN VXL 24 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH Chương trình điều khiển KHOA ĐIỆN TỬ ORG 00H ;***************KHAI BAO BAN DAU************ ;***************KHAI BAO CAC CHAN DUOC SU DUNG CUA VDK****** RS BIT P2.5 RW BIT P2.6 EN BIT P2.7 X_PHAI BIT P3.3 X_TRAI BIT P3.4 DULIEUPHIM DATA 30H SO_KT DATA 31H DULIEU DATA 32H VITRI DATA 33H T_DELAY DATA 34H DULIEULCD DATA P0 ;**************CHUONG TRINH CHINH********** MAIN: MOV TMOD,#11H SETB TF1 MOV VITRI,#80H MOV SO_KT,#00 LCALL EN_LCD MOV DULIEULCD,#80H LCALL SENDCOMMAND MOV R7,#01 MAIN1: LCALL QUETPHIM MOV A,DULIEUPHIM CJNE A,#0FFH,GHI SJMP MAIN1 GHI: LCALL XULYDULIEU MOV A,DULIEU CJNE A,#0FFH,GHI_KT JMP OLD_LINE GHI_KT: MOV DULIEULCD,DULIEU LCALL SENDTEXT INC VITRI MOV R3,SO_KT INC R3 MOV SO_KT,R3 CJNE R3,#16,OLD_LINE MOV DULIEULCD,#0C0H ĐỒ ÁN VXL 25 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ LCALL SENDCOMMAND OLD_LINE: MOV DULIEUPHIM,#0FFH SJMP MAIN1 ;**** KHOI TAO CHE DO HOAT DONG CHO LCD *** EN_LCD: CLR RS CLR RW SETB EN MOV DULIEULCD,#38H LCALL SENDCOMMAND MOV T_DELAY,#1 ; cu la LCALL DELAY MOV DULIEULCD,#38H LCALL SENDCOMMAND MOV T_DELAY,#1 ; cu la LCALL DELAY MOV DULIEULCD,#0DH LCALL SENDCOMMAND MOV DULIEULCD,#01H LCALL SENDCOMMAND RET ;***** CHUONG TRINH QUET PHIM DE NHAN TIN HIEU VAO VDK ***** QUETPHIM: JNB TF1,THOAT1 CLR TR1 PUSH 00H PUSH 01H PUSH 02H PUSH ACC DJNZ R7,KO_QUET MOV R2,#0FEH MOV R0,#04 KT0: MOV P1,R2 MOV R1,#100 LAP1: JB P1.4,KT1 DJNZ R1,LAP1 JMP MAHOA KT1: MOV R1,#100 LAP2: JB P1.5,KT2 DJNZ R1,LAP2 ĐỒ ÁN VXL 26 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ JMP MAHOA KT2: MOV R1,#100 LAP3: JB P1.6,KT3 DJNZ R1,LAP3 JMP MAHOA KT3: MOV R1,#100 LAP4: JB P1.7,TIEP DJNZ R1,LAP4 JMP MAHOA TIEP: MOV A,R2 RL A MOV R2,A DJNZ R0,KT0 MOV DULIEUPHIM,#0FFH MOV R7,#01 JMP THOAT MAHOA: MOV DULIEUPHIM,P1 MOV R7,#10 KO_QUET: MOV TH1,#00 MOV TL1,#00 CLR TF1 SETB TR1 THOAT: POP ACC POP 02H POP 01H POP 00H THOAT1: RET ;***********GUI LENH CHO LCD VA CHO PHEP LCD XUAT DU LIEU**************** SENDCOMMAND: CLR RS SJMP PULSE_EN SENDTEXT: SETB RS NOP PULSE_EN: ĐỒ ÁN VXL 27 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ CLR RW CLR EN NOP SETB EN NOP MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) CLR TF0 SETB TR0 JNB TF0,$ CLR TR0 RET ;****************XU LY DU LIEU TU BAN PHIM, GAN CAC KY TU TUONG UNG TUNG PHIM: CAC KY TU 1,2,3,4,5,6,7,8,9,0,*,#,A,B,C****************** XULYDULIEU: PUSH 07 MOV R7,DULIEUPHIM CJNE R7,#0EEH,KT_1 MOV DULIEU,#'*' JMP TROVE KT_1: CJNE R7,#0DEH,KT_2 MOV DULIEU,#'7' JMP TROVE KT_2: CJNE R7,#0BEH,KT_3 MOV DULIEU,#'4' JMP TROVE KT_3: CJNE R7,#07EH,KT_4 MOV DULIEU,#'1' JMP TROVE KT_4: CJNE R7,#0EDH,KT_5 MOV DULIEU,#'0' JMP TROVE KT_5: CJNE R7,#0DDH,KT_6 MOV DULIEU,#'8' JMP TROVE KT_6: CJNE R7,#0BDH,KT_7 MOV DULIEU,#'5' JMP TROVE KT_7: ĐỒ ÁN VXL 28 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ CJNE R7,#07DH,KT_8 MOV DULIEU,#'2' JMP TROVE KT_8: CJNE R7,#0EBH,KT_9 MOV DULIEU,#'#' JMP TROVE KT_9: CJNE R7,#0DBH,KT_10 MOV DULIEU,#'9' JMP TROVE KT_10: CJNE R7,#0BBH,KT_11 MOV DULIEU,#'6' JMP TROVE KT_11: CJNE R7,#07BH,KT_12 MOV DULIEU,#'3' JMP TROVE KT_12: CJNE R7,#0E7H,KT_13 MOV DULIEU,#'D' JMP TROVE KT_13: CJNE R7,#0D7H,KT_14 MOV DULIEU,#'C' JMP TROVE KT_14: CJNE R7,#0B7H,KT_15 MOV DULIEU,#'B' JMP TROVE KT_15: CJNE R7,#077H,TROVE1 MOV DULIEU,#'A' JMP TROVE TROVE1: MOV DULIEU,#'K' TROVE: POP 07H RET ;****************HAM TRE*************** DELAY: PUSH 00 MOV R0,T_DELAY ĐỒ ÁN VXL 29 GVHD: Trần Thu Trà TRƯỜNG ĐH SPKT VINH KHOA ĐIỆN TỬ LOOP: MOV TH0,#5 ;cu la 10 MOV TL0,#50 ;cu la 200 CLR TF0 SETB TR0 JNB TF0,$ CLR TR0 DJNZ R0,LOOP POP 00 RET END ĐỒ ÁN VXL 30 GVHD: Trần Thu Trà