智能时控开关设计Word格式.docx

上传人:b****3 文档编号:7618434 上传时间:2023-05-08 格式:DOCX 页数:17 大小:17.41KB
下载 相关 举报
智能时控开关设计Word格式.docx_第1页
第1页 / 共17页
智能时控开关设计Word格式.docx_第2页
第2页 / 共17页
智能时控开关设计Word格式.docx_第3页
第3页 / 共17页
智能时控开关设计Word格式.docx_第4页
第4页 / 共17页
智能时控开关设计Word格式.docx_第5页
第5页 / 共17页
智能时控开关设计Word格式.docx_第6页
第6页 / 共17页
智能时控开关设计Word格式.docx_第7页
第7页 / 共17页
智能时控开关设计Word格式.docx_第8页
第8页 / 共17页
智能时控开关设计Word格式.docx_第9页
第9页 / 共17页
智能时控开关设计Word格式.docx_第10页
第10页 / 共17页
智能时控开关设计Word格式.docx_第11页
第11页 / 共17页
智能时控开关设计Word格式.docx_第12页
第12页 / 共17页
智能时控开关设计Word格式.docx_第13页
第13页 / 共17页
智能时控开关设计Word格式.docx_第14页
第14页 / 共17页
智能时控开关设计Word格式.docx_第15页
第15页 / 共17页
智能时控开关设计Word格式.docx_第16页
第16页 / 共17页
智能时控开关设计Word格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

智能时控开关设计Word格式.docx

《智能时控开关设计Word格式.docx》由会员分享,可在线阅读,更多相关《智能时控开关设计Word格式.docx(17页珍藏版)》请在冰点文库上搜索。

智能时控开关设计Word格式.docx

MOVTMOD,#10H

MOVTL1,#00H;

10毫秒的时间常数

MOVTH1,#0DCH

LCALLDIS_mS

SETBET1

SETBEA;

允许中断z

SETB4BH;

三个定时端子禁止

SETB4CH

SETB4DH

MOV09H,#23H

MOV0CH,#23H

MOV0FH,#23H

MOVR1,#09H;

定时时刻的存储起始地址

WAIT:

LCALLGETKEY;

读键盘

CJNEA,#0FFH,CONT;

判断是否有键输入

MOVA,B

CJNEA,#3CH,KEY_A;

输入键是'

C'

转CLEAR_T

LCALLCLEAR_T

KEY_A:

CJNEA,#3AH,KEY_D;

A'

转START_T

LCALLSTART_T

KEY_D:

CJNEA,#3DH,KEY_B;

D'

转STOP_T

LCALLSTOP_T

KEY_B:

CJNEA,#3BH,KEY_F;

B'

转SET_T

LCALLSET_T

KEY_F:

CJNEA,#3FH,KEY_E;

F'

转SET_F

LCALLSET_F

KEY_E:

CJNEA,#3EH,CONT;

E'

转MONITOR

AJMPSTOP_LIGHT

CONT:

CJNER6,#0FFH,WAIT;

若无秒标志则循环

LCALLDISPLAY;

显示时间

MOVR6,#0;

清标志

TIMEON:

MOVA,R7;

判断定时1是否来到(秒,分,时)

CJNEA,0BH,T2

MOVA,R2

CJNEA,0AH,T2

MOVA,R3

CJNEA,09H,T2

LCALLTIMEONREPLAY1;

转定时响应程序1

T2:

判断定时2是否来到(秒,分,时)

CJNEA,0EH,T3

CJNEA,0DH,T3

CJNEA,0CH,T3

LCALLTIMEONREPLAY2;

转定时响应程序2

T3:

判断定时3是否来到(秒,分,时)

CJNEA,11H,WAIT

CJNEA,10H,WAIT

CJNEA,0FH,WAIT

LCALLTIMEONREPLAY3;

转定时响应程序3

SJMPWAIT;

循环

STOP_LIGHT:

SETB4BH

MOVR1,#09H

停止灯闪烁

CLEAR_TIMER:

定时时间清零子程序

MOV0BH,#0H;

小时清零

MOV0AH,#0H;

分钟清零

MOV09H,#0H;

秒清零

置秒标志

LCALLDIS_mS;

显示毫秒

RET

CLEAR_T:

时间清零子程序

CLRTR1;

关计数器

10毫秒清零

START_T:

电子钟计时子程序

SETBTR1

STOP_T:

电子钟停止计时子程序

CLRTR1

SET_F:

设置定时值子程序

MOVR4,#7

LCALLGETWORD;

读小时数

CJNEA,#0FFH,INVALID_TIEMR;

判断输入合法性

ADDA,#232

JCINVALID_TIEMR;

判断输入小时值<

24

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOV@R1,A;

保存输入的值

INCR1

MOVR4,#5

读分钟数

ADDA,#196

判断输入分钟数<

60

MOVR4,#3

判断输入分钟值<

AJMPBACK

INVALID_TIEMR:

LCALLCLEAR_TIMER;

定时时间清零

BACK:

TIMEONREPLAY1:

CLR4BH

TIMEONREPLAY2:

CLR4CH

TIMEONREPLAY3:

CLR4DH

SET_T:

设置初值子程序

CJNEA,#0FFH,INVALID;

JCINVALID;

MOVR3,A;

MOVR2,A;

MOVR7,A;

MOVR4,#1

读10毫秒数

MOVR0,A;

AJMPSET_TOK

INVALID:

LCALLCLEAR_T;

时间清零

SET_TOK:

LCALLDIS_mS;

显示10毫秒

GETWORD:

读数子程序

WKEY1:

CJNEA,#0FFH,WKEY1;

无键输入,则再读

ADDA,#0C6H

JCERROR1;

判断输入是否大于9

SUBBA,#30H

判断输入是否小于0

MOVR5,A

LCALLDISLED;

显示输入的字符

MULAB

PUSHACC;

WKEY2:

CJNEA,#0FFH,WKEY2;

无键输入则再读

ADDA,#0C6H;

JCERROR2

SUBBA,#30H;

DECR4

MOVB,A

POPACC

MOVB,A;

把得到的值存在B

MOVA,#0FFH;

置合法输入标志

AJMPKEYOK

ERROR2:

ERROR1:

MOVA,#0;

置非法输入标志

KEYOK:

INIT8279:

8279初始化子程序

PUSHDPH;

保存现场

PUSHDPL

PUSHACC

LCALLDELAY;

延时

MOVDPTR,#Z8279

MOVA,#LEDMOD;

置8279工作方式

MOVX@DPTR,A

MOVA,#LEDFEQ;

置键盘扫描速率

MOVA,#LEDCLS;

清除LED显示

POPACC;

恢复现场

POPDPL

POPDPH

读取键盘子程序

输入:

无;

输出:

B:

读到的键码A:

按键的标志

GETKEY:

PUSHPSW

MOVDPTR,#Z8279

MOVXA,@DPTR;

读8279状态

ANLA,#07H;

屏蔽D7-D3

JNZGETVAL;

MOVA,#0H;

置标志(无键输入)

SJMPNKBHIT

GETVAL:

MOVA,#READKB;

读FIFORAM命令

MOVDPTR,#D8279

读键

ANLA,#3FH;

屏蔽SHIFT和CTRL键

MOVDPTR,#KEYCODE;

键码表起始地址

MOVCA,@A+DPTR;

查表

置返回键值

置标志(有键输入)

NKBHIT:

POPPSW;

显示字符子程序

R4,位置R5,值

DISLED:

MOVA,#LEDWR0;

置显示起始地址

ADDA,R4;

加位置偏移量

MOVX@DPTR,A;

设定显示位置

MOVDPTR,#LEDSEG;

置显示常数表起始位置

MOVA,R5

显示数据

DELAY:

延时子程序

PUSH0;

PUSH1

MOV0,#0H

DELAY1:

MOV1,#0H

DJNZ1,$

DJNZ0,DELAY1

POP1;

POP0

DIS_mS:

MOVA,R0

ANLA,#0FH

MOVR4,#0

显示10毫秒低位

SWAPA;

高低半字节交换

显示10毫秒高位

INT_T1:

INT_T1中断服务子程序

保护现场

10毫秒定时常数

ADDA,#1;

10毫秒数加1

DAA

MOVR0,A

CJNER0,#0,EXIT;

判断10毫秒=0

CJNER7,#59H,SECOND;

判断秒=59

MOVR7,#99H

CJNER2,#59H,MINUTE;

判断分=59

MOVR2,#99H

CJNER3,#23H,HOUR;

判断时=23

MOVR3,#99H

HOUR:

时加1

MOVR3,A

MINUTE:

分加1

MOVR2,A

SECOND:

MOVA,R7

秒加1

MOVR7,A

EXIT:

RETI;

中断返回

DISPLAY:

ADDA,#10H

MOVR4,#6

显示小时低位

显示小时高位

MOVR4,#4

显示分钟低位

显示分钟高位

MOVR4,#2

显示秒低位

显示秒高位

JNB4BH,LIGHT1

JLIGHT2:

JNB4CH,LIGHT2

JLIGHT3:

JNB4DH,LIGHT3

BACK1:

LIGHT1:

CPLP1.1

AJMPJLIGHT2

LIGHT2:

CPLP1.2

AJMPJLIGHT3

LIGHT3:

CPLP1.3

AJMPBACK1

LED显示常数表

LEDSEG:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;

'

0,1,2,3,4,5,6,7'

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;

8,9,A,B,C,D,E,F'

DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,087H;

0.,1.,2.,3.,4.,5.,6.,7.'

DB0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H;

8.,9.,A.,B.,C.,D.,E.,F.'

DB6DH,02H,08H,00H,59H,0FH,76H;

U,-,_,,I,O,P,'

键盘键码表

KEYCODE:

DB30H,31H,32H,33H,34H,35H,36H,37H;

1,2,Q,W,A,S,+,Z'

DB38H,39H,3AH,3BH,3CH,3DH,3EH,3FH;

3,4,E,R,D,F,X,C'

END

F

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2