单片机的软件

源代码在线查看: ads7870_8h-source.html

软件大小: 1624 K
上传用户: quanliao77
关键词: 单片机 软件
下载地址: 免注册下载 普通下载 VIP

相关代码

												Procyon AVRlib: ads7870.h Source File																Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals				ads7870.hGo to the documentation of this file.00001 /*! \file ads7870.h \brief TI ADS7870 12-bit 8ch A/D Converter Driver Library. */				00002 //*****************************************************************************				00003 //				00004 // File Name    : 'ads7870.h'				00005 // Title        : TI ADS7870 12-bit 8ch A/D Converter Driver Library				00006 // Author       : Pascal Stang - Copyright (C) 2005				00007 // Created      : 2005.07.19				00008 // Revised      : 2005.07.21				00009 // Version      : 0.1				00010 // Target MCU   : Atmel AVR Series				00011 // Editor Tabs  : 4				00012 //				00013 // NOTE: This code is currently below version 1.0, and therefore is considered				00014 // to be lacking in some functionality or documentation, or may not be fully				00015 // tested.  Nonetheless, you can expect most functions to work.				00016 //				00017 // This code is distributed under the GNU Public License				00018 //      which can be found at http://www.gnu.org/licenses/gpl.txt				00019 //				00020 /// \ingroup driver_hw				00021 /// \defgroup ads7870 TI ADS7870 SPI A/D Converter Driver (ads7870.c)				00022 /// \code #include "ads7870.h" \endcode				00023 /// \par Overview				00024 ///     This library provides high-level functions for accessing the Texas				00025 ///     Instruments ADS7870 I2C A/D Converter.				00026 ///				00027 ///     The basic specs of the ADS7870 are:				00028 ///     - Fast SPI interface (up to 20MHz)				00029 ///     - 12-bit results				00030 ///     - 8 single-ended or 4 differential input channels				00031 ///     - Programmable gain stage (1,2,4,5,8,10,16,20x gains)				00032 ///     - Software or hardware triggered conversion				00033 ///     - 4-bit auxiliary digital I/O lines (controlled via serial interface)				00034 ///     - Up to 50KHz conversion rate				00035 ///     - External reference or internal 2.5V, 2.048V, 1.15V reference				00036 ///     - NOTE: use pin-compatible ADS7871 for 14-bit results				00037 //				00038 //*****************************************************************************				00039 //@{				00040 				00041 #ifndef ADS7870_H				00042 #define ADS7870_H				00043 				00044 #include "global.h"				00045 				00046 // constants/macros/typdefs				00047 #define ADS7870_CS_PORT         PORTB				00048 #define ADS7870_CS_DDR          DDRB				00049 #define ADS7870_CS_PIN          PB0				00050 				00051 // instruction bit defines				00052 #define ADS7870_CONVERT         0x80				00053 				00054 #define ADS7870_REG_READ        0x40				00055 #define ADS7870_REG_WRITE       0x00				00056 #define ADS7870_REG_16BIT       0x20				00057 				00058 // register addresses				00059 #define ADS7870_RESULTLO        0x00				00060 #define ADS7870_RESULTHI        0x01				00061 #define ADS7870_PGAVALID        0x02				00062 #define ADS7870_ADCTRL          0x03				00063 #define ADS7870_GAINMUX         0x04				00064 #define ADS7870_DIGIOSTATE      0x05				00065 #define ADS7870_DIGIOCTRL       0x06				00066 #define ADS7870_REFOSC          0x07				00067 #define ADS7870_SERIFCTRL       0x18				00068 #define ADS7870_ID              0x1F				00069 				00070 // register bit defines				00071 #define ADS7870_RESULTLO_OVR    0x01				00072 				00073 #define ADS7870_ADCTRL_BIN      0x20				00074 #define ADS7870_ADCTRL_RMB1     0x08				00075 #define ADS7870_ADCTRL_RMB0     0x04				00076 #define ADS7870_ADCTRL_CFD1     0x02				00077 #define ADS7870_ADCTRL_CFD0     0x01				00078 				00079 #define ADS7870_GAINMUX_CNVBSY  0x80				00080 				00081 #define ADS7870_REFOSC_OSCR     0x20				00082 #define ADS7870_REFOSC_OSCE     0x10				00083 #define ADS7870_REFOSC_REFE     0x08				00084 #define ADS7870_REFOSC_BUFE     0x04				00085 #define ADS7870_REFOSC_R2V      0x02				00086 #define ADS7870_REFOSC_RBG      0x01				00087 				00088 #define ADS7870_SERIFCTRL_LSB   0x01				00089 #define ADS7870_SERIFCTRL_2W3W  0x02				00090 #define ADS7870_SERIFCTRL_8051  0x04				00091 				00092 #define ADS7870_ID_VALUE        0x01				00093 				00094 // gain defines				00095 #define ADS7870_GAIN_1X         0x00				00096 #define ADS7870_GAIN_2X         0x10				00097 #define ADS7870_GAIN_4X         0x20				00098 #define ADS7870_GAIN_5X         0x30				00099 #define ADS7870_GAIN_8X         0x40				00100 #define ADS7870_GAIN_10X        0x50				00101 #define ADS7870_GAIN_16X        0x60				00102 #define ADS7870_GAIN_20X        0x70				00103 // channel defines				00104 #define ADS7870_CH_0_1_DIFF     0x00				00105 #define ADS7870_CH_2_3_DIFF     0x01				00106 #define ADS7870_CH_4_5_DIFF     0x02				00107 #define ADS7870_CH_6_7_DIFF     0x03				00108 #define ADS7870_CH_1_0_DIFF     0x04				00109 #define ADS7870_CH_3_2_DIFF     0x05				00110 #define ADS7870_CH_5_4_DIFF     0x06				00111 #define ADS7870_CH_7_6_DIFF     0x07				00112 #define ADS7870_CH_SINGLE_ENDED 0x08				00113 #define ADS7870_CH_0            0x08				00114 #define ADS7870_CH_1            0x09				00115 #define ADS7870_CH_2            0x0A				00116 #define ADS7870_CH_3            0x0B				00117 #define ADS7870_CH_4            0x0C				00118 #define ADS7870_CH_5            0x0D				00119 #define ADS7870_CH_6            0x0E				00120 #define ADS7870_CH_7            0x0F				00121 				00122 // functions				00123 				00124 //! Initialize the ADS7870 chip.				00125 /// Returns:				00126 /// TRUE if successful, 				00127 /// FALSE if unsuccessful (chip not responding).				00128 u08 ads7870Init(void);				00129 				00130 //! Begin single-ended conversion on given logical channel#0-7, and return result.				00131 /// \note Result is returned left-justified.				00132 s16 ads7870Convert(u08 channel);				00133 				00134 //! Begin differential conversion on given channel pair, and return result.				00135 /// \note Result is returned left-justified.				00136 s16 ads7870ConvertDiff(u08 channel);				00137 				00138 //! Begin conversion on given raw channel#, and return result.				00139 /// \note Result is returned left-justified.				00140 s16 ads7870ConvertRaw(u08 channel);				00141 				00142 //! Read value from ADS7870 register.				00143 ///				00144 u08 ads7870ReadReg(u08 reg);				00145 				00146 //! Write value into ADS7870 register.				00147 ///				00148 void ads7870WriteReg(u08 reg, u08 value);				00149 				00150 				00151 				00152 #endif				00153 //@}				Generated on Mon Aug 22 04:29:27 2005 for Procyon AVRlib by 								 1.4.2 															

相关资源