历史上的今天
返回首页

历史上的今天

今天是: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 

#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 

;''''''''''''''''''''''''''''''''' 

推荐阅读

史海拾趣

ALLEN BRADLEY公司的发展小趣事

ALLEN BRADLEY 公司是一家享有盛誉的电子行业企业,其发展历程有许多引人注目的里程碑。以下是关于 ALLEN BRADLEY 公司发展的五个相关故事:

  1. 公司成立和早期发展: ALLEN BRADLEY 公司于1903年由Lynde Bradley和Dr. Stanton Allen 在美国威斯康星州的密尔沃基市成立。最初,公司主要从事制造电气开关、继电器和其他电气控制设备。他们的产品质量和可靠性使其迅速成为当时工业领域的领先供应商之一。

  2. 工业自动化的先驱: 在20世纪上半叶,ALLEN BRADLEY 公司成为工业自动化领域的先驱之一。他们开发了许多创新的产品和技术,如PLC(可编程逻辑控制器),这项技术彻底改变了工厂和生产线的运作方式。PLC的普及使得生产自动化水平大幅提高,为工业生产效率的提升做出了重要贡献。

  3. 公司的扩张与国际化: 随着业务的不断壮大,ALLEN BRADLEY 公司开始向全球扩张。他们在世界各地建立了销售和服务网络,为客户提供更加全面的支持。逐步建立的全球业务网络使得 ALLEN BRADLEY 成为了全球工业自动化领域的领先品牌之一。

  4. 汇丰电气(Rockwell Automation)的收购: 1990年,汇丰电气公司(Rockwell International)收购了 ALLEN BRADLEY 公司。这一收购加强了两家公司在工业自动化领域的实力,并进一步巩固了其在全球市场上的地位。汇丰电气公司将 ALLEN BRADLEY 公司的产品整合到其工业自动化解决方案中,为客户提供更加全面的解决方案和服务。

  5. 持续创新与发展: ALLEN BRADLEY 公司一直致力于持续创新和技术发展。他们不断推出新产品,引领着工业自动化技术的发展方向。通过不断地投资研发和技术创新,ALLEN BRADLEY 公司在工业自动化领域保持着领先地位,并为客户提供更加先进、高效的解决方案。

以上是 ALLEN BRADLEY 公司发展的五个相关故事,这些故事展示了该公司在电子行业中的重要地位和不断发展壮大的历程。

FutureWafer公司的发展小趣事

对于冷热饮水机电路及家用电器电路,网友可能提出多种问题。以下是一些可能的问题及详细回答:

一、冷热饮水机电路相关问题

  1. 冷热饮水机的工作原理是什么?

    回答:冷热饮水机的工作原理主要分为加热和制冷两部分。加热部分通过电加热元件(如电炉丝)对水进行加热,当水温达到设定温度时,温控器自动切断电源,进入保温状态。制冷部分则通常利用半导体制冷技术,通过半导体制冷片对冷水进行降温,同时散热风扇帮助散热,以保持冷水的温度。

  2. 冷热饮水机为何会出现不加热的故障?

    回答:冷热饮水机不加热的故障可能由多种原因引起,包括但不限于:

    • 加热元件(如电炉丝)损坏或烧毁。
    • 温控器故障,导致无法正确感知水温或无法切断电源。
    • 电源线路问题,如插头松动、保险丝熔断等。
    • 加热控制电路故障,如继电器、微处理器等元件损坏。
  3. 冷热饮水机制冷效果不佳怎么办?

    回答:如果冷热饮水机制冷效果不佳,可以尝试以下解决方法:

    • 检查半导体制冷片和散热风扇是否工作正常,如有损坏需更换。
    • 清理饮水机内部的灰尘和杂物,确保空气流通顺畅。
    • 检查制冷控制电路是否有问题,如温控器、继电器等元件是否工作正常。
    • 如果以上方法均无效,可能是制冷剂泄漏或制冷系统其他部件故障,需请专业人员维修。
  4. 如何判断冷热饮水机的电路是否损坏?

    回答:判断冷热饮水机的电路是否损坏,可以通过以下步骤进行:

    • 检查电源插头和插座是否接触良好,电源是否正常。
    • 使用万用表等工具检查电路中的保险丝、继电器、微处理器等元件是否损坏。
    • 观察饮水机的指示灯和显示屏是否正常显示,以判断控制电路是否工作正常。
    • 如果以上检查均正常,但饮水机仍无法正常工作,可能是电路中存在隐性故障或需要更专业的检测手段。

二、家用电器电路相关问题

  1. 家用电器电路的常见故障有哪些?

    回答:家用电器电路的常见故障包括但不限于:

    • 电源故障,如插头松动、保险丝熔断等。
    • 控制电路故障,如遥控器失灵、控制面板按键无反应等。
    • 电机或压缩机故障,如电机不转、压缩机不制冷等。
    • 传感器故障,如温度传感器失灵导致温度控制不准确。
    • 电路板损坏,如电路板上的元件烧毁或短路。
  2. 如何预防家用电器电路故障?

    回答:预防家用电器电路故障可以从以下几个方面入手:

    • 定期清洁家用电器,避免灰尘和杂物积累导致散热不良或短路。
    • 使用合格的电源线和插座,避免使用劣质产品导致电路故障。
    • 注意家用电器的使用环境,避免潮湿、高温等恶劣环境对电路造成损害。
    • 不要超负荷使用家用电器,避免长时间连续工作导致电路过热或损坏。
    • 定期检查家用电器的电路和元件是否完好,如有问题及时维修或更换。
  3. 家用电器电路维修需要注意哪些事项?

    回答:家用电器电路维修需要注意以下事项:

    • 在维修前务必切断电源,避免触电危险。
    • 使用合适的工具和设备进行维修,避免损坏其他部件或造成更大的故障。
    • 在维修过程中要仔细检查电路和元件的损坏情况,避免遗漏或误判。
    • 对于不熟悉或复杂的电路故障,应请专业人员进行维修。
    • 维修完成后要进行测试,确保家用电器能够正常工作并符合安全要求。
B+B SmartWorx公司的发展小趣事

B+B SmartWorx的前身是B&B Electronics,一个在1981年成立的公司,起初主要为无线和有线网络提供设备连接解决方案。随着技术的快速发展,物联网和M2M连接的需求日益增长,B&B Electronics意识到必须进行创新以应对市场的变化。于是,公司开始致力于开发“边缘智能”技术,使网络连接设备更加智能、自主和响应迅速。这一创新转型使得公司在物联网行业中崭露头角,并在2015年决定将公司名称更改为B+B SmartWorx,以更好地反映其业务重心和技术方向。

Dover Corporation公司的发展小趣事

作为一家多元化制造商,Dover Corporation一直致力于创新技术的研发与应用。公司在多个领域拥有先进的技术和解决方案,如先进的电梯控制系统、高效的燃料解决方案等。这些技术的应用不仅提高了Dover产品的性能和质量,也为客户提供了更加优质的服务。

Advanced Power Solutions公司的发展小趣事

Advanced Power Solutions公司非常重视人才培养和企业文化建设。公司注重员工的职业发展和培训,为员工提供了广阔的职业发展空间和学习机会。同时,公司还倡导开放、创新的企业文化,鼓励员工提出新的想法和建议。这种积极向上的企业文化吸引了大量优秀人才的加入,也为公司的持续发展提供了强大的动力。

以上五个故事框架仅用于说明Advanced Power Solutions公司可能的发展路径和成就,并不代表公司的实际历史。在实际撰写时,需要根据公司的具体情况进行调整和补充。

Genisco Electronics公司的发展小趣事
根据使用环境的温度、湿度、海拔等因素选择适合的发电机型号和配置。

问答坊 | AI 解惑

按摩器

 概述 ---微电脑自动控制,自动定时,按摩方式、强度、速度可随意选择调节。   ---集揉捏、推拿、锤打、红外线、振动等功能为一体,科学的组合,提供 -----全新的按摩享受。 ---双红外线热灸装置,可产生红外线热波促进血液循环。 ...…

查看全部问答>

项目团队中个别人员工作积极性不高,怎样解决?

项目成员工作不主动,处于混日子的状态。怎样解决员工工作积极性?…

查看全部问答>

有谁知道这个错误

有谁知道这个错误!有谁知道在WINCE下面出现SDNdis: Failed to get active path key这个错误提示是什么原因?…

查看全部问答>

sim300c 键盘使用

我是初学者,请问:sim300c模块如何进行键盘控制,比如,按下一个键,模块收到后发到超级终端,显示一下这个键是什么值。 我手里有sim300c的AT指令的pdf文档,但上面只有AT+CKPD这条命令与键盘有关,但它是模拟键盘按键,我想要实际键盘的控制。 ...…

查看全部问答>

上海哪里有专门卖工具安装盘的地方?

我想买个novell netware的安装程序,网上找不到,只能到这里问问哪儿有卖安装盘的,去碰碰运气。 我的email:sunma345@sohu.com 谢谢了。…

查看全部问答>

求助-VxWorks任务异常退出

一个任务,有taskSafe/taskUnsafe保护,在保护的代码段内调用connectWithTimeout。通过打印发现,即使有taskSafe保护,任务仍然在connectWithTimeout以后异常退出了。之前之后都没有任何征兆,所有状态都是正确的!另外,该任务是动态加载的模块生成 ...…

查看全部问答>

STM32 串口发送问题

void Delay(vu32 i) {    u32 k;   for(k=0;k<i;k++)   {} }                    &n ...…

查看全部问答>

给力

楼主好样的 加油  祝你顺利…

查看全部问答>

求助Flash Loader Demo2.0下載

請問各位有沒有Flash Loader Demo2.0版下載 因為我的V2.5畫面是 他沒有連接USB的功能 2.0版的是 藍色方框圈起來的地方 有USB(DFU)選項 所以想請問各位有Flash Loader Demo2.0版下載嗎 謝謝…

查看全部问答>