Tải bản đầy đủ (.docx) (6 trang)

Chương trình đo nhiệt độ

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 (74.17 KB, 6 trang )

START
Đọc nhiệt độ từ bàn phím
Có phím ấn không
Hiển thị ra LEDĐọc nhiệt độ môi trường từ ADCHiển thị ra LEDEND
I, Lưu đồ thuật toán
Y
N
II, Phần mềm
ORG 00H
mov p2,#00H
mov p1,#0ffh
main:
;--------------------------DAT NHIET DO TU BAN PHIM -------------------------------
nhap_phim1:
jnb p3.4 , READ_ADC ;kiem tra xem co nhan phim khong?
mov a,p3 ;chuyen du lieu phim an thu 1 vao thanh ghi a
anl a,#00001111b ;loc bo 4 bit cao khong dung den
acall quet_phim ;kiem tra phim gi
mov b,r1 ;tam thoi chuyen du lieu vao thanh ghi b
cho_nha_phim1: jb p3.4 , cho_nha_phim1 ;doi phim an nha ra
nhap_phim_2:jnb p3.4 , nhap_phim_2 ;nhap phim thu 2
nhap_phim2 :
mov a,p3
anl a,#00001111b
acall quet_phim
mov a,b ;chuyen du
lieu phim 1 tro lai a
swap a ;dao len 4 bit cao
add a,r1 ;cong voi phim hang don vi
cho_nha_phim2: jb p3.4 , cho_nha_phim2
mov r7,a ;luu vao thanh ghi


r7
mov p2,r7 ;xuat ra led
;-----------------------DOC NHIET DO TU ADC - XUAT RA LED---------------------
READ_ADC:
setb p3.5 ;tao xung START va ALE
cho ADC
clr p3.5
cho_biendoi: jnb p3.6 ,cho_biendoi ;doi xung EOC
setb p3.7 ;tao xung OE
nop
nop
mov a,p1 ;chuyen du lieu tu ADC vao a
mov b,#10
div ab ;chia a cho b,lay phan nguyen vao a
swap a ; dao phan nguyen len 4
bit cao
mov r3,b ;chuyen phan du vao r3
add a,r3 ;cong phan nguyen va phan du
mov r6,a ;luu du lieu vao r6
clr p3.7 ; dua xung OE ve muc 0
mov p0,r6 ;xuat du lieu nhiet
do ra cong P0
;--------------------------------Lap chuong trinh
sjmp main ;lap lai chuong trinh
;---------------------------------chuong trinh TRA_MA--------------------------------------
quet_phim:
cjne a,#0,next2
mov r1,#1 ;neu an phim 1
jmp ket_thuc
next2:

cjne a,#1,next3
mov r1,#2 ;neu an phim 2
jmp ket_thuc
next3:
cjne a,#2,next4
mov r1,#3 ;neu an phim 3
jmp ket_thuc
next4:
cjne a,#4,next5
mov r1,#4 ;neu an phim 4
jmp ket_thuc
next5:
cjne a,#5,next6
mov r1,#5 ;neu an phim 5
jmp ket_thuc
next6:
cjne a,#6,next7
mov r1,#6 ;neu an phim 6
jmp ket_thuc
next7:
cjne a,#8,next8
mov r1,#7 ;neu an phim 7
jmp ket_thuc
next8:
cjne a,#9,next9
mov r1,#8 ;neu an phim 8
jmp ket_thuc
next9:
cjne a,#10,next0 ;neu an phim 9
mov r1,#9

jmp ket_thuc
next0:
mov r1,#0
ket_thuc:
RET
;---------------------------------------------------------------------------------------------------
END

×