DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 134|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-29 23:45:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
智能实用可编程光控器源程序
智能实用可编程光控器源程序
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,#85H
LOOP1: MOV 51H,#35H
LOOP2: 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 SZ2
SZ1: 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 FW0
FW0: POP ACC
RETI

RDX5045: NOP ;看门狗程序
WD_RST: CLR CS
SETB CS
RET
WD_SET: MOV R4,#10H
LCALL WR_SR
RET
RD_SR: MOV A,#05H
CLR CS
LCALL WR0
LCALL RD0
SETB CS
RET
WR0: MOV R4,#08H
WR1: RLC A
MOV SI,C
CLR SCK
SETB SCK
DJNZ R4, WR1
RET
RD0: MOV R4,#08H
RD1: SETB SCK
CLR SCK
MOV C,SO
RLC A
DJNZ R4, RD1
RET
WR_SR: LCALL RD_SR
CLR F0
JNB 0E0H, WR_SR1
SETB F0
RET
WR_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
RET
RD_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
RET
WR_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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-1 19:41 , 耗时 0.088478 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表