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

Bài tâp môn học vi xử lý vi điều khiển

53 573 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 53
Dung lượng 3,9 MB

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

Nội dung

CÂU 3: thiết kế mạch và viết chương trình hiện thị các led sáng liên tiếp trong mạch có 8led được nối vào port2 của vi điều khiển led 1 sáng các led còn lại tát, led 2 sáng các led còn

Trang 1

NGÂN HÀNG CÂU HỎI ÔN THI VẤN ĐÁP TRÊN MÁY TÍNH

Môn học: Vi xử lý – Vi điều khiển

DẠNG 1:

hiển thị lên 1 led7 thanh

Mình thấy nếu chỉ hiển thị 1 led 7 thanh thì dễ và đếm được 9 lần vậy mình làm 2 led7 thanh đếm từ 01->99 lần

Câu 2 như câu 1 chỉ thay chân công tác

Trang 2

CLR P2.1 SETB P2.1

; hien thi so thu hai hang chuc - MOV A,B

MOVC A,@A+DPTR MOV P0,A

CLR P2.2 SETB P2.2

CALL DELAY JMP DIEM

DELAY:MOV R7,#255

KT2:MOV R6,#255

KT1:NOP

NOP NOP DJNZ R6,KT1 DJNZ R7,KT2 RET

MALED7:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

Hình vẽ

Trang 3

CÂU 3: thiết kế mạch và viết chương trình hiện thị các led sáng liên tiếp trong mạch có 8led được nối vào port2 của vi điều khiển ( led 1 sáng các led còn lại tát, led 2 sáng các led còn lại tát… ) thời gian trễ tùy chọn để hiển thị phù hợn với led

Bài làm Câu 3 và câu 4 giống nhau chỉ thay port2 -> port1

Hình vẽ:

Trang 4

; -sang lan luot trai qua phai -

Trang 5

SANGTRAI:

MOV A,#0FFH CLR C

MOV R0,#9 ;//////////so lan lap lai LAP:

MOV P2,A ; gan gia tri A=P2 CALL DELAY ; goi thoi gian tre RLC A ; xoay trai voi co C DJNZ R0,LAP ; lap lai 9 lan RET

; -sang lan luot phai qua trai -

SANGPHAI:

MOV A,#0FFH CLR C

MOV R1,#9 LAP1:

MOV P2,A CALL DELAY RRC A DJNZ R1,LAP1 RET

; -thoi gian tre -

DELAY:

MOV R7,#255

Trang 6

KT2: MOV R6,#255

KT1: DJNZ R6,KT1

DJNZ R7,KT2 RET

END

Câu 5: Thiết kế mạch và viết chương trình hiển thị mạch có 8 LED được nối vào port P3 của vi điều khiển các LED sáng lần lượt từ LED giữa sang dần 2 bên(khoảng thời gian trễ tùy chọn để phù hợp với hiển thị)

Bài làm Hình vẽ

Code:

Trang 7

DELAY:

MOV R7,#255 KT1:MOV R6,#255

KT2:DJNZ R6,KT2

DJNZ R7,KT1 RET

END

Trang 8

Câu 6:Sử dụng Timer 0 hoặc Timer 1 viết chương trình tạo 2 xung trên 2 chân P1.0

và P1.1 với tần số lần lượt là 2KHz và 4KHz (Sử dụng osillocope để quan sát) Biết tần số thạch anh là 12MHz

Bài làm Hình vẽ:

Trang 9

Code:

; CHU KY SONG VUONG LA: T = 1/f = 1/2 = 0,5ms = 500us

; khoang thoi gian cao( hoac thap) la: 0,5T =250us

; so nhip n = T/T(timer) = 250/1=250xung

Trang 10

;khong thoi gian cao hoac thap la 0.5T= 125us

Trang 11

MOV TH0,#0FFH SETB TR0 ; khoi dong bo dinh thoi timer0 JNB TF0,$ ;kiem tra bo dinh thoi

CLR TR0 CLR TF0 RET

