
Cypress CY3640 USB Starter Kit
User’s Guide
Cypress Semiconductor Ver 0.993
Page 42
; Initialize results
mov a,0
mov [gbThermTempRead],a
mov [gbThermTempRead2],a
; Read Temperature request
mov a,ThermTempRead
mov [gbThermProtocol],a
; Get temperature
call ThermPortResetHigh
call ThermPortProtocolWrite
call ThermPortReadTemperature
call ThermPortResetLow
; Save results
mov a,[gbThermTempRead]
mov [gbThermTempLast],a
mov a,[gbThermTempRead2]
mov [gbThermTempLast2],a
ret
;//$PAGE
;*******************************************************************************
; ThermPortResetHigh()
; @func .
;*******************************************************************************
ThermPortResetHigh:
; Initialize mirror
iord [ThermPort]
mov [gbThermPortMirror],a
; ThermReset =1;
or a,ThermReset
mov [gbThermPortMirror],a
iowr ThermPort
ret
;*******************************************************************************
; ThermPortResetLow()
; @func .
;*******************************************************************************
ThermPortResetLow:
; ThermReset =0;
mov a,[gbThermPortMirror]
and a,~ThermReset
iowr ThermPort
ret
;*******************************************************************************
; ThermWaitForDone()
; @func Wait for indication of temperature conversion complete.
;*******************************************************************************
ThermWaitForDone:
; Read config
mov a,ThermConfigRead
call ThermPortRead
; Test flag
mov a,[gbThermPortValue]
and a,ThermControlDone
jz ThermWaitForDone
ret
;*******************************************************************************
; ThermPortWrite()
; @func Write protocol byte and value byte.
; @parm byte | A | Protocol to send.