setb ea
gnxz: jnb p1.6,gn1 jnb p1.7,gn2
dj1: clr p1.1 mov r0,#6 ;循环6次 setb p1.0 ;启动打浆
acall aa0 jb p1.3,fyyz1 djnz r1,fyyz1 acall bj
acall bb clr p1.0 acall dd djnz r0,dj1
gn1:setb p1.1 ;启动加热
mov r1,#1eh ;设置循环30次 acall aa0
mov b,30h ;从30h中取温度值
mov a,#50h div ab ;比较a、b的大小,商存于a中
cjne a,#00h,dj1 djnz r1,gn1
zj1: setb p1.1 ;启动加热 mov r1,#1eh
acall aa0
jnb p1.3,fyyz1 djnz r1,zj1
fyyz1:
clr p1.1 ;停止加热
acall aa0 ;等待一分钟
setb p1.1 ;启动加热 mov r1,#8 ;循环8次,(延煮8分钟)
ajmp main ****浓香豆浆工作程序***
gn2:setb p1.1 ;启动加热 mov r1,#1eh ;设置循环30次
acall aa0
mov b,30h ;从30h中取温度值
mov a,#50h div ab ;比较a、b的大小,商存于a中
cjne a,#00h,dj2 djnz r1,gn2
dj2: clr p1.1 mov r0,#4 ;循环4次 setb p1.0 ;启动打浆
acall cc clr p1.0 acall dd djnz r0,dj2
zj2: setb p1.1 ;启动加热 mov r1,#1eh acall aa0 jnb p1.3,fyyz2
djnz r1,zj2
fyyz2:
clr p1.1 ;停止加热 acall aa0 ;等待一分钟
setb p1.1 ;启动加热 mov r1,#8
acall aa0 jb p1.3,fyyz2
djnz r1,fyyz2 acall bj ajmp main ***子程序清单*** ***温度采集转换程序***
wdzh: mov a,#00h ;设置通道地址 mov dptr,#0feffh ;设置ADC0809的口地址 movx @dptr,a :启动转换
acall dlt ;延时10US
wait:jb p3.3,wait movx @dptr,a
mov 30h,a ret
;等待转换结束 ;读入转换结果
***报警***
bj:mov r3,0ffh clr p1.4 ;光报警 clr p1.5
acall ee clr p1.4 clr p1.5
acall ee
djnz r0,bj ret
*** 延时程序 ***
aa0: mov r4,#3 aa: mov r5,#200 aa1: mov r6,#200 aa2: mov r7,#250 aa3: djnz r7,aa3 djnz r6,aa2 djnz r5,aa1 djnz r4,aa0
ret
bb: mov r5,#200 bb1: mov r6,#200 bb2: mov r7,#250 bb3: djnz r7,bb3 djnz r6,bb2 djnz r5,bb1
ret
cc: mov r5,#150 cc1: mov r6,#200 cc2: mov r7,#250 cc3: djnz r7,cc3 djnz r6,cc2 djnz r5,cc1
ret
;声报警
;延时一分钟
;延时20秒
;延时15秒
dd: mov r5,#100 dd1: mov r6,#200 dd2: mov r7,#250 dd3: djnz r7,dd3 djnz r6,dd2
djnz r5,dd1 ret
;延时10秒
ee : mov r5,#5
;延时500ms
ee1: mov r6,#200 ee2: mov r7,#250 ee3: djnz r7,ee3 djnz r6,ee2 djnz r5,ee1 ret
***防干烧*** fgs:clr p1.0 clr p1.1
acall bj reti end
因篇幅问题不能全部显示,请点此查看更多更全内容