END

Câu 7:Sử dụng Timer 0 hoặc/ và Timer 1 viết chương trình tạo 2 xung trên 2 chân P1.0 và P1.1 với tần số lần lượt là 2KHz và 500Hz (Sử dụng osillocope để quan sát) Biết tần số thạch anh là 12MHz

Bài làm Hình vẽ

Trang 14

CALL TS2 CPL P1.0 CALL TS2 RET

XUNG2:

CPL P1.1 CALL TS3 CPL P1.1 CALL TS3 RET

; chu ky song vuong la:T= 1/f =1/2=0,5ms= 500us

;khoang thoi gian cao ( hoac thap) la: 0,5T= 250Us

Trang 15

RET

;chu ky song vuong la: T=1/f= 1/0,5 =2ms = 2000us

;khoang thoi gian cao ( hoac thap)la: 0,5T=1000us

CLR TR0 CLR TF0 RET

END

Câu 8: Sử dụng Timer 0 hoặc/ và Timer 1 viết chương trình tạo 2 xung trên 2 chân P1.0 và P1.1 với tần số lần lượt là 10KHz và 1KHz (Sử dụng osillocope để quan sát) Biết tần số thạch anh là 12MH

Bài làm Với tần số là 10khz

Ta có chu kỳ song vuông là: T=1/f= 1/10=0,1ms = 100us

Khoảng thời gian cao ( hoặc thấp) là: 0,5T=50us

Số nhịp đếm cần trong khoảng thời gian đó là: n=50/T(timer)

Mà F(timer)=F(xtal)/12 = 12MHZ/12=1MHZ => T(timer)=1/1MHZ =1us

Trang 16

 n=250 nhip vậy giá trị cần nạp vào thanh ghi TH0,TL0 là:

65536-50=65486xung = FFC3H

 TH0= 0FFH , TL0=C3H

Với tần số là 1khz thì tương tự làm như trên ta có

TH0=0FEH, TL0=0CH

Viết chương trình giống như bài 6,7

Câu 9:Thiết kế mạch điều khiển và viết chương trìnhhiển thị Led 7 thanh sáng các

số từ 00 đến 99 Biết tần số thạch anh là 12MHz

Bài làm Hình vẽ:

CODE:

ORG 000H

Trang 17

CLR P2.1 SETB P2.1

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

CLR P2.0 SETB P2.0

INC R1 CALL DELAY DJNZ R0,HIENTHI

Trang 18

DJNZ R7,KT1 RET

; - TAO MA LED 7 THANH -

ORG 000H

MAIN:

MOV P2,#0FFH ;TAT LED 7 THANH

MOV R0,#100 ;SO LAN LAP

MOV R1,#99

Trang 19

HIENTHI:

; -HIEN THI SO HANG CHUC -

MOV A,R1 MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P0,A

CLR P2.1 SETB P2.1

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

CLR P2.0 SETB P2.0

DEC R1 CALL DELAY DJNZ R0,HIENTHI JMP MAIN

; - TAO CTRINH TRE -

DELAY: MOV R7,#255

KT1: MOV R6,#255

Trang 20

KT2: NOP

NOP NOP DJNZ R6,KT2

DJNZ R7,KT1 RET

; - TAO MA LED 7 THANH -

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Câu 11:Thiết kế mạch điều khiển và viết chương trìnhhiển thị Led 7 thanh sáng các số từ lẻ từ 00 đến 99 (khoảng thời gian trễ tùy chọn để phù hợp với hiển thị) Biết tần số thạch anh là 12MHz

Bài làm Code:

ORG 000H

MAIN:

MOV P2,#0FFH ;TAT LED 7 THANH

MOV R0,#50 ;SO LAN LAP

MOV R1,#0

HIENTHI:

; -HIEN THI SO HANG CHUC -

INC R1 MOV A,R1 MOV B,#10 DIV AB

Trang 21

MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P0,A

CLR P2.1 SETB P2.1

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

CLR P2.0 SETB P2.0

INC R1 CALL DELAY DJNZ R0,HIENTHI JMP MAIN

; - TAO CTRINH TRE -

DELAY: MOV R7,#255

KT1: MOV R6,#255

KT2: NOP

NOP NOP DJNZ R6,KT2

DJNZ R7,KT1

Trang 22

Bài làm CODE:

ORG 000H

MAIN:

MOV P2,#0FFH ;TAT LED 7 THANH

MOV R0,#50 ;SO LAN LAP

MOV R1,#0

HIENTHI:

; -HIEN THI SO HANG CHUC -

MOV A,R1 MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P0,A

CLR P2.1 SETB P2.1

Trang 23

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

CLR P2.0 SETB P2.0

INC R1 INC R1 CALL DELAY DJNZ R0,HIENTHI JMP MAIN

; - TAO CTRINH TRE -

DELAY: MOV R7,#255

KT1: MOV R6,#255

KT2: NOP

NOP NOP DJNZ R6,KT2

DJNZ R7,KT1 RET

; - TAO MA LED 7 THANH -

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

Trang 24

Câu 13:Thiết kế mạch điều khiển và viết chương trìnhhiển thị Led 7 thanh sáng các số lẻ từ 99 về00 (khoảng thời gian trễ tùy chọn để phù hợp với hiển thị) Biết tần số thạch anh là 12MHz

Bài làm Code:

ORG 000H

MAIN:

MOV P2,#0FFH ;TAT LED 7 THANH

MOV R0,#50 ;SO LAN LAP

MOV R1,#100

HIENTHI:

; -HIEN THI SO HANG CHUC -

DEC R1 MOV A,R1 MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P0,A

CLR P2.1 SETB P2.1

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

Trang 25

CLR P2.0 SETB P2.0

DEC R1 CALL DELAY DJNZ R0,HIENTHI JMP MAIN

; - TAO CTRINH TRE -

DELAY: MOV R7,#255

KT1: MOV R6,#255

KT2: NOP

NOP NOP DJNZ R6,KT2 DJNZ R7,KT1 RET

; - TAO MA LED 7 THANH -

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Câu 14:14 Thiết kế mạch điều khiển và viết chương trình hiển thị Led 7 thanh sáng các số chẵn từ 99 về 00 (khoảng thời gian trễ tùy chọn để phù hợp với hiển thị) Biết tần số thạch anh là 12MHz

Bài làm Code:

ORG 000H

Trang 26

CLR P2.1 SETB P2.1

; -HIEN THI SO HANG DON VI -

MOV A,B MOVC A,@A+DPTR MOV P0,A

CLR P2.0 SETB P2.0

DEC R1 CALL DELAY

Trang 27

DJNZ R0,HIENTHI JMP MAIN

; - TAO CTRINH TRE -

DELAY: MOV R7,#255

KT1: MOV R6,#255

KT2: NOP NOP NOP DJNZ R6,KT2 DJNZ R7,KT1 RET

; - TAO MA LED 7 THANH -

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Câu 15:Thiết kế mạch và viết chương trình điều khiển động cơ quay thuận trong 3 giây, dừng trong 5 giây và quay ngược trong 4 giây (dùng mạch cầu H) Biết giá trị nạp cho TH= và TL= để tạo ra được khoảng thời gian trễ là 1s Biết tần số thạch anh là 12MH

Bài làm Hình vẽ:

Trang 28

Code:

ORG 00H

THUAN:

SETB P3.7 CLR P3.6 CALL DELAY3S NGUOC:

SETB P3.6 CLR P3.7 CALL DELAY5S

Trang 29

DUNG:

SETB P3.6 SETB P3.7 CALL DELAY4S JMP THUAN

DELAY1S:

MOV R0,#20 LAP:

MOV TMOD,#01H MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0

JNB TF0,$

CLR TR0 CLR TF0 DJNZ R0,LAP RET

DELAY3S:

MOV R1,#3 LAP1:

CALL DELAY1S DJNZ R1,LAP1

Trang 30

RET DELAY4S:

MOV R2,#4 LAP2:

CALL DELAY1S DJNZ R2,LAP2 RET

DELAY5S:

MOV R3,#5 LAP3:

CALL DELAY1S DJNZ R3,LAP3 RET

END

Câu 16:Thiết kế mạch và viết chương trình điều khiển động cơ quay thuận trong 3 giây, dừng trong 5 giây và quay ngược trong 4 giây Biết giá trị nạp cho TH= và TL= để tạo ra được khoảng thời gian trễ là 1s Biết tần số thạch anh là 12MHz Tương tự câu trên câu 15

DẠNG 2:

Câu 1:Lập trình hiển thị số 0 lên LED 7 thanh, khi nào bấm nút START (một lần) sẽ bắt đầu đếm từ 00 đến 99 mỗi lần tăng số, trễ khoảng 200ms

Bài làm Hình vẽ:

Trang 32

MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A

CLR P3.2 SETB P3.2

MOV A,B MOVC A,@A+DPTR MOV P2,A

CLR P3.3 SETB P3.3 CALL DELAY DJNZ R1,HIENTHI

JMP HERE

; -CHUONG TRINH TAO TRE 200MS DELAY:

MOV R7,#4 CLR TF0 MOV TMOD,#01H LAP:SETB TR0

Trang 33

MOV TH0,#3CH MOV TL0,#0B0H JNB TF0,$

CLR TR0 CLR TF0 DJNZ R7,LAP RET

Trang 35

DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A

CLR P3.2 SETB P3.2

MOV A,B MOVC A,@A+DPTR MOV P2,A

CLR P3.3 SETB P3.3 CALL DELAY JNB P0.0,DUNG DJNZ R1,HIENTHI JMP MAIN

DUNG:

JMP DUNG

DELAY:

CLR TF0 MOV TMOD,#01H MOV R7,#4

LAP:

MOV TH0,#3CH

Trang 36

MOV TL0,#0B0H SETB TR0

JNB TF0,$

CLR TF0 CLR TR0 DJNZ R7,LAP RET

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Câu 3:Lập trình điều khiển 8 LED đơn, tại một thời điểm có nhiều nhất 1 LED sáng Mỗi lần bấm phím UP, thì LED sáng dịch sang trái một điểm, bấm phím DOWN thì LED dịch sang phải một điểm, bấm phím START thì LED luôn dịch sang trái, bấm phím STOP thì LED luôn

Bài làm Hình vẽ:

Trang 38

JNB P0.2,UP JNB P0.4,DOWN JNB P0.7,STOP JMP START1 START2:

MOV P1,A CALL DELAY RLC A JMP START1

UP: CJNE A,#0,UP1

SETB C

MOV A,#0

UP1:

MOV P1,A RLC A CALL DELAY JMP MAIN

Trang 39

DOWN:CJNE A,#0,DOWN1

SETB C MOV A,#0 DOWN1:

MOV P1,A RRC A CALL DELAY JMP MAIN STOP:CJNE A,#0,STOP1

SETB C

MOV A,#0

STOP2:

MOV P1,A CALL DELAY RRC A JNB P0.0,START JNB P0.2,UP JNB P0.4,DOWN JMP STOP2 STOP1:

MOV P1,A CALL DELAY RRC A JMP STOP2

Trang 40

; -THOI GIAN TRE -

END

Câu 4:Viết chương trình quay số Khi bấm nút Start, Led 7 thanh bắt đầu liên tục hiển thị tăng dần các số từ 00 đến 99 mỗi lần tăng cách nhau 50ms Khi nút Stop bấm thì dừng tăng và hiển thị giá trị hiện tại sau đó nhấp nháy số đó trong 3 giây với chu kỳ 500 ms Lặp lại nếu nút Start được bấm tiếp

Bài làm:

Hình vẽ:

Trang 42

INC R0 MOV A,R0 MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A

