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

📄 pic16c72.txt

📁 CCP1模块使用的有关PIC应用程序Trabicom On Board Engine Controller
💻 TXT
📖 第 1 页 / 共 2 页
字号:

; PROJECT     : DIGITAL CLOCK ============= 
 
; DEVICE      : PIC16C72 ================== 
 
; WDT         : OFF ======================= 
 
;============================================ 
 
LIST           P=16C72, F=INHX8M 
 
 
 
;============================================ 
 
; SYSTEM REGISTER AREA ====================== 
 
;============================================ 
 
INDIR          EQU   00H            ;BANK 0 
 
RTCC          EQU   01H 
 
PC             EQU   02H 
 
STATUS       EQU   03H 
 
FSR            EQU   04H 
 
PORTA         EQU   05H 
 
PORTB         EQU   06H 
 
PORTC         EQU   07H 
 
PCLATH       EQU   0AH 
 
INTCON       EQU   0BH 
 
PIR1           EQU   0CH 
 
TMR1L         EQU   0EH 
 
TMR1H         EQU   0FH 
 
T1CON         EQU   10H 
 
TMR2          EQU   11H 
 
T2CON         EQU   12H 
 
SSPBUF       EQU   13H 
 
SSPCON       EQU   14H 
 
CCPR1L         EQU   15H 
 
CCPRLH       EQU   16H 
 
CCP1CON      EQU   17H 
 
ADRES         EQU   1EH 
 
ADCON0       EQU   1FH 
 
 
 
OPTIONR      EQU   01H            ;BANK 1 
 
TRISA         EQU   05H 
 
TRISB         EQU   06H 
 
TRISC         EQU   07H 
 
PIE1           EQU   0CH 
 
PCON          EQU   0EH 
 
PR2            EQU   12H 
 
SSPADD       EQU   13H 
 
SSPSTAT      EQU   14H 
 
ADCON1       EQU   1FH 
 
 
 
;============================================ 
 
; USER DEFINE AREA ========================== 
 
;============================================ 
 
HOUR_BUFF   EQU   20H 
 
HOUR10       EQU   21H 
 
HOUR1         EQU   22H 
 
 
 
MIN_BUFF     EQU   23H 
 
MIN10         EQU   24H 
 
MIN1          EQU   25H 
 
 
 
SEC_BUFF     EQU   26H 
 
SEC10         EQU   27H 
 
SEC1          EQU   28H 
 
 
 
SEC_CHECK   EQU   29H 
 
BUFFER       EQU   2AH 
 
 
 
LED_BUFF     EQU   2BH 
 
W_BUFF       EQU   2CH 
 
STATUS_BUFF EQU   2DH 
 
 
 
DEL_CNT1     EQU   2EH 
 
DEL_CNT2     EQU   2FH 
 
SET_DEL      EQU   30H 
 
 
 
PRESS_CHK    EQU   31H 
 
 
 
;============================================ 
 
; BIT DEFINITION ============================ 
 
;============================================ 
 
CF             EQU   .0              ;STATUS 
 
ZF             EQU   .2 
 
RP0            EQU   .5 
 
RP1            EQU   .6 
 
 
 
 
 
;============================================ 
 
; RESET VECTOR ============================== 
 
;============================================ 
 
                ORG           0 
 
                GOTO          START 
 
 
 
;============================================ 
 
; INTERRUPT VECTOR ========================== 
 
;============================================ 
 
                ORG            4 
 
                BTFSC          PIR1,0              ;TIMER1 OVERFLOW? 
 
                GOTO           INT_SERVICE 
 
                RETFIE 
 
 
 
;============================================ 
 
; MACRO DEFINITION ========================== 
 
;============================================ 
 
BANK0         MACRO 
 
                BCF            STATUS,RP0 
 
                ENDM 
 
 
 
BANK1         MACRO 
 
                BSF             STATUS,RP0 
 
                ENDM 
 
 
 
;============================================ 
 
; 7 技弊膏飘 LED 迄飘 单捞磐 ================ 
 
;============================================ 
 
FND_TBL:     ADDWF           PC 
 
                RETLW           B'11000000'   ;'0' 
 
                RETLW           B'11111001'   ;'1' 
 
                RETLW           B'10100100'   ;'2' 
 
                RETLW           B'10110000'   ;'3' 
 
                RETLW           B'10011001'   ;'4' 
 
                RETLW           B'10010010'   ;'5' 
 
                RETLW           B'10000010'   ;'6' 
 
                RETLW           B'11011000'   ;'7' 
 
                RETLW           B'10000000'   ;'8' 
 
                RETLW           B'10010000'   ;'9' 
 
 
 
