EM78P156写的pt2262 源代码

发布者:幸福之星最新更新时间:2018-01-29 来源: eefocus关键字:EM78P156  pt2262 手机看文章 扫描二维码
随时随地手机看文章

EM78P156写的pt2262 源代码

;this program is HOME ALARM 
      ;
      n
      ;this progam write and test for 01.2.18---3.5

      ;Chip EM78P156   F=3.58 MHz
      ;SETUP : CYCLE=2,CLOCK=4,ENABLE WDT


      ;define ram
      ;**********************************************************
      IND         ==       0
      RTC         ==       1
      PC          ==       2
      STATUS      ==       3
      FSR         ==       4
      RA          ==       5
      RB          ==       6

      ;define stutas bit
      ;**********************************************************
      C           ==       0
      Z           ==       2

      ;define ra bit
      ;**********************************************************
      R0          ==       0             
      R1          ==       1                
      R2          ==       2             
      R3          ==       3            

      ;define rb bit
      ;**********************************************************

      SEND        ==       1             
      RFIN        ==       4             REC RF IN

      ;DEFINE INTR
      ;**********************************************************
      INTR        ==       0xf
      TCIF        ==       0
      ICIF        ==       1
      EXIF        ==       2

      ;define cont bit
      ;**********************************************************
      PAB         ==       3
      TE          ==       4
      TS          ==       5
      INT_FLG     ==       6

      ;DEFINE PULL_DOWN
      ;**********************************************************
      IOCB        ==       0xb

      ;DEFINE OPEN_DRAIN
      ;**********************************************************
      IOCC        ==       0xc

      ;DEFINE PULL_HIGH
      ;**********************************************************
      IOCD        ==       0xd

      ;define wdt bit
      ;**********************************************************
      IOCE        ==       0xe
      ROC         ==       4
      EIS         ==       6
      WDTE        ==       7

      ;DEFINE INT MASK
      ;**********************************************************
      IOCF        ==       0xf
      TCIE        ==       0
      ICIE        ==       1
      EXIE        ==       2

      ;define ram
      ;**********************************************************
      FLG1        ==       0x10          KEY STATUS
      FLG2        ==       0x11

      TEMP1       ==       0x12
      TEMP2       ==       0x13 
      TEMP3       ==       0x14

      TIME        ==       0x18
      BITCNT      ==       0x19

      CODECNT     ==       0x1f
      ;
      ;DEFINE FLG1 SEND IR
      ;**********************************************************
      ENTX        ==       7
      RELEASE     ==       0
      ;
      ;##########################################################
      ;**********************************************************
                  ORG      0x0
                  JMP      RESET
                  NOP
                  NOP      
                  NOP
                  NOP
                  NOP
                  NOP
              
                  ORG      0x10
      ;#########################################################
      D4ms:
                  MOV      A,@0x1f
                  JMP      DLYX
      D120us      MOV      A,@0x1
      DLYX:
                  MOV      TEMP1,A
      DLY:        MOV      A,@0xf
                  MOV      TEMP2,A
      DLY4        NOP
                  DJZ      TEMP2
                  JMP      DLY4
                  DJZ      TEMP1
                  JMP      DLY
                  RET
      ;##########################################################
      ;*****************PROGAM RESET*****************************
      RESET:       
                  MOV      A,STATUS 
                  AND      A,@0x18       GET TO PD
                  JBC      STATUS,Z      
                  JMP      MAIN1    
                  CLR      FLG1          CLR ALL FLAG
                  CLR      FLG2          
      MAIN1:                             
                  MOV      A,@0xf8       DIABLE PULL_DOWN
                  IOW      IOCB
                  MOV      A,@0x0        DISABLE OPEN_DRAIN
                  IOW      IOCC
                  MOV      A,@0xfe       RB0 PULL HIGH,DISABLE  PULL_HIGH
                  IOW      IOCD
                  MOV      A,@0x80       ENABLE WDT, INT
                  IOW      IOCE
                  MOV      A,@0x0        ENABLE EX_INT
                  IOW      IOCF
                  MOV      A,@0x0        RA IN
                  MOV      RA,A
                  MOV      A,@0x13        
                  MOV      RB,A
                  CLR      INTR
      MAIN2:
                  WDTC   
                  MOV      A,@0x0        SELECT SCAL WDT=1:2
                  CONTW                  DISABLE INT
                  NOP
                  NOP
                  NOP
                  MOV      A,@0xf
                  IOW      RA
                  MOV      A,@0x11
                  IOW      RB
      SEND_RF:
                  WDTC
                  BS      RB,SEND
                  BC      RB,2
                  BC      RB,3
                  JBS     FLG1,RELEASE
                  JBS     RA,1
                  JMP     SEND_RF_OVER
                  BS      FLG1,RELEASE
                  MOV     A,@0x2
                  MOV     TIME,A
      SEND_SYNC:            
                             
                  MOV     A,@0x10
                  MOV     BITCNT,A
      SEND_ADDR:
                  BC      RB,SEND
                  CALL    D120us
                  BS      RB,SEND
                  CALL    D120us
                  CALL    D120us
                  CALL    D120us
                 
                  DJZ     BITCNT
                  JMP     SEND_ADDR
                  MOV     A,@0x8
                  MOV     BITCNT,A
      SEND_DATA:
                  BC      RB,SEND
                  CALL    D120us
                  CALL    D120us
                  CALL    D120us
                  BS      RB,SEND
                  CALL    D120us
                  
                  DJZ     BITCNT
                  JMP     SEND_DATA
                  
                  BC      RB,SEND
                  CALL    D120us
                  BS      RB,SEND
                  WDTC
                  CALL    D4ms
                  CALL    D120us
                  CALL    D120us
                  CALL    D120us
                  CALL    D120us
                  DJZ     TIME
                  JMP     SEND_SYNC

      SEND_RF_OVER: 
                  NOP
                  BS      RB,SEND
                  JMP     MAIN1 
 


关键字:EM78P156  pt2262 引用地址:EM78P156写的pt2262 源代码

上一篇:EM78C156E+1621显示汇编例子
下一篇:EMC8BIT单片机指令应用的误区与技巧

推荐阅读最新更新时间:2024-03-16 15:53

PT2262/PT2272的多通道硬件控制方法
PT2262/PT2272是目前应用最广泛的遥控通信IC芯片之一,现已用于汽车门控、遥控门锁、门禁管理、数字通信等领域。PT2262/PT22 72最多可有12位(A0~A5,D0~D5)三态地址管脚(悬空、接高电平、接低电平),任意组合可提供531 441(312)个地址码。然而,PT2262/PT 2272最多只能控制6路(D0~D5)通道,这样极大限制了其无线遥控的使用范围。因此,人们设计出了多种方法扩展PT2262/PT2272的控制通道。   1 PT2262/2272的多路控制方法   1.1 单片机软件编程模拟PT2262信号实现多路控制法   单片机可以通过软件编程实现模拟发射PT2262信号。单片机的输入引
[模拟电子]
<font color='red'>PT2262</font>/PT2272的多通道硬件控制方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved