整理智能时控开关设计.docx

上传人:b****8 文档编号:9912341 上传时间:2023-02-07 格式:DOCX 页数:18 大小:18.13KB
下载 相关 举报
整理智能时控开关设计.docx_第1页
第1页 / 共18页
整理智能时控开关设计.docx_第2页
第2页 / 共18页
整理智能时控开关设计.docx_第3页
第3页 / 共18页
整理智能时控开关设计.docx_第4页
第4页 / 共18页
整理智能时控开关设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

整理智能时控开关设计.docx

《整理智能时控开关设计.docx》由会员分享,可在线阅读,更多相关《整理智能时控开关设计.docx(18页珍藏版)》请在冰豆网上搜索。

整理智能时控开关设计.docx

整理智能时控开关设计

;系统晶振是11.0592MHz

Z8279EQU0FF82H;8279状态/命令口地址

D8279EQU0FF80H;8279数据口地址

LEDMODEQU00H;左边输入八位字符显示

;外部译码键扫描方式,双键互锁

LEDFEQEQU2FH;扫描速率

LEDCLSEQU0C1H;清除显示RAM

LEDWR0EQU80H;设定的将要写入的显示RAM地址

READKBEQU40H;读FIFORAM地址0的命令字

ORG0000H

AJMPSTART

ORG001BH;INTT1入口地址

AJMPINT_T1

ORG0040H

START:

MOVSP,#60H

LCALLINIT8279;初始化8279

MOVR3,#0H;时

MOVR2,#0H;分

MOVR7,#0H;秒

MOVR0,#0H;10毫秒

MOVR6,#0FFH;标志

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:

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

CJNEA,0EH,T3

MOVA,R2

CJNEA,0DH,T3

MOVA,R3

CJNEA,0CH,T3

LCALLTIMEONREPLAY2;转定时响应程序2

T3:

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

CJNEA,11H,WAIT

MOVA,R2

CJNEA,10H,WAIT

MOVA,R3

CJNEA,0FH,WAIT

LCALLTIMEONREPLAY3;转定时响应程序3

SJMPWAIT;循环

STOP_LIGHT:

SETB4BH

SETB4CH

SETB4DH

MOVR1,#09H

SJMPWAIT;停止灯闪烁

CLEAR_TIMER:

;定时时间清零子程序

MOV0BH,#0H;小时清零

MOV0AH,#0H;分钟清零

MOV09H,#0H;秒清零

MOVR6,#0FFH;置秒标志

LCALLDIS_mS;显示毫秒

RET

CLEAR_T:

;时间清零子程序

CLRTR1;关计数器

MOVR3,#0H;小时清零

MOVR2,#0H;分钟清零

MOVR7,#0H;秒清零

MOVR0,#0H;10毫秒清零

MOVR6,#0FFH;置秒标志

LCALLDIS_mS;显示毫秒

RET

START_T:

;电子钟计时子程序

SETBTR1

RET

STOP_T:

;电子钟停止计时子程序

CLRTR1

RET

SET_F:

CLRTR1;设置定时值子程序

MOVR4,#7

LCALLGETWORD;读小时数

CJNEA,#0FFH,INVALID_TIEMR;判断输入合法性

MOVA,B

ADDA,#232

JCINVALID_TIEMR;判断输入小时值<24

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOV@R1,A;保存输入的值

INCR1

MOVR4,#5

LCALLGETWORD;读分钟数

CJNEA,#0FFH,INVALID_TIEMR;判断输入合法性

MOVA,B

ADDA,#196

JCINVALID_TIEMR;判断输入分钟数<60

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOV@R1,A;保存输入的值

INCR1

MOVR4,#3

LCALLGETWORD;读分钟数

CJNEA,#0FFH,INVALID_TIEMR;判断输入合法性

MOVA,B

ADDA,#196

JCINVALID_TIEMR;判断输入分钟值<60

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOV@R1,A;保存输入的值

INCR1

AJMPBACK

INVALID_TIEMR:

LCALLCLEAR_TIMER;定时时间清零

BACK:

RET

TIMEONREPLAY1:

;转定时响应程序1

CLR4BH

RET

TIMEONREPLAY2:

;转定时响应程序2

CLR4CH

RET

TIMEONREPLAY3:

;转定时响应程序3

CLR4DH

RET

SET_T:

;设置初值子程序

CLRTR1;关计数器

MOVR4,#7

LCALLGETWORD;读小时数

CJNEA,#0FFH,INVALID;判断输入合法性

MOVA,B

ADDA,#232

JCINVALID;判断输入小时值<24

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOVR3,A;保存输入的值

MOVR4,#5

LCALLGETWORD;读分钟数

CJNEA,#0FFH,INVALID;判断输入合法性

MOVA,B

ADDA,#196

JCINVALID;判断输入分钟数<60

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOVR2,A;保存输入的值

MOVR4,#3

LCALLGETWORD;读分钟数

CJNEA,#0FFH,INVALID;判断输入合法性

MOVA,B

ADDA,#196

JCINVALID;判断输入分钟值<60

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOVR7,A;保存输入的值

MOVR4,#1

LCALLGETWORD;读10毫秒数

CJNEA,#0FFH,INVALID;判断输入合法性

MOVA,B

MOVB,#10

DIVAB

SWAPA

ADDA,B

MOVR0,A;保存输入的值

AJMPSET_TOK

INVALID:

LCALLCLEAR_T;时间清零

SET_TOK:

LCALLDIS_mS;显示10毫秒

LCALLDISPLAY;显示时间

RET

GETWORD:

;读数子程序

WKEY1:

LCALLGETKEY;读键盘

CJNEA,#0FFH,WKEY1;无键输入,则再读

MOVA,B

ADDA,#0C6H

JCERROR1;判断输入是否大于9

MOVA,B

SUBBA,#30H

JCERROR1;判断输入是否小于0

MOVR5,A

LCALLDISLED;显示输入的字符

MOVB,#10

MULAB

PUSHACC;保存输入的值

WKEY2:

LCALLGETKEY;读键盘

CJNEA,#0FFH,WKEY2;无键输入则再读

MOVA,B

ADDA,#0C6H;判断输入是否大于9

JCERROR2

MOVA,B

SUBBA,#30H;判断输入是否小于0

JCERROR2

DECR4

MOVR5,A

LCALLDISLED;显示输入的字符

MOVB,A

POPACC

ADDA,B

MOVB,A;把得到的值存在B

MOVA,#0FFH;置合法输入标志

AJMPKEYOK

ERROR2:

POPACC

ERROR1:

MOVA,#0;置非法输入标志

KEYOK:

RET

INIT8279:

;8279初始化子程序

PUSHDPH;保存现场

PUSHDPL

PUSHACC

LCALLDELAY;延时

MOVDPTR,#Z8279

MOVA,#LEDMOD;置8279工作方式

MOVX@DPTR,A

MOVA,#LEDFEQ;置键盘扫描速率

MOVX@DPTR,A

MOVA,#LEDCLS;清除LED显示

MOVX@DPTR,A

POPACC;恢复现场

POPDPL

POPDPH

RET

;读取键盘子程序

;输入:

无;输出:

B:

读到的键码A:

按键的标志

GETKEY:

PUSHDPH;保存现场

PUSHDPL

PUSHPSW

MOVDPTR,#Z8279

MOVXA,@DPTR;读8279状态

ANLA,#07H;屏蔽D7-D3

JNZGETVAL;判断是否有键输入

MOVA,#0H;置标志(无键输入)

SJMPNKBHIT

GETVAL:

MOVA,#READKB;读FIFORAM命令

MOVX@DPTR,A

MOVDPTR,#D8279

MOVXA,@DPTR;读键

ANLA,#3FH;屏蔽SHIFT和CTRL键

MOVDPTR,#KEYCODE;键码表起始地址

MOVCA,@A+DPTR;查表

MOVB,A;置返回键值

MOVA,#0FFH;置标志(有键输入)

NKBHIT:

POPPSW;恢复现场

POPDPL

POPDPH

RET

;显示字符子程序

;输入:

R4,位置R5,值

DISLED:

PUSHDPH;保存现场

PUSHDPL

PUSHACC

MOVA,#LEDWR0;置显示起始地址

ADDA,R4;加位置偏移量

MOVDPTR,#Z8279

MOVX@DPTR,A;设定显示位置

MOVDPTR,#LEDSEG;置显示常数表起始位置

MOVA,R5

MOVCA,@A+DPTR;查表

MOVDPTR,#D8279

MOVX@DPTR,A;显示数据

POPACC;恢复现场

POPDPL

POPDPH

RET

DELAY:

;延时子程序

PUSH0;保存现场

PUSH1

MOV0,#0H

DELAY1:

MOV1,#0H

DJNZ1,$

DJNZ0,DELAY1

POP1;恢复现场

POP0

RET

DIS_mS:

MOVA,R0

ANLA,#0FH

MOVR5,A

MOVR4,#0

LCALLDISLED;显示10毫秒低位

MOVA,R0

SWAPA;高低半字节交换

ANLA,#0FH

MOVR5,A

MOVR4,#1

LCALLDISLED;显示10毫秒高位

RET

INT_T1:

;INT_T1中断服务子程序

PUSHDPH;保护现场

PUSHDPL

PUSHACC

PUSHPSW

CLRTR1

MOVTL1,#00H;10毫秒定时常数

MOVTH1,#0DCH

SETBTR1

MOVA,R0

ADDA,#1;10毫秒数加1

DAA

MOVR0,A

LCALLDIS_mS;显示10毫秒

CJNER0,#0,EXIT;判断10毫秒=0

MOVR6,#0FFH;置秒标志

CJNER7,#59H,SECOND;判断秒=59

MOVR7,#99H

CJNER2,#59H,MINUTE;判断分=59

MOVR2,#99H

CJNER3,#23H,HOUR;判断时=23

MOVR3,#99H

HOUR:

MOVA,R3

ADDA,#1;时加1

DAA

MOVR3,A

MINUTE:

MOVA,R2

ADDA,#1;分加1

DAA

MOVR2,A

SECOND:

MOVA,R7

ADDA,#1;秒加1

DAA

MOVR7,A

EXIT:

POPPSW;恢复现场

POPACC

POPDPL

POPDPH

RETI;中断返回

DISPLAY:

MOVA,R3

ANLA,#0FH

ADDA,#10H

MOVR5,A

MOVR4,#6

LCALLDISLED;显示小时低位

MOVA,R3

SWAPA

ANLA,#0FH

MOVR5,A

MOVR4,#7

LCALLDISLED;显示小时高位

MOVA,R2

ANLA,#0FH

ADDA,#10H

MOVR5,A

MOVR4,#4

LCALLDISLED;显示分钟低位

MOVA,R2

SWAPA

ANLA,#0FH

MOVR5,A

MOVR4,#5

LCALLDISLED;显示分钟高位

MOVA,R7

ANLA,#0FH

ADDA,#10H

发现规划存在重大环境问题的,审查时应当提出不予通过环境影响报告书的意见;MOVR5,A

MOVR4,#2

LCALLDISLED;显示秒低位

MOVA,R7

(2)评价方法的适当性;SWAPA

ANLA,#0FH

(二)安全预评价范围MOVR5,A

MOVR4,#3

LCALLDISLED;显示秒高位

3)规划实施的经济效益、社会效益与环境效益之间以及当前利益与长远利益之间的关系。

JNB4BH,LIGHT1

JLIGHT2:

JNB4CH,LIGHT2

JLIGHT3:

JNB4DH,LIGHT3

第1页BACK1:

RET

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.'

(6)生态保护措施能否有效预防和控制生态破坏。

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

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

当前位置:首页 > 高等教育 > 经济学

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

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