用89C2051制作轻触式步进调整控制电路

来源:本站
导读:目前正在解读《用89C2051制作轻触式步进调整控制电路》的相关信息,《用89C2051制作轻触式步进调整控制电路》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《用89C2051制作轻触式步进调整控制电路》的详细说明。
简介:采用普通集成电路制作轻触式步进调整控制电路时,外围电路相对较复杂;本文介绍用单片机AT89C2051来编程制作轻触式步进调整控制电路,则外围电路较简单,微型继电器的驱动电路容易制作,实际运行效果也不错。适合初学者仿制。

一、电路结构

轻触式步进调整控制电路主要由AT89C2051与微型继电器构成,电路如图二所示。P3.0和P3.1作输入端口,分别接上拉电阻R1、R2和轻触开关S1、S2,S1做步进调整开关,S2做退步调整开关。P1.7~P1.0和P3.2~P3.7共13个口作输出端口,每一个端口用一颗发光二极管与PNP型三极管基极相连接,输出信号经过三极管放大后驱动微型继电器工作,发光二极管起到连接输出信号和显示输出信号的作用。微型继电器的常开或常闭触点与外围电路联接,通过控制微型继电器的触点闭合或断开来达到控制外围电路作步进调整工作。

用89C2051制作轻触式步进调整控制电路

图二 轻触式步进调整控制电路图

用89C2051制作轻触式步进调整控制电路

图三 轻触式步进调整控制直流稳压输出电路图

二、工作原理

接通电源后,AT89C2051内部程序首先将P1.7~P1.0和P3.2~P3.7输出端口置成高电位,使联接在每个输出端口上的微型继电器驱动电路均停止工作,其次将P3.0和P3.1输入端口也置成高电位,使输入端口处于准备接收信号的状态。然后程序开始单独循环检测P3.0端口是否为低电位,即检测轻触开关S1是否被按下,如果S1是第一次被按下,则P1.7端口由高电位变为低电位,LED1导通,使微型继电器J1触点闭合,LED1对应发光显示该端有信号输出;此后,程序除了循环检测接在P3.0端口的轻触开关S1是否被按下以外,还要增加循环检测接在P3.1端口的轻触开关S2是否被按下;如果S1是连续第二次被按下,则P1.6端口由高电位变为低电位,LED2导通,使微型继电器J2触点闭合,LED2对应发光显示该端有信号输出,同时P1.7端口从低电位变为高电位,LED1熄灭,微型继电器J1触点断开。依此原理,每按下一次S1时,J1~J13触点顺序步进闭合,LED随步进对应发光显示该端有信号输出,外围电路也随之作步进调整工作;反之,每按下一次S2时,J1~J13触点顺序退步闭合,LED随退步发光显示该端有信号输出,外围电路同样也随之作退步调整工作。图三是该电路的一个应用实例。适当剪短程序,用其中五个输出端口可轻触式步进调整控制直流稳压输出电压,控制J1~J5的触点闭合或断开,就能分别为LM317的调整端接入不同阻值的电阻,使LM317输出大小不同的电压。电阻R*8~R*12的值可以根据需要输出电压大小不同通过实验测得。在LM317输入为18V时,分别测得电阻值为 2K、1.4K、865Ω、704Ω、 和 327Ω,可对应输出12V、9V、6V、5V和3V五组常用直流稳压电压。

三、轻触式步进控制电路的流程图

图一是用89C2051制作轻触式步进控制电路的程序流程图中的一部分。其余部分原理相同,依次类推。

用89C2051制作轻触式步进调整控制电路

四、轻触式步进控制电路的源程序

ORG 0000H

MOV P1 ,#0FFH

MOV P3 ,#0FFH

L0 :JB P3.0 ,L0 ;按键1是否被按下,不是转L0

L1 :JNB P3.0 ,L1 ;按键1是否被抬起,不是转L1

CLR P1.7 ;开第1个端口

Q0 :JB P3.1 ,L2 ;按键2是否被按下,不是转Q0

Q1 :JNB P3.1 ,Q1 ;按键2是否被抬起,不是转Q1

SETB P1.7 ;关第1个端口

LJMP L0 ;转L0

L2 :JB P3.0 ,Q0 ;按键1是否被按下,不是转Q0

L3 :JNB P3.0 ,L3 ;按键1是否被抬起,不是转L3

SETB P1.7 ;关第1个端口

CLR P1.6 ;开第2个端口

Q2 :JB P3.1 ,L4

Q3 :JNB P3.1 ,Q3

SETB P1.6

CLR P1.7

LJMP L2

L4 :JB P3.0 ,Q2 ;

L5 :JNB P3.0 ,L5

SETB P1.6 ;关第2个端口

CLR P1.5 ;开第3个端口

Q4 :JB P3.1 ,L6

Q5 :JNB P3.1 ,Q5

SETB P1.5

CLR P1.6

LJMP L4

L6 :JB P3.0 ,Q4

L7 :JNB P3.0 ,L7

SETB P1.5 ;关第3个端口

CLR P1.4 ;开第4个端口

Q6 :JB P3.1 ,L8

Q7 :JNB P3.1 ,Q7

SETB P1.4

CLR P1.5

LJMP L6

L8 :JB P3.0 ,Q6

L9 :JNB P3.0 ,L9

SETB P1.4 ;关第4个端口

CLR P1.3 ;开第5个端口

Q8 :JB P3.1 ,L10

Q9 :JNB P3.1 ,Q9

SETB P1.3

CLR P1.4

LJMP L8

L10 :JB P3.0 ,Q8

L11 :JNB P3.0 ,L11

SETB P1.3 ;关第5个端口

CLR P1.2 ;开第6个端口

Q10 :JB P3.1 ,L12

Q11 :JNB P3.1 ,Q11

SETB P1.2

CLR P1.3

LJMP L10

L12 :JB P3.0 ,Q10

L13 :JNB P3.0 ,L13

SETB P1.2 ;关第6个端口

CLR P1.1 ;开第7个端口

Q12 :JB P3.1 ,L14

Q13 :JNB P3.1 ,Q13

SETB P1.1

CLR P1.2

LJMP L12

L14 :JB P3.0 ,Q12

L15 :JNB P3.0 ,L15

SETB P1.1 ;关第7个端口

CLR P1.0 ;开第8个端口

Q14 :JB P3.1 ,L16

Q15 :JNB P3.1 ,Q15

SETB P1.0

CLR P1.1

LJMP L14

L16 :JB P3.0 ,Q14

L17 :JNB P3.0 ,L17

SETB P1.0 ;关第8个端口

CLR P3.2 ;开第9个端口

Q16 :JB P3.1 ,L18

Q17 :JNB P3.1 ,Q17

SETB P3.2

CLR P1.0

LJMP L16

L18 :JB P3.0 ,Q16

L19 :JNB P3.0 ,L19

SETB P3.2 ;关第9个端口

CLR P3.3 ;开第10个端口

Q18 :JB P3.1 ,L20

Q19 :JNB P3.1 ,Q19

SETB P3.3

CLR P3.2

LJMP L18

L20 :JB P3.0 ,Q18

L21 :JNB P3.0 ,L21

SETB P3.3 ;关第10个端口

CLR P3.4 ;开第11个端口

Q20 :JB P3.1 ,L22

Q21 :JNB P3.1 ,Q21

SETB P3.4

CLR P3.3

LJMP L20

L22 :JB P3.0 ,Q20

L23 :JNB P3.0 ,L23

SETB P3.4 ;关第11个端口

CLR P3.5 ;开第12个端口

Q22 :JB P3.1 ,L24

Q23 :JNB P3.1 ,Q23

SETB P3.5

CLR P3.4

LJMP L22

L24 :JB P3.0 ,Q22

L25 :JNB P3.0 ,L25

SETB P3.5 ;关第12个端口

CLR P3.7 ;开第13个端口

Q24 :JB P3.1 ,L26

Q25 :JNB P3.1 ,Q25

SETB P3.7

CLR P3.5

LJMP L24

L26 :JB P3.0 ,Q24

L27 :JNB P3.0 ,L27

SETB P3.7 ;关第13个端口

LJMP L0 ;转L0

END

提醒:《用89C2051制作轻触式步进调整控制电路》最后刷新时间 2024-03-14 01:17:40,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《用89C2051制作轻触式步进调整控制电路》该内容的真实性请自行鉴别。