I/O và ngắt của 8051
Số trang: 27
Loại file: pdf
Dung lượng: 396.55 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Nội dung nghiên cứu• Giao tiếp I/O của 8051 ế– Quét LED – Hiển thị LCD – Bàn phím• Các ngắt của 8051– IVT, ISR – Cho phép và mức ưu tiên của ngắt – Các ngắt bên ngoàiQuét LED 7 đoạn• Các LED hiển thị là– Nguồn nuôi (10ma trên mỗi LED) – Các chân (8 chân cho 1 LED 7 đoạn)• Hiện LED được quét– Chỉ 1 LED được sáng tại ộ một thời điểm – Các đầu vào a-h được nối tương ứng với nhau• Tổng số chân cần thiết trên ổ là: t ê cổng là–...
Nội dung trích xuất từ tài liệu:
I/O và ngắt của 8051I/O và ngắt của 8051 Bài 8 Bộ môn TĐ Khoa KTĐK Nội dung nghiên cứu• Giao tiếp I/O của 8051 ế – Quét LED – Hiển thị LCD – Bàn phím• Các ngắt của 8051 – IVT, ISR – Cho phép và mức ưu tiên của ngắt – Các ngắt bên ngoài Quét LED 7 đoạn• Các LED hiển thị là – Nguồn nuôi (10ma trên mỗi LED) – Các chân (8 chân cho 1 LED 7 đoạn)• Hiện LED được quét – Chỉ 1 LED được sáng tại một thời điểm ộ – Các đầu vào a-h được nối tương ứng với nhau• Tổng số chân cần thiết trên ổ là: t ê cổng là – 8+số LED – Với VD: 8+4 Quét LED 7 đoạn• Thuật toán để hiện một ậ ệ ộ giá trị gồm 4 số• Tần số quét đủ lớn để không có cảm giác khô ó ả iá dung hình – Ít nhất là 30Hz – Thời gian một số bật • 1/30 s – Tần số cao hơn sẽ giảm ầ ố ả dung hình tốt hơn (60Hz)Quét LED 7 đoạnQuét LED 7 đoạn Giao tiếp với bàn phím• 16 phím sắp xếp thành 4x4• Thuật toán – Điều khiển 0 trên 1 hàng – Đọc tất cả các cột – Nếu một phím bất kỳ được ấ ế ấ ấn cột đó sẽ bằng 0, không ấn cột đó sẽ bằng 1 – Lặp lại cho các hàng tiếp theo• Ví dụ: – Công tắc 4 được ấn • R1← 0 C1:C4 = 1111 0, • R2← 0, C1:C4 = 0111 – Công tắc 2 được ấn • R1← 0, C1:C4 = 1101 R1Giao tiếp với bàn phím Giao tiếp với bàn phím; Ba`n phim hex no^i va`o P1; Chuo+ng tri`nh hie^?n thi. phim nha^n ra LED 7 ddoa.n; P1.0-P1.3: columns; P1.4-P1.7: rows; DDi.a chi? LED: A000hLOOP: LCALL READKB ; tri. tra? ve^`: A = 0-15MOV DPTR,#T7SEGMOVC A,@A+DPTR MOV DPTR,#0A000H ; A000h: ddi.a chi? LED 1MOVX @DPTR,ASJMP LOOPREADKB: PUSH 7SCAN: MOV A,#11111110B ; col_0 -> GND MOV R7,#0 ; R7 = iCONT: MOV P1,A ; no^i col i -> GND MOV A,P1 ; ddo.c row JNB ACC.4,ROW_0 ; xet xem row na`o?JNB ACC.5,ROW_1JNB ACC.6,ROW_2JNB ACC.7,ROW_3 RL A ; chua^?n bi. no^i GND INC R7 ; co^.t tie^p theo CJNE R7,#4,CONT ; la^`n luo+.t no^i GND 4 co^.tSJMP SCAN ; quay la.i quet tu+` co^.t 0ROW_0: MOV A,R7 ; Row=0, Col=R7 ADD A,#0 ; A = 0 + R7SJMP EXITROW_1: MOV A,R7 ; Row=1, Col=R7 ADD A,#4 ; A = 4 + R7SJMP EXITROW_2: MOV A,R7 ; Row=2, Col=R7 ADD A,#8 ; A = 8 + R7SJMP EXITROW_3: MOV A,R7 ; Row=3, Col=R7 ADD A,#12 ; A = 12 + R7EXIT: POP 7RETT7SEG: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H,DB 08H,03H,46H,21H,04H,0EHEND Giao tiếp với LCD• LCD là một giải pháp hiển thị văn bản dễ dàng và kinh tế g p p g đối với hệ thống nhung – Cấu hình thay đổi (từ 1x20 tới 8x20), giá từ 5$ – LCD hình cũng có sẵn trên thị trường g ị g• Các LCD thông minh có các bộ giải mã ASCII bên trong, các bộ tạo ký tự và mạch điều khiển LCD• Một số LCD có khả năng tạo các ký tự tuỳ ý – Người dùng định nghĩa RAM chứa ký tự – Lập trình RAM này với mẫu tham số – Sau S đó dù chúng như các ký t ASCII gốc dùng hú h á tự ố – Thông thường MSB chỉ ra sự khác nhau giữa ký tự ASCII chuẩn với ký tự do người dùng định nghĩa Giao tiếp LCD có cả chữ và số• Các chân ra – 8 chân dữ liệu D7:D0 – RS: chọn dữ liệu hoặc lệnh – RW: Đọc hoặc ghi – E: Cho hé (chốt E Ch phép ( hốt dữ liệ ) liệu) – Vee: Điều khiển độ tương phản• RS=0→ cmd – RS=1 → data• E=1 → cho phép (xung H- L)• Các mã lệnh LCD – Xoá hiển thị, di chuyển con trỏ – Hiển thị dịch chuyển LCD có cả chữ và số - Thuật toán• Thuật toán mov A command A, d call cmd delay mov A, another_cmd A another cmd call cmd delay mov A #’A’ A, # A call data delay mov A, #’B’ , call data delay …. LCD có cả chữ và số - Thuật toán• Kiểm tra trạng thái bận: Sau khi đọc từ LCD, D7 sẽ chứa cờ bận. Kiểm tra cờ này trước khi gửi một lệnh mới bất kỳ tới LCD, LCD hoặc sử dụng thời gian giữ chậm k lớn. Các ngắt của 8051• Các ngắt là gì? – Cách để dừng bộ xử lý mặc dù nó đang làm việc để phục vụ một nhiệm vụ khác• Tại sao và ở đâu chúng ta cần sử dụng ngắt – Phục vụ nhiều thiết bị giao tiếp – Hệ thống đa nhiệm vụ• Ngắt ở 8051 – 2 ngắt bên ngoài, hai cho bộ định thời và một cho cổng ắ ổ nối tiếp Sự khác nhau giữa phương pháp dò và ngắt ắ• Dò: – CPU giám sát các thiết bị được phục vụ một cách lần lượt, tìm “cờ yêu cầu phục vụ” – Khi nào nó thấy một y ...
Nội dung trích xuất từ tài liệu:
I/O và ngắt của 8051I/O và ngắt của 8051 Bài 8 Bộ môn TĐ Khoa KTĐK Nội dung nghiên cứu• Giao tiếp I/O của 8051 ế – Quét LED – Hiển thị LCD – Bàn phím• Các ngắt của 8051 – IVT, ISR – Cho phép và mức ưu tiên của ngắt – Các ngắt bên ngoài Quét LED 7 đoạn• Các LED hiển thị là – Nguồn nuôi (10ma trên mỗi LED) – Các chân (8 chân cho 1 LED 7 đoạn)• Hiện LED được quét – Chỉ 1 LED được sáng tại một thời điểm ộ – Các đầu vào a-h được nối tương ứng với nhau• Tổng số chân cần thiết trên ổ là: t ê cổng là – 8+số LED – Với VD: 8+4 Quét LED 7 đoạn• Thuật toán để hiện một ậ ệ ộ giá trị gồm 4 số• Tần số quét đủ lớn để không có cảm giác khô ó ả iá dung hình – Ít nhất là 30Hz – Thời gian một số bật • 1/30 s – Tần số cao hơn sẽ giảm ầ ố ả dung hình tốt hơn (60Hz)Quét LED 7 đoạnQuét LED 7 đoạn Giao tiếp với bàn phím• 16 phím sắp xếp thành 4x4• Thuật toán – Điều khiển 0 trên 1 hàng – Đọc tất cả các cột – Nếu một phím bất kỳ được ấ ế ấ ấn cột đó sẽ bằng 0, không ấn cột đó sẽ bằng 1 – Lặp lại cho các hàng tiếp theo• Ví dụ: – Công tắc 4 được ấn • R1← 0 C1:C4 = 1111 0, • R2← 0, C1:C4 = 0111 – Công tắc 2 được ấn • R1← 0, C1:C4 = 1101 R1Giao tiếp với bàn phím Giao tiếp với bàn phím; Ba`n phim hex no^i va`o P1; Chuo+ng tri`nh hie^?n thi. phim nha^n ra LED 7 ddoa.n; P1.0-P1.3: columns; P1.4-P1.7: rows; DDi.a chi? LED: A000hLOOP: LCALL READKB ; tri. tra? ve^`: A = 0-15MOV DPTR,#T7SEGMOVC A,@A+DPTR MOV DPTR,#0A000H ; A000h: ddi.a chi? LED 1MOVX @DPTR,ASJMP LOOPREADKB: PUSH 7SCAN: MOV A,#11111110B ; col_0 -> GND MOV R7,#0 ; R7 = iCONT: MOV P1,A ; no^i col i -> GND MOV A,P1 ; ddo.c row JNB ACC.4,ROW_0 ; xet xem row na`o?JNB ACC.5,ROW_1JNB ACC.6,ROW_2JNB ACC.7,ROW_3 RL A ; chua^?n bi. no^i GND INC R7 ; co^.t tie^p theo CJNE R7,#4,CONT ; la^`n luo+.t no^i GND 4 co^.tSJMP SCAN ; quay la.i quet tu+` co^.t 0ROW_0: MOV A,R7 ; Row=0, Col=R7 ADD A,#0 ; A = 0 + R7SJMP EXITROW_1: MOV A,R7 ; Row=1, Col=R7 ADD A,#4 ; A = 4 + R7SJMP EXITROW_2: MOV A,R7 ; Row=2, Col=R7 ADD A,#8 ; A = 8 + R7SJMP EXITROW_3: MOV A,R7 ; Row=3, Col=R7 ADD A,#12 ; A = 12 + R7EXIT: POP 7RETT7SEG: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H,DB 08H,03H,46H,21H,04H,0EHEND Giao tiếp với LCD• LCD là một giải pháp hiển thị văn bản dễ dàng và kinh tế g p p g đối với hệ thống nhung – Cấu hình thay đổi (từ 1x20 tới 8x20), giá từ 5$ – LCD hình cũng có sẵn trên thị trường g ị g• Các LCD thông minh có các bộ giải mã ASCII bên trong, các bộ tạo ký tự và mạch điều khiển LCD• Một số LCD có khả năng tạo các ký tự tuỳ ý – Người dùng định nghĩa RAM chứa ký tự – Lập trình RAM này với mẫu tham số – Sau S đó dù chúng như các ký t ASCII gốc dùng hú h á tự ố – Thông thường MSB chỉ ra sự khác nhau giữa ký tự ASCII chuẩn với ký tự do người dùng định nghĩa Giao tiếp LCD có cả chữ và số• Các chân ra – 8 chân dữ liệu D7:D0 – RS: chọn dữ liệu hoặc lệnh – RW: Đọc hoặc ghi – E: Cho hé (chốt E Ch phép ( hốt dữ liệ ) liệu) – Vee: Điều khiển độ tương phản• RS=0→ cmd – RS=1 → data• E=1 → cho phép (xung H- L)• Các mã lệnh LCD – Xoá hiển thị, di chuyển con trỏ – Hiển thị dịch chuyển LCD có cả chữ và số - Thuật toán• Thuật toán mov A command A, d call cmd delay mov A, another_cmd A another cmd call cmd delay mov A #’A’ A, # A call data delay mov A, #’B’ , call data delay …. LCD có cả chữ và số - Thuật toán• Kiểm tra trạng thái bận: Sau khi đọc từ LCD, D7 sẽ chứa cờ bận. Kiểm tra cờ này trước khi gửi một lệnh mới bất kỳ tới LCD, LCD hoặc sử dụng thời gian giữ chậm k lớn. Các ngắt của 8051• Các ngắt là gì? – Cách để dừng bộ xử lý mặc dù nó đang làm việc để phục vụ một nhiệm vụ khác• Tại sao và ở đâu chúng ta cần sử dụng ngắt – Phục vụ nhiều thiết bị giao tiếp – Hệ thống đa nhiệm vụ• Ngắt ở 8051 – 2 ngắt bên ngoài, hai cho bộ định thời và một cho cổng ắ ổ nối tiếp Sự khác nhau giữa phương pháp dò và ngắt ắ• Dò: – CPU giám sát các thiết bị được phục vụ một cách lần lượt, tìm “cờ yêu cầu phục vụ” – Khi nào nó thấy một y ...
Gợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 432 0 0 -
Đề cương chi tiết học phần Vi xử lý
12 trang 293 0 0 -
79 trang 223 0 0
-
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 217 0 0 -
Luận văn Thạc sĩ Kỹ thuật: Ứng dụng Blockchain trong bảo mật IoT
90 trang 189 1 0 -
ĐỀ TÀI THIẾT KẾ QUY TRÌNH CÔNG NGHỆ GIA CÔNG BÍCH ĐUÔI ( TẬP THUYẾT MINH)
54 trang 188 0 0 -
Đồ án tốt nghiệp: Thiết kế kỹ thuật máy ép thủy lực tải trọng 70 tấn phục vụ cho nhà máy Z751
84 trang 182 0 0 -
Đề cương chi tiết học phần Thực tập Kỹ thuật truyền hình
16 trang 155 0 0 -
Đồ án: Thiết kế bộ điều khiển luật PID điều khiển động cơ DC
94 trang 145 0 0 -
65 trang 140 0 0