1. Trang chủ
  2. » Giáo án - Bài giảng

Tài liệu Vi Điều Khiển

15 509 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 110 KB

Nội dung

Câu 6: Giả sử chân /INT1 được nối tới công tắc bình thường ở mức cao.Khi nhấn công tắc thì LED ở chân P1.3 Sáng vài phần giây.. Khi công tắc được nhấn liên tục thì đèn sáng liên tục.. Hã

Trang 1

Câu 2: Viết chương trình delay dùng thanh ghi?

Delay: MOV R1,#0FFH

Del2: DJNZ R2,Del2

DJNZ R1,Del1 RET

END

Câu 3: Viết chương trình delay dùng timer?

VD1: Viết chương trình delay dùng timer với thời gian trễ 5s:

Giải

5s = 5 x 106 = 5 000 000 µs

Ta lấy 5000000 : 100 = 50000 < 65536 µs

65536 – 50000 = 15536 Sau đó ta lấy 15536 đổi qua số hex được 3CB0 trong đó:

3C là TH0 B0 là TL0

 Ta có chương trình:

Delay: CLR TF0

MOV R1,#100

MOV TLD,#0B0H MOV TH0,#3CH

MOV TMOD,#01 SETB TR0

Del1: JNB TF0,Del1

CLR TR0 CLR TF0 DJNZ R1,Del1 RET

END

Trang 2

VD 2: Viết chương trình delay dùng timer với thời gian trễ 7s:

Giải

7s = 7 x 106 = 7 000 000 µs

Ta lấy 7000000 : 700 = 10000 < 65536 µs

65536 – 10000 = 55536 Sau đó ta lấy 55536 đổi qua số hex được D8F0 trong đó:

D8 là TH0 F0 là TL0

 Ta có chương trình:

Delay: CLR TF0

MOV R1,#100

MOV TLD,#0F0H MOV TH0,#0D8H

MOV TMOD,#01 SETB TR0

Del1: JNB TF0,Del1

CLR TR0 CLR TF0 DJNZ R1,Del1 RET

END

Trang 3

Câu 4: Viết chương trình tạo sóng vuông có chu kỳ 1000 µs, có độ đầy

xung 50% trên chân P1.0 sử dụng bộ định thời 0 chế độ 1 Tần số thạch anh 12Mhz?

Sóng vuông có độ đầy xung là 50%, vậy thời gian mức cao sẽ là 500

µs và mức thấp là 500 µs Như vậy, thời gian trễ cần tạo ra là 500 µs, tức là

ta sẽ nạp vào Timer 0 giá trị -500 (tức là 0FE0CH)

Ta có: FE là TH

0C là TL0 Như vậy, ta có chương trình:

MOV TMOD,#01H ; Chọn Timer0, chế độ 1

X1: MOV TL0,#0CH ; Byte thấp của -500

MOV TH,#0FEH ; Byte cao của -500 SETB TR0 ; Khởi động Timer0 X2: JNB TF0,X2 ; Kiểm tra cờ bộ định thời, thoát khi TF = 1

CLR TR0 ; Dừng bộï định thời CLR TF0 ; Xóa cờ tràn

CPL P1.0 ; Đảo bit P1.0

Câu 5: Viết chương trình tạo sóng vuông có chu kỳ 100 µs, có độ đầy

xung 50% trên chân P1.0 sử dụng bộ định thời 1 chế độ 1 Tần số thạch anh 12Mhz?

Sóng vuông có độ đầy xung là 50%, vậy thời gian mức cao sẽ là 50 µs và mức thấp là 50 µs Như vậy, thời gian trễ cần tạo ra là 50 µs, tức là ta sẽ nạp vào TH0 giá trị -50 (tức là CEH)

Như vậy, ta có chương trình:

MOV TMOD,#20H ; Chọn Timer0, chế độ 2

MOV TH,#0CEH ; nạp giá trị 8 bit CEH vào TH1

SETB TR1 ; Khởi động Timer0 X1: JNB TF1,X1 ; Kiểm tra bộ định thời, thoát khi TF = 1

CPL P1.0 ; Đảo bit P1.0 CLR TF1 ; Xóa cờ tràn

Trang 4

Câu 6: Giả sử chân /INT1 được nối tới công tắc bình thường ở mức cao.

Khi nhấn công tắc thì LED ở chân P1.3 Sáng vài phần giây Khi công tắc được nhấn liên tục thì đèn sáng liên tục Hãy viết chương trình ngắt ngoài?

Sau khi tiến hành phân tích các bước Ta có chương trình sau:

ORG 0000H LJMP MAIN ORG 0013H ; Chương trình ngắt ngoài 1 SETB P1.3

MOV R7,#250 ; Tạo trễ cho led sáng DJNZ R7,$

CLR P1.3 RETI ; Quay về chương trình chính ORG 0030H

X1: MOV IE,#84H ; Khởi động ngắt

SJMP $ END

Trang 5

Câu 7: Hãy tạo mã LED bảy đoạn Anode chung từ số 0 đến số 9 ở hai

dạng nhị phân và thập lục phân?

Cấu tạo:

g

V C C

c a

d

e

g

Như vậy muốn cho LED nào sáng thì đưa điện áp mức thấp (0) vào chân đó

SỐ a b NHỊ PHÂN (B)c d e f g LỤC PHÂN (H) THẬP

Trang 6

Câu 8: Hãy tạo mã LED bảy đoạn Kathode chung từ số 0 đến số 9 ở hai

dạng nhị phân và thập lục phân?

Cấu tạo:

g

c a

d

e

g

Như vậy muốn cho LED nào sáng thì đưa điện áp mức cao (1) vào chân đó

SỐ a b NHỊ PHÂN (B)c d e f g LỤC PHÂN (H) THẬP

Trang 7

Câu 9: Viết chương trình điều khiển LED đơn chớp tắt 1 port?

;Chương trình điều khiển 8 LED chớp tắt 1 Port

org 0000h x1: mov p1,#00h

lcall delay mov p1,#0ffh lcall delay sjmp x1 DELAY: MOV R1,#0FFH

DELAY1: MOV R2,#0FFH

DELAY2: DJNZ R2,DELAY2

DJNZ R1,DELAY1 RET

END

Câu 10: Viết chương trình điều khiển LED đơn chớp tắt 2 port?

;Chương trình điều khiển 8 LED chớp tắt 2 Port

org 0000h x1: mov p1,#00h

mov p2,#00h lcall delay mov p1,#0ffh mov p2,#0ffh lcall delay sjmp x1 DELAY: MOV R1,#0FFH

DELAY1: MOV R2,#0FFH

DELAY2: DJNZ R2,DELAY2

DJNZ R1,DELAY1 RET

END

Trang 8

Câu 11: Viết chương trình điều khiển LED đơn sáng dần tắt hết 1 port?

; Chương trình điều khiển 8 LED sáng dần tắt hết sử dụng 1 Port

ORG 0000H X1: MOV P0,#00H

MOV A,#00H X2: MOV P0,A

LCALL DELAY SETB C

RLC A JNC X2 SJMP X1 DELAY: MOV R1,#0FFH

DELAY1: MOV R2,#0FFH

DELAY2: DJNZ R2,DELAY2

DJNZ R1,DELAY1 RET

END

Trang 9

Câu 12: Viết chương trình điều khiển LED đơn sáng dần tắt dần 1 port?

; Chương trình điều khiển 8 LED sáng dần tắt dần sử dụng 1 Port

ORG 0000H X1: MOV P0,#00H

MOV A,#00H X2: MOV P0,A

LCALL DELAY SETB C

RLC A JNC X2 X3: MOV P0,A

LCALL DELAY CLR C

RLC A

JC X3 SJMP X1 DELAY: MOV R1,#0FFH

DELAY1: MOV R2,#0FFH

DELAY2: DJNZ R2,DELAY2

DJNZ R1,DELAY1 RET

END

Trang 10

Câu 13: Viết chương trình điều khiển LED đơn sáng dồn 1 port?

; Chương trình sáng dồn 1 Port

ORG 0000H X1: MOV R2,#00H

MOV R4,#08H X2: MOV R5,04H

MOV R3,#00H MOV A,R3 ORL A,R2 MOV P3,A LCALL DELAY SETB C

X3: MOV A,R3

RLC A MOV R3,A ORL A,R2 MOV P3,A LCALL DELAY CLR C

