历史上的今天
今天是: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
史海拾趣
|
我用的是51系列的单片机,做的一个在中断中执行键盘扫描的程序,用的LCD1602显示,但是当中断返回后,显示器上已经输入的东西会不见, 用的是外部中断,跳沿触发方式 请帮我看一下是什么问题啊 汇编语言的, MOV R0, ...… 查看全部问答> |
|
[转载].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系统之前是不是要会制作和编辑地图? 如何将现有的电子地图应用到开发中,比如在现有地图上经度和纬度等 也许高手会觉得我问的 ...… 查看全部问答> |
|
我用的是一块2410的开发板,根据资料说明定制的系统下载到扳子上,系统能正确启动,但是当我使用自定义的系统编译时会提示ROM与RAM的地址冲突,提示错误为: Copy Section Offset: 8cef6f84 FileSys 4K Chunks/Mbyte: 12 ...… 查看全部问答> |
|
什么是Arduino?Arduino是一个比你的台式电脑更能够用来感应和控制现实物理世界的一套工具。 它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量 ...… 查看全部问答> |
|
今天闲来无事,在家看一本介绍二战期间密码破译的书,在看到有关图灵贡献一段时,突然意识到昨天是这位现代计算机之父的忌日,特发此帖纪念这位伟大的天才。下面是拜读百度上有关图灵的介绍:【概述】阿兰·麦席森·图灵(Alan Mathison& ...… 查看全部问答> |
|
请问下各位: 本人用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 ...… 查看全部问答> |




