Giải ngân hàng ôn thi cuối kì môn vi xử lý...............dddddddddddddddddddddddddddddffffffffffffffffffffffffffffffffffffffffffssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccaaaaaaaaaaaaaaaaaaaaa
TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T 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: Bài 1: thiết kế mạch điếm số lần nhấn công tác p3.2 hiển thị lên led7 Mình thấy hiển thị led dễ đếm lần làm led7 đếm từ 00->99 lần Câu câu thay chân công tác ORG 0H MOV R0,#0 CALL HIENTHI MAIN: JNB P3.2,BUTTON JMP MAIN RET BUTTON: INC R0 CJNE R0,#100,HIENTHI MOV R0,#0 CALL HIENTHI JMP MAIN RET TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T HIENTHI: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A CALL DELAY JMP MAIN RET DELAY: MOV R7,#10 MOV TMOD,#01H LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T RET MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Hình vẽ CÂU 3: thiết kế mạch viết chương trình thị led sáng liên tiếp mạch có 8led nối vào port2 vi điều khiển ( led sáng led lại tát, led sáng led 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 Hình vẽ: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T Code: ORG 00H MAIN: CALL SANGTRAI CALL SANGPHAI JMP MAIN RET SANGTRAI: MOV A,#00000001B CLR C MOV R0,#8 LED: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T SETB C MOV P2,A CALL DELAY RLC A DJNZ R0,LED RET SANGPHAI: MOV A,#10000000B CLR C MOV R1,#8 LED1: SETB C MOV P2,A CALL DELAY RRC A DJNZ R1,LED1 RET DELAY: MOV R7,#10 MOV TMOD,#01H LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP RET END Câu 5: Thiết kế mạch viết chương trình hiển thị mạch có LED nối vào port P2 vi điều khiển LED sáng từ LED sang dần 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: CÁCH 1: ORG 00H TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T MAIN: CALL LEDSANG JMP MAIN LEDSANG: MOV P2,#00011000B CALL DELAY MOV P2,#00111100B CALL DELAY MOV P2,#01111110B CALL DELAY MOV P2,#11111111B CALL DELAY MOV P2,#00000000B CALL DELAY RET DELAY: MOV R7,#10 MOV TMOD,#01H LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TR0 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T CLR TF0 DJNZ R7,LAP RET END CÁCH 2: ORG 00H MAIN: CALL LEDSANG JMP MAIN LEDSANG: MOV P2,#11111111B CALL DELAY MOV P2,#11100111B CALL DELAY MOV P2,#11000011B CALL DELAY MOV P2,#10000001B CALL DELAY MOV P2,#00000000B CALL DELAY RET DELAY: MOV R7,#10 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T MOV TMOD,#01H LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP RET END Câu 6: Sử dụng Timer Timer viết chương trình tạo xung chân P1.0 P1.1 với tần số 2KHz 4KHz (Sử dụng osillocope để quan sát) Biết tần số thạch anh 12MHz Bài làm Hình vẽ: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T 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 ;T(timer)=12/F(xtal)=12/12 ; gia tri can nap 65536-250= 65282 (đổi từ mã dec sang hexa = FF02H) ;VAY gán giá trị đầu vào TH0 = 0FFH, giá trị sau vào TL0 = 02H ; chu ky song vuong la: T=1/f = 1/4=0,25ms=250us ;khong thoi gian cao hoac thap la 0.5T= 125us ; so nhip n=125 ;gia tri can nap la: 65536-125= 65411=0FF83H ; VAY TH0= 0FFH, TL0=83H CODE: Cách 1: ORG 00H CLR P1.0 CLR P1.1 MAIN: SETB P1.0 SETB P1.1 CALL DELAY4KHZ SETB P1.0 CLR P1.1 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T CODE: ORG 00H MOV R0,#0 CALL HIENTHI0 MAIN: JNB P1.0,TANG JMP MAIN RET TANG: INC R0 CJNE R0,#100,HIENTHI MOV R0,#0 CALL HIENTHI TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T JMP TANG RET HIENTHI: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR MOV P2,A CALL DELAY JMP TANG RET HIENTHI0: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV P0,A MOV A,B MOVC A,@A+DPTR TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T MOV P2,A CALL DELAY RET DELAY: MOV R1,#4 LAP: MOV TMOD,#01H MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Câu 2: Lập trình hiển thị số đếm từ 00 đến 99 (rồi lặp lại), lần tăng số, trễ khoảng 200ms, bấm nút STOP dừng đếm mà hiển thị Bài làm Hình vẽ: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T Code: ORG 00H MOV R0,#0 CALL HIENTHI MAIN: JNC R0 CJNE P1.0,#100,HIENTHI MOV R0,#0 CALL HIENTHI JMP MAIN TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T RET HIENTHI: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB 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 JMP MAIN RET DUNG: JMP DUNG RET TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T DELAY: MOV R1,#4 LAP: MOV TMOD,#01H MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,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 LED đơn, thời điểm có nhiều LED sáng Mỗi lần bấm phím UP, LED sáng dịch sang trái điểm, bấm phím DOWN LED dịch sang phải điểm, bấm phím START LED dịch sang trái, bấm phím STOP LED Bài làm Hình vẽ: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T CODE: org 00h mov r7,#10000000b jmp main main: jnb p0.0,up jnb p0.1,dow jnb p0.2,start jnb p0.3,stop jmp main TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T ret up: mov a,r7 mov r0,#8 led: mov p2,a jnb p0.1,dow jnb p0.2,start jnb p0.3,stop jb p0.0,led call delay rr a mov r7,a djnz r0,led jmp main ret dow: mov a,r7 mov r1,#9 led1: mov p2,a jnb p0.0,up jnb p0.2,start jnb p0.3,stop TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T jb p0.1,led1 call delay rl a mov r7,a djnz r1,led1 jmp main ret start: mov a,#10000000b mov r2,#8 led2: mov p2,a call delay jnb p0.0,up jnb p0.2,start jnb p0.3,stop rl a djnz r2,led2 jmp start ret stop: mov a,#00000001b mov r3,#8 led3: TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T mov p2,a call delay jnb p0.0,up jnb p0.2,start jnb p0.3,stop rr a djnz r2,led2 jmp stop ret DELAY: MOV R6,#10 MOV TMOD,#01H LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R6,LAP RET End TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T Câu 7: Lập trình hiển thị số đếm lên LED thanh, chức phím theo bảng sau: STT Phím bấm START UP DOWN STOP Hình vẽ: CODE: ORG 00H MOV R0,#0 CALL HIENTHI0 Chức Cho phép phím hoạt động (có thể bấm được) Tăng số LED Giảm số LED Cấm phím hoạt động (trừ START) Bài làm TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T MAIN: JNB P0.0,CHOPHEP JMP MAIN RET CHOPHEP: JNB P0.2,TANG JNB P0.4,GIAM JNB P0.7,DUNG JMP CHOPHEP TANG: INC R0 CJNE R0,#100,HIENTHI MOV R0,#0 CALL HIENTHI RET GIAM: DEC R0 CJNE R0,#-1,HIENTHI MOV R0,#99 CALL HIENTHI RET DUNG: JNB P1.0,CHOPHEP JMP DUNG TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T RET HIENTHI0: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB 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 JMP CHOPHEP RET HIENTHI: MOV DPTR,#MALED7 MOV A,R0 MOV B,#10 DIV AB MOVC A,@A+DPTR TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T 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 JMP MAIN RET DELAY: MOV R7,#10 LAP: MOV TMOD,#01H MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP RET MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T END [...]... thoi gian cao ( hoac thap) la: 0,5T= 250Us ; so nhip: n= 250/1= 250nhip ; gia trin can nap la: 65536-250=65286 = 0FF06H ; TH0= 0FFH, TL0=06H // XUNG 500Hz: -;chu ky song vuong la: T=1/f= 1/0,5 =2ms = 2000us ;khoang thoi gian cao ( hoac thap)la: 0,5T=1000us ; so nhip: n=1000us ;gia tri can nap la: 65536-1000=64536 = 0FC18H ;THO=0FCH, TL0=18H Câu 8:Sử dụng Timer 0 hoặc/ và Timer 1 vi t... ;chu ky song vuong la: T=1/f= 1/0,5 =2ms = 2000us ;khoang thoi gian cao ( hoac thap)la: 0,5T=1000us ; so nhip: n=1000us ;gia tri can nap la: 65536-1000=64536 = 0FC18H ;THO=0FCH, TL0=18H Hình vẽ TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T CODE: ORG 00H CLR P1.0 CLR P1.1 MAIN: CPL P1.0 CALL DELAY500HZ JMP MAIN RET DELAY500HZ: MOV R0,#4 //chu kì xung 500hz gấp 4 lần xung 2khz DELAY2KHZ: MOV TMOD,#01H... TR0 CLR TF0 CPL P1.1 DJNZ R0,DELAY4KHZ 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 XUNG 2KHz: ; chu ky song vuong la:T= 1/f =1/2=0,5ms= 500us ;khoang thoi gian cao ( hoac thap) la: 0,5T= 250Us TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN... 65536-50=65486xung = FFC3H TH0= 0FFH , TL0=C3H TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T 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ẽ: ORG 00H MOV R0,#0 CALL HIENTHI MAIN: INC R0 CJNE R0,#100,HIENTHI... DELAY: MOV TMOD,#01H MOV R1,#10 LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET END Câu 10: 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ừ 99 về 00 Biết tần số thạch anh là 12MHz Bài làm Code: ORG 00H MOV R0,#99 CALL HIENTHI MAIN: DEC R0 CJNE R0,#-1,HIENTHI MOV R0,#99 CALL HIENTHI JMP MAIN... DELAY: MOV TMOD,#01H MOV R1,#10 LAP: MOV TH0,#3CCH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET END TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T 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 00H MOV R0,#1 CALL HIENTHI... 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DELAY: MOV TMOD,#01H MOV R1,#10 LAP: MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET END Câu 12: 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ố chẵn 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 00H MOV R0,#0 CALL HIENTHI TRẦN... DELAY: MOV TMOD,#01H MOV R1,#10 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T LAP: MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET END Câu 13: 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ố 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 00H MOV R0,#99 CALL HIENTHI MAIN:... DELAY: MOV TMOD,#01H MOV R1,#10 LAP: MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 TRẦN VĂN THI & NGÔ TUẤN LÂM K48 KDT.01 DESIGN L&T DJNZ R1,LAP RET END Câu 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 00H MOV R0,#98 CALL HIENTHI... MALED7: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DELAY: MOV TMOD,#01H MOV R1,#10 LAP: MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R1,LAP RET 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 ... 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END Hình vẽ CÂU 3: thiết kế mạch vi t chương trình thị led sáng liên tiếp mạch có 8led nối vào port2 vi điều khiển ( led sáng led lại tát, led sáng led lại tát… )... L&T JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,LAP RET END Câu 5: Thiết kế mạch vi t chương trình hiển thị mạch có LED nối vào port P2 vi điều khiển LED sáng từ LED sang dần bên(khoảng thời gian trễ tùy... 2000us ;khoang thoi gian cao ( hoac thap)la: 0,5T=1000us ; so nhip: n=1000us ;gia tri can nap la: 65536-1000=64536 = 0FC18H ;THO=0FCH, TL0=18H Câu 8:Sử dụng Timer hoặc/ Timer vi t chương trình