网站导航: 首页 > 设计参考 > 正文 文章搜索
用89C2051制作轻触式步进调整控制电路
 
文章编号:
091111223409
文章分类: 单片机 51系列
点 击:
...
关 键 词: 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五组常用直流稳压电压。

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

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

 
  1. ORG  0000H  
  2. MOV  P1 ,#0FFH  
  3. MOV  P3 ,#0FFH  
  4. L0 :JB  P3.0 ,L0    ;按键1是否被按下,不是转L0    
  5. L1 :JNB  P3.0 ,L1   ;按键1是否被抬起,不是转L1    
  6. CLR  P1.7       ;开第1个端口  
  7. Q0 :JB  P3.1 ,L2     ;按键2是否被按下,不是转Q0  
  8. Q1 :JNB  P3.1 ,Q1   ;按键2是否被抬起,不是转Q1  
  9. SETB  P1.7      ;关第1个端口  
  10. LJMP  L0       ;转L0    
  11. L2 :JB  P3.0 ,Q0     ;按键1是否被按下,不是转Q0  
  12. L3 :JNB  P3.0 ,L3    ;按键1是否被抬起,不是转L3  
  13. SETB  P1.7      ;关第1个端口  
  14. CLR  P1.6       ;开第2个端口  
  15. Q2 :JB  P3.1 ,L4    
  16. Q3 :JNB  P3.1 ,Q3     
  17. SETB  P1.6     
  18. CLR  P1.7     
  19. LJMP  L2     
  20. L4 :JB  P3.0 ,Q2    ;  
  21. L5 :JNB  P3.0 ,L5     
  22. SETB  P1.6     ;关第2个端口  
  23. CLR  P1.5      ;开第3个端口  
  24. Q4 :JB  P3.1 ,L6    
  25. Q5 :JNB  P3.1 ,Q5     
  26. SETB  P1.5     
  27. CLR  P1.6     
  28. LJMP  L4     
  29. L6 :JB  P3.0 ,Q4     
  30. L7 :JNB  P3.0 ,L7     
  31. SETB  P1.5      ;关第3个端口  
  32. CLR  P1.4       ;开第4个端口  
  33. Q6 :JB  P3.1 ,L8    
  34. Q7 :JNB  P3.1 ,Q7     
  35. SETB  P1.4     
  36. CLR  P1.5     
  37. LJMP  L6     
  38. L8 :JB  P3.0 ,Q6     
  39. L9 :JNB  P3.0 ,L9     
  40. SETB  P1.4      ;关第4个端口  
  41. CLR  P1.3       ;开第5个端口  
  42. Q8 :JB  P3.1 ,L10    
  43. Q9 :JNB  P3.1 ,Q9     
  44. SETB  P1.3     
  45. CLR  P1.4     
  46. LJMP  L8     
  47. L10 :JB  P3.0 ,Q8     
  48. L11 :JNB  P3.0 ,L11     
  49. SETB  P1.3           ;关第5个端口  
  50. CLR  P1.2            ;开第6个端口  
  51. Q10 :JB  P3.1 ,L12    
  52. Q11 :JNB  P3.1 ,Q11     
  53. SETB  P1.2     
  54. CLR  P1.3     
  55. LJMP  L10     
  56. L12 :JB  P3.0 ,Q10     
  57. L13 :JNB  P3.0 ,L13     
  58. SETB  P1.2           ;关第6个端口  
  59. CLR  P1.1            ;开第7个端口  
  60. Q12 :JB  P3.1 ,L14    
  61. Q13 :JNB  P3.1 ,Q13     
  62. SETB  P1.1     
  63. CLR  P1.2     
  64. LJMP  L12     
  65. L14 :JB  P3.0 ,Q12     
  66. L15 :JNB  P3.0 ,L15     
  67. SETB  P1.1           ;关第7个端口  
  68. CLR  P1.0            ;开第8个端口  
  69. Q14 :JB  P3.1 ,L16    
  70. Q15 :JNB  P3.1 ,Q15     
  71. SETB  P1.0     
  72. CLR  P1.1     
  73. LJMP  L14     
  74. L16 :JB  P3.0 ,Q14     
  75. L17 :JNB  P3.0 ,L17     
  76. SETB  P1.0           ;关第8个端口  
  77. CLR  P3.2            ;开第9个端口  
  78. Q16 :JB  P3.1 ,L18    
  79. Q17 :JNB  P3.1 ,Q17     
  80. SETB  P3.2     
  81. CLR  P1.0     
  82. LJMP  L16     
  83. L18 :JB  P3.0 ,Q16     
  84. L19 :JNB  P3.0 ,L19     
  85. SETB  P3.2            ;关第9个端口  
  86. CLR  P3.3             ;开第10个端口  
  87. Q18 :JB  P3.1 ,L20    
  88. Q19 :JNB  P3.1 ,Q19     
  89. SETB  P3.3     
  90. CLR  P3.2     
  91. LJMP  L18     
  92. L20 :JB  P3.0 ,Q18     
  93. L21 :JNB  P3.0 ,L21     
  94. SETB  P3.3           ;关第10个端口  
  95. CLR  P3.4            ;开第11个端口  
  96. Q20 :JB  P3.1 ,L22     
  97. Q21 :JNB  P3.1 ,Q21     
  98. SETB  P3.4     
  99. CLR  P3.3     
  100. LJMP  L20     
  101. L22 :JB  P3.0 ,Q20     
  102. L23 :JNB  P3.0 ,L23     
  103. SETB  P3.4           ;关第11个端口  
  104. CLR  P3.5            ;开第12个端口  
  105. Q22 :JB  P3.1 ,L24     
  106. Q23 :JNB  P3.1 ,Q23     
  107. SETB  P3.5     
  108. CLR  P3.4     
  109. LJMP  L22     
  110. L24 :JB  P3.0 ,Q22     
  111. L25 :JNB  P3.0 ,L25     
  112. SETB  P3.5            ;关第12个端口  
  113. CLR  P3.7             ;开第13个端口  
  114. Q24 :JB  P3.1 ,L26     
  115. Q25 :JNB  P3.1 ,Q25     
  116. SETB  P3.7     
  117. CLR  P3.5     
  118. LJMP  L24     
  119. L26 :JB  P3.0 ,Q24     
  120. L27 :JNB  P3.0 ,L27     
  121. SETB  P3.7             ;关第13个端口  
  122. LJMP  L0              ;转L0      
  123. END  

 

 
相关文章:

 
最新开源项目
 
 
  查看更多...  
 
本站相关产品   淘宝网店
 




 
  查看更多...  

 

本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4