历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2018年01月29日 | EM78P156写的pt2262 源代码

2018-01-29 来源:eefocus

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 
 


推荐阅读

史海拾趣

Digital Equipment Corp公司的发展小趣事

随着业务的不断扩展和产品的不断创新,DEC在1966年决定公开上市。这次上市不仅为DEC带来了大量的资金,还提升了其在业界的知名度。借助资本市场的力量,DEC能够进一步扩大生产规模,加强研发能力,并推出更多具有竞争力的产品。在上市后的几年里,DEC的销售收入快速增长,成为计算机行业的重要参与者。

Computer Conversions Corp公司的发展小趣事

Computer Conversions Corp非常重视人才的培养和团队建设。公司定期组织内部培训和技术交流活动,鼓励员工分享经验和创新想法。同时,公司还建立了完善的激励机制,为员工提供广阔的发展空间。这种以人为本的管理理念,不仅增强了团队的凝聚力和创新力,也为公司的持续发展注入了强大的动力。通过这些举措,Computer Conversions Corp打造出了一支高素质、高效率的技术团队,为公司的长远发展奠定了坚实的基础。

Accuride公司的发展小趣事

Accuride公司在市场拓展方面也取得了显著成果。其产品不仅供应给北美地区的商用车制造商,还远销至其他国家。同时,Accuride与多家知名汽车品牌建立了紧密的合作关系,如Freightliner、Peterbilt、International、Great Dane和Mack等,为其提供高品质的零部件。这些合作伙伴关系的建立,不仅提升了Accuride的市场地位,也为其带来了稳定的订单和收入来源。

AiT Semiconductor Inc公司的发展小趣事

AiT公司的创立源自一群对半导体技术充满热情的工程师。他们看到了半导体行业巨大的市场潜力和技术挑战,决心成立一家公司,专注于半导体产品的研发和生产。在创立初期,公司面临资金短缺、市场竞争激烈等诸多困难,但凭借着对技术的执着追求和不懈努力,他们成功开发出了一系列高性能、高品质的半导体产品,逐渐在市场中站稳脚跟。

CML公司的发展小趣事

面对日益增长的市场需求,CML开始积极寻求市场扩张的机会。公司通过与各大电子产品制造商建立合作关系,将自己的产品广泛应用于电视、手机、电脑等消费电子产品中。同时,CML还积极开拓新兴市场,如汽车电子、工业控制等领域,不断扩大自己的市场份额。这些策略的实施,使得CML的业绩逐年攀升,公司规模不断壮大。

Apex Tool Group公司的发展小趣事

随着电子行业的快速发展,CML意识到只有不断创新才能在激烈的市场竞争中立于不败之地。于是,公司加大了对研发的投入,积极引进先进的技术和设备,不断提升产品的性能和质量。经过多年的努力,CML成功开发出了一系列具有自主知识产权的半导体产品,不仅在国内市场占据了领先地位,还成功打入国际市场,赢得了全球客户的信赖和好评。

问答坊 | AI 解惑

中断执行完和什么也没做似的,郁闷

我用的是51系列的单片机,做的一个在中断中执行键盘扫描的程序,用的LCD1602显示,但是当中断返回后,显示器上已经输入的东西会不见, 用的是外部中断,跳沿触发方式 请帮我看一下是什么问题啊 汇编语言的,        MOV R0, ...…

查看全部问答>

给安防人的动力。

3G助力 600亿元的家庭监控市场等待挖掘 早在2004年,中国视频监控行业应用市场总产值就已经达到151亿元人民币,相比2003年的123亿元人民币增长了近23%,并以每年20%左右的速度不断增长。分析机构调研显示,随着生活节奏的不断加快,家庭用户对安全 ...…

查看全部问答>

[转载].SSRAM、SDRAM和Flash简要介绍.[Memory]

转CalmBright兄的博文:http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.html   Abstract 在用NIos II 调试sdram遇到了其容量计算的问题,现介绍如下 Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答: ...…

查看全部问答>

各位前辈指点下,怎么学习嵌入式开发!

http://www.jslc.org.cn/list.php?act1=do&tid=48&ttid=102 这上面有嵌入式培训的网址: 兄弟我像学习嵌入式开发,不知道这个培训班的内容怎么样啊?各位前辈给点意见啊,谢谢! 下面是一些课程介绍: 课程体系 基于ARM的嵌入式研发 ...…

查看全部问答>

求助:我有一定的c#语言基础,我现在要开发一个GIS/GPS系统,请高手给点入门思路!

我有一定的c#语言基础,我现在要开发一个GIS系统,请高手给点入门思路! 我现在有好多问题不懂, 比如在开发GPS/GIS系统之前是不是要会制作和编辑地图? 如何将现有的电子地图应用到开发中,比如在现有地图上经度和纬度等 也许高手会觉得我问的 ...…

查看全部问答>

请教WinCE系统启动问题

我用的是一块2410的开发板,根据资料说明定制的系统下载到扳子上,系统能正确启动,但是当我使用自定义的系统编译时会提示ROM与RAM的地址冲突,提示错误为: Copy Section Offset:     8cef6f84 FileSys 4K Chunks/Mbyte: 12 ...…

查看全部问答>

什么是Arduino? 送给和我一样不明白的人

什么是Arduino?Arduino是一个比你的台式电脑更能够用来感应和控制现实物理世界的一套工具。 它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量 ...…

查看全部问答>

发帖纪念一下现代计算机之父——阿兰·图灵

今天闲来无事,在家看一本介绍二战期间密码破译的书,在看到有关图灵贡献一段时,突然意识到昨天是这位现代计算机之父的忌日,特发此帖纪念这位伟大的天才。下面是拜读百度上有关图灵的介绍:【概述】阿兰·麦席森·图灵(Alan Mathison& ...…

查看全部问答>

2812的工作频率

2812最高工作频率是150MHz,如果我只让它工作在15MHz,会不会有什么问题? 此外,外接晶体作为时钟源时,其频率和两个引脚的电容大小有什么关系吗?我看到开发板上用的是30MHz晶体和24pF电容。如果更改晶体频率,电容值也要作相应变动吗? 多谢!…

查看全部问答>

请问LPM0和LPM1区别

请问下各位: 本人用DCO倍频至8M, LPM0: MCLK OFF, SMCLK ON, ACLKON, DCO ON LPM1: MCLK OFF, SMCLK ON, ACLK ON, DCO ON(DCO用于MCLK和SMCLK) (1)不知两者到底有何区别,LPM1下是否会影响TIMER1(时钟选择为SM ...…

查看全部问答>