;============================================ 
 
; 个眉 橇肺弊伐 ============================= 
 
;============================================ 
 
START:         CALL           INIT          ;檬扁拳 
 
 
 
;============================================ 
 
;===== 10矫 ================================= 
 
;============================================ 
 
START1:       MOVLW          B'11111110'   ;FND 1 
 
                MOVWF          PORTC 
 
 
 
                MOVF          HOUR10,W 
 
                ANDWF         LED_BUFF,W 
 
                MOVWF          PORTB 
 
                CALL           FND_CLEAR 
 
                CALL           HOUR_BUTTON 
 
 
 
;============================================ 
 
;===== 1矫 ================================== 
 
;============================================ 
 
                MOVLW          B'11111101'   ;FND 2 
 
                MOVWF          PORTC 
 
                MOVF          HOUR1,W 
 
                MOVWF          PORTB 
 
                CALL           FND_CLEAR 
 
                CALL           MIN_BUTTON 
 
 
 
;============================================ 
 
;===== 10盒 ================================= 
 
;============================================ 
 
                MOVLW          B'11111011'   ;FND 3 
 
                MOVWF          PORTC 
 
                MOVF          MIN10,W 
 
                MOVWF         PORTB 
 
                CALL           FND_CLEAR 
 
                CALL           SEC_BUTTON 
 
 
 
;============================================ 
 
;===== 1盒 ================================== 
 
;============================================ 
 
                MOVLW          B'11110111'   ;FND 4 
 
                MOVWF          PORTC 
 
                MOVF          MIN1,W 
 
                MOVWF          PORTB 
 
                CALL           FND_CLEAR 
 
 
 
;============================================ 
 
;===== 10檬 ================================= 
 
;============================================ 
 
                MOVLW          B'11101111'   ;FND 5 
 
                MOVWF          PORTC 
 
                MOVF          SEC10,W 
 
                MOVWF         PORTB 
 
                CALL           FND_CLEAR 
 
 
 
;============================================ 
 
;===== 1檬 ================================== 
 
;============================================ 
 
                MOVLW          B'11011111'   ;FND 6 
 
                MOVWF          PORTC 
 
                MOVF          SEC1,W 
 
                MOVWF         PORTB 
 
                CALL           FND_CLEAR 
 
 
 
                GOTO           START1 
 
 
 
FND_CLEAR:   MOVLW          .3 
 
                MOVWF          DEL_CNT1 
 
                CLRF           DEL_CNT2 
 
FND_C1:       DECFSZ        DEL_CNT2 
 
                GOTO           FND_C1 
 
                DECFSZ        DEL_CNT1 
 
                GOTO           FND_C1 
 
 
 
                MOVLW         B'11111111' 
 
                MOVWF          PORTB 
 
                RETURN 
 
 
 
;============================================ 
 
;===== 檬 汲沥(努府绢) ====================== 
 
;============================================ 
 
SEC_BUTTON: BTFSC          PORTC,7 
 
                RETURN 
 
                CLRF           SEC_BUFF 
 
                MOVLW          SEC_BUFF 
 
                MOVWF         FSR 
 
                CALL           FND_CONV 
 
                RETURN 
 
 
 
;============================================ 
 
;===== 盒 汲沥 ============================== 
 
;============================================ 
 
MIN_BUTTON: BTFSC          PORTC,7      ;KEY PRESS? 
 
                GOTO           MIN_B0       ;喘府瘤 臼疽栏搁 痢橇 
 
 
 
                BTFSC          PRESS_CHK,0 
 
                GOTO           MIN_B1       ;KEY PRESS啊 SET登绢 乐栏搁 痢橇 
 
                BSF             PRESS_CHK,0 ;KEY PRESS SET 
 
 
 
                MOVLW        .40 
 
                MOVWF         SET_DEL      ;TEMP DISPLAY COUNTER 檬扁拳 
 
                GOTO          INC_MIN 
 
 
 
MIN_B0:       BCF           PRESS_CHK,0  ;SWITCH PRESS BUFFER CLEAR 

⌨️ 快捷键说明

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