您的位置 首页 培训

这一文教会你水泵守时操控试验

这一文教会你水泵定时控制实验-现代自动控制设备中,都存在一个电子电路与电气电路的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全。电子继电器便能完成这一桥梁作用。

现代自动操控设备中,都存在一个电子电路与电气电路的相互衔接问题,一方面要使电子电路的操控信号可以操控电气电路的履行元件(电动机电磁铁,电灯等),另一方面又要为电子线路的电气电路供给杰出的电阻隔,以维护电子电路和人身的安全。电子继电器便能完结这一桥梁效果。

特别提示:

试验时请尽量不要去操控220V及以上电压等级的设备,因这个学习套件是面向学习,而不是面向工业操控的。假如您一定要接220V及以上电压的设备请在试验过程中注意安全,继电输出部份采用了光电阻隔,假如正确接线,不会损坏套件的主板。

程序功用:

运转时,继电器闭合十秒,断开十秒,连续的运转。数码管显现倒计时的时刻。计时时刻可通过按键设定。

引脚阐明:

p3.5发动,p3.4加一,p3.3退出设置,p3.2设置

p1.0为电源指示灯

p1.1,jk1指示灯,p1.2,jk2指示灯

p1.4,调整记数指示灯,p1.5,延时调整指示灯

p2.7输出操控水泵电机

水泵守时操控试验程序如下:

org 00h

ljmp main ;主程序进口

org 03h

ljmp int00 ;中止0进口

org 0bh

ljmp disp ;守时中止0进口

org 13h

reTI

org 1bh

org 23h

reTI

org 30h

main: mov 30h,#10h ; 显现缓冲区

mov 31h,#10h ;(buf)

mov 32h,#10h ; 备份

mov 34h,#50 ; 记时

mov p2,#0ffh

mov p3,#0ffh

mov p1,#0feh ; 指示灯亮

mov sp,#68h

mov tmod,#01h ;守时器0,方法1

setb it0 ;下降沿有用

mov ie,#83h ;答应守时器0,中止0

mov th0,#0f8h

mov tl0,#0d0h

setb tr0

jb p3.5,$ ;未按下,则等候

jnb p3.5,$ ;未松开,则等候

mov p1,#0fch ;jk1指示灯亮

clr p2.6 ;p2.6发动

setb p2.7 ;p2.7断开

loop: nop

lcall sub ;减一操作

cjne r2,#00h,loop1

cpl p1.1

cpl p1.2 ;指示灯取反

cpl p2.6 ;继电器取反操作

cpl p2.7

mov 31h,32h ;从32h中读初值

loop1:mov r3,34h ;从34h中读入延时初值

lcall delay ;调延时子程序

ljmp loop

; 减一子程序

sub: clr c

mov a,#9ah

subb a,#1

add a,31h

da a

mov 31h,a

mov 30h,a ;放显现缓冲区

mov r2,31h

ret

; 延时10ms子程序

delay:mov r4,#20

del_a:mov r5,#248

djnz r5,$

djnz r4,del_a

djnz r3,delay

ret

;==========================

; 中止0服务

int00: clr ex0 ;关外中止

clr tr0

push aCC

push psw

jnb p3.3,$ ;未松开,等候

lcall int_lay

int00_loop:

jnb p3.3,int_dect ;p3.1按下,则到延时处理

clr p1.4 ;p3.1未按下,记数指示灯亮

setb p1.5 ;关延时初值指示灯

mov 30h,32h ;备份值放显现缓冲区

lcall int00_dis

int00_datadd:

jb p3.4,int00_dp ;p3.4未按下,跳显现处理

lcall int_lay

jnb p3.4,$ ;未松开,等候

mov a,32h

add a,#1

da a

mov 32h,a

mov 30h,a

lcall int00_dis

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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/347784.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部