1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bao cao thuc hanh vi dieu khien dh hang hai

10 55 3

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 688,67 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 1: Điều khiển một LED đơn từ vi điều khiểnI.. Mô phỏng trên Proteus - Đèn nháy với tần số 2Hz... Bài 2: Điều khiển tâm LED đơn tử vi điều khiểnI.. Khi ấn nút nối với P1.0 thì xoay tr

Trang 1

Bài 1: Điều khiển một LED đơn từ vi điều khiển

I Nội dung:

- Xây dựng mạch với một LED đơn được nối với cổng P0/0 của VĐK 8051

- Viết chương trình để điều khiển LED nháy với tần số 2Hz

II Soạn thảo và dịch chương trình điều khiển trên Reads51

#include <sfr51.inc>

org 0h

nhay:

acall delay250

cpl p0.0

acall delay250

ljmp nhay

delay50:

mov tmod,#01H

mov TL0, #LOW(15536)

mov TH0, #HIGH(15536)

setb tr0

DOI: JNB TF0, DOI

CLR TF0

RET

Delay250:

Mov R7,#5H

LAP: acall delay50

Djnz r7, lap

Ret

End

III Mô phỏng trên Proteus

- Đèn nháy với tần số 2Hz

Trang 2

Bài 2: Điều khiển tâm LED đơn tử vi điều khiển

I Nội dung:

- Xây dựng mạch với 8 LED đơn được nối với cổng P0, hai nút ấn (mức logic 0) được nối với chân P1.0 và P1.1 của VĐK 8051

- Viết chương trình để điều khiển 8 LED: các LED được điều khiển để sáng theo thứ tự mẫu bit 11100000B Khi ấn nút nối với P1.0 thì xoay trái trình tự sáng của các LED Khi ấn nút nối với P1.1 thì xoay phải trình tự sáng của các LED Nếu nút ấn liên tục thì việc xoay trái/phải sẽ được thực hiện 250ms/1lần (1 giây xoay 4 lần)

II Soạn thảo và dịch chương trình điều khiển trên Reads51

#include <sfr51.inc>

org 0h

MOV P0,#11100000B

kiem_tra:

JNB P1.0,trai

JNB P1.1,phai

LJMP kiem_tra

trai:

mov A,P0

RL A

MOV P0,A

acall delay250

ljmp kiem_tra

phai:

MOV A,P0

RR A

MOV P0,A

acall delay250

ljmp kiem_tra

delay50:

MOV TMOD,#01H

MOV TL0,#LOW(15536)

MOV TH0,#HIGH(15536)

Trang 3

setb tr0

cho: JNB TF0,CHO

CLR TF0

RET

Delay250:

MOV R7,#05H

lap: acall delay50

djnz r7,lap

ret

END

III Mô phỏng trên Proteus

- Đèn sáng theo thứ tự 11100000B khi bắt đầu

- Xoay trái 1 lần khi nút nối với P1.0 được ấn 1 lần

Trang 4

- Xoay phải 4 lần/giây khi nối với 1.1 được ấn liên tục

Bài 3: Điều khiển một LED 7 vạch trực tiếp từ vi điều khiển

I Nội dung:

- Xây dựng mạch với một LED 7 đoạn (Anode chung) được nối với cổng P2 của VĐK 80C51 theo trình tự các LED a,b,c,…,g được nối tương ứng với P2.0, P2.1,…,P2.6

- Viết chương trình để điều khiển LED hiển thị các giá trị từ 0 đến 9, mỗi giá trị hiển thị trong 500ms,

II Soạn thảo và dịch chương trình điều khiển trên Reads51

#include <sfr51.inc>

org 0h

led:

Trang 5

mov p2,#040H

acall delay500

mov p2,#079H

acall delay500

mov p2,#024H

acall delay500

mov p2,#030H

acall delay500

mov p2,#019H

acall delay500

mov p2,#012H

acall delay500

mov p2,#02H

acall delay500

mov p2,#078H

acall delay500

mov p2,#00H

acall delay500

mov p2,#010H

acall delay500

ljmp led

delay50:

mov TMOD,#01H

mov TL0,#LOW(15536) mov TL0,#HIGH(15536) setb tr0

CHO: JNB TF0,CHO CLR TF0

ret

delay500:

mov r7,#010H

Trang 6

lap: acall delay50

djnz r7,lap

ret

END

III Mô phỏng trên Proteus

- LED hiển thị từ 0 đến 9

Trang 7

Bài 4: Điều khiển hiển thị kí tự trên LCD 16x2 trực tiếp từ vi điều khiển

1 Nội dung:

#include <sfr51.inc>

org 0h

lcd:

mov a,#38H

lcall gui_lenh

mov a,#0CH

lcall gui_lenh

mov a,#06H

lcall gui_lenh

mov a,#02H

lcall gui_lenh

mov a,#01H

lcall gui_lenh

mov a,#'H'

lcall gui_du_lieu

mov a,#'e'

lcall gui_du_lieu

mov a,#'l'

lcall gui_du_lieu

mov a,#'l'

lcall gui_du_lieu

mov a,#'o'

lcall gui_du_lieu

mov a,#'!'

lcall gui_du_lieu

sjmp $

gui_lenh:

CLR P2.0

CLR P2.1

Trang 8

MOV P0,A

setb P2.2

lcall delay5

CLR P2.2

lcall delay5

ret

gui_du_lieu:

setb P2.0

CLR P2.1

MOV P0,A

setb P2.2

lcall delay5

CLR P2.2

lcall delay5

ret

delay5:

mov tmod,#01H

mov TL0,#LOW(60536) mov TH0,#HIGH(60536) setb TR0

CHO: JNB TF0,CHO CLR TF0

RET

END

3 Mô phỏng trên Proteus

Trang 9

Bài 5: Điều khiển truyền/nhận dữ liệu từ vi điều khiển với máy tính

I Nội dung:

- Viết chương trình điều khiển VĐK AT89C51 truyền/nhận dữ liệu

II Soạn thảo và dịch chương trình điều khiển trên Reads51

#include <sfr51.inc>

org 0h

mov scon,#52H

mov tmod,#20H

mov TH1,#-3H

mov TL1,#-3H

setb TR1

lap:

jnb ti,next

mov sbuf,#41H

clr ti

next:

jnb ri,next2

mov a,sbuf

mov p2,a

clr ri

next2: sjmp lap

Trang 10

III Mô phỏng trên Proteus

- Chọn tần số 14Mhz

Ngày đăng: 12/12/2020, 17:29

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w