首页 单键遥控码学习控制器

单键遥控码学习控制器

举报
开通vip

单键遥控码学习控制器单键遥控码学习控制器 * 单单控单单控制器 遥学* ; * 2001.11.29修改LRM * ; ************************************* ; 单单控单单控制器单路原理单遥学 ;********************************************************************** ;* KEYX0 P1.0 * 1 40 * VCC *;* KEYX1 P1.1 * 2 39 * P0.0 KEYY0 *;* KEYX2 P1.2 * 3...

单键遥控码学习控制器
单键遥控码学习控制器 * 单单控单单控制器 遥学* ; * 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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321575
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:13
分类:生活休闲
上传时间:2017-12-13
浏览量:11