历史上的今天
今天是:2024年11月23日(星期六)
2019年11月23日 | PIC单片机驱动NB358烟雾报警器汇编程序
2019-11-23 来源:51hei
; 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
;'''''''''''''''''''''''''''''''''
上一篇:ICD2线序问题
史海拾趣
|
我是初学者,请问:sim300c模块如何进行键盘控制,比如,按下一个键,模块收到后发到超级终端,显示一下这个键是什么值。 我手里有sim300c的AT指令的pdf文档,但上面只有AT+CKPD这条命令与键盘有关,但它是模拟键盘按键,我想要实际键盘的控制。 ...… 查看全部问答> |
|
我想买个novell netware的安装程序,网上找不到,只能到这里问问哪儿有卖安装盘的,去碰碰运气。 我的email:sunma345@sohu.com 谢谢了。… 查看全部问答> |
|
一个任务,有taskSafe/taskUnsafe保护,在保护的代码段内调用connectWithTimeout。通过打印发现,即使有taskSafe保护,任务仍然在connectWithTimeout以后异常退出了。之前之后都没有任何征兆,所有状态都是正确的!另外,该任务是动态加载的模块生成 ...… 查看全部问答> |
|
請問各位有沒有Flash Loader Demo2.0版下載 因為我的V2.5畫面是 他沒有連接USB的功能 2.0版的是 藍色方框圈起來的地方 有USB(DFU)選項 所以想請問各位有Flash Loader Demo2.0版下載嗎 謝謝… 查看全部问答> |




