1. Trang chủ
  2. » Thể loại khác

Mô phỏng phkkhanh bai4

9 118 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Tài liệu thực hành Vi điều khiển BÀI 4: CÔNG TẮC NHẤN  MỤC ĐÍCH Giúp sinh viên khảo sát vấn đề sau: Sử dụng phần mềm Proteus để mạch điện Tìm hiểu cách thức kiểm tra cơng tắc có nhấn hay khơng ứng dụng chúng dùng 89C51 -  THIẾT BỊ SỬ DỤNG - Máy vi tính Phần mềm Proteus Cơ sở lý thuyết Cơng tắc đơn Các phím đơn dùng để điều khiển hệ thống khơng đòi hỏi nhiều giá trị nhập (chẳng cần điều khiển đóng mở thiết bị) Khi thực kiểm tra phím nhấn, vấn đề cần thiết phải thực chống dội Q trình chống dội thực phần mềm: Do thời gian dội phím vào khoảng 20ms nên trình chống dội phần mềm đơn giản tạo thời gian trễ đủ lớn để chương trình bỏ qua ảnh hưởng dội Khi thực giao tiếp công tắc đơn vi điều khiển MCS-51 cần lưu ý phải set bit tương ứng vi điều khiển lên mức logic đọc liệu vào Phần cứng giao tiếp tả hình vẽ, nhiên họ MCS-51, port có điện trở kéo lên nguồn (trừ port 0) nên sơ đồ hình a c khơng cần điện trở R VCC VCC VCC R R SW SW To uP To uP To uP SW R a b c Bàn phím Hex khơng nhấn phím hàng bàn phím Hex nối với Vcc thơng qua điện trở R nên có mức logic Để phân biệt trạng thái phím nhấn mức logic nhấn phím phải mức logic Mà nhấn phím tương ứng hàng cột bàn phím Hex kết nối với Do đó, để thực kiểm tra phím ta phải cho trước cột chứa phím tương ứng mức logic 0, sau kiểm tra hàng phím, hàng = có nhấn phím hàng = khơng nhấn phím Phạm Hùng Kim Khánh Trang 25 Tài liệu thực hành Vi điều khiển Ví dụ muốn kiểm tra phím ta cho cột chứa phím mức logic (chân J1, cột khác = 1, nghĩa liệu J1 1000xxxxb), sau thực kiểm tra chân J1 (hàng phím 4), chân = phím nhấn VCC R R R R A B C D E F CON8 J1 Tiến trình thực Cơng tắc đơn Sử dụng mạch hình vẽ trang bên với linh kiện: Keywords 7seg 8951 374 Button Resistor - Category All All 74 TTL Series Switches & Relays Resistors Sub-category All All All All Resistor Packs Results Value 7SEG-COM-ANODE AT89C51 74LS374 Button RX8 220 Thực chương trình sau: MOV 30H,#0 SJMP Hienthi JNB P3.0,Sw1 ; Nếu P3.0 = nhấn SW1 JNB P3.1,Sw2 ; Nếu P3.1 = nhấn SW2 SJMP Main INC 30H Main: SW1: Phạm Hùng Kim Khánh ; Tăng ô nhớ 30h Trang 26 Tài liệu thực hành Vi điều khiển MOV A,30H CJNE A,#100,Hienthi ; Nếu giá trị ô nhớ 30h = 100 MOV 30H,#0 ; gán 30h = SJMP Hienthi ; Hiển thị Led đoạn DEC 30H ; Giảm ô nhớ 30h MOV A,30H CJNE A,#255,Hienthi ; Nếu giá trị giảm = -1 (255) MOV 30H,#99 ; gán 30h = 99 SJMP Hienthi ; Sw2: ; Hienthi: MOV A,30H MOV B,#10 DIV AB MOV DPTR,#Maled7 MOVC A,@A+DPTR MOV P2,A CLR P1.1 SETB P1.1 MOV A,B MOV DPTR,#Maled7 MOVC A,@A+DPTR MOV P2,A CLR P1.0 SETB P1.0 CALL Delay SJMP Main Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; -Delay: PUSH 07 PUSH 06 MOV R6,#100 Phạm Hùng Kim Khánh Trang 27 Tài liệu thực hành Vi điều khiển Delay1: MOV R7,#255 DJNZ R7,$ DJNZ R6,Delay1 POP 06 POP 07 RET END Nhấn vào công tắc quan sát trạng thái Led SW1 SW2 - Bỏ lệnh CALL Delay chương trình quan sát trạng thái Led, có nhận xét so với có thời gian Delay - Kết nối P0 với Led đơn, Led sáng bit tương tứng P0 = Viết chương trình thực theo yêu cầu: Nhấn SW1: Led sáng dần từ P0.0 đến P0.7, lặp lại trình vơ hạn lần Nhấn SW2: tắt Led Bàn phím Hex Sử dụng mạch hình vẽ trang bên với linh kiện: Keywords 7seg 8951 374 Resistor Keypad - Category All All 74 TTL Series Resistors Switches & Relays Sub-category All All All Resistor Packs All Results 7SEG-COM-ANODE AT89C51 74LS374 RX8 KEYPADSMALLCALC Value 220 Thực chương trình sau: Phạm Hùng Kim Khánh Trang 28 Tài liệu thực hành Vi điều khiển Main: MOV P3,#0FEH JNB P3.4,Sw7 JNB P3.5,Sw8 JNB P3.6,Sw9 JNB P3.7,Swchia MOV P3,#0FDH JNB P3.4,Sw4 JNB P3.5,Sw5 JNB P3.6,Sw6 JNB P3.7,Swnhan MOV P3,#0FBH JNB P3.4,Sw1 JNB P3.5,Sw2 JNB P3.6,Sw3 JNB P3.7,Swtru MOV P3,#0F7H JNB P3.4,Swon JNB P3.5,Sw0 JNB P3.6,Swbang JNB P3.7,Swcong ; Chọn cột chứa phím 7,8,9,÷ ; Chọn cột chứa phím 4,5,6,X ; Chọn cột chứa phím 1,2,3,- ; Chọn cột chứa phím ON/C,0,=,+ SJMP Main ; SW0: MOV 30H,#0 SJMP Hienthi ; SW1: MOV 30H,#1 SJMP Hienthi ; SW2: MOV 30H,#2 SJMP Hienthi ; SW3: MOV 30H,#3 Phạm Hùng Kim Khánh Trang 29 Tài liệu thực hành Vi điều khiển SJMP Hienthi ; SW4: MOV 30H,#4 SJMP Hienthi ; SW5: MOV 30H,#5 SJMP Hienthi ; SW6: MOV 30H,#6 SJMP Hienthi ; SW7: MOV 30H,#7 SJMP Hienthi ; SW8: MOV 30H,#8 SJMP Hienthi ; SW9: MOV 30H,#9 SJMP Hienthi ; Swon: MOV 30H,#10 SJMP Hienthi ; Swbang: MOV 30H,#11 SJMP Hienthi ; Swcong: MOV 30H,#12 SJMP Hienthi Phạm Hùng Kim Khánh Trang 30 Tài liệu thực hành Vi điều khiển ; Swtru: MOV 30H,#13 SJMP Hienthi ; Swnhan: MOV 30H,#14 SJMP Hienthi ; Swchia: MOV 30H,#15 SJMP Hienthi ; Hienthi: MOV A,30H MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A CLR P1.1 SETB P1.1 MOV A,B MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A CLR P1.0 SETB P1.0 CALL Delay LJMP Main Maled7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; -Delay: PUSH 07 PUSH 06 Phạm Hùng Kim Khánh Trang 31 Tài liệu thực hành Vi điều khiển MOV R6,#100 Delay1: MOV R7,#255 DJNZ R7,$ DJNZ R6,Delay1 POP 06 POP 07 RET END - Sửa chương trình để:  Nhấn phím +: thực cộng nội dung ô nhớ 30h với 20 xuất Led đoạn  Nhấn phím -: thực trừ nội dung ô nhớ 30h với xuất Led đoạn  Nhấn phím x: thực nhân nội dung ô nhớ 30h với xuất Led đoạn  Nhấn phím ÷: thực chia nội dung ô nhớ 30h với xuất kết Led đoạn Phạm Hùng Kim Khánh Trang 32 Tài liệu thực hành Vi điều khiển  Nhấn phím ON/C: thực xố nội dung ô nhớ 30h (gán 0) xuất Led đoạn Phạm Hùng Kim Khánh Trang 33

Ngày đăng: 21/01/2018, 11:35

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN