?? board_8h-source.html
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>VLSI Solution Oy Evaluation MP3 Player Source Code Documentation</title><link href="doxygen.css" rel="stylesheet" type="text/css"><img src="vlsi_small.gif" hspace="20" bordercolor="#ffffff" alt="VLSI Solution Oy"><b>VLSI Solution Oy Evaluation MP3 Player Source Code Documentation</b><p></p></head><body><!-- Generated by Doxygen 1.3.7 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div><h1>board.h</h1><a href="board_8h.html">Go to the documentation of this file.</a><pre class="fragment"><div>00001 00016 <span class="preprocessor">#ifndef BOARD_H</span>00017 <span class="preprocessor"></span><span class="preprocessor">#define BOARD_H</span>00018 <span class="preprocessor"></span>00019 <span class="comment">/* Include processor definition */</span>00020 <span class="preprocessor">#include "AT89C51ED2-SFR.h"</span>00021 00022 <span class="comment">/* MP3 Player Chip Connections */</span>00023 <a name="l00025"></a><a class="code" href="board_8h.html#a0">00025</a> <span class="preprocessor">#define MP3_XRESET P2_4</span>00026 <span class="preprocessor"></span><a name="l00028"></a><a class="code" href="board_8h.html#a1">00028</a> <span class="preprocessor">#define Mp3PutInReset(){MP3_XRESET=0;}</span>00029 <span class="preprocessor"></span><a name="l00031"></a><a class="code" href="board_8h.html#a2">00031</a> <span class="preprocessor">#define Mp3ReleaseFromReset(){MP3_XRESET=1;}</span>00032 <span class="preprocessor"></span><a name="l00034"></a><a class="code" href="board_8h.html#a3">00034</a> <span class="preprocessor">#define MP3_XCS P2_3</span>00035 <span class="preprocessor"></span><a name="l00037"></a><a class="code" href="board_8h.html#a4">00037</a> <span class="preprocessor">#define Mp3SelectControl(){MP3_XCS=0;}</span>00038 <span class="preprocessor"></span><a name="l00040"></a><a class="code" href="board_8h.html#a5">00040</a> <span class="preprocessor">#define Mp3DeselectControl(){MP3_XCS=1;}</span>00041 <span class="preprocessor"></span><a name="l00043"></a><a class="code" href="board_8h.html#a6">00043</a> <span class="preprocessor">#define MP3_XDCS P2_5</span>00044 <span class="preprocessor"></span><a name="l00046"></a><a class="code" href="board_8h.html#a7">00046</a> <span class="preprocessor">#define Mp3SelectData(){MP3_XDCS=0;}</span>00047 <span class="preprocessor"></span><a name="l00049"></a><a class="code" href="board_8h.html#a8">00049</a> <span class="preprocessor">#define Mp3DeselectData(){MP3_XDCS=1;}</span>00050 <span class="preprocessor"></span>00051 00052 00053 00055 <span class="preprocessor">#ifdef PCB2</span>00056 <span class="preprocessor"></span><span class="preprocessor">#define MP3_DREQ P3_4</span>00057 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00058"></a><a class="code" href="board_8h.html#a9">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define MP3_DREQ P3_2</span>00059 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00060 <span class="preprocessor"></span>00061 <span class="comment">/* </span>00062 <span class="comment"> * LED Connections</span>00063 <span class="comment"> */</span>00064 <a name="l00066"></a><a class="code" href="board_8h.html#a10">00066</a> <span class="preprocessor">#define RED_LED P3_3</span>00067 <span class="preprocessor"></span><a name="l00069"></a><a class="code" href="board_8h.html#a11">00069</a> <span class="preprocessor">#define GREEN_LED P3_7</span>00070 <span class="preprocessor"></span><a name="l00072"></a><a class="code" href="board_8h.html#a12">00072</a> <span class="preprocessor">#define LED_ON 0</span>00073 <span class="preprocessor"></span><a name="l00075"></a><a class="code" href="board_8h.html#a13">00075</a> <span class="preprocessor">#define LED_OFF 1</span>00076 <span class="preprocessor"></span>00077 00078 <span class="comment">/*</span>00079 <span class="comment"> * Button connections</span>00080 <span class="comment"> */</span>00081 <a name="l00083"></a><a class="code" href="board_8h.html#a14">00083</a> <span class="preprocessor">#define KEY_BUTTON !(P1_2)</span>00084 <span class="preprocessor"></span><a name="l00086"></a><a class="code" href="board_8h.html#a15">00086</a> <span class="preprocessor">#define KEY_FARRIGHT !(P1_1)</span>00087 <span class="preprocessor"></span><a name="l00089"></a><a class="code" href="board_8h.html#a16">00089</a> <span class="preprocessor">#define KEY_RIGHT !(P1_0)</span>00090 <span class="preprocessor"></span><a name="l00092"></a><a class="code" href="board_8h.html#a17">00092</a> <span class="preprocessor">#define KEY_LEFT !(P1_3)</span>00093 <span class="preprocessor"></span>00095 <span class="preprocessor">#ifdef PCB2</span>00096 <span class="preprocessor"></span><span class="preprocessor">#define KEY_FARLEFT !(P3_2)</span>00097 <span class="preprocessor"></span><span class="preprocessor">#else</span><a name="l00098"></a><a class="code" href="board_8h.html#a18">00098</a> <span class="preprocessor"></span><span class="preprocessor">#define KEY_FARLEFT !(P3_4)</span>00099 <span class="preprocessor"></span><span class="preprocessor">#endif</span>00100 <span class="preprocessor"></span>00101 00102 00103 <span class="comment">/*</span>00104 <span class="comment"> * LCD Connections</span>00105 <span class="comment"> *</span>00106 <span class="comment"> * Standard LCD Module: Tianma TM161A</span>00107 <span class="comment"> *</span>00108 <span class="comment"> */</span>00109 <a name="l00111"></a><a class="code" href="board_8h.html#a19">00111</a> <span class="preprocessor">#define LCD_DATABUS P0</span>00112 <span class="preprocessor"></span><a name="l00114"></a><a class="code" href="board_8h.html#a20">00114</a> <span class="preprocessor">#define LCD_RS P2_0</span>00115 <span class="preprocessor"></span><a name="l00117"></a><a class="code" href="board_8h.html#a21">00117</a> <span class="preprocessor">#define LCD_ENABLE P2_2</span>00118 <span class="preprocessor"></span><a name="l00120"></a><a class="code" href="board_8h.html#a22">00120</a> <span class="preprocessor">#define LCD_RW 0</span>00121 <span class="preprocessor"></span><a name="l00123"></a><a class="code" href="board_8h.html#a23">00123</a> <span class="preprocessor">#define LCD_COMMAND_MODE 0</span>00124 <span class="preprocessor"></span><a name="l00126"></a><a class="code" href="board_8h.html#a24">00126</a> <span class="preprocessor">#define LCD_DATA_MODE 1</span>00127 <span class="preprocessor"></span>00128 00129 <span class="comment">/*</span>00130 <span class="comment"> * Various connections </span>00131 <span class="comment"> */</span>00132 <a name="l00134"></a><a class="code" href="board_8h.html#a25">00134</a> <span class="preprocessor">#define RSEN P2_1</span>00135 <span class="preprocessor"></span>00136 00137 00138 <span class="comment">/*</span>00139 <span class="comment"> * MMC connections </span>00140 <span class="comment"> */</span>00141 00142 <a name="l00144"></a><a class="code" href="board_8h.html#a26">00144</a> <span class="preprocessor">#define YES 1</span>00145 <span class="preprocessor"></span><a name="l00147"></a><a class="code" href="board_8h.html#a27">00147</a> <span class="preprocessor">#define NO 0</span>00148 <span class="preprocessor"></span><a name="l00150"></a><a class="code" href="board_8h.html#a28">00150</a> <span class="preprocessor">#define MMC_OFF P2_7</span>00151 <span class="preprocessor"></span><a name="l00153"></a><a class="code" href="board_8h.html#a29">00153</a> <span class="preprocessor">#define MMC_XCS P2_6</span>00154 <span class="preprocessor"></span><a name="l00156"></a><a class="code" href="board_8h.html#a30">00156</a> <span class="preprocessor">#define MMC_SELECTED 0</span>00157 <span class="preprocessor"></span><a name="l00159"></a><a class="code" href="board_8h.html#a31">00159</a> <span class="preprocessor">#define MMC_NOT_SELECTED 1</span>00160 <span class="preprocessor"></span>00161 00162 00163 00164 00165 <span class="comment">/* Utility macros */</span>00166 00167 00168 00169 <span class="comment">/* Delay system */</span>00170 00171 <a name="l00173"></a><a class="code" href="board_8h.html#a32">00173</a> <span class="preprocessor">#define ClearPCAOverflow() {CCON &= 0x7f;}</span>00174 <span class="preprocessor"></span><a name="l00176"></a><a class="code" href="board_8h.html#a33">00176</a> <span class="preprocessor">#define PCARun() {CCON |= 0x40;}</span>00177 <span class="preprocessor"></span><a name="l00179"></a><a class="code" href="board_8h.html#a34">00179</a> <span class="preprocessor">#define PCAHalt() {CCON &= 0xBF;}</span>00180 <span class="preprocessor"></span><a name="l00182"></a><a class="code" href="board_8h.html#a35">00182</a> <span class="preprocessor">#define PCAHaltAndClearOV() {CCON &= 0x3F;}</span>00183 <span class="preprocessor"></span>00184 <a name="l00186"></a><a class="code" href="board_8h.html#a36">00186</a> <span class="preprocessor">#define SetPCAValue(v) {CH = ((unsigned)(v)) >> 8; CL = (v) & 0xff;}</span>00187 <span class="preprocessor"></span><a name="l00189"></a><a class="code" href="board_8h.html#a37">00189</a> <span class="preprocessor">#define SetPCADelayValue(microseconds) {SetPCAValue(65535-(unsigned int)((microseconds)/0.4069010));}</span>00190 <span class="preprocessor"></span><a name="l00192"></a><a class="code" href="board_8h.html#a38">00192</a> <span class="preprocessor">#define InitiateDelay(microseconds) {PCAHaltAndClearOV(); SetPCADelayValue(microseconds); PCARun();}</span>00193 <span class="preprocessor"></span><a name="l00203"></a><a class="code" href="board_8h.html#a39">00203</a> <span class="preprocessor">#define WaitOutDelay(){while (!(CCON & 0x80));}</span>00204 <span class="preprocessor"></span>00205 00206 00207 <span class="comment">/* SPI macros */</span>00208 <a name="l00210"></a><a class="code" href="board_8h.html#a40">00210</a> <span class="preprocessor">#define SPISetFastClock(){SPCON=0x71;} </span><span class="comment">/* 0x73 is much slower*/</span>00211 00212 <a name="l00214"></a><a class="code" href="board_8h.html#a41">00214</a> <span class="preprocessor">#define SPIWait(){while(!(SPSTA & 0x80));;}</span>00215 <span class="preprocessor"></span><a name="l00217"></a><a class="code" href="board_8h.html#a42">00217</a> <span class="preprocessor">#define SPIPutChar(c){SPIWait();SPDAT=(c);}</span>00218 <span class="preprocessor"></span><a name="l00220"></a><a class="code" href="board_8h.html#a43">00220</a> <span class="preprocessor">#define SPIPutCharWithoutWaiting(c){SPDAT=(c);}</span>00221 <span class="preprocessor"></span><a name="l00223"></a><a class="code" href="board_8h.html#a44">00223</a> <span class="preprocessor">#define SPI_RESULT_BYTE SPDAT</span>00224 <span class="preprocessor"></span>00226 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="board_8c.html#a1">SPIGetChar</a>();00227 00229 <span class="keywordtype">void</span> <a class="code" href="board_8h.html#a48">SPI8Clocks</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> nClocks);00230 00231 00232 00234 <span class="keyword">extern</span> <span class="keyword">union </span><a class="code" href="unionTemp.html">Temp</a> {<a name="l00235"></a><a class="code" href="unionTemp.html#o0">00235</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="unionTemp.html#o0">c</a>;<a name="l00236"></a><a class="code" href="unionTemp.html#o1">00236</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="unionTemp.html#o1">i</a>;<a name="l00237"></a><a class="code" href="unionTemp.html#o2">00237</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="unionTemp.html#o2">l</a>;00238 <span class="keyword">struct </span>{<a name="l00239"></a><a class="code" href="unionTemp.html#o3">00239</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="unionTemp.html#o3">b0</a>;<a name="l00240"></a><a class="code" href="unionTemp.html#o4">00240</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="unionTemp.html#o4">b1</a>;<a name="l00241"></a><a class="code" href="unionTemp.html#o5">00241</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="unionTemp.html#o5">b2</a>;<a name="l00242"></a><a class="code" href="unionTemp.html#o6">00242</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="unionTemp.html#o6">b3</a>;00243 } b;00244 } <a class="code" href="board_8c.html#a0">temp</a>;00245 00246 00247 00248 00249 00250 <span class="comment">/* Utility functions */</span>00251 00253 <span class="keywordtype">void</span> <a class="code" href="board_8h.html#a49">Delay</a> (<span class="keywordtype">int</span> milliseconds);00254 00256 <span class="keywordtype">void</span> <a class="code" href="board_8c.html#a4">InitBoard</a>();00257 00258 00259 <a name="l00262"></a><a class="code" href="board_8h.html#a45">00262</a> <span class="preprocessor">#define Public</span>00263 <span class="preprocessor"></span>00264 00265 00266 <span class="preprocessor">#endif</span></div></pre><hr><FONT SIZE="-1">All software copyright 2000-2004 <a href="http://www.vlsi.fi/"> VLSI Solution OY.</a>Redistribution of these software modules are limited to promotional use onlyand only with the VS1011 / VS1002 / VS1003 MP3-Evakit evaluation boards. Free orcommercial use of these software modules in MP3 players is ok if theproduct includes MP3 decoder chip(s) from VLSI. You can request the complete(compilable) package from mp3@vlsi.fi</FONT>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -