📄 adc.lst
字号:
{ C:\MCC18\src\extended\pmc\ADC\adcclose.c
0001ac 90c2 BCF 0xc2,0x0,0x0 ADCON0bits.ADON = 0; C:\MCC18\src\extended\pmc\ADC\adcclose.c
0001ae 9c9d BCF 0x9d,0x6,0x0 PIE1bits.ADIE = 0; C:\MCC18\src\extended\pmc\ADC\adcclose.c
0001b0 0012 RETURN 0x0 } C:\MCC18\src\extended\pmc\ADC\adcclose.c
/* $Id: adcconv.c,v 1.1 2003/12/09 22:43:28 GrosbaJ Exp $ */ C:\MCC18\src\extended\pmc\ADC\adcconv.c
#include <p18cxxx.h> C:\MCC18\src\extended\pmc\ADC\adcconv.c
#include <adc.h> C:\MCC18\src\extended\pmc\ADC\adcconv.c
C:\MCC18\src\extended\pmc\ADC\adcconv.c
/******************************************************************** C:\MCC18\src\extended\pmc\ADC\adcconv.c
* Function Name: ConvertADC * C:\MCC18\src\extended\pmc\ADC\adcconv.c
* Return Value: void * C:\MCC18\src\extended\pmc\ADC\adcconv.c
* Parameters: void * C:\MCC18\src\extended\pmc\ADC\adcconv.c
* Description: This routine starts an A/D conversion by * C:\MCC18\src\extended\pmc\ADC\adcconv.c
* setting the GO bit. * C:\MCC18\src\extended\pmc\ADC\adcconv.c
********************************************************************/ C:\MCC18\src\extended\pmc\ADC\adcconv.c
void ConvertADC(void) C:\MCC18\src\extended\pmc\ADC\adcconv.c
{ C:\MCC18\src\extended\pmc\ADC\adcconv.c
0001b2 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO = 1; // Set the GO bit to start a conversion C:\MCC18\src\extended\pmc\ADC\adcconv.c
0001b4 0012 RETURN 0x0 } C:\MCC18\src\extended\pmc\ADC\adcconv.c
/* $Id: adcopen.c,v 1.3 2005/06/28 19:04:35 nairnj Exp $ */ C:\MCC18\src\extended\pmc\ADC\adcopen.c
#include <p18cxxx.h> C:\MCC18\src\extended\pmc\ADC\adcopen.c
#include <adc.h> C:\MCC18\src\extended\pmc\ADC\adcopen.c
C:\MCC18\src\extended\pmc\ADC\adcopen.c
/******************************************************************** C:\MCC18\src\extended\pmc\ADC\adcopen.c
* Function Name: OpenADC * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* Return Value: void * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* Parameters: config: bit definitions to configure A/D * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* channel: channel selection * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* Description: This routine first resets the A/D registers * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* to the POR state and then configures the * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* A/D clock, interrupt, justification, vref * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* source, and I/O. It also sets the channel. * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* Notes: The bit definitions for config and channel * C:\MCC18\src\extended\pmc\ADC\adcopen.c
* can be found in the adc16.h file. * C:\MCC18\src\extended\pmc\ADC\adcopen.c
********************************************************************/ C:\MCC18\src\extended\pmc\ADC\adcopen.c
#if !defined(ADC_INTERFACE_OLD) && \ C:\MCC18\src\extended\pmc\ADC\adcopen.c
!defined(__18C601) && !defined(__18C801) && \ C:\MCC18\src\extended\pmc\ADC\adcopen.c
!defined(__18C658) && !defined(__18C858) && \ C:\MCC18\src\extended\pmc\ADC\adcopen.c
!defined(__18F6520) && !defined(__18F6620) && !defined(__18F6720) && \ C:\MCC18\src\extended\pmc\ADC\adcopen.c
!defined(__18F8520) && !defined(__18F8620) && !defined(__18F8720) C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000ca cfd9 MOVFF 0xfd9,0xfe6 void OpenADC( unsigned char config, C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000cc ffe6
0000ce cfe1 MOVFF 0xfe1,0xfd9
0000d0 ffd9
unsigned char config2, C:\MCC18\src\extended\pmc\ADC\adcopen.c
unsigned char portconfig) C:\MCC18\src\extended\pmc\ADC\adcopen.c
{ C:\MCC18\src\extended\pmc\ADC\adcopen.c
// Reset A/D Registers to POR state C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000d2 6ac2 CLRF 0xc2,0x0 ADCON0 = 0; C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000d4 6ac1 CLRF 0xc1,0x0 ADCON1 = 0; C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000d6 6ac0 CLRF 0xc0,0x0 ADCON2 = 0; C:\MCC18\src\extended\pmc\ADC\adcopen.c
C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000d8 0efd MOVLW 0xfd ADCON0 = (config2 >> 1) & 0b00111100; // Analog channel selection C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000da 40db RRNCF 0xdb,0x0,0x0
0000dc 0b7f ANDLW 0x7f
0000de 0b3c ANDLW 0x3c
0000e0 6ec2 MOVWF 0xc2,0x0
0000e2 0efc MOVLW 0xfc ADCON1 = portconfig; // Port configuration C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000e4 50db MOVF 0xdb,0x0,0x0
0000e6 6ec1 MOVWF 0xc1,0x0
#if defined(__18F1220) || defined(__18F1320) C:\MCC18\src\extended\pmc\ADC\adcopen.c
ADCON0 |= (config2 << 6) & 0b11000000; // Voltage reference configuration C:\MCC18\src\extended\pmc\ADC\adcopen.c
#else C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000e8 0efd MOVLW 0xfd ADCON1 |= (config2 << 4) & 0b00110000; // Voltage reference configuration C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000ea 38db SWAPF 0xdb,0x0,0x0
0000ec 0bf0 ANDLW 0xf0
0000ee 0b30 ANDLW 0x30
0000f0 12c1 IORWF 0xc1,0x1,0x0
#endif C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000f2 0efe MOVLW 0xfe ADCON2 = config & 0b10000000; // Result format C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000f4 50db MOVF 0xdb,0x0,0x0
0000f6 0b80 ANDLW 0x80
0000f8 6ec0 MOVWF 0xc0,0x0
0000fa 0efe MOVLW 0xfe ADCON2 |= (config >> 4) & 0b00000111; // Conversion clock select C:\MCC18\src\extended\pmc\ADC\adcopen.c
0000fc 38db SWAPF 0xdb,0x0,0x0
0000fe 0b0f ANDLW 0xf
000100 0b07 ANDLW 0x7
000102 12c0 IORWF 0xc0,0x1,0x0
000104 0efe MOVLW 0xfe ADCON2 |= (config << 2) & 0b00111000; // Acquisition time select C:\MCC18\src\extended\pmc\ADC\adcopen.c
000106 50db MOVF 0xdb,0x0,0x0
000108 0d04 MULLW 0x4
00010a 50f3 MOVF 0xf3,0x0,0x0
00010c 0b38 ANDLW 0x38
00010e 12c0 IORWF 0xc0,0x1,0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -