Tải bản đầy đủ (.pdf) (50 trang)

THUC HANH VI DIEU KHIEN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.92 MB, 50 trang )

TRƯỜNG CAO ĐẲNG NGHỀ VIỆT NAM-SINGAPORE
Khoa: Điện tử



















CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 1

Bài mẫu số 101: Chương trình điều khiển 8 LED sáng tắt dùng port 0
Lưu tên file “BAI_101_CHOPTAT_8LED”
a.Mạch điện:

b.Lưu đồ


c.Chương trình:

ORG

0000H


LB: MOV P0,#0H
CALL DELAY100MS
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 2


MOV

P0,#0FFH

CALL DELAY100MS
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
d. Tiến hành biên dịch và nạp.
e.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài mẫu số 102: Chương trình điều khiển 16 LED sáng tắt dùng port 0 và 1
Lưu tên file “BAI_102_CHOPTAT_16LED”
a.Chương trình
ORG


0000H


LB: MOV P0,#0H
MOV P1,#0H
CALL DELAY100MS
MOV P0,#0FFH
MOV P1,#0FFH
CALL DELAY100MS
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Bài thực hành 103: Chương trình điều khiển 24 LED sáng tắt dùng port 0,1,2
Lưu tên file “BAI_103_CHOPTAT_24LED”

Bài thực hành 104: Chương trình điều khiển 32 LED sáng tắt dùng port 0,1,2,3
Lưu tên file “BAI_104_CHOPTAT_32LED”

Bài mẫu 105: Chương trình điều khiển 8 LED sáng dần tắt hết dùng port 0
Lưu tên file “BAI_105_SDTH_8LED_C1”
a.Chương trình
ORG

0000H



LB: MOV P0,#00000000B
CALL DELAY100MS

MOV P0,#00000001B
CALL DELAY100MS

MOV P0,#00000011B
CALL DELAY100MS
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 3


MOV P0,#00000111B
CALL DELAY100MS

MOV P0,#00001111B
CALL DELAY100MS

MOV P0,#00011111B
CALL DELAY100MS

MOV P0,#00111111B
CALL DELAY100MS

MOV P0,#01111111B
CALL DELAY100MS

MOV P0,#11111111B
CALL DELAY100MS

JMP LB
$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Trong cách viết trên, ta thấy chương trình dễ hiểu nhưng khá dài.Hãy xem cách viết thứ 2 dưới đây
Bài mẫu 105: Chương trình điều khiển 8 LED sáng dần tắt hết dùng port 0
Lưu tên file “BAI_105_SDTH_8LED_C2”
a.Lưu đồ:

b.Chương trình

ORG 0000H
LB:
MOV P0,#00H
LB1: CALL DELAY100MS
SETB C
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 4


MOV

A,P0

RLC A
MOV P0,A
JNC LB1

JMP LB
$INCLUDE(TV_DELAY.ASM)
END
c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Bài mẫu 106: Chương trình điều khiển 8 LED sáng dần tắt dần dùng port 0
Lưu tên file “BAI_106_SDTD_8LED”
a.Lưu đồ:

b.Chương trình

ORG

0000H

LB:
MOV P0,#00H
LB1: CALL DELAY100MS
SETB C
CALL XOAYTRAI_P0
JNC LB1

LB2: CLR C
CALL XOAYTRAI_P0
CALL DELAY100MS
JC LB2
JMP LB1

XOAYTRAI_P0:

MOV A,P0
RLC A
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 5


MOV

P0,A

RET

$INCLUDE(TV_DELAY.ASM)
END
c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Bài mẫu 107: Chương trình điều khiển 16 LED sáng dần tắt dần dùng port 0,1
Lưu tên file “BAI_107_SDTD_16LED”
a.Chương trình

ORG

0000H

LB:
MOV P0,#00H
MOV P1,#00H
LB1: CALL DELAY100MS

SETB C
CALL XOAYTRAI_P0_P1
JNC LB1

LB2: CLR C
CALL XOAYTRAI_P0_P1
CALL DELAY100MS
JC LB2
JMP LB1

XOAYTRAI_P0_P1:
MOV A,P0
RLC A
MOV P0,A

MOV A,P1
RLC A
MOV P1,A
RET

$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài thực hành 108: Chương trình điều khiển 32 LED sáng dần tắt dần từ phải sang trái dùng 4 port
Lưu tên file “BAI_108_SDTD_PHAISANGTRAI_32LED”

Bài thực hành 109: Chương trình điều khiển 32 LED sáng dần tắt dần từ trái sang phải dùng 4 port

Lưu tên file “BAI_109_SDTD_TRAISANGPHAI_32LED”

CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 6

Bài thực hành 110: Chương trình điều khiển 32 LED sáng dần tắt hết từ ngoài vào dùng 4 port
Lưu tên file “BAI_110_SDTH_NGOAIVAOTRONG_32LED”

Bài thực hành 111: Chương trình điều khiển 32 LED sáng dần tắt hết từ trong ra dùng 4 port
Lưu tên file “BAI_111_SDTH_TRONGRANGOAI_32LED”

Bài thực hành 112: Chương trình điều khiển 32 LED sáng dần tắt dần từ ngoài vào dùng 4 port
Lưu tên file “BAI_112_SDTD_NGOAIVAOTRONG_32LED”

Bài thực hành 113: Chương trình điều khiển 32 LED sáng dần tắt dần từ trong ra dùng 4 port
Lưu tên file “BAI_113_SDTD_TRONGRANGOAI_32LED”

Bài thực hành 114: Chương trình điều khiển 1 LED sáng chạy từ phải sang trái
Lưu tên file “BAI_114_DSDC_PHAISANGTRAI_8LED”

Bài thực hành 115: Chương trình điều khiển 1 LED sáng chạy từ phải sang trái
Lưu tên file “BAI_115_DSDC_PHAISANGTRAI_32LED”

Bài thực hành 116: Chương trình điều khiển 1 LED sáng chạy từ trái sang phải
Lưu tên file “BAI_116_DSDC_TRAISANGPHAI_32LED”

Bài mẫu 117: Chương trình điều khiển 8 LED sáng dồn dùng port 0
Lưu tên file “BAI_117_SDON_8LED_C1”
a.Lưu đồ:


b.Chương trình
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 7


ORG

0000H

LB: MOV DPTR,#DULIEU
LB1: CLR A
MOVC A,@A+DPTR
MOV P0,A

CALL DELAY100MS
INC DPTR
CJNE A,#0FFH,LB1
JMP LB
$INCLUDE(TV_DELAY.ASM)

DULIEU:
DB 00000000B
DB 00000001B
DB 00000010B
DB 00000100B
DB 00001000B
DB 00010000B
DB 00100000B

DB 01000000B
DB 10000000B
;LAN THU HAI LA 7 BYTE
DB 10000001B
DB 10000010B
DB 10000100B
DB 10001000B
DB 10010000B
DB 10100000B
DB 11000000B
;LAN THU BA LA 6 BYTE
DB 11000001B
DB 11000010B
DB 11000100B
DB 11001000B
DB 11010000B
DB 11100000B
;LAN THU TU LA 5 BYTE
DB 11100001B
DB 11100010B
DB 11100100B
DB 11101000B
DB 11110000B
;LAN THU NAM LA 4 BYTE
DB 11110001B
DB 11110010B
DB 11110100B
DB 11111000B
;LAN THU SAU LA 3 BYTE
DB 11111001B

DB 11111010B
DB 11111100B
;LAN THU BAY LA 2 BYTE
DB 11111101B
DB 11111110B
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 8

;LAN THU 8 LA 1 BYTE

DB 11111111B ;BYTE DU LIEU CUOI CUNG LA 0FFH
END

c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Theo cách viết trên ta quan sát dữ liệu trong chương trình đã được sắp xếp theo đúng trình tự
và chương trình chỉ thực hiện nhiệm vụ là COPY lần lượt các byte dữ liệu có trong bộ nhớ chương
trình sang thanh ghi A và sau đó gửi ra port 0
Hàng khai báo “DU LIEU: DB dữ liệu” có chức năng nạp các byte dữ liệu vào cùng nhớ
chương trình – có địa chỉ bắt đầu là DULIEU
Byte cuối cùng là FFH có thể dùng làm byte báo cho biết hết dữ liệu
Dữ liệu viết dưới dạng số nhị phân cho dễ nhìn thấy và có thể viết dưới dạng số hex.Khi đó
chương trình sẽ ngắn hơn rất nhiều.
Phần khai báo dữ liệu số hex như sau:
DULIEU: DB 00H
DB 001H,002H,004H,008H,010H,020H,040H,080H
DB 81H,82H,84H,88H,90H,0A0H,0C0H
DB 0C1H,0C2H,0C4H,0C8H,0D0H,0E0H

