文章分类

当前位置:首页>技术文章>智能实用可编程光控器源程序

智能实用可编程光控器源程序

智能实用可编程光控器源程序 SCK BIT P1.5 ;时钟控制 SI BIT P1.4 ;数据输入 SO BIT P1.6 ;数据输出 CS BIT P1.7 ;片选 RcvD DATA 6FH ;接收数据缓冲器 XmtD DATA 6EH ;发送数据缓冲器 ORG 0000H AJMP INIT_0 ORG 000BH AJMP T0ZD ORG 001BH AJMP T1ZD ORG 0050H INIT_0: CLR 59H MOV 55H,#35 MOV 56H,#35 MOV P1,#0C3H MOV P3,#0FFH MOV TCON,#10H MOV TMOD,#11H MOV TL0,#0AFH MOV TH0,#3CH MOV IE,#8AH ACALL WD_SET ;看门狗定时时间设置 LOOP0: LCALL WD_RST ;喂狗 MOV 50H,#85HLOOP1: MOV 51H,#35HLOOP2: DJNZ 51H, LOOP2 DJNZ 50H, LOOP1 JNB 59H, LOOP0 ;光控开灯标志 ;若光控启动,则进入延时处理 MOV A,P3 ;读取数字拨盘开关编程设定值 CPL A ANL A,#0FH ;处理读取数字拨盘开关的设定值 JZ LOOP0 ;编程设定值是否为"0",若不为"0" ;则作关灯延时处理 CJNE A,48H, LOOP0 ;取时钟计时,与编程设定值比较是否相等 CLR P1.3 ;若相等,清"0"P1.3,关掉相应的路灯 AJMP LOOP0 T0ZD: PUSH Acc ;时钟程序 MOV TL0,#0AFH MOV TH0,#3CH INC 45H MOV A,45H CJNE A,#0AH, FW0 INC 46H ;秒计数 MOV 45H,#00H JNB P3.6, SZ1 ;单片机内部比较器输出的判断 MOV 56H,#35 ;抗干扰延时设置处理 DJNZ 55H, SZ2 CLR 59H ;关灯处理 CLR P1.2 CLR P1.3 AJMP SZ2SZ1: MOV 55H,#35 ;抗干扰延时设置处理 DJNZ 56H, SZ2 JB 59H, SZ2 SETB 59H ;开灯处理 SETB P1.2 SETB P1.3 MOV 45H,#00H MOV 46H,#00H MOV 47H,#00H MOV 48H,#00H SZ2: MOV A,46H CJNE A,#3CH, FW0 INC 47H ;分计数 MOV 46H,#00H MOV A,47H CJNE A,#3CH, FW0 INC 48H ;时计数 MOV 47H,#00H MOV A,48H CJNE A,#02H FW0FW0: POP ACC RETI RDX5045: NOP ;看门狗程序 WD_RST: CLR CS SETB CS RETWD_SET: MOV R4,#10H LCALL WR_SR RETRD_SR: MOV A,#05H CLR CS LCALL WR0 LCALL RD0 SETB CS RETWR0: MOV R4,#08HWR1: RLC A MOV SI,C CLR SCK SETB SCK DJNZ R4, WR1 RETRD0: MOV R4,#08HRD1: SETB SCK CLR SCK MOV C,SO RLC A DJNZ R4, RD1 RETWR_SR: LCALL RD_SR CLR F0 JNB 0E0H, WR_SR1 SETB F0 RETWR_SR1: CLR CS MOV A,#06H LCALL WR0 SETB CS CLR CS MOV A,#01H LCALL WR0 MOV A,#10H ;;;; LCALL WR0 CLR CS SETB CS RETRD_B: LCALL RD_SR JB 0E0H, RD_B CLR CS MOV A,#03H LCALL WR0 MOV A,XmtD LCALL WR0 LCALL RD0 MOV RcvD,A SETB CS RETWR_B: LCALL RD_SR JB 0E0H, WR_B CLR CS MOV A,#06H LCALL WR0 SETB CS CLR CS MOV A,#02H LCALL WR0 MOV A,XmtD LCALL WR0 MOV A,RcvD LCALL WR0 CLR CS SETB CS RET END


© 星光电子技术工作室 2021 All Rights Reserved.
如有任何问题、建议、业务、合作,请联系手机/微信:13713820066