Chương trình đo nhiệt độ
Trang 1Đọc nhiệt độ môi trường từ ADC
Có phím ấn không
I, Lưu đồ thuật toán
Y N
Đọc nhiệt độ từ bàn phím
Hiển thị ra LED
END
Hiển thị ra LED
Trang 2II, 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
lieu phim 1 tro lai a
swap a ;dao len 4 bit cao add a,r1 ;cong voi phim hang don vi
Trang 3cho_nha_phim2: jb p3.4 , cho_nha_phim2
r7
; -DOC NHIET DO TU ADC - XUAT RA 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
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
nhiet do ra cong P0
Trang 4; -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
Trang 5cjne 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
Trang 6III, Sơ đồ mạch