CLR P3.2 SETB P3.2

MOV A,B MOVC A,@A+DPTR MOV P2,A

CLR P3.3 SETB P3.3 CALL DELAY JNB P0.7,STOP DJNZ R1,START JMP BAMNUT STOP:

MOV R4,#6 NHAY:

CPL P3.4 CPL P3.5

Trang 43

CALL DELAY500 DJNZ R4,NHAY JMP MAIN

JNB TF0,$

CLR TR0 CLR TF0 RET

; -tao tre 500ms thi cho nap lai delay 10 lan -

DELAY500:

MOV R3,#10 LAP:

MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB TR0

JNB TF0,$

Trang 44

CLR TR0 CLR TF0 DJNZ R3,LAP RET

; -nhap ma led7 thanh -

MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

Câu 5: Lập trình đóng ngắt relay để nhấp nháy LED D1 theo chu kỳ 100ms < T < 2000ms Khi bấm nút Up thì tăng T = T + 100ms, bấm nút Down thì giảm T = T – 100ms

Câu 6:Lập trình điều khiển động cơ, mỗi lần bấm phím sẽ thay đổi tốc độ, chiều quay của động cơ theo bảng sau

STT Phím được bấm Tốc độ động cơ Chiều quay

1 START Cho phép các phím hoạt động (có thể bấm được)

4 STOP Cấm các phím hoạt động (trừ START)

Bài làm Hình vẽ:

Trang 45

CODE:

ORG 00H

MAIN:

MOV P2,#0FFH MOV 30H,#0 JNB P0.0,CHOPHEP SJMP MAIN

CHOPHEP:

JNB P0.2,TANG JNB P0.4,GIAM

Trang 46

JNB P0.7,DUNG SJMP CHOPHEP TANG:

INC 30H MOV A,30H CJNE A,#100,NEXT MOV A,#0

MOV 30H,A NEXT:

CALL HIENTHI JMP CHOPHEP GIAM:

DEC 30H MOV A,30H CJNE A,#255,NEXT1 MOV A,#99

MOV 30H,A NEXT1:

CALL HIENTHI JMP CHOPHEP DUNG:

JNB P0.0,CHOPHEP JMP DUNG

HIENTHI:

Trang 47

MOV B,#10 DIV AB MOV DPTR,#MALED7 MOVC A,@A+DPTR MOV P2,A

CLR P3.2 SETB P3.2

MOV A,B MOVC A,@A+DPTR MOV P2,A

CLR P3.3 SETB P3.3 CALL DELAY RET

DELAY:

MOV R7,#5 LAP:

MOV TMOD,#01H MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0

JNB TF0,$

CLR TR0

Trang 48

CLR TF0 DJNZ R7,LAP

Code:

Trang 49

JMP $ ISR_T0:

CPL P1.5 MOV TH0,#62H MOV TL0,#0C6H RETI

END

Câu 14: Lập trình điều khiển timer tạo đồng hồ đếm giây, hiển thị lên LED 7 thanh

Bài làm:

Hình:

Trang 51

MOV TMOD,#01H MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) MOV R7,#20

SETB TR0 JMP $ ISR_T0:

MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) DJNZ R7,THOAT

MOV R7,#20 MOV A,R0 CJNE A,#60,NEXT MOV A,#0

MOV R0,A NEXT:

CALL HIENTHI INC R0

THOAT:

RETI HIENTHI:

MOV B,#10 DIV AB MOV DPTR,#MALED7

Trang 52

MOVC A,@A+DPTR MOV P2,A

CLR P3.2 SETB P3.2

MOV A,B MOVC A,@A+DPTR MOV P2,A

CLR P3.3 SETB P3.3 RET

MALED7:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

Ngày đăng: 21/03/2015, 22:02

HÌNH ẢNH LIÊN QUAN

Hình vẽ: - Bài tâp môn học vi xử lý vi điều khiển
Hình v ẽ: (Trang 3)

TỪ KHÓA LIÊN QUAN

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

w