DS1620温度芯片与8751芯片连接代码
扫描二维码
随时随地手机看文章
; Full Version for 87C51FA 8K MICro from -67 to 257 degrees F.
;
; ASSEMBLEDWITH METALINKS ASM51.EXE
;
; Project: ( Thermostat ), And DS1620ChipProgrammer.
;SOFtware For Control & Use of DS1620
; Digital Thermometer & Thermostat I.C
; Microcontroller ( P87C51FADIP)
; 11.0592 MHzCrystal
;LCD= { 20 X 4 }
; Port connections as follows.
; Copyright (C) 1998 B. Reynolds EleCTRonics
;
; MicroPIN# TO LCD Pin# Micro Pin# TO DS1620 Pin# LCD Pin#
; p1.0 #1 ----> db0 #7 p3.0 #10 ----> DQ #1 GND #1
; p1.1 #2 ----> db1 #8 p3.1 #11 ----> CLK/CONV #2 VCC #2
; p1.2 #3 ----> db2 #9 p3.2 #12 ----> RST #3 VR #3
; p1.3 #4 ----> db3 #10 p3.3 #13 -------------------> RS #4
; p1.4 #5 ----> db4 #11 p3.4 #14 -------------------> R/W #5
; p1.5 #6 ----> db5 #12 p3.5 #15 -------------------> E #6
; p1.6 #7 ----> db6 #13 DS1620 PIN#
; p1.7 #8 ----> db7 #14 GND #4
; VCC #8
; **********************************************************************
; * User Data Entry Buttons As Follows *
; * *
; * p2.0 = Up : increment temperature setting + display. *
; * p2.1 = Down : decrement temperature setting + display. *
; * p2.2 = Enter : Enter key accepts entry goes to next function.*
; * p2.3 = Stand Alone : Sets DS1620 up for stand alone thermostat *
; * ; operation. *
; * p2.4 = Display : Display high & low 1620 programmed settings. *
; * p2.5 = Mode : Change from ( program ) mode to ( display ) *
; * ; mode. *
; * p2.5 is a slide switch, All others are N.O. Momentary Contact. *
; * *
; **********************************************************************
;
;
;
; Setup Equates Table Here, Inform Assembler of Constants
lcd_data equ 090h
config equ 38h
entrymode equ 6
offcur equ 0ch
linecur equ 0eh
homecur equ 02h
clrDSP equ 01h
offdsp equ 0ah
ondsp equ 0eh
sbuf equ 99h
ren equ 9ch
ri equ 98h
ti equ 99h
lcd_rs equ 0b3h
lcd_rw equ 0b4h
lcd_e equ 0b5h
th_lsb data 30h
th_msb data 31h
tl_lsb data 32h
tl_msb data 33h
b equ 0f0h
p2 equ 0a0h
p3 equ 0b0h
acc equ 0e0h
dph equ 83h
dpl equ 82h
org 0 ; Establish Reset Vector Here
Hello:
lcall resetlcd
lcall initlcd
bsp; mov a,#1
mov b,#0
lcall placecur
lcall prtlcd
db ' --** DS1620 **-- ',0
mov r4,#offcur
lcall wrlcdcom
mov a,#2
mov b,#0
lcall placecur
lcall prtlcd
db ' PROGRAMMER ',0
mov r4,#offcur
lcall wrlcdcom
mov a,#3
mov b,#0
lcall placecur
lcall prtlcd
db ' ',0
mov a,#4
mov b,#0
lcall placecur
lcall prtlcd
db ' { VERSION 1.0 } ',0
lcall big_delay2
lcall big_delay2