水泵定时控制实验
点击数:7893 次 录入时间:03-04 11:50:32 整理:http://www.55dianzi.com 51单片机
ljmp int00_loop
int00_dp:
mov 30h,32h
lcall int00_dis
ljmp int00_loop
int_dect:
lcall int_lay
jnb p3.3,$
int_del:setb p1.4 ;关记数指示灯
clr p1.5 ;开延时指示灯
mov 30h,34h
lcall int00_dis
jb p3.4,int_out
lcall int_lay
jnb p3.4,$
mov a,34h
add a,#05h
da a
mov 34h,a
mov 30h,a
lcall int00_dis
ljmp int_del
int_out:
jb p3.3,int_del
lcall int_lay
jnb p3.3,$
pop psw
pop acc
setb ex0
setb tr0
setb p1.4
setb p1.5
reti
;========================
; 中断显示,显示缓冲区30h
int00_dis:
setb p2.0 ;关显示,
setb p2.1
mov a,30h
anl a,#0fh
mov 28h,a
mov a,30h
swap a
anl a,#0fh
mov 29h,a
mov dptr,#tab
mov a,28h
movc a,@a+dptr
mov p0,a
clr p2.0
call delay_1ms
setb p2.0
setb p2.1 ;关显示
mov a,29h
movc a,@a+dptr
mov p0,a
clr p2.1
call delay_1ms
setb p2.0
setb p2.1 ;关显示
ret
;=====================
; 定时中断子程序
disp:push acc
push psw
mov th0,#0f8h
mov tl0,#0d0h
setb p2.0 ;关显示,
setb p2.1
mov a,30h
anl a,#0fh
mov 28h,a
mov a,30h
swap a
anl a,#0fh
mov 29h,a
mov dptr,#tab
mov a,28h
movc a,@a+dptr
mov p0,a
clr p2.0
call delay_1ms
setb p2.0
setb p2.1 ;关显示
mov a,29h
movc a,@a+dptr
mov p0,a
clr p2.1
call delay_1ms
setb p2.0
setb p2.1 ;关显示
pop psw
pop acc
reti
tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h
db 00h
;************************
; 显示延时子程序
;************************
delay_1ms:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
ret
int_lay:
mov r7,#60 ;消除抖动 30m秒
int_e1:
mov r6,#248
djnz r6,$
djnz r7,int_e1
ret
end
上一页 [1] [2]
本文关键字:水泵 51单片机,单片机-工控设备 - 51单片机