这是程序
ORG 8000H
;主程序入口地址
LJMP MAIN
ORG 8013H
;外部中断入口地址
LJMP ETT1
ORG 800BH
;定时器0入口地址
LJMP LOP2
ORG 9000H
;定时器1入口地址
LJMP LOP3
MAIN:
MOV SP,#6FH
;????????????
MOV TMOD,#51H
MOV TH1,#0F4H
;软件记数个数
MOV TL1,#48H
MOV TH0,#3CH
;延时50ms
MOV TL0,#0B0H
MOV R2,#00H
;软件记数放入R2
MOV IE,#10001110B
;申请中断
SETB IT1
;采用边缘出发??????????
SETB P1.2
;门显示灯
SETB P1.3
;控制启动消毒
CLR P1.1
;定时器????????????????
LOP:
JB P1.0, LOP5
;判门状态
SETB P1.2
SJMP LOP
LOP5:
CLR P1.2
AJMP LOP
ETT1:
JNB P1.0,LOP1
;判门,关则进入LOP1
CLR P1.2
LJMP NEXT1
LOP1:
SETB P1.2
;关门
SETB TR0
;启动定时中断??????????
CLR P1.3
SETB TR1
NEXT1:RETI
;??????????????
LOP2:
CLR P1.3
;定时10分钟
MOV TH0,#3CH
; 定时初值
MOV TL0,#0B0H
INC R2
;记数个数累加
JB P1.0,LOP4
;判门,开则进入LOP4
CJNE R2,#02H,NEXT
;100msP1.0取反一次?????????
CPL P1.1
MOV R2,#00H
LJMP NEXT
LOP4:
CLR TR0
;转移判断门
CLR TR1
SETB P1.3
CLR P1.2
NEXT: RETI ;????????????
帮我看看各内存是怎么分配,还有定时器和计时器的两种模式是怎么工作的?还有后面有问号的句子帮小弟稍微解释一下,谢谢了。
这是要求:1.所实现的功能描述:
消毒碗柜可以定时对碗筷等进行消毒,当用户放入碗筷,关闭厨门并且按下开始按钮以后,消毒开始,10分钟以后自动结束,如果中途用户开门,则必须立即停止消毒,防治臭氧泄漏。
2.设计方案的描述
(1) 可以利用红绿灯的亮灭来模拟消毒状态,用拨动开关来模拟厨门,用外部中断来模拟开始消毒的按钮。
(2)可以用软件延时的办法,利用内存单元来存储定时中断的数量,配合定时中断实现长时间定时。
(3)本题内容比较简单主程序可以采用循环的办法,不断检测厨门的状态,在已经开始消毒的前提下,确定是否应该停止消毒。
(4)在开始消毒的中断中,应该首先检测厨门状态,才确认是否可以启动消毒,如果厨门没有关闭,应该提示用户(可以用一个灯来模拟)并拒绝消毒。
(5)开始消毒的中断中,启动定时中断,定时完成以后应该关闭消毒过程并禁止定时中断本身再次中断。
大家就帮我看看LOP2是什么意思?
|