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

发布者:QuantumPulse最新更新时间:2012-11-03 来源: 21ic 关键字:89C2051  轻触式  步进调整控制 手机看文章 扫描二维码
随时随地手机看文章

    采用普通集成电路制作轻触式步进调整控制电路时,外围电路相对较复杂;本文介绍用单片机AT89C2051来编程制作轻触式步进调整控制电路,则外围电路较简单,微型继电器的驱动电路容易制作,实际运行效果也不错。适合初学者仿制。

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

二、 工作原理
    接通电源后,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五组常用直流稳压电压。[page]

三、轻触式步进控制电路的流程图
    图一是用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  轻触式  步进调整控制 引用地址:用89C2051制作轻触式步进调整控制电路

上一篇:模数转换DAC0832的应用实验
下一篇:单片机在应力磁测装置中的应用

推荐阅读最新更新时间:2024-03-16 13:12

采用89C2051制作的120MHz频率计
采用89c51制作的120MHz频率计
[单片机]
采用<font color='red'>89C2051</font>制作的120MHz频率计
基于89C2051的多功能交流稳压电源设计
1 引言 目前我国有些地方由于电力供应紧张,或电力设备严重老化,在用电高峰期,电网超负荷运行,电网电压太低,而在用电低谷期,电网电压太高,这种电压大幅度波动的现象,很容易给一些用电设备带来损害。特别是不断出现的各种智能化仪器仪表、个人电脑等家用电器,对电源质量的要求越来越高,这就需要研制一种高性能的交流稳压电源。 当前市场上的交流稳压电源有继电器控制和伺服电机控制的交流稳压电源两类,前者是一种有级调整,价格低廉,效率较高,但由于是有级调整造成电压跳动和瞬间断电,用于计算机及带微电脑的家用电器、智能化仪器仪表等容易造成故障。后者是一种无级调整、效率高、调压范围宽、波形失真小,但是功能比较单一,性能和可靠性欠佳,没
[单片机]
基于<font color='red'>89C2051</font>的多功能交流稳压电源设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved