红外遥控窗帘.docx

上传人:b****5 文档编号:2840023 上传时间:2022-11-15 格式:DOCX 页数:25 大小:37.93KB
下载 相关 举报
红外遥控窗帘.docx_第1页
第1页 / 共25页
红外遥控窗帘.docx_第2页
第2页 / 共25页
红外遥控窗帘.docx_第3页
第3页 / 共25页
红外遥控窗帘.docx_第4页
第4页 / 共25页
红外遥控窗帘.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

红外遥控窗帘.docx

《红外遥控窗帘.docx》由会员分享,可在线阅读,更多相关《红外遥控窗帘.docx(25页珍藏版)》请在冰豆网上搜索。

红外遥控窗帘.docx

红外遥控窗帘

红外遥控窗帘

汇编编程:

REDDATA_FLAGBIT2AH;是否新操作

POSITION_FLAGBIT2BH;现在位置,因为限位只在升完与降完才中断=1在上

STOP_FLAGBIT2CH;停止标志=1则停

UP_FLAGBIT2DH;=1升

DOWN_FLAGBIT2EH;=1降

SPEED_FLAGBIT2FH;=1高速

MIN_FLAGBIT50H;分钟标志

MS256_FLAGBIT51H;256ms标志

SETTIME_FLAGBIT52H;=1正在设置时间

CAN_DEC_TIMEBIT53H;允许倒计时

SETDATA_FLAGBIT54H;=1正在设置机器码

OVER_PL_FLAGBITP2.4;过载测试口

NIGHT_DAY_FLAGBITP2.3;=1天黑

OVER_LEDBITP2.7;过载指示灯

ZZBITP2.5;正反转

ZFBITP2.6

SDABITP3.6;定义24C02数据线

SCLBITP3.7;定义24C02时钟线

RSBITP1.2

RWBITP1.1

EBITP1.0

ORG0000H

SJMPMAIN

ORG0003

LJMPBD_INT0

ORG000BH

LJMPBD_T0

ORG0013H

LJMPBD_INT1

ORG001BH

LJMPBD_T1

MAIN:

MOVSP,#4FH

MOV15H,#0;接收的机器码个数

MOV28H,#0EAH

MOV29H,#060H

MOV27H,#11110000B;占空比

MOV2BH,#8;过载计时

MOV10H,#30H;初始时间为00:

00

MOV11H,#30H

MOV12H,#30H

MOV13H,#30H

MOV14H,#0

;位标志初始化

CLR28H

CLR29H

CLRZZ

CLRZF

CLRMIN_FLAG

SETBSTOP_FLAG

CLRDOWN_FLAG

CLRUP_FLAG

CLRPOSITION_FLAG

CLRREDDATA_FLAG

CLRSPEED_FLAG

CLRSETTIME_FLAG

CLRSETDATA_FLAG

CLRCAN_DEC_TIME

;中断初始化

;--------------

CLRTR1

MOVTH1,#0FCH

MOVTL1,#18H;1MS

MOVIP,#0DH

MOVTMOD,#11H

MOVTH0,#00H

MOVTL0,#00H

CLRTR0

SETBIT1

CLRIE1

SETBP3.3

SETBP3.2

SETBIT0

CLRIE0

SETBEX0

SETBET0

SETBEX1

SETBET1

SETBEA

SETBTR1

;------------

LCALLCLR_DISP_BUFFER

LCALLGETNEWROM

LCALLGETNEWTIME

LCALLLCDDISP

MAINLOOP:

LCALLDELAY50MS

SETBNIGHT_DAY_FLAG

MOVC,NIGHT_DAY_FLAG

JNCCONTINUE

SETBDOWN_FLAG

CLRIE1

SETBEX1

CONTINUE:

JNBMIN_FLAG,CONTINUE2

JBSETTIME_FLAG,CONTINUE2

JNBCAN_DEC_TIME,CONTINUE2

LCALLDECTIME

LCALLGETNEWTIME

LCALLLCDDISP

CONTINUE2:

CLRMIN_FLAG

JNBREDDATA_FLAG,MAINLOOP

LCALLSYSTEM_OPERTION

CLRREDDATA_FLAG

SJMPMAINLOOP

SJMP$

;-----------------------------------

;2AH操作码更新标志

;

(1)R0R1R4R5R6R7BACY

;功能性永久使用:

;

;10H11H12H13H14H15H

;21H~24H25H(28H~2FH)26H27H28H29H2AH(50H~57H)2BH

;显示:

30H~4FH

;SP50H~7FH

;============================================================================================================================================

BD_INT1:

CLRDOWN_FLAG

CLRUP_FLAG

SETBSTOP_FLAG

CPLPOSITION_FLAG

CLREX1;去抖重启在中断0

RETI

;--------------------------

;27H,#00000111B;占空比分钟计数值28H29H=60000ms

BD_T1:

MOVTH1,#0FCH

MOVTL1,#18H;1MS

PUSHPSW

PUSHA

JNBSTOP_FLAG,NOSTOP

CLRDOWN_FLAG

CLRUP_FLAG

CLRZZ

CLRZF

CLRSTOP_FLAG

SJMPTIME_MIN

NOSTOP:

JNBPOSITION_FLAG,ON_DOWN

JBDOWN_FLAG,GO_DOWN

CLRUP_FLAG

SJMPTIME_MIN

ON_DOWN:

JBUP_FLAG,GO_UP

CLRDOWN_FLAG

SJMPTIME_MIN

GO_DOWN:

JNBSPEED_FLAG,SLOW_DOWN

SETBZF

CLRZZ

SJMPTIME_MIN

SLOW_DOWN:

MOVA,27H

RLA

MOV27H,A

MOVC,ACC.0

MOVZF,C

CLRZZ

SJMPTIME_MIN

GO_UP:

JNBSPEED_FLAG,SLOW_UP

SETBZZ

CLRZF

SJMPTIME_MIN

SLOW_UP:

MOVA,27H

RLA

MOV27H,A

MOVC,ACC.0

MOVZZ,C

CLRZF

TIME_MIN:

DEC29H

MOVA,29H

JNZOUT_T1

JNBSPEED_FLAG,TIME_MIN_CONT

SETBOVER_PL_FLAG

MOVC,OVER_PL_FLAG

JCOVER_P

MOV2BH,#12

;SETBMIN_FLAG;要删

SETBOVER_LED

SJMPTIME_MIN_CONT

OVER_P:

CLROVER_LED

DEC2BH

MOVA,2BH

JNZTIME_MIN_CONT

SETBSTOP_FLAG

TIME_MIN_CONT:

DEC28H

MOVA,28H

JNZOUT_T1

SETBMIN_FLAG

MOV28H,#0EAH

MOV29H,#060H

OUT_T1:

POPA

POPPSW

RETI

;----------------------------------------------------------

;24H为所读数据26H为完成位数位28H完成否须操作了位29H标记在取位否2AH在主程序用作是否新操作(循环运行到)(1013.5201.01.72.2)(5.19.521.01.72.2)

;使用的资源:

(2)位28h29h20H~23H26H

BD_INT0:

CLRIE1

SETBEX1

PUSHA

PUSHPSW

MOVA,TH0

SETBTR0

MOVTH0,#00H

MOVTL0,#00H

CLRC

CJNEA,#20,C_5MS

C_5MS:

JCC_1_0

CLRC

CJNEA,#80,C_20MS

C_20MS:

JCC_32

CLR29H

SJMPOUTINTR0

C_32:

SETB29H

MOV26H,#20H

SJMPOUTINTR0

C_1_0:

JNB29H,OUTINTR0

CLRC

CJNEA,#7,C_DATA_1_0

C_DATA_1_0:

;MOV2BH,C

;MOVR2,A

;MOVA,R1

;ADDA,26H

;MOVR0,A;>=0.77GO=0

;MOVA,R2

;MOV@R0,A

;MOVC,2BH

MOVA,23H

RLCA

MOV23H,A

MOVA,22H

RLCA

MOV22H,A

MOVA,21H

RLCA

MOV21H,A

MOVA,20H

RLCA

MOV20H,A

DJNZ26H,OUTINTR0

SETB28H;断点测试点

CLR29H

MOVA,20H

;CPLA

CLRC

SUBBA,21H

JZOK_SEMDATA

CLR28H

SJMPOUTINTR0

OK_SEMDATA:

MOVA,22H

CPLA

CLRC

SUBBA,23H

JZOK_DATA

CLR28H

SJMPOUTINTR0

OK_DATA:

MOVA,23H

MOV24H,A

OUTINTR0:

POPPSW

POPA

RETI

;-----------定时T0

BD_T0:

CLRTR0

MOVTH0,#00H

MOVTL0,#00H

JNB28H,RBK

SETBREDDATA_FLAG

RBK:

CLR28H

CLR29H

RETI

;------------------------------------------------------------------

STOR_DATA:

MOVR0,#30H

LOOPCLRW:

MOVB,@R0

LCALLWRITE_BYTE

LCALLDELAY2MS

INCR0

CJNER0,#40H,LOOPCLRW

RET

GETNEWROM:

MOVR0,#30H

LOOPCLR:

LCALLREAD_BYTE;读EEPROM

MOV@R0,A

CLRC

SUBBA,#20H

LCALLDELAY2MS

JZOUTGET

INCR0

CJNER0,#40H,LOOPCLR

OUTGET:

RET

;----------(1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1