您的当前位置:首页正文

单片机程序

来源:个人技术集锦
 org 0000h ajmp main org 0003h ajmp fgs main: setb it0 setb ex0

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

因篇幅问题不能全部显示,请点此查看更多更全内容