0% found this document useful (0 votes)
14 views15 pages

BAITAPTHUCHANH

The document contains a series of assembly language programs for controlling LED and motor operations using an 8051 microcontroller. Each program demonstrates different functionalities such as toggling LEDs based on button presses, implementing delays, and controlling motor direction based on input signals. The programs are structured with labels and subroutines for clarity and reusability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views15 pages

BAITAPTHUCHANH

The document contains a series of assembly language programs for controlling LED and motor operations using an 8051 microcontroller. Each program demonstrates different functionalities such as toggling LEDs based on button presses, implementing delays, and controlling motor direction based on input signals. The programs are structured with labels and subroutines for clarity and reusability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

BÀI 1

LED EQU P2
BAM EQU P1

ORG 0H
MOV BAM,#00000000B
MOV LED,#00000000B
MAIN:
JNB P1.0,BAM2
JB P1.0,$
CPL P2.0

BAM2:
JNB P1.1,BAM3
JB P1.1,$
CPL P2.1

BAM3:
JNB P1.2,BAM4
JB P1.2,$
CPL P2.2

BAM4:
JNB P1.3,BAM5
JB P1.3,$
CPL P2.3
BAM5:
JNB P1.4,BAM6
JB P1.4,$
CPL P2.4

BAM6:
JNB P1.5,BAM7
JB P1.5,$
CPL P2.5

BAM7:
JNB P1.6,BAM8
JB P1.6,$
CPL P2.6

BAM8:
JNB P1.7,MAIN
JB P1.7,$
CPL P2.7
JMP MAIN
DELAY:
MOV TMOD, #00000001B
CLR TF0

MOV R3, #5
LAP:
MOV TH0,#03Ch
MOV TL0, #0B0h
SETB TR0
NGOICHO: JNB TF0, NGOICHO
CLR TR0
CLR TF0
DJNZ R3, LAP
RET
END

BÀI 2
LED EQU P2
BAM EQU P1

ORG 0H
MOV BAM,#00000000B
MOV LED,#00000000B

MAIN:
JNB P1.0,BAM2
JB P1.0,$
MOV LED,#00000001B

BAM2:
JNB P1.1,BAM3
JB P1.1,$
MOV LED,#00000011B

BAM3:
JNB P1.2,BAM4
JB P1.2,$
MOV LED,#00000111B

BAM4:
JNB P1.3,BAM5
JB P1.3,$
MOV LED,#00001111B

BAM5:
JNB P1.4,BAM6
JB P1.4,$
MOV LED,#00011111B

BAM6:
JNB P1.5,BAM7
JB P1.5,$
MOV LED,#00111111B

BAM7:
JNB P1.6,BAM8
JB P1.6,$
MOV LED,#01111111B

BAM8:
JNB P1.7,MAIN
JB P1.7,$
MOV LED,#11111111B
JMP MAIN

END

BÀI 3
MAIN:
MOV LED,#00000000B
JNB P1.0,BAM2
JB P1.0,$
JMP CTC1
BAM2:
JNB P1.1,MAIN
JB P1.1,$
JMP CTC2
CTC1:
MOV DPTR,#MANG
MOV R1,#0
DAUCTC1:
MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
CALL DELAY
INC R1
CJNE R1,#8,DAUCTC1
JMP MAIN
CTC2:
MOV DPTR,#MANG2
MOV R1,#0
DAUCTC2:
MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
CALL DELAY
INC R1
CJNE R1,#8,DAUCTC2
JMP MAIN

DELAY:
MOV TMOD, #00000001B
CLR TF0

MOV R3, #5
LAP:
MOV TH0,#03Ch
MOV TL0, #0B0h
SETB TR0
NGOICHO: JNB TF0, NGOICHO
CLR TR0
CLR TF0
DJNZ R3, LAP
RET
MANG: DB
00000001B,00000011B,00000111B,00001111B,00011111B,00111111B,01111111B,11111111B
MANG2: DB
10000000B,11000000B,11100000B,11110000B,11111000B,11111100B,11111110B,11111111B
END

Bài 4
ORG 0H
MOV P3,#0
MOV P1,#0
MAIN:
MOV R0,#0
JB P1.0,KIEMTRA
JMP MAIN
KIEMTRA:
CALL CHAY0050
INC R0
CJNE R0,#50,KIEMTRA
CHAY0050:
MOV DPTR,#MALED
LED:
MOV R2,#5
LAP2:
MOV A,R0
MOV B,#10
DIV AB
MOVC A,@A+DPTR
MOV P2,A
SETB P3.0
CALL HAMQUETLED
CLR P3.0
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.1
CALL HAMQUETLED
CLR P3.1
DJNZ R2,LAP2
JNB P1.0,LED
RET
HAMQUETLED:
MOV TMOD,#01H
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
MALED: DB 0C0H, 0F9H, 0A4H, 0B0H, 099H, 092H, 082H, 0F8H,080H, 090H
END

BÀI 5
MAIN:
MOV LED,#00000000B
JNB P1.0,BAM2
JB P1.0,$
JMP CTC1
BAM2:
JNB P1.1,MAIN
JB P1.1,$
JMP CTC2
CTC1:
MOV DPTR,#MANG
MOV R1,#0
DAUCTC1:
MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
CALL DELAY
INC R1
CJNE R1,#8,DAUCTC1
JMP MAIN
CTC2:
MOV DPTR,#MANG2
MOV R1,#0
DAUCTC2:
MOV A,R1
MOVC A,@A+DPTR
MOV LED,A
CALL DELAY
INC R1
CJNE R1,#8,DAUCTC2
JMP MAIN

DELAY:
MOV TMOD, #00000001B
CLR TF0

MOV R3, #5
LAP:
MOV TH0,#03Ch
MOV TL0, #0B0h
SETB TR0
NGOICHO: JNB TF0, NGOICHO
CLR TR0
CLR TF0
DJNZ R3, LAP
RET
MANG: DB
00000001B,00000011B,00000111B,00001111B,00011111B,00111111B,01111111B,11111111B
MANG2: DB
10000000B,11000000B,11100000B,11110000B,11111000B,11111100B,11111110B,11111111B
END

bài tập đi thực hành tiếp


đề số 1 3.4 bấm động cơ quay thuận bấm động cơ quay ngược
TRAI EQU P1.0
PHAI EQU P1.1
DUNG EQU P1.2

ORG 0H
MOV P3,#00111111B
MOV P2,#00000000B
MOV P1,#00000000B
MAIN:
JB TRAI,QUAYTRAI
JB PHAI,QUAYPHAI
JB DUNG,DUNGLAI
JMP MAIN
QUAYTRAI:
MOV P3,#00000110B
CLR P2.0
SETB P2.1
JMP MAIN
QUAYPHAI:
MOV P3,#01011011B
SETB P2.0
CLR P2.1
JMP MAIN
DUNGLAI:
MOV P3,#00111111B
CLR P2.0
CLR P2.1
JMP MAIN
END
Đề số 2 nhấn 1 nút động cơ quay thuận 5s thì động cơ quay
THUAN5S EQU P1.0
ORG 0H
MAIN:
MOV P1,#0B
MOV P2,#00000000B
JB THUAN5S,QUAYTHUAN5S
JMP MAIN
QUAYTHUAN5S:
SETB P2.0
CALL DELAY5S
CLR P2.0
JMP MAIN
DELAY5S:
MOV TMOD,#00010000B ;TIMER 1 MOD 0
CLR TF1
MOV R1,#100
LAP:
MOV TH1,#03CH
MOV TL1,#0B0H
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R1,LAP
RET
END
ĐỀ SỐ 3 nhấn dữ nút 1s thì động cơ quay
ORG 0H
MOV P2,#0
MOV P1,#0
MAIN:
JB P1.0,QUAYTHUAN
JMP MAIN
KIEMTRA1S:
JB P1.0,LAP
JMP MAIN
QUAYTHUAN:
CALL DELAY1S
SETB P2.0
JMP MAIN
DELAY1S:
MOV TMOD,#00010000B ;TIMER 1 MOD 0
CLR TF1
MOV R1,#20
LAP:
MOV TH1,#03CH
MOV TL1,#0B0H
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R1,KIEMTRA1S
RET
END

You might also like