DJNZ R5,X3 MOV R2,A DJNZ R4,X2 SJMP X1 DELAY: MOV R6,#0FFH

Trang 11

Caâu 14: Vieát chöông trình ñieàu khieån LED bảy đoạn loại Anode chung

hiển thị từ số 0 đến 9 sử dụng port 1?

; Hiển thị từ số 0 đến 9 dùng LED bảy đoạn loại Anode chung

ORG 0000H

X1:

MOV P1,#0c0H

CALL DELAY

MOV P1,#0F9H

CALL DELAY

MOV P1,#0A4H

CALL DELAY

MOV P1,#0B0H

CALL DELAY

MOV P1,#099H

CALL DELAY

MOV P1,#092H

CALL DELAY

MOV P1,#082H

CALL DELAY

MOV P1,#0F8H

CALL DELAY

MOV P1,#080H

CALL DELAY

MOV P1,#090H

CALL DELAY

LJMP X1

DELAY: MOV R1,#0FFH

DEL2: DJNZ R2,DEL2

DJNZ R1,DEL1 RET

END

Trang 12

Caâu 15: Vieát chöông trình ñieàu khieån LED bảy đoạn loại Kathode chung

hiển thị từ số 0 đến 9 sử dụng port 1?

; Hiển thị từ số 0 đến 9 dùng LED bảy đoạn loại Kathode chung

ORG 0000H

X1:

MOV P1,#03FH

CALL DELAY

MOV P1,#06H

CALL DELAY

MOV P1,#05BH

CALL DELAY

MOV P1,#04FH

CALL DELAY

MOV P1,#066H

CALL DELAY

MOV P1,#06DH

CALL DELAY

MOV P1,#07DH

CALL DELAY

MOV P1,#07H

CALL DELAY

MOV P1,#07FH

CALL DELAY

MOV P1,#06FH

Trang 13

Caâu 16: Viết chương trình điều khiển LED bảy đoạn loại Anode chung hiển

thị từ số 0, 2, 4, 6, 8 sử dụng port 1?

; Sáng số 0,2,4,6,8 sử dụng LED bảy đoạn loại Anode chung trên P1

ORG 0000H

X1:

MOV P1,#0c0H

CALL DELAY

MOV P1,#0A4H

CALL DELAY

MOV P1,#099H

CALL DELAY

MOV P1,#082H

CALL DELAY

MOV P1,#080H

CALL DELAY

LJMP X1

DELAY: MOV R1,#0FFH

DEL2: DJNZ R2,DEL2

DJNZ R1,DEL1

RET

END

Trang 14

Caâu 17: Viết chương trình điều khiển LED bảy đoạn loại Anode chung hiển

thị từ số 1, 3, 5, 7, 9 sử dụng port 1?

; Sáng số 1,3,5,7,9 dùng LED bảy đoạn loại Anode chung trên P1

ORG 0000H

X1:

MOV P1,#0F9H

CALL DELAY

MOV P1,#0B0H

CALL DELAY

MOV P1,#092H

CALL DELAY

MOV P1,#0F8H

CALL DELAY

MOV P1,#090H

CALL DELAY

LJMP X1

DELAY: MOV R1,#0FFH

DEL2: DJNZ R2,DEL2

DJNZ R1,DEL1

RET

END

Trang 15

Caâu 18: Viết chương trình điều khiển LED ma trận hiển thị ký tự sử dụng

P0, P1?

; hien thi chu M su dung P0 va P1

org 0300h

mahang: db 00h,80h,0dfh,0efh,0dfh,80h

org 0320h

macot: db 00h,02h,04h,08h,10h,20h

org 0000h

mov p1,#00h

mov p2,#00h

b1: mov r1,#00h

b2: mov A,r1

mov dptr,#macot

movc A,@A+dptr

mov p2,A

mov A,r1

mov dptr,#mahang

movc A,@A+dptr

mov p1,A

call delay

inc r1

cjne r1,#06,b2

sjmp b1

delay: MOV TMOD,#01H

MOV TH0,#HIGH (-2000)

MOV TL0,#LOW (-2000)

SETB TR0

JNB TF0,$

CLR TR0

CLR TF0

RET

END

Ngày đăng: 04/07/2014, 00:00

TỪ KHÓA LIÊN QUAN

w