⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_ref.lst

📁 该程序是mcp2510通信例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM 02.20.15 Intermediate   CAN_REF.ASM   2-8-2000  13:27:59         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00001 ;*******************************************************************
                    00002 ; Microchip CAN Reference Design
                    00003 ;
                    00004 ; Mike Richitelli
                    00005 ; Diversified Engineering
                    00006 ; 283 Indian River Road
                    00007 ; Orange, CT 06477
                    00008 ; (203)799-7875 fax(203)799-7892
                    00009 ; WWW.DIVERSIFIEDENGINEERING.NET 
                    00010 ;
                    00011 ;*******************************************************************
                    00012 ;*******************************************************************
                    00013 
                    00014           TITLE " CAN_Ref Design "
                    00015 
                    00016 ;*******************************************************************
                    00017 
  00000001          00018 dVersion       equ  1
  00000005          00019 dRelease       equ  5
                    00020 
                    00021 ;======================================================================
                    00022 ; Transmits CAN message every 131 mSec.  Message contains two data bytes
                    00023 ;         that represent a 12 bit value with least significant byte
                    00024 ;         sent first.
                    00025 ; Cycles between three outputs:
                    00026 ;         Pot:  Value goes from 0 to 0xFF0 as Pot is turned clockwise.
                    00027 ;               ID is selected from DIP switches #3 and #4 as follows:
                    00028 ;                   #3 #4  ID
                    00029 ;                   0  0   transmission disabled 
                    00030 ;                   0  1   0x100
                    00031 ;                   1  0   0x200
                    00032 ;                   1  1   0x300
                    00033 ;
                    00034 ;         Push button switch: Switch open => 0, Switch closed => 0xFFF   
                    00035 ;               ID is Pot ID + 0x010
                    00036 ;
                    00037 ;         CdS:  Value goes from 0 to 0xFF0 as Pot is turned clockwise.
                    00038 ;               ID is Pot ID + 0x020
                    00039 ;
                    00040 ; CAN messages received are assumed to be 12 bit data sent as two bytes, 
                    00041 ;         least significant byte first.
                    00042 ;
                    00043 ;         The base ID for receiving CAN messages is specified by DIP 
                    00044 ;         switches #1 and #2:
                    00045 ;                   #1 #2  ID
                    00046 ;                   0  0   0x000
                    00047 ;                   0  1   0x100
                    00048 ;                   1  0   0x200
                    00049 ;                   1  1   0x300
                    00050 ;
                    00051 ;         Lamp: If the message ID matches the ID selected by the DIP 
                    00052 ;               switches the 12 bit data is used to generate a PWM output 
                    00053 ;               where a 0 value gives a zero duty cycle and 0xFFF generates 
MPASM 02.20.15 Intermediate   CAN_REF.ASM   2-8-2000  13:27:59         PAGE  2
 CAN_Ref Design 

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00054 ;               a 100% duty cycle.  The lamp output is proportional to
                    00055 ;               the duty cycle.
                    00056 ;               ID is Base ID
                    00057 ;
                    00058 ;         LED: On if value received is >= 0x800 and off if < 0x800.
                    00059 ;               ID is Base ID + 0x010
                    00060 ;
                    00061 ;======================================================================
                    00062 
                    00063 ;----- PIC16F876 Micro -----;
                    00064 
                    00065           LIST P=16F876
                    00066           LIST r=dec,x=on,t=off
                    00067 
                    00068 #include "P16F876.INC"
                    00001         LIST
                    00002 ; P16F876.INC  Standard Header File, Version 1.00    Microchip Technology, Inc.
                    00358         LIST
                    00069 
2007 3F72           00070   __CONFIG _BODEN_ON&_CP_OFF&_WRT_ENABLE_ON&_PWRTE_ON&_WDT_OFF&_HS_OSC&_DEBUG_OFF&_CPD_OFF&_LVP_OFF
2000 0000 0001 0000 00071   __IDLOCS (dVersion<<8)|dRelease  ; version: vvrr , vv- version, rr - release
     0005 
                    00072 
                    00073 ;---------------------------;
                    00074 
                    00075 #include "MACROS16.INC"
                    00001 ;Basic macros for PIC16C series
                    00002 ;6/20/98
                    00003 
                    00004 #ifdef __16C77
                    00005 #define _COMMONBANK  ; use common upper 16 bytes in 4 banks
                    00006 #endif
                    00007 #ifdef __16C76
                    00008 #define _COMMONBANK  ; use common upper 16 bytes in 4 banks
                    00009 #endif
                    00010 
  00000001          00011 TRUE            equ     1
  00000000          00012 FALSE           equ     0  
                    00013 
                    00014 ; Page 1 register definitions to avoid page warning
                    00015 
  00000001          00016 OPTION_REG_P                 EQU     H'0081'-0x80
  00000005          00017 TRISA_P                      EQU     H'0085'-0x80
  00000006          00018 TRISB_P                      EQU     H'0086'-0x80
  00000007          00019 TRISC_P                      EQU     H'0087'-0x80
  00000008          00020 TRISD_P                      EQU     H'0088'-0x80
  00000009          00021 TRISE_P                      EQU     H'0089'-0x80
  0000000C          00022 PIE1_P                       EQU     H'008C'-0x80
  0000000D          00023 PIE2_P                       EQU     H'008D'-0x80
  0000000E          00024 PCON_P                       EQU     H'008E'-0x80
  00000012          00025 PR2_P                        EQU     H'0092'-0x80
  00000013          00026 SSPADD_P                     EQU     H'0093'-0x80
  00000014          00027 SSPSTAT_P                    EQU     H'0094'-0x80
MPASM 02.20.15 Intermediate   CAN_REF.ASM   2-8-2000  13:27:59         PAGE  3
 CAN_Ref Design 

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

  00000018          00028 TXSTA_P                      EQU     H'0098'-0x80
  00000019          00029 SPBRG_P                      EQU     H'0099'-0x80
  0000001F          00030 ADCON1_P                     EQU     H'009F'-0x80
                    00031 
                    00032 
                    00033 
                    00034 ; Special register bit definition pairs
                    00035 
                    00036 ;     STATUS bit definitions
                    00037 
                    00038 #define _C              STATUS,0
                    00039 #define _DC             STATUS,1
                    00040 #define _Z              STATUS,2
                    00041 #define _PD             STATUS,3
                    00042 #define _TO             STATUS,4
                    00043 #define _RP0            STATUS,5
                    00044 #define _RP1            STATUS,6
                    00045 #define _IRP            STATUS,7
                    00046 
                    00047 
                    00048 #define _INTE       INTCON,INTE   ; External interrupt enable 
                    00049 #define _INTF       INTCON,INTF   ; External interrupt flag
                    00050 #define _RBIE       INTCON,RBIE   ; Port B pins 4-7 edge interrupt enable 
                    00051 #define _RBIF       INTCON,RBIF   ; Port B pins 4-7 edge interrupt flag
                    00052 #define _T0IE       INTCON,T0IE   ; Timer 0 interrupt enable 
                    00053 #define _T0IF       INTCON,T0IF   ; Timer 0 interrupt flag
                    00054 
                    00055 #define _CCP1IE_P   PIE1_P,CCP1IE ; Timer 1 compare int enable (page 1)
                    00056 #define _CCP1IF     PIR1,CCP1IF   ; Timer 1 compare int flag
                    00057 
                    00058 #define _RCIE_P     PIE1_P,RCIE   ; async rec interrupt enable (page 1)
                    00059 #define _RCIF       PIR1,RCIF     ; async rec interrupt flag
                    00060 
                    00061 #define _TXIE_P     PIE1_P,TXIE   ; async xmit interrupt enable (page 1)
                    00062 #define _TXIF       PIR1,TXIF     ; async xmit interrupt flag
                    00063 
                    00064 #define _SSPIE_P    PIE1_P,SSPIE  ; SSP int enable (page 1)
                    00065 #define _SSPIF      PIR1,SSPIE    ; SSP interrupt flag
                    00066 
                    00067 #define _TMR1IE_P   PIE1_P,TMR1IE ; Timer 1 enable (page 1)
                    00068 #define _TMR1IF     PIR1,TMR1IF   ; Timer1 interrupt flag
                    00069 
                    00070 #define _TMR2IE_P   PIE1_P,TMR2IE ; Timer 2 enable (page 1)
                    00071 #define _TMR2IF     PIR1,TMR2IF   ; Timer2 interrupt flag
                    00072 
                    00073 #ifdef _COMMONBANK ; use common upper 16 bytes in 4 banks
                    00074 
                    00075 PAGE3   macro   
                    00076         bsf     PCLATH,4
                    00077         bsf     PCLATH,3
                    00078         endm
                    00079 
                    00080 PAGE2   macro
MPASM 02.20.15 Intermediate   CAN_REF.ASM   2-8-2000  13:27:59         PAGE  4
 CAN_Ref Design 

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00081         bsf     PCLATH,4
                    00082         bcf     PCLATH,3
                    00083         endm
                    00084 
                    00085 PAGE1   macro   
                    00086         bcf     PCLATH,4
                    00087         bsf     PCLATH,3
                    00088         endm
                    00089 
                    00090 PAGE0   macro
                    00091         bcf     PCLATH,4
                    00092         bcf     PCLATH,3
                    00093         endm
                    00094 
                    00095 
                    00096 BANK3   macro
                    00097         bsf     STATUS,6
                    00098         bsf     STATUS,5
                    00099         endm
                    00100 
                    00101 BANK2   macro
                    00102         bsf     STATUS,6
                    00103         bcf     STATUS,5
                    00104         endm
                    00105 
                    00106 BANK1   macro
                    00107         bcf     STATUS,6
                    00108         bsf     STATUS,5
                    00109         endm
                    00110 
                    00111 BANK0   macro
                    00112         bcf     STATUS,6
                    00113         bcf     STATUS,5
                    00114         endm
                    00115 
                    00116 
                    00117 FSRBank23 macro
                    00118         bsf     STATUS,7
                    00119         endm
                    00120 
                    00121 FSRBank01 macro
                    00122         bcf     STATUS,7
                    00123         endm
                    00124 #else
                    00125 
                    00126 
                    00127 PAGE1   macro   
                    00128         bsf     PCLATH,3
                    00129         endm
                    00130 
                    00131 PAGE0   macro
                    00132         bcf     PCLATH,3
                    00133         endm
MPASM 02.20.15 Intermediate   CAN_REF.ASM   2-8-2000  13:27:59         PAGE  5
 CAN_Ref Design 

LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00134 
                    00135 BANK0   macro
                    00136         bcf     STATUS,5    ; Select page 0
                    00137         endm
                    00138 
                    00139 BANK1   macro
                    00140         bsf     STATUS,5    ; Select page 1
                    00141         endm
                    00142 #endif
                    00143 
                    00144 enableInt macro
                    00145         bsf     INTCON,GIE
                    00146         endm
                    00147 
                    00148 disableInt macro
                    00149           local    Loop
                    00150 Loop    bcf     INTCON,GIE
                    00151         btfsc   INTCON,GIE
                    00152         goto    Loop
                    00153         endm
                    00154 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -