標(biāo)題:
PIC單片機車載儀表帶CAN總線通訊源代碼
[打印本頁]
作者:
yyh050186
時間:
2018-8-19 01:12
標(biāo)題:
PIC單片機車載儀表帶CAN總線通訊源代碼
PIC系列單片機源代碼
0.png
(48.69 KB, 下載次數(shù): 80)
下載附件
2018-8-19 03:03 上傳
單片機源程序如下:
;******************************************************************************
; *
; Filename: FB_ZHU_JI_PIC16LF1947.ASM *
; Date: 2012.01.6 *
; File Version: 1.0 *
; *
; Author: *
; *
; *
;******************************************************************************
; *
; Files Required: P16F1947.INC *
; *
;******************************************************************************
; *
; Notes: *
; *
;******************************************************************************
; *
; Revision History: *
; *
;******************************************************************************
list p=16f1947 ; list directive to define processor
#include <P16F1947.INC> ; processor specific variable definitions
#include <MyDefine.inc>
#include <reg2510.inc>
#include <MY_STD.MAC>
ERRORLEVEL 0,-305,-306,-302 ; Messages, Warnings and Errors Printed
; Ignore [305] => Using default dest of
; 1 file
; Ignore [306] => Crossing Page Boundary
;******************************************************************************
;
; CONFIGURATION WORD SETUP
;
; The 'CONFIG' directive is used to embed the configuration word within the
; .asm file. The lables following the directive are located in the respective
; .inc file. See the data sheet for additional information on configuration
; word settings.
;
;******************************************************************************
; __CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_ON & _IESO_OFF & _FCMEN_OFF
; __CONFIG _CONFIG2, _WRT_OFF & _VCAPEN_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
;******************************************************************************
; RESET VECTOR
;******************************************************************************
ORG 0x0000 ; processor reset vector
PAGESEL START
GOTO START ; When using debug header, first inst.
; may be passed over by ICD2.
ORG 0x0004
;******************************************************************************
; INTERRUPT SERVICE ROUTINE
;******************************************************************************
#include <Interrupt.asm>
;******************************************************************************
; USER INTERRUPT SERVICE ROUTINE GOES HERE
;******************************************************************************
; Note the 16F1936 family automatically handles context restoration for
; W, STATUS, BSR, FSR, and PCLATH where previous templates for 16F families
; required manual restoration
;******************************************************************************
; MAIN PROGRAM
;******************************************************************************
START
PAGESEL Init_System_Clock
CALL Init_System_Clock
PAGESEL $
PAGESEL Init_Watch_Dog
CALL Init_Watch_Dog
PAGESEL $
; BANKSEL Zhuan_Su_H_1
; MOVLW 0XFF
; MOVWF Zhuan_Su_H_1
; MOVLW 0X01
; MOVWF Zhuan_Su_L_1
; MOVLW 0X00
; MOVWF Zhuan_Su_H_2
; MOVLW 0XFF
; MOVWF Zhuan_Su_L_2
; MOVLW 0XEE
; MOVWF Zhuan_Su_H_3
; MOVLW 0X03
; MOVWF Zhuan_Su_L_3
;
; MOVLW LOW Zhuan_Su_H_1
; MOVWF FSR0L
; MOVLW HIGH Zhuan_Su_H_1
; MOVWF FSR0H
; PAGESEL D_Pai_Xu_3Byte
; CALL D_Pai_Xu_3Byte
; PAGESEL $
; BANKSEL Biao_Wen_1
; MOVLW 0X01
; MOVWF Biao_Wen_1
; MOVLW 0X00
; MOVWF Biao_Wen_2
; MOVLW 0X00
; MOVWF Biao_Wen_3
;
; MOVLW LOW Biao_Wen_1
; MOVWF FSR0L
; MOVLW HIGH Biao_Wen_1
; MOVWF FSR0H
; PAGESEL Pai_Xu_3Byte
; CALL Pai_Xu_3Byte
; PAGESEL $
PAGESEL Init_IO
CALL Init_IO
PAGESEL $
PAGESEL Clear_All_GPRAM
CALL Clear_All_GPRAM
PAGESEL $
; PAGESEL Wa_Si_ChaZhi
; CALL Wa_Si_ChaZhi
; PAGESEL $
MOVLW 0X03
BANKSEL B_W_LB_Count ;采用中值濾波 將N=3
MOVWF B_W_LB_Count
; MOVLW 0X01
; BANKSEL Alarm_Wa_Si_H
; MOVWF Alarm_Wa_Si_H
; MOVLW 0X90
; MOVWF Alarm_Wa_Si_L
PAGESEL Init_SSP
CALL Init_SSP
PAGESEL $
PAGESEL Init_Mcp2515
CALL Init_Mcp2515
PAGESEL $
PAGESEL Init_Timer0_1S
CALL Init_Timer0_1S
PAGESEL $
PAGESEL Init_Timer2_10MS
CALL Init_Timer2_10MS
PAGESEL $
PAGESEL Init_Timer4_100MS
CALL Init_Timer4_100MS
PAGESEL $
PAGESEL Read_Mile_From_EEPROM
CALL Read_Mile_From_EEPROM
PAGESEL $
PAGESEL Read_Data_From_EEPROM
CALL Read_Data_From_EEPROM
PAGESEL $
PAGESEL Read_W_L_From_EEPROM
CALL Read_W_L_From_EEPROM
PAGESEL $
PAGESEL Read_BD_From_EEPROM
CALL Read_BD_From_EEPROM
PAGESEL $
PAGESEL Alarm_Data_Handle
CALL Alarm_Data_Handle
PAGESEL $
BANKSEL Speed_Count
CLRF Speed_Count
BANKSEL ZhuanSu_Count
CLRF ZhuanSu_Count
BANKSEL Wa_Si_Count
CLRF Wa_Si_Count
BANKSEL TMR1L
CLRF TMR1L
CLRF TMR1H
MOVLW B'00110100'
MOVWF T1CON
BANKSEL Flag
CLRF Flag
BANKSEL CCP1CON
CLRF CCP1CON
CLRF CCP2CON
CLRF CCPR1L
CLRF CCPR1H
CLRF CCPR2L
CLRF CCPR2H
MOVLW B'00000101'
MOVWF CCP1CON
MOVLW B'00000101'
MOVWF CCP2CON
BANKSEL CCP3CON
CLRF CCP3CON
MOVLW B'00000111'
MOVWF CCP3CON
CLRF CCPR3L
CLRF CCPR3H
BANKSEL PIR1
BCF PIR1,TMR2IF
BCF PIR3,TMR4IF
BCF PIR1,CCP1IF
BCF PIR2,CCP2IF
BANKSEL PIR3
BCF PIR3,CCP3IF
BANKSEL PIE1
BSF PIE1,TMR2IE
BSF PIE3,TMR4IE
BSF PIE1,CCP1IE
BSF PIE2,CCP2IE
BANKSEL PIE3
BSF PIE3,CCP3IE
BANKSEL T4CON
BSF T4CON,TMR4ON
BANKSEL T1CON
BSF T1CON,TMR1ON
BSF T2CON,TMR2ON
BCF INTCON,TMR0IF
;BSF INTCON,TMR0IE
BSF INTCON,PEIE
BSF INTCON,GIE
MAIN
; PAGESEL CAN_BUS_TRANSMIT
; CALL CAN_BUS_TRANSMIT
; PAGESEL $
PAGESEL AD_Sample
CALL AD_Sample
PAGESEL $
PAGESEL Voltage_Calculate
CALL Voltage_Calculate
PAGESEL $
;**************************************
; ;瓦斯處理
; MOVLW 0X00
; BANKSEL AN0_RESH
; SUBWF AN0_RESH,W
; BTFSS STATUS,C
; GOTO Wa_Si_Next_1
; GOTO Wa_Si_Next_2
;Wa_Si_Next_1
; BANKSEL Wa_Si_N_D ;<80
; MOVLW 0X55 ;斷線
; MOVWF Wa_Si_N_D
; GOTO Wa_Si_Clear
;Wa_Si_Next_2
; BTFSS STATUS,Z
; GOTO Wa_Si_Next_3
; GOTO Wa_Si_Next_4
;Wa_Si_Next_3
; ;>=80 根據(jù)電壓計算濃度
; BANKSEL AN0_RESH
; MOVF AN0_RESH,W
; BANKSEL SOUH
; MOVWF SOUH
; BANKSEL AN0_RESL
; MOVF AN0_RESL,W
; BANKSEL SOU
; MOVWF SOU
; MOVLW 0X00
; BANKSEL RLTH
; MOVWF RLTH
; MOVLW 0X50
; MOVWF RLT
;
; PAGESEL DUSUB
; CALL DUSUB
; PAGESEL $
;
; MOVLW 0X00
; BANKSEL RLTH
; MOVWF RLTH
; MOVLW 0X08
; MOVWF RLT
;
; PAGESEL DUDIV
; CALL DUDIV
; PAGESEL $
;
; BANKSEL SOU
; MOVF SOU,W
; BANKSEL Wa_Si_N_D
; MOVWF Wa_Si_N_D
; GOTO Wa_Si_Clear
;Wa_Si_Next_4
; MOVLW 0X50
; BANKSEL AN0_RESL
; SUBWF AN0_RESL,W
; BTFSS STATUS,C
; GOTO Wa_Si_Next_1
; GOTO Wa_Si_Next_3
;Wa_Si_Clear
;和瓦斯報警關(guān)聯(lián)的處理
;**************************************
PAGESEL Wen_Du_Cha_Zhi
CALL Wen_Du_Cha_Zhi ;根據(jù)標(biāo)定計算各個溫度差值
PAGESEL $
Biao_Wen_BD
BANKSEL AN5_RESH
MOVF AN5_RESH,W
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
F_B_Z_J_V2.0.2012.8.29.rar
(1.21 MB, 下載次數(shù): 28)
2018-8-19 01:08 上傳
點擊文件名下載附件
PIC單片機CAN總線
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1