A SERVICE OF

logo

Cypress CY3640 USB Starter Kit
User’s Guide
Cypress Semiconductor Ver 0.993
Page 43
;*******************************************************************************
ThermPortWrite:
; Save input
mov [gbThermProtocol],a
call ThermPortResetHigh
call ThermPortProtocolWrite
call ThermPortWrite8Bits
call ThermPortResetLow
ret
;*******************************************************************************
; ThermPortRead()
; @func Write protocol byte and read value byte into gbThermPortValue.
; @parm byte | A | Protocol to send.
;*******************************************************************************
ThermPortRead:
; Save input
mov [gbThermProtocol],a
; Initialize results
mov a,0
mov [gbThermPortValue],a
call ThermPortResetHigh
call ThermPortProtocolWrite
call ThermPortRead8Bits
call ThermPortResetLow
ret
;*******************************************************************************
; ThermPortProtocolWrite()
; @func .
; @parm BYTE | gbThermProtocol | Protocol value.
;*******************************************************************************
ThermPortProtocolWrite:
mov a,[gbThermPortValue]
push a
mov a,[gbThermProtocol]
mov [gbThermPortValue],a
call ThermPortWrite8Bits
pop a
mov [gbThermPortValue],a
ret
;//$PAGE
;*******************************************************************************
; ThermPortReadTemperature()
; @func .
; @parm BYTE | gbThermTempRead | Returned read temperature (low bits).
; @parm BYTE | gbThermTempRead2 | Returned read temperature (high bit).
;*******************************************************************************
ThermPortReadTemperature:
; Setup bitmask
mov a,1
push a
pop x
mov a,8
ThermPortTempReadLoop:
push a
;*********************************************
; Tri-state data pin for input
mov a,[gbThermPortMirror]
or a,ThermData