117 lines
6.1 KiB
HTML
117 lines
6.1 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="6" MadCap:lastHeight="94" MadCap:lastWidth="853" MadCap:disableMasterStylesheet="true" MadCap:tocPath="" MadCap:InPreviewMode="false" MadCap:PreloadImages="false" MadCap:RuntimeFileType="Topic" MadCap:TargetType="WebHelp" lang="en-us" xml:lang="en-us" MadCap:PathToHelpSystem="../../../" MadCap:HelpSystemFileName="Default.xml" MadCap:SearchType="Stem">
|
|
<head><title>OWIN / OWOUT Example</title>
|
|
<link href="../../SkinSupport/MadCap.css" rel="stylesheet" />
|
|
<link href="../../Resources/Stylesheets/BSE_Help.css" rel="stylesheet" />
|
|
<script src="../../SkinSupport/MadCapAll.js" type="text/javascript">
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h1>OWIN / OWOUT Example</h1>
|
|
<div class="ImagePlusCaption">
|
|
<div class="Col2">
|
|
<p>
|
|
<img src="../../graphics/pgm_icon2p.gif" border="0" alt="BS2p icon" title="BS2p icon" />
|
|
<img src="../../graphics/pgm_icon2pe.gif" border="0" alt="BS2pe icon" title="BS2pe icon" />
|
|
<img src="../../graphics/pgm_icon2px.gif" border="0" alt="BS2px icon" title="BS2px icon" />
|
|
</p>
|
|
</div>
|
|
<p style="text-align: right;">Syntax: <a href="../Commands/OWIN.htm" target="" title="" alt="" class="MCXref_0" xrefformat="{paratext}">OWIN</a>, <a href="../Commands/OWOUT.htm" target="" title="" alt="" class="MCXref_0" xrefformat="{paratext}">OWOUT</a></p>
|
|
<p> </p>
|
|
</div>
|
|
<p class="clear"> </p>
|
|
<p class="PlainText"> </p>
|
|
<p class="PlainText">This program uses a Dallas Semiconductor DS1820 Digital Thermometer device connected as follows. Note that the 4.7 kΩ pull-up resistor is required for proper operation.</p>
|
|
<p class="PlainText" style="text-align: center;">
|
|
<img src="../../graphics/ds1820_sch.gif" />
|
|
</p>
|
|
<p>NOTE: This is written for the BS2p and will also run on the BS2pe and BS2px. Modify the $STAMP directive (as required) before downloading to the BS2pe or BS2px.</p><pre class="BScode" xml:space="preserve">' OWIN_OWOUT.BSP
|
|
' This program demonstrates interfacing to a Dallas Semiconductor DS1822
|
|
' 1-Wire Digital Thermometer chip using the BS2p's 1-Wire commands. Connect
|
|
' the BS2p/BS2pe/BS2px to the DS1822 as shown in the diagram in the OWIN or
|
|
' OWOUT command description. This program uses a simplified approach that
|
|
' ignores the fractional portion of the temperature.
|
|
|
|
' {$STAMP BS2p}
|
|
' {$PBASIC 2.5}
|
|
|
|
DQ PIN 0 ' 1-Wire buss pin
|
|
|
|
RdROM CON $33 ' read serial number
|
|
MatchROM CON $55 ' match SN -- for multiple devices
|
|
SkipROM CON $CC ' ignore SN -- use for one device
|
|
CvrtTmp CON $44 ' start temperature conversion
|
|
RdSP CON $BE ' read DS1822 scratchpad
|
|
|
|
tempIn VAR Word ' raw temperature
|
|
sign VAR tempIn.BIT11 ' 1 = negative temperature
|
|
tLo VAR tempIn.BYTE0
|
|
tHi VAR tempIn.BYTE1
|
|
tSign VAR Bit ' saved sign bit
|
|
tempC VAR Word ' final Celsius temp
|
|
tempF VAR Word ' final Fahrenheit temp
|
|
|
|
|
|
Main:
|
|
DO
|
|
GOSUB Get_Temperature ' read temperature from DS1822
|
|
DEBUG HOME, ' display
|
|
"DS1822", CR,
|
|
"------", CR,
|
|
SDEC tempC, " C ", CR,
|
|
SDEC tempF, " F "
|
|
PAUSE 1000
|
|
LOOP
|
|
END
|
|
|
|
Get_Temperature:
|
|
OWOUT DQ, 1, [SkipROM, CvrtTmp] ' send convert temperatrue command
|
|
DO ' wait on conversion
|
|
PAUSE 25 ' small loop pad
|
|
OWIN DQ, 4, [tempIn] ' check status (bit transfer)
|
|
LOOP UNTIL (tempIn) ' 1 when complete
|
|
OWOUT DQ, 1, [SkipROM, RdSP] ' read DS1822 scratchpad
|
|
OWIN DQ, 2, [tLo, tHi] ' get raw temp data
|
|
tSign = sign ' save sign bit
|
|
tempC = tempIn >> 4 ' round to whole degrees
|
|
tempC.BYTE1 = $FF * tSign ' correct 2's compliment bits
|
|
tempF = (ABS tempC) * 9 / 5 ' start F conversion
|
|
IF (tSign) THEN ' finish F conversion
|
|
tempF = 32 - tempF ' C was negative
|
|
ELSE
|
|
tempF = tempF + 32 ' C was positive
|
|
ENDIF
|
|
RETURN
|
|
</pre>
|
|
<div class="Col2">
|
|
<div class="MasterFoot">
|
|
<p MadCap:conditions="BSEconditions.BSEWebHelp (Primary)-INCLUDE"><a href="../../HomeTopics/HomePage.htm">Go to Welcome page</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="Col2">
|
|
<div class="MasterFoot">
|
|
<p style="text-align: right;"><span class="ContactInfoProjectName">BASIC Stamp Help</span> <![CDATA[ ]]><span class="ContactInfoVersion#">Version 2.5.4</span> <![CDATA[ ]]></p>
|
|
<p style="text-align: right;">Copyright © <span class="ContactInfoCompanyName">Parallax Inc.</span></p>
|
|
<p style="text-align: right;"><span class="SystemShortDate">8/8/2012</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">/* <![CDATA[ */
|
|
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-285614-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
})();
|
|
|
|
/* ]]> */</script>
|
|
<script type="text/javascript" src="../../SkinSupport/MadCapBodyEnd.js">
|
|
</script>
|
|
</body>
|
|
</html> |