Sinh viên thực hiện : Giáo viên hướng dẫn: Ths.LÊ XỨNG... 1.DẪN NHẬPđể nâng cao năng suất ,giảm giá thành để tăng tính cạnh tranh nên việc ứng dụng kỹ thuật vi điều khiển ,vi xử lý vào s
Trang 1Sinh viên thực hiện :
Giáo viên hướng dẫn: Ths.LÊ XỨNG
Trang 21.DẪN NHẬP
để nâng cao năng suất ,giảm giá thành để tăng tính cạnh tranh nên việc ứng dụng kỹ thuật vi điều khiển ,vi xử lý vào sản xuất là đều tất yếu.
nào cũng ứng dụng vi điều khiển, vì vậy khi chọn đề tài yêu cầu khó nhất là chọn đề tài làm sao cho tính ứng dụng thực tiễn lại vừa sức với kiến thức mình đã học.Cuối cùng thì đề tài em chọn mạch đếm sản phẩm ứng dụng vi điều khiển 8051.
Trang 3
- Hệ thống lại các kiến thức đã học cho sinh viên về môn vi điều khiển đó là cách thiết kế phần cứng, viết chương trình … để hoàn thành yêu cầu đặt ra của thực tiễn
-Tuy nhiên trong phạm vi đồ án môn học và với mức độ kiến thức mình đã học đề tài này chỉ dừng ở mức độ đếm sản phẩm tử 0000 đến 9999 ,hiển thị ra LCD và có khả năng dừng băng chuyền
Trang 43.LÊN PHƯƠNG ÁN THIẾT KẾ
- Để hiển thị số sản phẩm đi qua ta có thể dùng led 7 đoạn,lcd
Trang 64.THIẾT KẾ PHẦN CỨNG CHI TIẾT
1.Mạch cảm biến
Dùng cảm biến hồng ngoại và LM358
Trang 7 Nguyên lý hoạt động
LM358.R12 phân áp cho transitor A1015 LM 358 có nhiệm vụ so sánh tín hiệu đầu vào.
đầu ra
ngắt 0 ≈5V
áp tại đầu ra Ngat0 <0.8V ≈0V của vi điều khiển nên tạo ra một ngắt.
Trang 82.Mạch hiển thị
Sử dụng LCD 16x2
Trang 93.Mạch phím ấn
Phím ấn kết hợp cùng với tụ chống rung
Trang 10* Lựa chọn cách kết nối
Có 3 cách kết nối nhận đầu vào cho vi điều khiển
Trang 11* Chống rung phím
Trang 124 Mạch điều khiển
Trang 135.Mạch điều khiển động cơ
Để điều khiển động sử dụng mạch cầu H
Trang 14Xác lập các thông số ban đầu:
-Khai báo Stack,xóa các thanh ghi
-Định nghĩa cổng vào ra,byte nhớ
-Khai báo ngắt ngoài ,định thời
Xác lập các thông số ban đầu:
-Khai báo Stack,xóa các thanh ghi
-Định nghĩa cổng vào ra,byte nhớ
-Khai báo ngắt ngoài ,định thời
KẾT THÚC
Khởi động LCD
Ghi chuỗi
Đặt sản phẩm 1
Trang 15 b Chương trình khởi động LCD c.Chương trình con ghi chuỗi
Trang 16d.Chương trình con ghi_lệnh e.Chương trình con ghi_dữ liệu
-RS =0 -RW =0 -P0 A -EN=1
-RS =0 -RW =0 -P0 A -EN=1
EN=0 DELAYMS
DELAYMS
START
RET
-RS =1 -RW =0 -P0 A -EN=1
-RS =1 -RW =0 -P0 A -EN=1
EN=0 DELAYMS
DELAYMS
START
RET
Trang 17Phím trăm=0?
Phím chục=0? Phím đvi=0?
Trang 18g.Chương trình Ngắt ngoài_1 h.Chương trình con tạo trễ
-Dừng DC -Dừng đếm-Xóa R4,R5-Call DELAY15s
Trang 19i.Thuật toán lưu số Đặt sản phẩm k.Thuật toán xử lý số đếm để hiển thị
- A B -DONVI A -A R5
- B #10
- DIV AB -NGAN A
- A B -TRAM A
-A R4
- B #10
- DIV AB -CHUC A
- A B -DONVI A -A R5
- B #10
- DIV AB -NGAN A
- A B -TRAM A
Trang 205.2 CHƯƠNG TRÌNH ĐIỀU KHIỂN
;********************ĐỊNH NGHĨA CÁC CỔNG VÀO RA,BYTE DỮ LIỆU DÙNG***
Trang 21
MOV R0,#0;THANH GHI HANG DON VI LUC DAT MOV R1,#0;THANH GHI HANG CHUC LUC DAT MOV R2,#0;THANH GHI HANG TRAM LUC DAT MOV R3,#0;THANH GHI HANG NGAN LUC DAT MOV R4,#0;BYTE THAP SO DEM TUC THI MOV R5,#0;BYTE CAO SO DEM TUC THI LCALL KHOI_TAO
Trang 22
MOV DPTR,#CHUOI3 LCALL GHI_CHUOI MOV A,#0C0H LCALL GHI_LENH LCALL DELAYMS MOV DPTR,#CHUOI4 LCALL GHI_CHUOI LCALL DELAYMS MOV A,#01H
LCALL GHI_LENH LCALL DELAYMS MOV A,#80H
LCALL GHI_LENH LCALL DELAYMS MOV DPTR,#CHUOI5 LCALL GHI_CHUOI LOOP:
CALL DAT_SP MOV A,#88H
LCALL GHI_LENH MOV DPTR,#MA_LCD MOV A,R3
MOVC A,@A+DPTR LCALL GHI_DULIEU MOV A,#89H
LCALL GHI_LENH MOV A,R2
MOVC A,@A+DPTR
Trang 24;***************************************************** MOV A,#0C0H
Trang 25;******************XỬ LÝ SỐ LIỆU XUẤT RA LCD****************************XU_LY: MOV A,R5
Trang 27;******************CHƯƠNG TRÌNH CON KHỞI TẠO LCD****************************** KHOI_TAO:
Trang 28;*******************GHI DỮ LIỆU LÊN LCD *******************************GHI_DULIEU:
Trang 30;********************KHAI BÀO DỮ LIỆU*****************CHUOI1: DB 'DO_AN_VDK'
Trang 315.3 MÔ PHỎNG TRÊN PHẦN MỀM PROTUES
Trang 32TRÂN TRỌNG CẢM ƠN SỰ THEO DÕI CỦA THẦY VÀ CÁC BẠN !
Sinh viên thực hiện Đặng Tuấn Vũ