intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Thực hành điều khiển các thiết bị vào ra

Chia sẻ: Nguyenthevinh Vinh | Ngày: | Loại File: DOC | Số trang:9

254
lượt xem
91
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bước 1: Xây dựng mạch điều khiển mô tả như hình 2.3.5. Trong ví dụ này, các chân P2.0 đến P2.7 điều khiển việc cấp nguồn cho các led 7 thanh. Các chân P0.0 đến P0.6 được nối với các chân của led 7 thanh để điều khiển việc cấp đất cho các thanh led.

Chủ đề:
Lưu

Nội dung Text: Thực hành điều khiển các thiết bị vào ra

  1. 2.3.5 Điều khiển nhiều led 7 thanh 2. Thực hành điều khiển các thiết bị vào ra  2.3 Điều khiển led 7 thanh 2.3.5 Cách điều khiển nhiều led 7 thanh Trong phần này bài học sẽ hướng dẫn cách điều khiển nhiều led 7 thanh cùng lúc Bước 1: Xây dựng mạch điều khiển mô tả như hình 2.3.5. Trong ví dụ này, các chân P2.0 đ ến P2.7 điều khiển việc cấp nguồn cho các led 7 thanh. Các chân P0.0 đến P0.6 đ ược nối v ới các chân của led 7 thanh để điều khiển việc cấp đất cho các thanh led. Hình 2.3.5 Sơ đồ nguyên lý điều khiển nhiều led 7 thanh Bước 2: Lập trình điều khiển Led theo ngôn ngữ lập trình Assembly (có th ể dùng ch ương trình Reads51) Nội dung chương trình: =============================================================== org 0h start: mov P0,#11111001b;Số 1 clr P2.7 ;Led 1 hiển thị số 1 call delay ;Gọi trễ setb P2.7 ;Tắt led 1 ; mov P0,#11011011b;Số 2 clr P2.6 ;Led 2 hiển thị số 2 call delay ;Gọi trễ
  2. setb P2.6 ;Tắt led 2 ; mov P0,#10110000b;Số 3 clr P2.5 ;Led 3 hiển thị số 3 call delay ;Gọi trễ setb P2.5 ;Tắt led 3 ; mov P0,#10011001b;Số 4 clr P2.4 ;Led 4 hiển thị số 4 call delay ;Gọi trễ setb P2.4 ;Tắt led 4 ; mov P0,#10010010b;Số 5 clr P2.3 ;Led 5 hiển thị số 5 call delay ;Gọi trễ setb P2.3 ;Tắt led 5 ; mov P0,#10000010b;Số 6 clr P2.2 ;Led 6 hiển thị sô 6 call delay ;Gọi trễ setb P2.2 ;Tắt led 6 ; mov P0,#11111000b;Số 7 clr P2.1 ;Số 7 hiển thị số 7 call delay ;Gọi trễ setb P2.1 ;Tắt led 7 ; mov P0,#10000000b;Số 8 clr P2.0 ;Led 8 hiển thị số 8 call delay ;Gọi trễ setb P2.0 ;Tắt led 8 sjmp start ;Trở lại ban đầu ;============================================= ;subroutine delay created to rise delay time ;============================================= delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret end ===============================================================
  3. Bước 3: Biên dịch chương trình trên bằng các chương trình biên dịch chuyên d ụng cho vi đi ều khi ển như Reads51. Sau khi biên dịch, chươn trình s ẽ t ạo ra file mã máy mà vi điều khi ển d ựa vào đó để hoạt động. Thông thường file đó sẽ có dạng tên_file.hex. Việc đ ặt tên file là do ng ười dùng t ự đặt. Bước 4 Nạp file mã máy mà chương trình biên dịch vừa tạo ra bằng các công cụ và m ạch nạp nh ư trong trang web này hướng dẫn làm như: mạch nạp 89xxxx, mạch nạp 89Cxx, mạch nạp 89Sxxxx, mạch nạp 89Sxx và AVR Sau khi nạp file mã máy vào vi điều khiển 89S51. Gắn vi điều khiển vào mạch ứng dụng, s ẽ thấy kết quả của bài học. 2. Thực hành điều khiển các thiết bị vào ra  2.3 Điều khiển led 7 thanh 2.3.2 Phối hợp nhiều thanh của led 7 thanh Bước 1: Xây dựng mạch điều khiển mô tả như hình 2.3.2. Trong ví dụ này, các chân P2.0 điều khiển việc cấp nguồn cho led 7 thanh. Các chân P0.0 đến P0.6 đ ược nối v ới các chân c ủa led 7 thanh để điều khiển việc cấp đất cho các thanh led. Trong phần này sẽ h ướng d ẫn cách ph ối hợp hi ển thị các thanh led của led 7 thanh Hình 2.3.2 Sơ đồ nguyên lý điều khiển led 7 thanh
  4. Bước 2: Lập trình điều khiển Led theo ngôn ngữ lập trình Assembly (có th ể dùng ch ương trình Reads51) Nội dung chương trình: =============================================================== org 0h start: mov P0,#11111100b; Cấp 0V cho thanh led a và b clr P2.0 ; Cấp 5V cho led 7 thanh call delay ; Gọi hàm trễ mov P0,#11011011b; Cấp 0V cho thanh led c,f clr P2.0 ; Cấp 5V cho led call delay ; Gọi hàm trễ mov P0,#10110000b; Cấp 0V to a,b,c,d,g clr P2.0 ; Cấp 5V cho led call delay ; Gọi hàm trễ sjmp start ; Trở về đầu chương trình ;============================================= ;subroutine delay created to rise delay time ;============================================= delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret end =============================================================== Bước 3: Biên dịch chương trình trên bằng các chương trình biên dịch chuyên d ụng cho vi đi ều khi ển như Reads51. Sau khi biên dịch, chươn trình s ẽ t ạo ra file mã máy mà vi điều khi ển d ựa vào đó để hoạt động. Thông thường file đó sẽ có dạng tên_file.hex. Việc đ ặt tên file là do ng ười dùng t ự đặt. Bước 4 Nạp file mã máy mà chương trình biên dịch vừa tạo ra bằng các công cụ và m ạch nạp nh ư trong trang web này hướng dẫn làm như: mạch nạp 89xxxx, mạch nạp 89Cxx, mạch nạp 89Sxxxx, mạch nạp 89Sxx và AVR
  5. Sau khi nạp file mã máy vào vi điều khiển 89S51. Gắn vi điều khiển vào mạch ứng dụng, s ẽ thấy kết quả của bài học. 2.3.3 Điều khiển led 7 thanh hiển thị số Thực hành mạch như phần 2.3.2, tuy nhiên hãy phối hợp các thanh led đ ể led 7 thanh hi ển th ị các chữ số 0,1,2,3,4,5,6,7,8,9. Việc này rất đơn giản. Chỉ vi ệc thay đ ổi lại ch ương trình ở ph ần 2.3.2 (thay đổi lại lệnh mov P0,#xxxxxxxxb) 2.3.4 Điều khiển led 7 thanh hiển thị chữ Thực hành mạch như phần 2.3.2, tuy nhiên hãy phối hợp các thanh led đ ể led 7 thanh hi ển th ị các chữ số a,b,c,d,e,f. Việc này rất đơn giản. Chỉ việc thay đổi lại chương trình ở phần 2.3.2 (thay đổi lại lệnh mov P0,#xxxxxxxxb) Thực hành điều khiển các thiết bị vào ra  2.2 Giao tiếp công tắc 2.2.2 Điều khiển led chạy khi nhấn công tắc Trong phần này, nội dung bài học là điều khiển led sáng dịch chuyển khi nh ấn công t ắc. Cụ thể là led sáng sẽ chuyển động sang trái khi nhấn phím nối với chân P2.0 và chuy ển đ ộng sang phải khi nhấn phím nối với chân P2.1. Bước 1: Xây dựng mạch điều khiển mô tả như hình 2.2.2. Trong ví dụ này, các chân P2.0 đ ến chân P2.7 của vi điều khiển được nối với phím bấm nháy và các chân P0.0 đến P0.7 đ ược n ối v ới Ka- tốt của led. Nhiệm vụ là khi nhấn phím tại chân P2.0 thì led sáng chuy ển đ ộng sang trái, nh ấn phím nối với chân P2.1 led sáng sẽ chuyển động sang ph ải.
  6. Hình 2.2.2 Sơ đồ nguyên lý hoạt động giao tiếp với công tắc Bước 2: Lập trình điều khiển Led theo ngôn ngữ lập trình Assembly (có th ể dùng ch ương trình Reads51) Nội dung chương trình: =============================================================== org 0h CekP20: JB P2.0,CekP21 ; kiểm tra P2.0 call RLeft ; gọi hàm điều khiển led -> trái sjmp CekP20 ; trở về CekP20 CekP21: JB P2.1,CekP20 ; kiểm tra P2.1 call RRight ; gọi hàm điều khiển led -> trái sjmp CekP20 ; trở về CekP2.0 ;=============================================== ;this subroutine is used to move LED to the left. ;================================================ RLeft: mov A,#11111110b;Khởi tạo cho led tại P0.0 sáng RLeft1: mov P0,A ;P0.0 sáng call delay ;gọi hàm trễ JB P2.0,RLeft2 ;kiểm tra P2.0 sjmp EndRLeft ;không nhấn phím P2.0, kết thúc ; dịch thanh ghi A -> trái RLeft2: RL A sjmp RLeft1 EndRLeft: ret
  7. ; ;================================================= ;this subroutine is used to move LED to the right. ;================================================= RRight: mov A,#01111111b RRight1:mov P0,A call delay JB P2.0,RRight2 sjmp EndRRight RRight2:RL A sjmp RRight1 EndRRight: ret ;============================================= ;subroutine delay created to rise delay time ;============================================= delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret end =============================================================== Bước 3: Biên dịch chương trình trên bằng các chương trình biên dịch chuyên d ụng cho vi đi ều khi ển như Reads51. Sau khi biên dịch, chươn trình s ẽ t ạo ra file mã máy mà vi điều khi ển d ựa vào đó để hoạt động. Thông thường file đó sẽ có dạng tên_file.hex. Việc đ ặt tên file là do ng ười dùng t ự đặt. Bước 4 Nạp file mã máy mà chương trình biên dịch vừa tạo ra bằng các công cụ và m ạch nạp nh ư trong trang web này hướng dẫn làm như: mạch nạp 89xxxx, mạch nạp 89Cxx, mạch nạp 89Sxxxx, mạch nạp 89Sxx và AVR Sau khi nạp file mã máy vào vi điều khiển 89S51. Gắn vi điều khiển vào mạch ứng dụng, s ẽ thấy kết quả của bài học. Thực hành điều khiển các thiết bị vào ra  2.1 Điều khiển LED 2.1.3 Điều khiển bật tắt lần lượt các led Phần trước đã giới thiệu cách điều khiển bật tắt nhiều led cùng lúc, phần này sẽ hướng dẫn cách điều khiển bật tắt lần lượt các led (8 led). Bước 1:
  8. Thiết kế mạch ứng dụng cho vi điều khiển như hình 2.1.3. Trong đó các chân P0.0 đến P0.7 được nối với Ka-tốt của led. Hình 2.1.3 Sơ đồ nguyên lý mạch điều khiển lần lượt các led Bước 2: Lập trình điều khiển Led theo ngôn ngữ lập trình Assembly (có th ể dùng ch ương trình Reads51) Nội dung chương trình: =============================================================== org 0h start: mov P0,#11111110b; Bật led nối với P0.0 call delay ; Tạo trễ mov P0,#11111101b; Bật led nối với P0.1 call delay ; Tạo trễ mov P0,#11111011b; Bật led nối với P0.2 call delay ; Tạo trễ mov P0,#11110111b; Bật led nối với P0.3 call delay ; Tạo trễ mov P0,#11101111b; Bật led nối với P0.4 call delay ; Tạo trễ mov P0,#11011111b; Bật led nối với P0.5 call delay ; Tạo trễ mov P0,#10111111b; Bật led nối với P0.6 call delay ; Tạo trễ mov P0,#01111111b; Bật led nối với P3.7 call delay ; Tạo trễ sjmp start ; loooooop forever to start ;============================================= ;subroutine delay created to rise delay time ;============================================= delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1
  9. ret end =============================================================== Bước 3: Biên dịch chương trình trên bằng các chương trình biên dịch chuyên d ụng cho vi đi ều khi ển như Reads51. Sau khi biên dịch, chươn trình s ẽ t ạo ra file mã máy mà vi điều khi ển d ựa vào đó để hoạt động. Thông thường file đó sẽ có dạng tên_file.hex. Việc đ ặt tên file là do ng ười dùng t ự đặt. Bước 4 Nạp file mã máy mà chương trình biên dịch vừa tạo ra bằng các công cụ và m ạch nạp nh ư trong trang web này hướng dẫn làm như: mạch nạp 89xxxx, mạch nạp 89Cxx, mạch nạp 89Sxxxx, mạch nạp 89Sxx và AVR Sau khi nạp file mã máy vào vi điều khiển 89S51. Gắn vi điều khiển vào mạch ứng dụng, s ẽ thấy kết quả của bài học.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2