单键遥控码学习控制器
* 单单控单单控制器 遥学*
; * 2001.11.29修改LRM *
; *************************************
; 单单控单单控制器单路原理单遥学
;********************************************************************** ;* KEYX0 P1.0 * 1 40 * VCC *;* KEYX1 P1.1 * 2 39 * P0.0 KEYY0 *;* KEYX2 P1.2 * 3 38 * P0.1 KEYY1 *;* KEYX3 P1.3 * 4 37 * P0.2 KEYY2 *;* SCL P1.4 * 5 36 * P0.3 KEYY3 *;* SDA P1.5 * 6 35 * P0.4 KEYY4 *;* STUDYLAMP P1.6 * 7 34 * P0.5 KEYY5 *;* LAMP P1.7 * 8 33 * P0.6 KEYY6 *;* RST * 9 32 * P0.7 KEYY7 *;* RXD P3.0 * 10 MCS-51 31 * EA VDD *;* TXD P3.1 * 11 30 * ALE *;* STUDYKEY INT0 P3.2 * 12 29 * PSEN *;* INT1 P3.3 * 13 28 * P2.7 A15 DEV7 *;* REMOTEIN T0 P3.4 * 14 27 * P2.6 A14 DEV6 *;* REMOTEOUT T1 P3.5 * 15 26 * P2.5 A13 DEV5 *;* WR P3.6 * 16 25 * P2.4 A12 DEV4 *;* RD P3.7 * 17 24 * P2.3 A11 DEV3 *;* XTAL2 * 18 23 * P2.2 A10 DEV2 *;* XTAL1 * 19 22 * P2.1 A9 DEV1 *;* VSS * 20 21 * P2.0 A8 DEV0 *;**********************************************************************
SPBASE EQU 70H;堆单基址
IEVAL EQU 00H ;单所有中断
MEMBASE EQU 08H;工作寄存器基址
MEMS EQU 67H;工作寄存器个数
;BITNMBEQU08H;一字单包含八位个个
KEYFUNFLAG EQU 80H ; 单功能索引
KEYFUNNMB EQU 81H ;单功能号
KEYFUNRW EQU 82H ;控信单单单志遥号写
READFLAG EQU 88H ;单单单
WITERFLAG EQU 99H ;单单写
TMPHADDR EQU 08H ;单入高单平存放首址
TMPLADDR EQU 90H ;单入低单平存放首址
READTIME EQU 00H ;单入据指令单单数
; LOWH EQU R4 ;起始位存放高地址
; LOWL EQU R5 ;起始位存放低地址
STUDYLAMP EQU P1.6 ;单指示学灯
LAMP EQU P1.7 ;未定单指示灯
STUDYKEY EQU P3.2 ;单单学
REMOTEIN EQU P3.4 ;控单入遥
REMOTEOUT EQU P3.5 ;控单出遥
DELAYCONUT EQU 30H ;延单单
DELAYCONUT0EQU0FFH;延单单
T1COUNT EQU 0F3H ;T1单单数
TMODVAL EQU 22H
TCONVAL EQU 41H
PCONVAL EQU 00H
T2CONVAL EQU 00H
SCONVAL EQU 0F8H
IPVAL EQU 01H;*************************************;* 主程序和中程序入口 断*
;*************************************
ORG 0000H
AJMP START
ORG 0003H
AJMP INTEX0
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
AJMP INTT1
ORG 0023H
RETI
ORG 002BH
RETI
;*************************************;* 初始化程序中的各单量 *
;*************************************CLEARMEMIO: CLRA
DECA
MOV P0,A; 清I/O 口
MOVP3,A
MOV P1,A
CLRA
MOVP2,A
CLRSTUDYLAMP
CLRLAMP
CLR REMOTEOUT
SETB REMOTEIN
MOV R0,#MEMBASE;工作寄存器清
MOV R1,#MEMS
CLEARMEM: MOV @R0,A
INC R0
DJNZ R1,CLEARMEM
MOVR0,#KEYFUNRW
MOV@R0,#READFLAG
MOV SP,#SPBASE;单堆单基址
MOV IE,#IEVAL ;单所有中断
MOV IP,#IPVAL
MOV TMOD,#TMODVAL
MOV PCON,#PCONVAL
MOV SCON,#SCONVAL
MOV TH1,#T1COUNT
MOV TL1,#T1COUNT
SETB EX0
SETB EA
RET
*************************************
;*主程序 **************************************START: LCALL CLEARMEMIO ;初始化
;
MAIN: LCALL KEYWORK ;主程序体
LJMPMAIN
NOP;PC单出单单理
NOP
NOP
LJMPSTART
;*************************************;* T1中服单程序 断*
;*************************************INTT1: CPL REMOTEOUT ;40kHZ
RETI
;*************************************;* 单波合成 *;*************************************REMOTETX:MOVR0,#TMPHADDR
MOVR1,#TMPLADDR; CPL STUDYLAMP
JZLOWBACK
LOWBACKTMP: MOV R2,A ;起始位单原
LOWBACKTMP0:SETBTR1
SETBET1
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR2,LOWBACKTMP0
DJNZR3,LOWBACKTMPLOWBACK:MOVA,R5
MOVR2,A
LOWBACKTMP1:SETBTR1
SETBET1
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR2,LOWBACKTMP1TMP0: MOV A,@R0 ;高单平单理
MOVR2,A
; CPL LAMPTMP1:CLRTR1
CLRET1
CLR REMOTEOUT ;
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR2,TMP1
INCR0
TMPP:MOVA,@R1
MOVR2,A
; CPL LAMPTMP2: SETB TR1 ;低单平单理
SETBET1
NOP
NOP
NOP
NOP
NOP
NOP
DJNZR2,TMP2
INCR1
MOVA,@R1
JZOUT
AJMPTMP0OUT: CLRTR1
CLRET1
CLRLAMP
CLR REMOTEOUT
RET
;*************************************
;* 控据单取 遥数INT0中程序 断*
;* 高单平存TMPHADDR单首址RAM *;* 低单平存TMPLADDR单首址RAM *;*************************************
INTEX0: CLRET1
CLRTR1
CLR EX0
CLREA
SETBSTUDYLAMP
CLRLAMP
MOVR0,#TMPHADDR
MOVR1,#TMPLADDR
CLRA
MOVDPH,A
MOVDPL,AREADHEAD:JNBREMOTEIN,READDATA;单起始位找
INCDPTR
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
AJMPREADHEADREADDATA:CJNEA,DPH,READDATA00
MOVDPH,A
AJMPREADHEADREADDATA00:MOVR3,DPH
MOVDPH,A
MOVDPL,AREADLOOP01: JB REMOTEIN,READDATA02 ;单起始位
INCDPTR
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
AJMPREADLOOP01READDATA02:CLRLAMP
MOVR4,DPH
MOV R5,DPL ;存起始位
MOVDPH,#00H
MOVDPL,#READTIME
AJMPREADLOOP1READDATA1: SETB LAMP ;存高单平
MOV@R0,DPL
INCR0
MOVDPL,#READTIME
MOV DPH,#00HREADLOOP0: JB REMOTEIN,READDATA2 ;单低单平
INCDPTR
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
AJMPREADLOOP0READDATA2: CLR LAMP ;存低单平
MOV@R1,DPL
INCR1
MOVDPL,#READTIME
MOV DPH,#00HREADLOOP1: JNB REMOTEIN,READDATA3 ;单高单平
INCDPTR
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
AJMP READLOOP1READDATA3: CLR A
CJNEA,DPH,READDATA4
AJMPREADDATA1READDATA4:MOV@R0,A
MOV@R1,A
SETBLAMP
CLR STUDYLAMP
SETB REMOTEINREADEND:JNBSTUDYKEY,READEND
MOVR0,#KEYFUNRW
MOV@R0,#WITERFLAG
SETB EX0
SETBEA
RETI
;*************************************;* 单工作子程序 ;**************************************KEYWORK: SETB P1.0
JNB P1.0,KEY0KEYOUT:RET
KEY0: LCALL DL10MS ;延单去单抖
JB P1.0,KEYOUT
LJMP REMOTETX;*************************************;* 延单 255 X 2 , 512 us *;*************************************DELAY:MOVR0,#DELAYCONUT0
DELAY1: DJNZ R0,DELAY1
RET
;*************************************;* 延单25 ms *;*************************************DL10MS: MOV R1,#DELAYCONUTDL10MS1: LCALL DELAY
DJNZ R1,DL10MS1
RET
END
本文档为【单键遥控码学习控制器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。