VLSI Solution Oy VLSI Solution Oy Evaluation MP3 Player Source Code Documentation

Main Page | Class List | File List | Class Members | File Members | Related Pages

board.h

Go to the documentation of this file.
00001 00016 #ifndef BOARD_H 00017 #define BOARD_H 00018 00019 /* Include processor definition */ 00020 #include "AT89C51ED2-SFR.h" 00021 00022 /* MP3 Player Chip Connections */ 00023 00025 #define MP3_XRESET P2_4 00026 00028 #define Mp3PutInReset(){MP3_XRESET=0;} 00029 00031 #define Mp3ReleaseFromReset(){MP3_XRESET=1;} 00032 00034 #define MP3_XCS P2_3 00035 00037 #define Mp3SelectControl(){MP3_XCS=0;} 00038 00040 #define Mp3DeselectControl(){MP3_XCS=1;} 00041 00043 #define MP3_XDCS P2_5 00044 00046 #define Mp3SelectData(){MP3_XDCS=0;} 00047 00049 #define Mp3DeselectData(){MP3_XDCS=1;} 00050 00051 00052 00053 00055 #ifdef PCB2 00056 #define MP3_DREQ P3_4 00057 #else 00058 #define MP3_DREQ P3_2 00059 #endif 00060 00061 /* 00062 * LED Connections 00063 */ 00064 00066 #define RED_LED P3_3 00067 00069 #define GREEN_LED P3_7 00070 00072 #define LED_ON 0 00073 00075 #define LED_OFF 1 00076 00077 00078 /* 00079 * Button connections 00080 */ 00081 00083 #define KEY_BUTTON !(P1_2) 00084 00086 #define KEY_FARRIGHT !(P1_1) 00087 00089 #define KEY_RIGHT !(P1_0) 00090 00092 #define KEY_LEFT !(P1_3) 00093 00095 #ifdef PCB2 00096 #define KEY_FARLEFT !(P3_2) 00097 #else 00098 #define KEY_FARLEFT !(P3_4) 00099 #endif 00100 00101 00102 00103 /* 00104 * LCD Connections 00105 * 00106 * Standard LCD Module: Tianma TM161A 00107 * 00108 */ 00109 00111 #define LCD_DATABUS P0 00112 00114 #define LCD_RS P2_0 00115 00117 #define LCD_ENABLE P2_2 00118 00120 #define LCD_RW 0 00121 00123 #define LCD_COMMAND_MODE 0 00124 00126 #define LCD_DATA_MODE 1 00127 00128 00129 /* 00130 * Various connections 00131 */ 00132 00134 #define RSEN P2_1 00135 00136 00137 00138 /* 00139 * MMC connections 00140 */ 00141 00142 00144 #define YES 1 00145 00147 #define NO 0 00148 00150 #define MMC_OFF P2_7 00151 00153 #define MMC_XCS P2_6 00154 00156 #define MMC_SELECTED 0 00157 00159 #define MMC_NOT_SELECTED 1 00160 00161 00162 00163 00164 00165 /* Utility macros */ 00166 00167 00168 00169 /* Delay system */ 00170 00171 00173 #define ClearPCAOverflow() {CCON &= 0x7f;} 00174 00176 #define PCARun() {CCON |= 0x40;} 00177 00179 #define PCAHalt() {CCON &= 0xBF;} 00180 00182 #define PCAHaltAndClearOV() {CCON &= 0x3F;} 00183 00184 00186 #define SetPCAValue(v) {CH = ((unsigned)(v)) >> 8; CL = (v) & 0xff;} 00187 00189 #define SetPCADelayValue(microseconds) {SetPCAValue(65535-(unsigned int)((microseconds)/0.4069010));} 00190 00192 #define InitiateDelay(microseconds) {PCAHaltAndClearOV(); SetPCADelayValue(microseconds); PCARun();} 00193 00203 #define WaitOutDelay(){while (!(CCON & 0x80));} 00204 00205 00206 00207 /* SPI macros */ 00208 00210 #define SPISetFastClock(){SPCON=0x71;} /* 0x73 is much slower*/ 00211 00212 00214 #define SPIWait(){while(!(SPSTA & 0x80));;} 00215 00217 #define SPIPutChar(c){SPIWait();SPDAT=(c);} 00218 00220 #define SPIPutCharWithoutWaiting(c){SPDAT=(c);} 00221 00223 #define SPI_RESULT_BYTE SPDAT 00224 00226 unsigned char SPIGetChar(); 00227 00229 void SPI8Clocks(unsigned char nClocks); 00230 00231 00232 00234 extern union Temp { 00235 unsigned char c; 00236 unsigned int i; 00237 unsigned long l; 00238 struct { 00239 unsigned char b0; 00240 unsigned char b1; 00241 unsigned char b2; 00242 unsigned char b3; 00243 } b; 00244 } temp; 00245 00246 00247 00248 00249 00250 /* Utility functions */ 00251 00253 void Delay (int milliseconds); 00254 00256 void InitBoard(); 00257 00258 00259 00262 #define Public 00263 00264 00265 00266 #endif

All software copyright 2000-2004 VLSI Solution OY. Redistribution of these software modules are limited to promotional use only and only with the VS1011 / VS1002 / VS1003 MP3-Evakit evaluation boards. Free or commercial use of these software modules in MP3 players is ok if the product includes MP3 decoder chip(s) from VLSI. You can request the complete (compilable) package from mp3@vlsi.fi