DB 0E1H,0E2H,0E4H,0E8H,0F0H
DB 0F1H,0F2H,0F4H,0F8H
DB 0F9H,0FAH,0FCH
DB 0FDH,0FEH
DB 0FFH

CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 9

Bài mẫu 118: Chương trình điều khiển 8 LED sáng dồn dùng port 0
Lưu tên file “BAI_118_SDON_8LED_C2”
a.Lưu đồ:

b.Chương trình

X0

EQU

20H

Y0 EQU 30H
DEM EQU 40H
TAM EQU 41H

LED0 EQU P0

ORG 0000H
LB: MOV LED0,#00H

CALL DELAY100MS
MOV DEM,#8

LB1: MOV X0,LED0
MOV TAM,DEM
MOV Y0,#00000001B

LB2: MOV A,Y0
ORL A,X0
MOV LED0,A

CALL DELAY100MS

CLR C
MOV A,Y0
RLC A
MOV Y0,A
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 10



DJNZ TAM,LB2
DJNZ DEM,LB1
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải

quay lại chương trình chỉnh sửa và làm lại.

Bài mẫu 119: Chương trình điều khiển 16 LED sáng dồn dùng port 0,1
Lưu tên file “BAI_119_SDON_16LED”
a.Chương trình

X0

EQU

20H

X1 EQU 21H

Y0 EQU 30H
Y1 EQU 31H

DEM EQU 40H
TAM EQU 41H

LED0 EQU P0
LED1 EQU P1

ORG 0000H
LB: MOV LED0,#00H
MOV LED1,#00H
CALL DELAY50MS
MOV DEM,#16

LB1: MOV X0,LED0

MOV X1,LED1
MOV TAM,DEM
MOV Y0,#00000001B
MOV Y1,#00000000B

LB2: MOV A,Y0
ORL A,X0
MOV LED0,A

MOV A,Y1
ORL A,X1
MOV LED1,A

CALL DELAY50MS

CLR C
MOV A,Y0
RLC A
MOV Y0,A

CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 11


MOV

A,Y1

RLC A

MOV Y1,A

DJNZ TAM,LB2
DJNZ DEM,LB1
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài thực hành 120: Chương trình điều khiển 32 LED sáng dồn từ phải sang trái
Lưu tên file “BAI_120_SDON_PST_32LED”

Bài thực hành 121: Chương trình điều khiển 32 LED sáng dồn từ trái sang phải
Lưu tên file “BAI_121_SDON_TSP_32LED”

Bài thực hành 122: Chương trình điều khiển 32 LED sáng dồn từ ngoài vào
Lưu tên file “BAI_122_SDON_TNV_32LED”

Bài thực hành 123: Chương trình điều khiển 32 LED sáng dồn từ trong ra
Lưu tên file “BAI_123_SDON_TTR_32LED”

Bài mẫu 124: Chương trình điều khiển 8 LED sáng tắt dùng định thời timer 0 – định thời 65536uS
Lưu tên file “BAI_124_CHOPTAT_TIMER”
a.Chương trình

ORG

0000H


MOV TMOD,#01

LB: MOV P0,#00H
CALL DELAY
MOV P0,#0FFH
CALL DELAY
JMP LB
DELAY:
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Giải thích:
Hàng lệnh đầu tiên trong chương trình chính là chọn mode làm việc cho timer
CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 12

Lệnh thứ 2 cho phép timer bắt đầu đếm xung nội từ mạch dao động thạch anh bên trong
Với chương trình trên thì timer T0 sẽ đếm từ giá trị nạp ban đầu 0000h đến FFFFH và khi
thêm 1 xung nữa thì giá trị đếm sẽ là 10000H.Có thể xem con số 10000H được chia ra làm 2: số “1”
tương đương 1 bit lưu trong cờ tràn TF0 và số “0000H” tương đương 16 bit được lưu trong 2 thanh
ghi TH0 và TL0
Số xung đếm được là 10000H-0000H=10000(65536) xung và mỗi xung có chu kì 1uS nên

lượng thời gian mà timer 0 đếm được là 65536uS

Bài mẫu 125: Chương trình điều khiển 8 LED sáng tắt dùng định thời timer 0 – định thời 50000uS
Lưu tên file “BAI_125_CHOPTAT_TIMER”
a.Chương trình

ORG

0000H

MOV TMOD,#01

LB: MOV P0,#00H
CALL DELAY50MS
MOV P0,#0FFH
CALL DELAY50MS
JMP LB
DELAY50MS:
MOV TL0,#LOW(-50000)
MOV TH0,#HIGH(-50000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Giải thích:

Lượng thời gian của bài này là 50000uS, nên giá trị ban đầu nạp cho timer là 15536 và khi
đếm đến 10000H kết quả xung đếm được là 10000H-15536=50000 và mỗi xung có chu kỳ 1uS nê
lượng thời gian đếm được mà timer 0 đếm được là 50000uS hay 50Ms
Để khỏi tính phức tạp và nhìn vào chương trình là biết delay bao nhiêu ta có thể viết bằng hai
lệnh sau:
MOV TL0,#LOW(-50000)
MOV TH0,#HIGH(-50000)
Khi biên dịch thì trình biên dịch tự động tính toán cho chúng ta
Chú ý: trong phần tính toán chúng ta chư tính toán các lệnh trong chương trình con delay

CHƯƠNG 1: GIAO TIẾP LED ĐƠN Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 13

Bài thực hành 126: Chương trình điều khiển 8 LED sáng tắt delay 1s dùng timer0
Lưu tên file “BAI_126_CHOPTAT_8LED_TIMER0”

Bài thực hành 127: Chương trình điều khiển 8 LED sáng tắt delay 2s dùng timer0
Lưu tên file “BAI_127_CHOPTAT_8LED_TIMER0”

Bài thực hành 128: Chương trình điều khiển 8 LED sáng tắt delay 1s dùng timer1
Lưu tên file “BAI_128_CHOPTAT_8LED_TIMER1”

CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 14

Bài mẫu số 201: Chương trình điều khiển 1 LED 7 đoạn rời đếm từ 0 đến 9 dùng port 0
Lưu tên file “BAI_201_DEM_0_DEN_9”
a.Mạch điện:


b.Lưu đồ

c.Chương trình:

ORG

0000H

LB: MOV P0,#0C0H ;SO 0
CALL DELAY100MS

MOV P0,#0F9H ;SO 1
CALL DELAY100MS

MOV P0,#0A4H ;SO 2
CALL DELAY100MS

MOV P0,#0B0H ;SO 3
CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 15


CALL

DELAY100MS


MOV P0,#099H ;SO 4

CALL DELAY100MS

MOV P0,#092H ;SO 5
CALL DELAY100MS

MOV P0,#082H ;SO 6
CALL DELAY100MS

MOV P0,#0F8H ;SO 7
CALL DELAY100MS

MOV P0,#080H ;SO 8
CALL DELAY100MS

MOV P0,#090H ;SO 9
CALL DELAY100MS
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
d. Tiến hành biên dịch và nạp.
e.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 16

Bài mẫu số 202: Chương trình điều khiển 1 LED 7 đoạn rời đếm từ 0 đến 9 dùng port 0-Cách 2
Lưu tên file “BAI_202_DEM_0_DEN_9_C2”
a.Lưu đồ


a.Chương trình

DEM

EQU

R2

ORG 0000H

LB: MOV DPTR,#MA7DOAN
MOV DEM,#0

LB1: MOV A,DEM
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY100MS

INC DEM
CJNE DEM,#10,LB1
JMP LB
$INCLUDE(TV_DELAY.ASM)
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại
Bài thực hành 203: Chương trình điều khiển 1 LED 7 đoạn rời đếm từ 9 xuống 0 dùng port 0
Lưu tên file “BAI_203_DEM_9_DEN_0”






CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 17

Bài mẫu 204: Chương trình điều khiển 2 LED 7 đoạn rời đếm từ 00 đến 99 dùng port 0,1
Lưu tên file “BAI_204_DEM_00_DEN_99”
a.Lưu đồ:

a.Chương trình

DEM

EQU

R2

ORG 0000H

MOV DPTR,#MA7DOAN
LB: MOV DEM,#0

LB1: CALL HEXTOBCD
CALL GIAIMA_HTHI
CALL DELAY100MS
INC DEM

CJNE DEM,#100,LB1
JMP LB

HEXTOBCD:
MOV A,DEM
MOV B,#10
DIV AB
RET
GIAIMA_HTHI:
MOVC A,@A+DPTR
MOV P1,A

MOV A,B
MOVC A,@A+DPTR
MOV P0,A
RET
$INCLUDE(TV_DELAY.ASM)
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 18

Bài thực hành 205: Chương trình điều khiển 2 LED 7 đoạn rời đếm từ 00 đến 25 dùng port 0,1
Lưu tên file “BAI_205_DEM_00_DEN_25”

Bài thực hành 206: Chương trình điều khiển 2 LED 7 đoạn rời đếm từ 05 đến 25 dùng port 0,1

Lưu tên file “BAI_206_DEM_05_DEN_25”

Bài thực hành 207: Chương trình điều khiển 2 LED 7 đoạn rời đếm từ 99 đến 00 dùng port 0,1
Lưu tên file “BAI_207_DEM_99_DEN_00”

Bài mẫu 208: Chương trình điều khiển 3 LED 7 đoạn rời đếm từ 000 đến 250 dùng port 0,1,2
Lưu tên file “BAI_208_DEM_000_DEN_250”
a.Lưu đồ:

b.Chương trình

DEM

EQU

R2

ORG 0000H

MOV DPTR,#MA7DOAN
LB: MOV DEM,#0

LB1: CALL HEXTOBCD
CALL GIAIMA_HTHI
CALL DELAY50MS
INC DEM
CJNE DEM,#251,LB1
JMP LB

HEXTOBCD:

MOV A,DEM
MOV B,#10
DIV AB
MOV 20H,B

MOV B,#10
DIV AB
MOV 21H,B
MOV 22H,A
CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 19


RET

GIAIMA_HTHI:
MOV A,20H
MOVC A,@A+DPTR
MOV P0,A

MOV A,21H
MOVC A,@A+DPTR
MOV P1,A

MOV A,22H
MOVC A,@A+DPTR
MOV P2,A

RET

$INCLUDE(TV_DELAY.ASM)
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài thực hành 209: Chương trình điều khiển 3 LED 7 đoạn rời đếm từ 250 đến 000 dùng port 0,1,2
Lưu tên file “BAI_209_DEM_250_DEN_000”

Bài thực hành 210: Chương trình điều khiển 3 LED 7 đoạn rời đếm từ 000 đến 150 rồi đếm xuống
000 dùng port 0,1,2
Lưu tên file “BAI_210_DEMLENXUONG_000_150”

Bài mẫu 211: Chương trình điều khiển 3 LED 7 đoạn rời hiển thị kết quả đếm của counter T0
Lưu tên file “BAI_211_DEM_XUNGNGOAI”
a.Lưu đồ:

b.Chương trình

ORG

0000H


MOV DPTR,#MA7DOAN
MOV TMOD,#05H
SETB TR0

CHƯƠNG 2: GIAO TIẾP LED 7 ĐOẠN RỜI Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore


Thực hành vi điều khiển 20

LB:

CALL

HEXTOBCD

CALL GIAIMA_HTHI
JMP LB

HEXTOBCD:
MOV A,TL0
MOV B,#10
DIV AB
MOV 20H,B

MOV B,#10
DIV AB
MOV 21H,B
MOV 22H,A
RET
GIAIMA_HTHI:
MOV A,20H
MOVC A,@A+DPTR
MOV P0,A

MOV A,21H
MOVC A,@A+DPTR

MOV P1,A

MOV A,22H
MOVC A,@A+DPTR
MOV P2,A

RET
$INCLUDE(TV_DELAY.ASM)
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
c. Tiến hành biên dịch và nạp.
d.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài thực hành 212: Chương trình điều khiển 3 LED 7 đoạn rời hiển thị kết quả đếm của counter T0
nằm trong giới hạn từ 00 đến 99
Lưu tên file “BAI_212_DEM_XUNGNGOAI_00_99”

Bài thực hành 213: Chương trình điều khiển 3 LED 7 đoạn rời hiển thị kết quả đếm của counter T0
nằm trong giới hạn từ 00 đến 99 – khi có thêm 1 xung nữa thì quay về 1
Lưu tên file “BAI_213_DEM_XUNGNGOAI_00_99”

Bài thực hành 214: Chương trình điều khiển 3 LED 7 đoạn rời hiển thị kết quả đếm của counter T1
nằm trong giới hạn từ 00 đến 99 – khi có thêm 1 xung nữa thì quay về 1
Lưu tên file “BAI_214_DEM_XUNGNGOAI_00_99”

CHƯƠNG 3: GIAO TIẾP LED 7 ĐOẠN THEO PP QUÉT Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 21


Bài mẫu số 301: Chương trình điều khiển 8 LED 7 đoạn quét sáng 8 số từ 0 đến 7
Lưu tên file “BAI_301_HTHI_0_DEN_7”
a.Mạch điện:

b.Lưu đồ
c.Chương trình:

ANODE


EQU

P1

SSEG EQU P2

ORG 0000H
LB: MOV SSEG,#0C0H
CLR ANODE.0
CALL DELAYX
SETB ANODE.0

MOV SSEG,#0F9H
CLR ANODE.1
CALL DELAYX
SETB ANODE.1

MOV SSEG,#0A4H
CLR ANODE.2
CALL DELAYX

SETB ANODE.2

MOV SSEG,#0B0H
CLR ANODE.3
CALL DELAYX
SETB ANODE.3

MOV SSEG,#099H
CHƯƠNG 3: GIAO TIẾP LED 7 ĐOẠN THEO PP QUÉT Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 22


CLR

ANODE.4

CALL DELAYX
SETB ANODE.4

MOV SSEG,#092H
CLR ANODE.5
CALL DELAYX
SETB ANODE.5

MOV SSEG,#082H
CLR ANODE.6
CALL DELAYX
SETB ANODE.6


MOV SSEG,#0F8H
CLR ANODE.7
CALL DELAYX
SETB ANODE.7
JMP LB
DELAYX:
CALL DELAY1MS
RET

$INCLUDE(TV_DELAY.ASM)
END
d. Tiến hành biên dịch và nạp.
e.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài mẫu số 302: Chương trình điều khiển 8 LED 7 đoạn quét sáng 8 số từ 0 đến 7 –cách 2
Lưu tên file “BAI_302_HTHI_0_DEN_7_C2”
a.Lưu đồ

a.Chương trình


ANODE

EQU

P1

SSEG EQU P2
DEM EQU R4

CHƯƠNG 3: GIAO TIẾP LED 7 ĐOẠN THEO PP QUÉT Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 23


ORG 0000H
LB: MOV DPTR,#MA7DOAN
MOV DEM,#0
MOV R3,#0FEH ;MA QUET 11111110B

LB1:
MOV A,DEM
MOVC A,@A+DPTR
MOV SSEG,A

MOV ANODE,R3
CALL DELAY1MS
MOV ANODE,#0FFH ;TAT HET DE CHONG LEM

MOV A,R3
RL A
MOV R3,A
INC DEM

CJNE DEM,#8,LB1
JMP LB
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.

c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.

Bài mẫu 303: Chương trình điều khiển 8 LED 7 đoạn quét đếm giây từ 00 đến 59 hiển thị trên 2 led
Lưu tên file “BAI_303_DEM_GIAY”
a.Lưu đồ:

a.Chương trình

GIAY

EQU

R1

SSEG EQU P2
ANODE EQU P1
ORG 0H
MOV DPTR,#MA7DOAN
CHƯƠNG 3: GIAO TIẾP LED 7 ĐOẠN THEO PP QUÉT Khoa điện tử - Trường cao đẳng nghề Việt Nam Singapore

Thực hành vi điều khiển 24

LB:

MOV GIAY,#00
LB1:
CALL HEXTOBCD
CALL GIAIMA
CALL DELAY_HTHI

INC GIAY
CJNE GIAY,#60,LB1
JMP LB
HEXTOBCD:
MOV A,GIAY
MOV B,#10
DIV AB
RET
GIAIMA:
MOVC A,@A+DPTR
MOV 31H,A

MOV A,B
MOVC A,@A+DPTR
MOV 30H,A

DELAY_HTHI:
MOV 78H,#200
DELHT:
CALL HIENTHI
DJNZ 78H,DELHT
RET
HIENTHI:
MOV SSEG,30H
CLR ANODE.0
CALL DELAY1MS
SETB ANODE.0

MOV SSEG,31H
CLR ANODE.1

CALL DELAY1MS
SETB ANODE.1
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
b. Tiến hành biên dịch và nạp.
c.Quan sát kết quả hiển thị của chương trình, nếu kết quả không đúng yêu cầu đề bài thì phải
quay lại chương trình chỉnh sửa và làm lại.
Bài thực hành 304: Chương trình điều khiển 8 LED 7 đoạn quét đếm thời gian từ 00 đến 99 hiển thị
trên 2 led
Lưu tên file “BAI_304_DEM_00_99”

Bài thực hành 305: Chương trình điều khiển 8 LED 7 đoạn quét đếm thời gian từ 65 đến 00 hiển thị
trên 2 led
Lưu tên file “BAI_305_DEM_65_00”


Bài mẫu 306: Chương trình thư viện có chức năng giải mã, hiển thị phục vụ cho 8 LED 7 đoạn quét

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×