📄 adc.h.bak
字号:
#ifndef __ADC_H
#define __ADC_H
#include <pic18.h>
/****************************************************************
* CONSTANT
****************************************************************/
#define ADC_BIT_ALIGNMENT_LEFT 0
#define ADC_BIT_ALIGNMENT_RIGHT 1
#define ADC_MODE_8_BITS 1 // = Left alignment
#define ADC_MODE_10_BITS 0 // = RIght alignment
/****************************************************************
* SETTINGS - REGISTER
****************************************************************/
//register settings forPIC4455
#define ADC_CLOCK_48MHz 0x06
#define ADC_CLOCK_24MHz 0x02
#define ADC_CLOCK_20MHz 0x05
#define ADC_CLOCK_12MHz 0x05
#define ADC_CLOCK_8MHz 0x01
#define ADC_CLOCK_4MHz 0x04
#define ADC_SET_CHANNEL_MASK 0x3C //0b00111100
#define ADC_SET_ANALOG_PORT_MASK 0x0F //ob00001111
#define ADC_SET_ANALOG_PORT_MASK 0x0F //ob00001111
#define ADC_SET_CLOCK_MASK 0x07 //0b00000111
/****************************************************************
* SETTINGS
****************************************************************/
//SETTINGS, CPU frequency
#define ADC_CLOCK ADC_CLOCK_48MHz
#define ADC_DEFAULT_CH 0
#define ADC_DEFAULT_MODE ADC_MODE_8_BITS
/****************************************************************
* PUBLIC FUNCTIONS - SETTINGS
****************************************************************/
//Init ADC
void ADC_Init(void);
//Set the no. of Analog port to use
void ADC_SetAnalogPort(unsigned char port);
//Set ADC MUX Channel
void ADC_SetChannel(unsigned char ch);
//Set 8bits mode(Left alignment) / 10 bits mode(Right alignment)
void ADC_SetMode(unsigned char mode);
/****************************************************************
* PUBLIC FUNCTIONS - USE
****************************************************************/
//Start convertion
#define ADC_Convert() GODONE = 1
//Wait unit convertion finish
#define ADC_Wait() while(GODONE){;}
//Get a byte in 8 bits mode
#define ADC_GetByte() ADRESH
//Get MSB 8bits value in 10 bits mode
#define ADC_GetMSB() ADRESH
//Get LSB 8bits value in 10 bits mode
#define ADC_GetLSB() ADRESL
//Get 10 bits integer value in 10 bits mode
unsigned int ADC_GetInt(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -