久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4628|回復: 1
收起左側

PIC單片機驅動NB358煙霧報警器匯編程序

[復制鏈接]
ID:51773 發表于 2013-7-19 02:09 | 顯示全部樓層 |閱讀模式
;           NB358 software v1.0
                LIST      P=16F676
                INCLUDE   "16F676.INC"
                __CONFIG _CP_OFF & _WDT_ON & _BODEN & _PWRTE_ON & _XT_OSC & _MCLRE_ON & _CPD_OFF
; *********************************
;       Variable Define
; *********************************
;------------------------------------
                        CBLOCK 20H
;W_TEMP
;STATUS_TEMP
;TEMP
;SYS_STATUS
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;| Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
;|Smoke | heat | Totle|      |      | heat | smoke| Heat |
;|Retest|retest| Alarm|      |      | alarm| alarm| Rise |
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CC
;------------------
TMR0_TEMP
SMOKE_DAT
;------------------
;LED_COUNT
;------------------
COUNT
COMMAND
SYS_ADDR
ADDRESS
                        ENDC
;=======================================
#DEFINE SERIAL_IN RC,0
#DEFINE POWER RC,1
#DEFINE RED_LED RC,2
#DEFINE SMOKE_AD_IN RC,3
3
#DEFINE SIGNAL_OUT RC,4
#DEFINE REMOTE_LED RC,5
#DEFINE INFRARED_SEND RA,0
#DEFINE HEAT__AD_IN RA,1
#DEFINE SIGNAL_IN RA,2
;#######################################
;#######################################
        ORG       00H
        GOTO      MAIN
        ORG       04H
        GOTO      INT_SERVICE
;**************************************
;       Interrupt Sub
;**************************************
INT_SERVICE
        CLRWDT
        MOVLW 0AH
        MOVWF COUNT
        MOVLW 027H
        MOVWF FSR
READ_INIT_PULSE
        BCF RED_LED
        CLRWDT
        BTFSC RA,2
        GOTO $-2
        CLRF TMR0
        CLRWDT
        BTFSS RA,2
        GOTO $-2
        MOVF TMR0,0
        MOVWF TMR0_TEMP
        CLRF TMR0
        MOVLW 050H   ;04CH
        SUBWF TMR0_TEMP,0
        BTFSS STATUS,C
        GOTO EXIT_READ
        MOVLW 060H   ;;;;;0EBH
        SUBWF TMR0_TEMP,0
        BTFSC STATUS,C
        GOTO EXIT_READ
        MOVF TMR0_TEMP,0
        MOVWF INDF
        INCF FSR
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PPPPPPPPPPP
READ_SIGNAL_DATA
        CLRWDT
        BTFSC RA,2
        GOTO $-2
        MOVF TMR0,0
        MOVWF TMR0_TEMP
        MOVWF INDF
        CLRF TMR0
        INCF FSR,1
        MOVLW 0F0H
        ANDWF TMR0_TEMP,0
        BSF STATUS,C
        BTFSC STATUS,Z
        BCF STATUS,C
        RLF ADDRESS,1
        RLF COMMAND,1
        CLRWDT
        BTFSS RA,2
        GOTO $-2
        CLRF TMR0
        DECFSZ COUNT,1
        GOTO READ_SIGNAL_DATA
        BCF STATUS,C
        RLF ADDRESS,1
        RLF COMMAND,1
        MOVF SYS_ADDR,0
        SUBWF ADDRESS,0
        BSF RED_LED    ;;;;;;;;;;;;;;;;;;;;;;;;
        BTFSS STATUS,Z
        GOTO EXIT_READ

        RLF COMMAND,1
        RLF COMMAND,1
        RLF COMMAND,1
        MOVLW 038H
        ANDWF COMMAND,1
        MOVLW 03H
        IORWF COMMAND,1
        BCF STATUS,C
        RLF ADDRESS,1
        RLF COMMAND,1
        RLF ADDRESS,1
        RLF COMMAND,1
        MOVLW 014H
        MOVWF COUNT
;;LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LINE_TO_PANEL
        CLRWDT
        BTFSC RA,2
        GOTO $-2

        CALL DE360
        RLF ADDRESS,1
        RLF COMMAND,1
        RLF SMOKE_DAT,1
        BTFSS STATUS,C
        GOTO $+3
        BSF SIGNAL_OUT
        CALL DE250
        BCF SIGNAL_OUT
        CLRWDT
        BTFSS RA,2
        GOTO $-2
        CLRF TMR0
        DECFSZ COUNT,1
        GOTO LINE_TO_PANEL
SAVE
        MOVLW 024H
        MOVWF FSR
        MOVLW 033H
        MOVWF COUNT
        BSF RED_LED
;;;;;;;;;;;;
SAVE_DATA
        CLRWDT
        BSF STATUS,RP0
        MOVF FSR,0
        MOVWF EEADR
        MOVF INDF,0
        MOVWF EEDATA
        BSF EECON1,WREN
        MOVLW 055H
        MOVWF EECON2
        MOVLW 0AAH
        MOVWF EECON2
        BSF EECON1,WR
        CLRWDT
        BTFSC EECON1,WR
        GOTO $-2
        INCF FSR,1
        DECFSZ COUNT,1
        GOTO SAVE_DATA
        BCF EECON1,WREN
        BCF STATUS,RP0
        NOP
        CLRWDT
        NOP
        NOP
        GOTO $-4
EXIT_READ
        BCF RED_LED
        RETFIE
;************************************
;        Main
;************************************
MAIN:
        CALL SYS_INIT
        NOP
        SLEEP
        SLEEP
        SLEEP
        NOP
        NOP
;***********************************
;          System Setup
;***********************************

;--------------------
NORMAL_MODE
;---------read system address------------------------
        BCF RA,1
        BSF STATUS,RP0
        BCF ANSEL,1
        BCF TRISA,1
        BCF STATUS,RP0
        NOP
        BSF POWER
        GOTO $+1
        BSF RA,0
        MOVLW 08H
        MOVWF COUNT
        BCF RA,0
        NOP
READ_ADDRESS
        BSF RA,1
        GOTO $+1
        BCF RA,1
        BSF STATUS,C
        BTFSS RC,0
        BCF STATUS,C
        RRF SYS_ADDR,1
        DECFSZ COUNT,1
        GOTO READ_ADDRESS
        BSF STATUS,RP0
        BSF TRISA,1
        BSF ANSEL,1
        BCF STATUS,RP0
        BCF POWER
        BCF STATUS,C
        RLF SYS_ADDR,1
;'''''''''''''''''''''''''''''''''
        BSF STATUS,RP0
        MOVLW 02H
        MOVWF EEADR
        MOVF SYS_ADDR,0
        MOVWF EEDATA
        BSF EECON1,WREN
        MOVLW 055H
        MOVWF EECON2
        MOVLW 0AAH
        MOVWF EECON2
        BSF EECON1,WR
        BTFSC EECON1,WR
        GOTO $-1
        BCF EECON1,WREN
        BCF STATUS,RP0
;--------------------------------------------
;**************************************
;            Main Sub
;**************************************
MAIN1
;        CLRWDT
        CLRF COMMAND
        CLRF ADDRESS
        MOVLW 070H
        MOVWF SMOKE_DAT
        MOVLW 090H
        MOVWF INTCON
        NOP
MAIN9
        CLRWDT
        NOP
;        SLEEP
        NOP
        NOP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        GOTO MAIN9
;******************************************************
;       System Initialization
;******************************************************
SYS_INIT:
        BSF STATUS,RP0
        CALL 03FFH                ;Get the cal value
        MOVWF OSCCAL        ;Calibrate
        BCF STATUS,RP0
        MOVLW 00H
        MOVWF RA
        MOVLW 00H
        MOVWF RC
        MOVLW 07H
        MOVWF CMCON              ;comp off
;        MOVLW 030H
;        MOVWF T1CON
        MOVLW 080H
        MOVWF ADCON0
        CLRF INTCON
        BSF STATUS,RP0
        MOVLW 03EH
        MOVWF TRISA
        MOVLW 09H
        MOVWF TRISC
        CLRF PIE1
        MOVLW 080H     ;08EH
        MOVWF OPTION_REG
        MOVLW 082H
        MOVWF ANSEL
        MOVWF 00H
        MOVWF WPUA
        MOVLW 00H  ;;;;
        MOVWF IOCA
        MOVLW 060H
        MOVWF ADCON1
;        MOVLW 00H
;        MOVWF VRCON
        BCF STATUS,RP0
;        CLRF SYS_STATUS
        RETURN
;**************************************
;             delay sub
;**************************************
DELAY        CLRWDT
                DECFSZ        CC,1
                GOTO        DELAY
                RETURN
DE360        MOVLW        08H   ;370uS
                MOVWF        CC
                CALL        DELAY
                RETURN
DE250        MOVLW        04H   ;250uS
                MOVWF        CC
                CALL        DELAY
                RETURN
;********************************************
        END
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品海角社区在线观看 | 精品国产青草久久久久福利 | 日韩欧美电影在线 | 欧美日本在线观看 | 玖玖爱365| 婷婷福利视频导航 | 国产h视频 | 国产亚洲一区二区三区在线观看 | 美女久久视频 | 日韩欧美精品在线播放 | 蜜臀久久99精品久久久久久宅男 | 精品一区二区三区av | 精品国产一区探花在线观看 | 婷婷丁香激情 | 欧美精选一区二区 | 天堂一区二区三区 | 精品国产乱码久久久久久老虎 | 东京久久 | 国产美女黄色片 | 国产精品欧美一区二区三区不卡 | 999久久久国产精品 欧美成人h版在线观看 | 韩国av一区二区 | 亚洲欧美一区在线 | 精品久久国产老人久久综合 | 国产一级一级 | 精品国产乱码久久久久久闺蜜 | 男女国产网站 | 中文av在线播放 | 久草色视频 | 久久久视频在线 | 成人欧美一区二区三区在线播放 | 久在线 | www.午夜| 黄色一级免费 | 一区二区三区四区av | 天天操狠狠操 | 欧美精品一区二区在线观看 | 国产精品久久久久久久久久久久久 | 九色porny自拍视频 | www.蜜桃av.com| 国产精品美女一区二区 |