You are on page 1of 10

Giải thuật chương trình chính:

BẮT ĐẦU

BẬT BIT TẠO CHỚP TẮT

RESET 1 BUS ( DQ = 0 500uS)

BỎ QUA TRUY CẬP ROM ( OCCH )

GHI BYTE VÀO DS18B20

CHUYỂN ĐỔI NHIỆT ĐỘ ( 44H )

GHI BYTE VÀO DS18B20

TẠO TRỄ CHỜ CHUYỂN ĐỔI ( 500mS )


KẾT HỢP QUÉT HIỂN THỊ

RESET 1 BUS ( DQ = 0 500uS)

ĐỌC DỮ LIỆU TỪ DS18B20 ( OBEH )

GHI BYTE VÀO DS18B20

ĐỔI MÃ NHỊ PHÂN TỪ DS18B20 SANG MÃ BCD

CTC TẠO TRỄ 500mS kết hợp quét led ma tran


TRE500MS:

SỐ LẦN LẶP R0=100

ĐẶT ĐỊNH THỜI 0 HOẠT ĐỘNG CHẾ ĐỘ 16 BIT

NẠP THANH GHI DINH THỜI 5mS

CHO PHÉP BỘ ĐỊNH THỜI HOẠT ĐỘNG

GỌI CTC ĐỔI MÃ BCD SANG MÃ LED MA TRẬN

Đ
BIT TẠO CHỚP
TẮT
2FH.0 = 0

GỌI CTC QUÉT LED MA TRẬN

Đ
CỜ BÁO TRÀN
TF0 = O

DỊCH PHẢI CỜ C THANH GHI A

GIẢM SỐ LẦN LẬP

S
R0=0

ĐẢO BIT TẠO CHỚP TẮT

RET
Ghi 1 byte dữ liệu vào DS18B20

GHIBYTE:

SỐ LẦN LẶP R0=8

S
ACC.0=0 XÓA DQ

Đ BẬT DQ

XÓA DQ
TẠO TRỂ 60us

TẠO TRỂ 60us

BẬT DQ

DỊCH PHẢI THANH GHI A

GIẢM SỐ LẦN LẬP

S
R0=0

RET

Đọc 1 byte dữ liệu vào DS18B20


DOCBYTE:

SỐ LẦN LẶP R0=8

XÓA DQ

BẬT DQ

NẠP C = DQ

TẠO TRỂ 60us

DỊCH PHẢI CỜ C THANH GHI A

GIẢM SỐ LẦN LẬP

S
R0=0

RET

Chuyển BIN sang thập phân BCD


DS18B20TOBCD:

NẠP THANH GHI A GIÁ TRỊ BYTE 1

S
ACC.7=1
( NHIỆT ĐỘ ÂM
) LẤY 4 BYTE CAO CỦA BYET 0

Đ
GHÉP VỚI 4 BYTE THẤP CỦA BYTE 1 VÀO A
LẤY 4 BYTE CAO CỦA BYET 0

HOÁN ĐỔI CAO THẤP THANH GHI A


GHÉP VỚI 4 BYTE THẤP CỦA BYTE 1 VÀO A

SO SÁNH A VÀ 40
HOÁN ĐỔI CAO THẤP THANH GHI A

Đ
ĐẢO BIT THANH GHI A
A >= 40

TĂNG A LÊN 1

S
CHUYỂN A SANG THẬP PHÂN
BẬT BIT TẠO CHỚP TẮT

NẠP THANH GHI A GIÁ TRỊ BYTE 0

ĐẢO BIT THANH GHI A

TĂNG A LÊN 1 CHUYỂN A SANG THẬP PHÂN

XÓA 4 BIT CAO THANH GHI A NẠP THANH GHI A GIÁ TRỊ BYTE 0

PHÀN THẬP PHÂN ( NHÂN A VỚI 0,625 ) XÓA 4 BIT CAO THANH GHI A

NẠP PHẦN TRĂM = 0BH ( DẤU TRỪ ) PHÀN THẬP PHÂN ( NHÂN A VỚI 0,625 )

RET

Chuyển A sang thập phân BCD


XLNGUYEN:

CHIA A CHO 10

NẠP PHẦN ĐƠN VỊ = SỐ DƯ B

CHIA A CHO 10

NẠP PHẦN CHỤC = SỐ DƯ B

CHIA A CHO 10

NẠP PHẦN TRĂM = SỐ DƯ B

RET

Giải thuật chương trình quét LED 4 ma trận


Sử dụng dữ liệu trong ram ( 30h – 4fh )
QL:

NẠP CÁC GIÁ TRỊ BAN ĐẦU


VỊ TRÍ DỮ LIỆU ĐẦU TIÊN R0 = 30H
MÃ QUÉT CỘT R1 = 11111110B
MÃ OFFSET R3 = 30H
SỐ LẦN LẶP R4 = 4

LẤY MẢ HIỂN THỊ TRÕ BỞI R0

GỌI CTC TRUYỀN 1 BYTE DỮ LIỆU

TĂNG VỊ TRÍ DỮ LIỆU LÊN 8

GIẢM SỐ LẦN LẶP

S
R4 = 0

NẠP LẠI SỐ LẦN LẶP R4 = 4

MỞ CHỐT THANH GHI DỊCH

SUẤT MẢ QUÉT CỘT

TẠO THỜI GIAN TRỄ

CHỐNG LEM ( MOV P2,#0FFH )

TĂNG MÃ OFFSET ( INC R3 )

NẠP LẠI VỊ TRÍ LẤY DỮ LIỆU THEO MÃ


OFFSET R0 = R3

S
ĐỦ 8 LẦN LẶP
R3 = 38H

RET

Giải thuật chương trình TRUYEN 1 BYTE DỮ LIỆU


SB:

SỐ LẦN LẶP R0 = 8

SÓA CHÂN CLOCK, SÓA CHÂN DỮ LIỆU

DỮ LIỆU = 1 BẬT CHÂN CLOCK

BẬT CHÂN DỮ LIỆU SÓA CHÂN CLOCK

BẬT CHÂN CLOCK

SÓA CHÂN CLOCK, SÓA CHÂN DỮ LIỆU

DỊCH DỮ LIỆU

GIẢM SỐ LẦN TRUYỀN

S
R0 = 0

RET

CTC Đổi mả ASII sang mã LED ma trận


BCDTOMAT:

NẠP THANH GHI A GIÁ TRỊ HÀNG TRĂM


NHIỆT ĐỘ

GỌI CTC TRODPTR

NẠP THANH GHI A GIÁ TRỊ HÀNG CHỤC


NHIỆT ĐỘ

GỌI CTC TRODPTR

NẠP THANH GHI A GIÁ TRỊ HÀNG ĐƠN VỊ


NHIỆT ĐỘ

GỌI CTC TRODPTR

NẠP CON TRÕ DỮ LIỆU DẤU CHẤM

LƯU MÃ LED MA TRẬN VÀO RAM


TĂNG R0 3 LẦN ( KÍ TỰ 3 BYTE )

NẠP THANH GHI A GIÁ TRỊ HÀNG THẬP


PHÂN NHIỆT ĐỘ

GỌI CTC TRODPTR

NẠP CON TRÕ DỮ LIỆU DẤU ĐỘ

LƯU MÃ LED MA TRẬN VÀO RAM


TĂNG R0 4 LẦN ( KÍ TỰ 4 BYTE )

NẠP CON TRÕ DỮ LIỆU KÍ HIỆU C

LƯU MÃ LED MA TRẬN VÀO RAM


TĂNG R0 5 LẦN ( KÍ TỰ 5 BYTE )

BCDTOMAT:
TRODPTR:

Đ
A=0 NẠP GIÁ TRỊ CON TRỎ DỮ LIỆU SO0

Đ
A=1 NẠP GIÁ TRỊ CON TRỎ DỮ LIỆU SO1

Đ
A=2 NẠP GIÁ TRỊ CON TRỎ DỮ LIỆU SO2

Đ
A=3 NẠP GIÁ TRỊ CON TRỎ DỮ LIỆU SO3

Đ
A=B NẠP GIÁ TRỊ CON TRỎ DỮ LIỆU DAUTRU

LƯU MÃ LED MA TRẬN CỦA KÍ TỰ VÀO RAM


TĂNG R0 5 LẦN ( KÍ TỰ 5 BYTE )

RET

You might also like