PIC Vietnam

Go Back   PIC Vietnam > Mua bán & Trao đổi > Trao đổi ngoài luồng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trao đổi ngoài luồng Các loại vi điều khiển khác, tản mạn của các anh chàng và cô nàng kỹ thuật ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 13-12-2009, 11:33 AM   #1
quanPro
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 2
:
giao tiep voi ds18b20 (8051)

call reset_ds1820
jb p3.2,$ ; waitting ds1820 ready!
MOV p2,#'D'
LCALL write_data
MOV p2,#'S'
LCALL write_data
MOV p2,#'1'
LCALL write_data
MOV p2,#'8'
LCALL write_data
MOV p2,#'2'
LCALL write_data
MOV p2,#'0'
LCALL write_data
MOV p2,#' '
LCALL write_data
MOV p2,#'R'
LCALL write_data
MOV p2,#'E'
LCALL write_data
MOV p2,#'A'
LCALL write_data
MOV p2,#'D'
LCALL write_data
MOV p2,#'Y'
LCALL write_data
call delay1s
call delay1s

call reset_ds1820
jb p3.2,$ ; waitting ds1820 ready!
mov p2,#01h
call write_fc


MOV p2,#'N'
LCALL write_data
MOV p2,#'h'
LCALL write_data
MOV p2,#'i'
LCALL write_data
MOV p2,#'e'
LCALL write_data
MOV p2,#'t'
LCALL write_data
MOV p2,#' '
LCALL write_data
MOV p2,#'d'
LCALL write_data
MOV p2,#'o'
LCALL write_data
MOV p2,#' '
LCALL write_data
MOV p2,#'l'
LCALL write_data
MOV p2,#'a'
LCALL write_data
MOV p2,#':'
LCALL write_data
;_________________________________________________ ____-
return:
;;;;;;;;;;;;;;;;;;;;;;;command skip ROM
; push acc
mov a,#0CCh ;skip ROM
call write_byte ; write command
; pop acc
;;;;;;;;;;;;;;;;;;;;;;convert
; push acc
mov a,#044h ;convert
call write_byte ; write command
; pop acc
call reset_ds1820
jb p3.2,$ ; waitting ds1820 ready!
call delay1s
;;;;;;;;;;;;;;;;;;;;;;;command skip ROM
; push acc
mov a,#0CCh ;skip ROM
call write_byte ; write command
; pop acc
;;;;;;;;;;;;;;;;;;;;;;scrap read
; push acc
mov a,#0BEh ;read scrap
call write_byte ; write command
; pop acc
;;;;;;;;;;;;;;;;;;;;;;read temp_read 0
; push acc
call read_byte ; read byte
mov temp_read,a
; pop acc
;;;;;;;;;;;;;;reset
call reset_ds1820
jb p3.2,$ ; waitting ds1820 ready!
; call delay1s
;----------------------------------------;
;; display temperature;;;;;;;;;;;;;;;;;;;;
;----------------------------------------;
call check_temp ; tinh nhiet do va luu vao RAM
call dec_bcd ;chuyen DEC sang BCD
call display_temperature ;xuat nhiet do len LCD
jmp return

;_________________________________________________ _________________

check_temp:
mov a,temp_read
mov b,#2
div ab
mov temperature,a
mov extra,b
ret

dec_bcd:
mov a,temperature
mov b,#10
div ab
mov number3,b
mov b,#10
div ab
mov number2,b
mov number1,a
ret

display_temperature:
call init_lcd
call clear_lcd
mov a,#0d4h
call write_fc
mov a,number1 ;display number 1
cjne a,#0,ml0
jmp ml1
ml0:
add a,#30h
mov p2,a
call write_data
ml1:
mov a,number2 ;display number 2
add a,#30h
mov p2,a
call write_data
mov a,number3 ;display number 3
add a,#30h
mov p2,a
call write_data
nhayqua2: mov a,#'.'
mov p2,a
call write_data
mov a,extra
cjne a,#1,end1
mov p2,#35h
ll: call write_data
mov p2,#0dfh
call write_data
mov p2,#'C'
call write_data
ret
end1:
mov p2,#30h
jmp ll


reset_ds1820:
clr c
mov p3.2,c
call delay120us
call delay120us
call delay120us
call delay120us
call delay120us
setb c
mov p3.2,c
call delay60us
ret

write_0:
clr c
mov p3.2,c ;clear p3.2
call delay60us
setb p3.2 ;set p3.2
call delay5us
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
write_1:
clr c
mov p3.2,c ;clear p3.2
call delay5us
setb p3.2 ;set p3.2
call delay60us
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
write_byte:
mov r0,#8
looop1: rrc a
jc bit_1
call write_0
looop: setb p3.2
djnz r0,looop1
ret
bit_1: call write_1
jmp looop
read_bit:
clr p3.2
nop
nop
setb p3.2
nop
nop
nop
nop
nop
nop
nop
nop
mov c,p3.2
call delay120us
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;
read_byte:
mov r0,#8
next: call read_bit
rrc a
setb p3.2
djnz r0,next
ret
__________________________________________________ ________
LCD da xuat ra duoc dong chu"DS1820 READY " va'nhiet do la:' ok theo y minh roi.tuy nhien nhiet do hien ra la 00.0 do C.hinh nhu chua doc duoc con ds ve.mong may ban help jup (xem ki jup minh phan read_byte va write_byte vi minh so phan dap ung xung ko dung cho con ds ).thanks.
quanPro vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:55 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam